李宇
2021-06-15 d00d1d584875b5b38c70c235963b46543a3eba28
src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
@@ -1,6 +1,7 @@
package com.nanometer.smartlab.service;
import com.nanometer.smartlab.dao.SysReagentDao;
import com.nanometer.smartlab.entity.OpeWarehouseReserve;
import com.nanometer.smartlab.entity.SysReagent;
import com.nanometer.smartlab.entity.SysUser;
import com.nanometer.smartlab.exception.AlarmCode;
@@ -35,6 +36,8 @@
    @Resource(name = "sysReagentDao")
    SysReagentDao sysReagentDao;
    @Resource
    OpeWarehouseReserveService opeWarehouseReserveService;
    @Transactional(propagation = Propagation.REQUIRED)
    public List<SysReagent> getSysReagentList(String name, String cas, String supplierId,Integer type, Integer first, Integer pageSize) {
@@ -61,7 +64,7 @@
        }
    }
    public List<SysReagent> getSysReagentListNew(String name, String cas, String supplierId,Integer type, Integer first, Integer pageSize) {
    public List<SysReagent> getSysReagentListNew(String name, String cas, String supplierId,Integer type, Integer first, Integer pageSize,String productSn) {
        try {
            Map<String, Object> params = new HashMap<String, Object>();
            params.put("name", name);
@@ -70,6 +73,7 @@
            params.put("type", type);
            params.put("first", first);
            params.put("pageSize", pageSize);
            params.put("productSn", productSn);
            return this.sysReagentDao.getSysReagentListNew(params);
        } catch (DataAccessException e) {
            logger.error(e.getMessage(), e);
@@ -153,6 +157,17 @@
        return sysReagentDao.getReagent(params);
    }
    @Override
    public List<SysReagent> selectReagentSafetyNum() {
        return sysReagentDao.selectReagentSafetyNum();
    }
    @Override
    public void updateSafetyNum(SysReagent sysReagent) {
        sysReagentDao.updateSafetyNum(sysReagent.getId(), sysReagent.getSafetynum());
    }
    @Transactional(propagation = Propagation.REQUIRED)
    public int getSysReagentTotalCount(String name, String cas, String supplierId,Integer type) {
@@ -176,13 +191,14 @@
    }
    public int getSysReagentTotalCountNew(String name, String cas, String supplierId,Integer type) {
    public int getSysReagentTotalCountNew(String name, String cas, String supplierId,Integer type,String productSn) {
        try {
            Map<String, Object> params = new HashMap<String, Object>();
            params.put("name", name);
            params.put("cas", cas);
            params.put("type", type);
            params.put("supplierId", supplierId);
            params.put("productSn", productSn);
            return this.sysReagentDao.getSysReagentTotalCountNew(params);
        } catch (DataAccessException e) {
            logger.error(e.getMessage(), e);
@@ -255,6 +271,11 @@
            List<String> ids = new ArrayList<String>();
            for (SysReagent sysReagent : sysReagentList) {
                //判断试剂在库中是否存在
                int count = opeWarehouseReserveService.getOpeWarehouseReserveTotalCount(sysReagent.getId(), sysReagent.getSupplierId());
                if (count > 0) {
                    throw new Exception();
                }
                ids.add(sysReagent.getId());
            }
@@ -270,6 +291,9 @@
        } catch (DataAccessException ex) {
            logger.error(ex.getMessage(), ex);
            throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex);
        } catch (Exception e) {
            e.printStackTrace();
            throw  new BusinessException(ExceptionEnumCode.SYS_ERR,"试剂在库中已经有了不能删除");
        }
    }