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); } }