From a5e1d3d875f140065a8f30a27601fb45ad36714a Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期五, 05 二月 2021 16:12:00 +0800
Subject: [PATCH] 修改入库接口--入的是智能柜的走入库+领用流程

---
 src/main/java/com/nanometer/smartlab/api/ApiAction.java |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/api/ApiAction.java b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
index c5fbc8c..f87a8a5 100644
--- a/src/main/java/com/nanometer/smartlab/api/ApiAction.java
+++ b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
@@ -1301,6 +1301,7 @@
         try {
 
             if (inWarehouseInfo.getReagentCode() != null && inWarehouseInfo.getReagentCode().size() > 0) {
+                ReagentReceivingDto reagentReceivingDtos = new ReagentReceivingDto();
 
                 for (int i = 0; i < inWarehouseInfo.getReagentCode().size(); i++) {
                     String code = inWarehouseInfo.getReagentCode().get(i);
@@ -1321,11 +1322,30 @@
                     if (ors != null) {
                         return ResponseModel.getErrInstance("该试剂危化品编码已存在");
                     }
-
                 }
 
-                //3.入库
+                //3.如果是入智能柜,则该智能柜下需要存在对应的实验室和实验室柜子
+                SysWarehouseContainer sysWarehouseContainer = sysWarehouseContainerService.getSysWarehouseContainer(inWarehouseInfo.getContainerId());
+                if(this.baseMetaService.getBaseMetaKey(sysWarehouseContainer.getType()).equals("200")) {
+                    reagentReceivingDtos.setReagentCode(inWarehouseInfo.getReagentCode());
+                    reagentReceivingDtos.setApplyUserId(inWarehouseInfo.getUser());
+                    SysLaboratoryContainer sysLaboratoryContainer = sysLaboratoryContainerService.getSysLaboratoryContainerByContainerCode(sysWarehouseContainer.getContainerCode());
+                    if (null != sysLaboratoryContainer){
+                        reagentReceivingDtos.setLabId(sysLaboratoryContainer.getLaboratoryId());
+                        reagentReceivingDtos.setLabContainerId(sysLaboratoryContainer.getId());
+                    }else {
+                        return ResponseModel.getErrInstance("该仓库货柜为智能柜,但是未创建相同货柜条码的实验室临时存储柜");
+                    }
+                }
+
+                //4.入库
                 sysWarehouseService.putInWarehouse(inWarehouseInfo);
+
+                //5.如果是入智能柜,则需再领用到智能柜里
+                if (StringUtils.isNotBlank(reagentReceivingDtos.getLabContainerId())){
+                    sysWarehouseService.reagentReceiving(reagentReceivingDtos);
+                }
+
                 return ResponseModel.getOkInstence("入库成功");
             } else {
                 return ResponseModel.getErrInstance("无试剂条码");

--
Gitblit v1.9.2