kongzy
2024-07-01 47a751cb301d05276ae5d75145d57b2d090fe4e1
src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
@@ -8,6 +8,8 @@
import com.nanometer.smartlab.exception.AlarmException;
import com.nanometer.smartlab.exception.BusinessException;
import com.nanometer.smartlab.exception.ExceptionEnumCode;
import com.nanometer.smartlab.model.CommonPage;
import com.nanometer.smartlab.util.ExcelUtils;
import com.nanometer.smartlab.util.IDUtils;
import com.nanometer.smartlab.util.MessageUtil;
import org.apache.commons.lang.StringUtils;
@@ -21,10 +23,8 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.math.BigDecimal;
import java.util.*;
/**
 * Created by johnny on 17/11/29.
@@ -40,7 +40,7 @@
    OpeWarehouseReserveService opeWarehouseReserveService;
    @Transactional(propagation = Propagation.REQUIRED)
    public List<SysReagent> getSysReagentList(String name, String cas, String supplierId,Integer type, Integer first, Integer pageSize) {
    public List<SysReagent> getSysReagentList(String name, String cas, Long supplierId,Integer type, Integer first, Integer pageSize) {
        try {
            Map<String, Object> params = new HashMap<String, Object>();
            if (StringUtils.isNotBlank(name)) {
@@ -49,7 +49,7 @@
            if (StringUtils.isNotBlank(cas)) {
                params.put("cas", "%" + cas + "%");
            }
            if (StringUtils.isNotBlank(supplierId)) {
            if (supplierId!=null) {
                params.put("supplierId", supplierId);
            }
            if(type!=null){
@@ -64,14 +64,14 @@
        }
    }
    public List<SysReagent> getSysReagentListNew(String name, String cas, String supplierId,Integer type, Integer first, Integer pageSize,String productSn) {
    public List<SysReagent> getSysReagentListNew(String name, String cas, Long supplierId,Integer type, Integer first, Integer pageSize,String productSn) {
        try {
            Map<String, Object> params = new HashMap<String, Object>();
            params.put("name", name);
            params.put("cas", cas);
            params.put("supplierId", supplierId);
            params.put("type", type);
            params.put("first", first);
            params.put("type", type);
            params.put("pageSize", pageSize);
            params.put("productSn", productSn);
            return this.sysReagentDao.getSysReagentListNew(params);
@@ -86,7 +86,7 @@
    * @date 2020/12/1 17:04
    */
    @Override
    public int favorCount(SysUser user, String name, String cas, String supplierId, String productSn, Integer favorFlag) {
    public int favorCount(SysUser user, String name, String cas, Long supplierId, String productSn, Integer favorFlag) {
        Map<String, Object> params = new HashMap<>();
        params.put("user", user.getId());
@@ -103,7 +103,7 @@
    * @date 2020/12/1 17:04
    */
    @Override
    public List<SysReagent> favorList(SysUser user, String name, String cas, String supplierId, String productSn, Integer favorFlag, Integer first, Integer pageSize) {
    public List<SysReagent> favorList(SysUser user, String name, String cas, Long supplierId, String productSn, Integer favorFlag, Integer first, Integer pageSize) {
        Map<String, Object> params = new HashMap<>();
        params.put("user", user.getId());
        params.put("favorFlag", favorFlag);
@@ -117,7 +117,7 @@
    }
    @Override
    public int reagentCount(SysUser user, String name, String cas, String supplierId, String productSn) {
    public int reagentCount(SysUser user, String name, String cas, Long supplierId, String productSn) {
        Map<String, Object> params = new HashMap<>();
        params.put("user", user.getId());
        params.put("name", name);
@@ -128,7 +128,7 @@
    }
    @Override
    public List<SysReagent> reagentList(SysUser user, String name, String cas, String supplierId, String productSn, int first, int pageSize,int count) {
    public List<SysReagent> reagentList(SysUser user, String name, String cas, Long supplierId, String productSn, int first, int pageSize,int count) {
        Map<String, Object> params = new HashMap<>();
        params.put("user", user.getId());
        params.put("name", name);
@@ -142,13 +142,41 @@
    }
    @Override
    public String getReagentUnitByReagentId(String reagentId) {
    public CommonPage<SysReagent> reagentList(Integer pageNum,Integer pageSize,String name,String cas){
        if(pageNum==null||pageNum<1){
            pageNum=1;
        }
        if(pageSize==null||pageSize<1){
            pageSize=10;
        }
        if(pageSize>50){
            pageSize=50;
        }
        Map<String, Object> params = new HashMap<>();
        params.put("name",name);
        params.put("cas",cas);
        params.put("first", (pageNum-1)*pageSize);
        params.put("pageSize", pageSize);
        CommonPage commonPage=new CommonPage();
        commonPage.setPageNum(pageNum);
        commonPage.setPageSize(pageSize);
        Long total=new Long(sysReagentDao.reagentSimpleInfoCount(params));
        commonPage.setTotal(total);
        commonPage.setTotalPage(CommonPage.getTotalPage(total,pageSize));
        List<SysReagent> sysReagents=sysReagentDao.reagentSimpleInfoList(params);
        commonPage.setList(sysReagents);
        return commonPage;
    }
    @Override
    public String getReagentUnitByReagentId(Long reagentId) {
        return sysReagentDao.getReagentUnitByReagentId(reagentId);
    }
    @Override
    public List<SysReagent> getReagent(String name, String cas, String factory, String specifications, String packing) {
        Map<String, String> params = new HashMap<>();
    public List<SysReagent> getReagent(String name, String cas, Long factory, Long specifications, Long packing) {
        Map<String, Object> params = new HashMap<>();
        params.put("name", name);
        params.put("cas", cas);
        params.put("factory", factory);
@@ -169,8 +197,86 @@
    }
    /**
    * @Description: 根据detail的信息获取试剂的id
    * @date 2021/6/21 9:45
    */
    @Override
    public SysReagent getReagentByDetail(Map<String, Object> detail) {
        List<SysReagent> reagentIds = sysReagentDao.countReagentByDetail(detail);
        if (reagentIds.size() != 1) {
            return null;
        }
        return reagentIds.get(0);
    }
    @Override
    public SysReagent getRowData(Long rowKey) {
        return sysReagentDao.getRowData(rowKey);
    }
    @Override
    public SysReagent getSysReagentListNewRowData(Long rowKey) {
        return sysReagentDao.getSysReagentListNewRowData(rowKey);
    }
    @Override
    public boolean export2Excel(List<Map> list, Integer type) throws Exception {
        Map<String,String> map = new LinkedHashMap<>();
        if (type==null||type == 0){
            map.put("kind", "种类");
            map.put("name", "名称");
            map.put("product_sn", "产品编号");
            map.put("cas", "CAS");
            map.put("reagent_type", "试剂类型");
            map.put("reagent_character", "危险性质");
            map.put("supplierName", "供应商");
            map.put("product_home", "厂家");
            map.put("reagent_format", "规格");
            map.put("reagent_unit", "包装");
            map.put("price", "含税售价");
            map.put("per_box", "每箱数量");
            ExcelUtils.export2Excel(list,"耗材列表",map);
        }else {
            map.put("kind", "种类");
            map.put("name", "试剂名称");
            map.put("control_products", "管制品");
            map.put("product_sn", "产品编号");
            map.put("cas", "CAS");
            map.put("reagent_type", "试剂类型");
            map.put("reagent_character", "危险性质");
            map.put("supplierName", "供应商");
            map.put("product_home", "厂家");
            map.put("reagent_format", "规格");
            map.put("reagent_unit", "包装");
            map.put("price", "含税售价");
//            map.put("originprice", "原始售价");
            map.put("per_box", "每箱数量");
            map.put("safetynum", "安全库存");
            ExcelUtils.export2Excel(list,"试剂列表",map);
        }
        return true;
    }
    @Override
    public List<Map> selectAll(String name, String cas, Long supplierId, Integer type, String productSn) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("name", name);
        params.put("cas", cas);
        params.put("supplierId", supplierId);
        params.put("type", type);
        params.put("productSn", productSn);
        return sysReagentDao.selectAll(params);
    }
    @Override
    public void updateSysReagentPrice(Long reagentId, BigDecimal applyPrice) {
        sysReagentDao.updateSysReagentPriceById(reagentId, applyPrice);
    }
    @Transactional(propagation = Propagation.REQUIRED)
    public int getSysReagentTotalCount(String name, String cas, String supplierId,Integer type) {
    public int getSysReagentTotalCount(String name, String cas, Long supplierId,Integer type) {
        try {
            Map<String, Object> params = new HashMap<String, Object>();
            if (StringUtils.isNotBlank(name)) {
@@ -191,7 +297,7 @@
    }
    public int getSysReagentTotalCountNew(String name, String cas, String supplierId,Integer type,String productSn) {
    public int getSysReagentTotalCountNew(String name, String cas, Long supplierId,Integer type,String productSn) {
        try {
            Map<String, Object> params = new HashMap<String, Object>();
            params.put("name", name);
@@ -211,7 +317,7 @@
    @Transactional(propagation = Propagation.REQUIRED)
    public SysReagent getSysReagent(String id) {
    public SysReagent getSysReagent(Long id) {
        try {
            return this.sysReagentDao.getSysReagent(id);
        } catch (DataAccessException e) {
@@ -223,10 +329,10 @@
    @Transactional(propagation = Propagation.REQUIRED)
    public SysReagent insertSysReagent(SysReagent sysReagent) {
        try {
            if (sysReagent.getId() == null) {
                sysReagent.setId(IDUtils.uuid());
            }
//            if (sysReagent.getId() == null) {
//                sysReagent.setId(IDUtils.uuid());
//            }
            sysReagent.setName(sysReagent.getName().trim());
            this.sysReagentDao.insertSysReagent(sysReagent);
            return sysReagent;
        } catch (DuplicateKeyException ex) {
@@ -244,6 +350,7 @@
    @Transactional(propagation = Propagation.REQUIRED)
    public boolean updateSysReagent(SysReagent sysReagent) {
        try {
            sysReagent.setName(sysReagent.getName().trim());
            int row = this.sysReagentDao.updateSysReagent(sysReagent);
            if (row == 0) {
@@ -269,7 +376,7 @@
                return false;
            }
            List<String> ids = new ArrayList<String>();
            List<Long> ids = new ArrayList<Long>();
            for (SysReagent sysReagent : sysReagentList) {
                //判断试剂在库中是否存在
                int count = opeWarehouseReserveService.getOpeWarehouseReserveTotalCount(sysReagent.getId(), sysReagent.getSupplierId());
@@ -311,9 +418,9 @@
                        this.sysReagentDao.updateSysReagentForExport(sysReagent);
                    }
                }else{
                    if (sysReagent.getId() == null) {
                        sysReagent.setId(IDUtils.uuid());
                    }
//                    if (sysReagent.getId() == null) {
//                        sysReagent.setId(IDUtils.uuid());
//                    }
                    this.sysReagentDao.insertSysReagent(sysReagent);
                }
                i++;
@@ -339,7 +446,7 @@
    }
    @Override
    public Map getReagentDetail(String id) {
    public Map getReagentDetail(Long id) {
        return sysReagentDao.getSysReagentDetail(id);
    }
@@ -355,9 +462,9 @@
                    sysReagent.setId(sysReagentTmpl.getId());
                    this.sysReagentDao.updateSysReagentForExport(sysReagent);
                }else{
                    if (sysReagent.getId() == null) {
                        sysReagent.setId(IDUtils.uuid());
                    }
//                    if (sysReagent.getId() == null) {
//                        sysReagent.setId(IDUtils.uuid());
//                    }
                    this.sysReagentDao.insertSysReagent(sysReagent);
                }
                i++;