From 4d3856e802d5c9d28d8654f35da426bdb517d7d4 Mon Sep 17 00:00:00 2001 From: lyfO_o <764716047@qq.com> Date: 星期一, 21 六月 2021 10:32:27 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master --- src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java | 76 ++++++++++++++++++++++++++----------- 1 files changed, 53 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java index 3673c5a..334cfea 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java @@ -8,9 +8,7 @@ import javax.annotation.Resource; -import com.nanometer.smartlab.dao.BaseMetaDao; -import com.nanometer.smartlab.dao.SysLaboratoryContainerDao; -import com.nanometer.smartlab.dao.SysWarehouseContainerDao; +import com.nanometer.smartlab.dao.*; import com.nanometer.smartlab.entity.*; import com.nanometer.smartlab.entity.dto.PersonUseDetail; import com.nanometer.smartlab.entity.enumtype.OperateStatus; @@ -25,7 +23,6 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import com.nanometer.smartlab.dao.OpeUseFlowDao; import com.nanometer.smartlab.entity.enumtype.ArrivalStatus; import com.nanometer.smartlab.entity.enumtype.SeeFlag; import com.nanometer.smartlab.exception.AlarmCode; @@ -56,11 +53,11 @@ @Resource private OpeReagentStatusService opeReagentStatusService; @Resource - private OpeUseFlowService opeUseFlowService; - @Resource private SysReagentService sysReagentService; @Resource private BaseMetaDao baseMetaDao; + @Resource + private OpeReagentStatusDao opeReagentStatusDao; @Transactional(propagation = Propagation.REQUIRED) @@ -71,7 +68,7 @@ } if(opeUseFlow.getCreateTime()==null){ - opeUseFlow.setCreateTime(new Timestamp(System.currentTimeMillis())); + opeUseFlow.setCreateTime(new Timestamp(System.currentTimeMillis()+1000)); } this.opeUseFlowDao.insertOpeUseFlow(opeUseFlow); @@ -382,21 +379,19 @@ public void updateReceiptNumberByCode(List<OpeApplyReserve> selectedTmpOrderList,String receiptNumber) { for (OpeApplyReserve oar : selectedTmpOrderList) { - //根据id或者试剂的条码直接查找 状态表单 查询订单所有的流向 - List<String> codeTmp = opeReagentStatusService - .generateReagentCode(oar.getStartReagentCode2(), oar.getEndReagentCode2()); - assert codeTmp.size() > 0; - if (oar.getFlag() == 1) { //库中领取 code存的是 试剂状态的id - for (String statusId : codeTmp) { + for (String statusId : oar.getReagentCode()) { String code = opeReagentStatusService.getOpeReagentStatus(statusId).getReagentCode(); //此时状态为领用待入库 - opeUseFlowService.updateReceiptNumber(code, receiptNumber); + this.updateReceiptNumber(code, receiptNumber); } }else{ + //根据id或者试剂的条码直接查找 状态表单 查询订单所有的流向 + List<String> codeTmp = opeReagentStatusService + .generateReagentCode(oar.getStartReagentCode2(), oar.getEndReagentCode2()); for (String code : codeTmp) { - opeUseFlowService.updateReceiptNumber(code, receiptNumber); + this.updateReceiptNumber(code, receiptNumber); } } @@ -436,21 +431,19 @@ @Override public void updateReceiptNumberByCode2(List<OpeWarehouseReserve> selectTmpList, String receiptNumber) { for (OpeWarehouseReserve owr : selectTmpList) { - //根据id或者试剂的条码直接查找 状态表单 查询订单所有的流向 - List<String> codeTmp = opeReagentStatusService - .generateReagentCode(owr.getStartReagentCode2(), owr.getEndReagentCode2()); - assert codeTmp.size() > 0; - if (owr.getFlag() == 1) { //库中领取 code存的是 试剂状态的id - for (String statusId : codeTmp) { + for (String statusId : owr.getReagentCodes()) { String code = opeReagentStatusService.getOpeReagentStatus(statusId).getReagentCode(); //此时状态为领用待入库 - opeUseFlowService.updateReceiptNumber(code, receiptNumber); + this.updateReceiptNumber(code, receiptNumber); } }else{ + //根据id或者试剂的条码直接查找 状态表单 查询订单所有的流向 + List<String> codeTmp = opeReagentStatusService + .generateReagentCode(owr.getStartReagentCode2(), owr.getEndReagentCode2()); for (String code : codeTmp) { - opeUseFlowService.updateReceiptNumber(code, receiptNumber); + this.updateReceiptNumber(code, receiptNumber); } } @@ -546,4 +539,41 @@ return opeUseFlowDao.countOpeUseFlow(opeUseFlow); } + @Override + @Transactional + public void scrapReagent(String reagentId,String reagentCode, String userId) { + //1.试剂状态表更新试剂状态为报废 + OpeReagentStatus status = opeReagentStatusService.getStatus(reagentId, reagentCode); + if (status.getStatus() == ArrivalStatus.SCRAP) { + throw new BusinessException(ExceptionEnumCode.PARAM_ERR,"该试剂已是报废状态,无法进行操作"); + } + //报废 + status.setStatus(ArrivalStatus.SCRAP); + status.setUserId(userId); + opeReagentStatusDao.updateOpeReagentStatusDao(status); + + //2.插入一条报废的流向记录 + OpeUseFlow useFlow = new OpeUseFlow(); + //获取报废状态id + Map<String, Object> params = new HashMap<>(); + params.put("groupId", "operate_status"); + params.put("metaKey", String.valueOf(OperateStatus.SCRAP.getKey())); + List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(params); + useFlow.setOperateState(baseMetas.get(0).getId()); + useFlow.setReagentCode(reagentCode); + useFlow.setContainerId(status.getContainerId()); + useFlow.setHouseId(status.getHouseId()); + useFlow.setUserId(userId); + useFlow.setPlace(status.getPlace()); + useFlow.setRemainder(status.getRemainder()); + useFlow.setStoreType(status.getStoreType()); + useFlow.setProject(status.getProjectNum()); + useFlow.setArticleNumber(status.getArticleNumber()); + + useFlow.setCreateTime(new Timestamp(new Date().getTime())); + useFlow.setId(IDUtils.uuid()); + opeUseFlowDao.insertOpeUseFlow(useFlow); + + } + } -- Gitblit v1.9.2