From d6c65a4e3d1ca7d9a7bd6806c99fee035d0a44eb Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期三, 27 一月 2021 16:54:34 +0800
Subject: [PATCH] 合并

---
 src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java |   99 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 95 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 bcd04a3..2d7ab3e 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeUseFlowServiceImpl.java
@@ -1,21 +1,19 @@
 package com.nanometer.smartlab.service;
 
 import java.math.BigDecimal;
-import java.sql.Time;
 import java.sql.Timestamp;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
 import javax.annotation.Resource;
-import javax.ejb.EJB;
 
+import com.nanometer.smartlab.dao.BaseMetaDao;
 import com.nanometer.smartlab.dao.SysLaboratoryContainerDao;
 import com.nanometer.smartlab.dao.SysWarehouseContainerDao;
 import com.nanometer.smartlab.entity.*;
+import com.nanometer.smartlab.entity.enumtype.OperateStatus;
 import com.nanometer.smartlab.util.Constants;
-import com.nanometer.smartlab.util.Utils;
-import com.sun.org.apache.regexp.internal.RE;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang3.time.DateUtils;
 import org.apache.log4j.Logger;
@@ -54,6 +52,14 @@
 
     @Resource
     private SysUserService sysUserService;
+    @Resource
+    private OpeReagentStatusService opeReagentStatusService;
+    @Resource
+    private OpeUseFlowService opeUseFlowService;
+    @Resource
+    private SysReagentService sysReagentService;
+    @Resource
+    private BaseMetaDao baseMetaDao;
 
 
     @Transactional(propagation = Propagation.REQUIRED)
@@ -363,4 +369,89 @@
     public OpeUseFlow getOpeUseFlowByCode(String reagentCode) {
         return opeUseFlowDao.getOpeUseFlowByCode(reagentCode);
     }
+
+    @Override
+    public void updateReceiptNumber(String code, String receiptNumber) {
+        opeUseFlowDao.updateReceiptNumber(code, receiptNumber);
+    }
+
+    @Transactional
+    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) {
+                    String code = opeReagentStatusService.getOpeReagentStatus(statusId).getReagentCode();
+                    //此时状态为领用待入库
+                    opeUseFlowService.updateReceiptNumber(code, receiptNumber);
+                }
+            }else{
+                for (String code : codeTmp) {
+                    opeUseFlowService.updateReceiptNumber(code, receiptNumber);
+                }
+            }
+
+        }
+
+
+    }
+
+    @Override
+    public Map<String, Integer> getRegentInfoFromReceiptNumber(String receiptNumber) {
+        List<Map> maps = opeUseFlowDao.getRegentInfoFromReceiptNumber(receiptNumber);
+        if (maps.size() > 0) {
+            Map<String, Integer> printInfo = new HashMap<>();
+            for (Map map : maps) {
+                Integer count =Integer.parseInt(String.valueOf(map.get("count")));;
+                String reagentId = (String) map.get("reagentId");
+                SysReagent reagent = sysReagentService.getSysReagent(reagentId);
+                printInfo.put(reagent.getId(), count);
+            }
+            return printInfo;
+        }
+
+        return null;
+    }
+
+    @Override
+    public Map getApplyUserByReagentCode(String reagentCode) {
+
+        Map<String, String> metaMap2 = new HashMap<>();
+        metaMap2.put("groupId", "operate_status");
+        metaMap2.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey()));
+        List<BaseMeta> baseMetaList2 = baseMetaDao.getBaseMetaList(metaMap2);
+        String id = baseMetaList2.get(0).getId();
+        return opeUseFlowDao.getUserIdByReagentCode(reagentCode, id);
+    }
+
+    @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) {
+                    String code = opeReagentStatusService.getOpeReagentStatus(statusId).getReagentCode();
+                    //此时状态为领用待入库
+                    opeUseFlowService.updateReceiptNumber(code, receiptNumber);
+                }
+            }else{
+                for (String code : codeTmp) {
+                    opeUseFlowService.updateReceiptNumber(code, receiptNumber);
+                }
+            }
+
+        }
+
+    }
 }

--
Gitblit v1.9.2