From b48666e1f30b3334726d218d6b05d1228a307fd7 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期五, 25 六月 2021 18:11:06 +0800
Subject: [PATCH] 修改选中项

---
 src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java |   67 +++++++++++++++++++++++++++++++--
 1 files changed, 63 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
index 66dc833..31e9bad 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;
@@ -59,6 +56,8 @@
     private SysReagentService sysReagentService;
     @Resource
     private BaseMetaDao baseMetaDao;
+    @Resource
+    private OpeReagentStatusDao opeReagentStatusDao;
 
 
     @Transactional(propagation = Propagation.REQUIRED)
@@ -540,4 +539,64 @@
         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);
+
+    }
+
+    @Override
+    public OpeUseFlow selectById(String id) {
+        return opeUseFlowDao.selectById(id);
+    }
+
+    @Override
+    public OpeUseFlow selectByReceiptNumber(String receiptNumber,String userId) {
+
+        Map<String, Object> params = new HashMap<>();
+        params.put("userId", userId);
+        params.put("receiptNumber", receiptNumber);
+        //操作状态位仓库领取
+        Map<String, String> metaMap2 = new HashMap<>();
+        metaMap2.put("groupId", "operate_status");
+        metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey()));
+        List<BaseMeta> baseMetas = baseMetaDao.getBaseMetaList(metaMap2);
+        params.put("operatestate", baseMetas.get(0).getId());
+
+        addParamByUserId(userId, params);
+
+        return opeUseFlowDao.selectByReceiptNumber(params);
+    }
+
 }

--
Gitblit v1.9.2