李宇
2021-04-07 fcdb56cf78b63f5b1455bbfab0c2bd7934b0aca5
去除多余事务
已修改3个文件
54 ■■■■■ 文件已修改
src/main/java/com/nanometer/smartlab/service/OpeReagentStatusService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/service/OpeReagentStatusService.java
@@ -68,7 +68,7 @@
    boolean updateReagentStatus(OpeReagentStatus opeReagentStatus);
    boolean updateReagentStatus2(OpeReagentStatus opeReagentStatus);
    boolean updateReagentStatus3(OpeReagentStatus opeReagentStatus);
    boolean updateReagentStatus3(List<String> reagentCodes,String userId,String projectNum,String laboratoryId,String laboratoryContainerId);
    int getLogOpeReagentStatusTotalCount(String reagentLogId, Integer status, String userLogId, String loginId);
@@ -103,7 +103,7 @@
    List<String> generateReagentCode(String startReagentCode2, String endReagentCode2);
    void updateOpeReagentStatus(OpeReagentStatus opeReagentStatus);
    int updateOpeReagentStatus(OpeReagentStatus opeReagentStatus);
    int getReagentNumInWarehouse(String id, String articleNumber, String warehouseId);
src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java
@@ -476,9 +476,12 @@
    }
    @Override
    @Transactional(propagation = Propagation.REQUIRED)
    public boolean updateReagentStatus3(OpeReagentStatus opeReagentStatus) {
    public boolean updateReagentStatus3(List<String> reagentCodes,String userId,String projectNum,String laboratoryId,String laboratoryContainerId) {
        try {
            for (String opeReagentStatusId : reagentCodes) {
                OpeReagentStatus opeReagentStatus = this.getOpeReagentStatus(opeReagentStatusId);
                opeReagentStatus.setUserId(userId);
                opeReagentStatus.setProjectNum(projectNum);
            //1.判断->试剂状态是否为在仓库
            if (isAllowWarehouseUse(opeReagentStatus)) {
                //1.1获得 试剂的库存选择批次
@@ -490,19 +493,19 @@
            }
            //设置 试剂状态->领用待入库
            opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER);
            int row = this.opeReagentStatusDao.updateOpeReagentStatusDao(opeReagentStatus);
                opeReagentStatus.setHouseId(laboratoryId);
                opeReagentStatus.setContainerId(laboratoryContainerId);
                int row = this.updateOpeReagentStatus(opeReagentStatus);
            if (row == 0) {
                return false;
            }
            OpeUseFlow opeUseFlow = new OpeUseFlow();
            opeUseFlow.setReagentCode(opeReagentStatus.getReagentCode());
            opeUseFlow.setStatus(opeReagentStatus.getStatus());
            opeUseFlow.setHouseId(opeReagentStatus.getHouseId());
            opeUseFlow.setContainerId(opeReagentStatus.getContainerId());
                opeUseFlow.setHouseId(laboratoryId);
                opeUseFlow.setContainerId(laboratoryContainerId);
            opeUseFlow.setUserId(opeReagentStatus.getUserId());
            opeUseFlow.setPlace(opeReagentStatus.getPlace());
            opeUseFlow.setRemainder(opeReagentStatus.getRemainder());
@@ -514,7 +517,7 @@
            opeUseFlow.setOperateState(baseMetaList.get(0).getId());
            this.opeUseFlowService.insertOpeUseFlow(opeUseFlow);
            }
            return true;
        } catch (DuplicateKeyException ex) {
            logger.warn(ex.getMessage(), ex);
@@ -527,6 +530,9 @@
            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 RuntimeException(e);
        }
    }
@@ -576,7 +582,6 @@
        }
    }
    @Transactional(propagation = Propagation.REQUIRED)
    public OpeReagentStatus getOpeReagentStatus(String id) {
        try {
            return this.opeReagentStatusDao.getOpeReagentStatus(id);
@@ -587,7 +592,6 @@
        }
    }
    @Transactional(propagation = Propagation.REQUIRED)
    public OpeReagentStatus getOpeReagentStatusByReagentCode2(OpeReagentStatus opeReagentStatus) {
        try {
            OpeReagentStatus status = this.opeReagentStatusDao.getOpeReagentStatusByReagentCode(opeReagentStatus.getReagentCode());
@@ -600,7 +604,6 @@
        }
    }
    @Transactional(propagation = Propagation.REQUIRED)
    public OpeReagentStatus getOpeReagentStatusByReagentCode(String reagentCode) {
        try {
            OpeReagentStatus status = this.opeReagentStatusDao.getOpeReagentStatusByReagentCode(reagentCode);
@@ -1042,8 +1045,8 @@
    }
    @Override
    public void updateOpeReagentStatus(OpeReagentStatus opeReagentStatus) {
        opeReagentStatusDao.updateOpeReagentStatusDao(opeReagentStatus);
    public int updateOpeReagentStatus(OpeReagentStatus opeReagentStatus) {
        return opeReagentStatusDao.updateOpeReagentStatusDao(opeReagentStatus);
    }
    @Override
src/main/java/com/nanometer/smartlab/service/OpeWarehouseReserveServiceImpl.java
@@ -205,7 +205,7 @@
        }
    }
    @Transactional(propagation = Propagation.REQUIRED)
    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
    public boolean updateOpeWarehouseReserve(OpeWarehouseReserve opeWarehouseReserve) {
        try {
            int row = this.opeWarehouseReserveDao.updateOpeWarehouseReserve(opeWarehouseReserve);
@@ -225,26 +225,14 @@
        }
    }
    @Transactional(propagation = Propagation.REQUIRED)
    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
    public void claimForPerson(List<OpeApplyReserve> selectedListForPerson,String userId,String projectNum,String laboratoryId,String laboratoryContainerId){
        try{
            for(OpeApplyReserve app:selectedListForPerson){
                List<String> reagentCodes = app.getReagentCode();
                if (reagentCodes != null && reagentCodes.size() > 0) {
                    List<OpeReagentStatus> ss=new ArrayList<>();
                    for (String opeReagentStatusId : reagentCodes) {
                        OpeReagentStatus opeReagentStatus = this.opeReagentStatusService.getOpeReagentStatus(opeReagentStatusId);
                        opeReagentStatus.setUserId(userId);
                        opeReagentStatus.setProjectNum(projectNum);
                        //boolean flag = this.opeReagentStatusService.updateReagentStatus(opeReagentStatus);
                        ss.add(opeReagentStatus);
                        //更新试剂状态和
                        opeReagentStatus.setHouseId(laboratoryId);
                        opeReagentStatus.setContainerId(laboratoryContainerId);
                        this.opeReagentStatusDao.updateOpeReagentStatusDao(opeReagentStatus);
                        this.opeReagentStatusService.updateReagentStatus3(opeReagentStatus);
                    this.opeReagentStatusService.updateReagentStatus3(reagentCodes,userId,projectNum,laboratoryId,laboratoryContainerId);
                    }
                    //更新是现实库存
                    OpeLaboratoryReserve lr=new OpeLaboratoryReserve();
                    lr.setReagentId(app.getReagent().getId());
@@ -295,6 +283,9 @@
            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 RuntimeException(e);
        }
    }