From f5ccc7e9ca548c6bddf51ebe8e943fc09a3b2ff4 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期二, 26 一月 2021 18:12:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'remotes/origin/yufei' into master

---
 src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 46 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
index c226a40..c7697d0 100644
--- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -1,15 +1,12 @@
 package com.nanometer.smartlab.controller;
 
+import com.nanometer.smartlab.dao.BaseMetaDao;
 import com.nanometer.smartlab.dao.OpeApplyDao;
 import com.nanometer.smartlab.dao.OpeReagentStatusDao;
 import com.nanometer.smartlab.dao.OpeWarehouseReserveDao;
 import com.nanometer.smartlab.entity.*;
 import com.nanometer.smartlab.entity.dto.ApplyListDto;
-import com.nanometer.smartlab.entity.enumtype.ApplyStatusVo;
-import com.nanometer.smartlab.entity.enumtype.ApplyStatus;
-import com.nanometer.smartlab.entity.enumtype.ArrivalStatus;
-import com.nanometer.smartlab.entity.enumtype.SeeFlag;
-import com.nanometer.smartlab.entity.enumtype.ValidFlag;
+import com.nanometer.smartlab.entity.enumtype.*;
 import com.nanometer.smartlab.exception.BusinessException;
 import com.nanometer.smartlab.exception.ExceptionEnumCode;
 import com.nanometer.smartlab.service.*;
@@ -74,6 +71,8 @@
 	private SysSupplierService sysSupplierService;
 	@Resource
 	private OpeOrderService opeOrderService;
+	@Resource
+	private BaseMetaDao baseMetaDao;
 
 	@Resource
 	private MenuController menuController;
@@ -1148,7 +1147,7 @@
 				this.opeWarehouseReserveService.reagentDStore3(opeList,userId);
 
 				//扣库存
-				opeWarehouseReserveService.btWarehouseReserveReduce(list2);
+				opeWarehouseReserveService.btWarehouseReserveReduce(list2,userId);
 			}
 
 			for(int i=0;i<list2.size();i++){
@@ -1199,6 +1198,9 @@
 			printTable.put("phone", applyPersonInfo.get("phone"));
 			String receiptNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
 			printTable.put("receiptNumber", receiptNum);
+			printTable.put("project", applyPersonInfo.get("project"));
+			SysLaboratory lab = sysLaboratoryService.getSysLaboratory(laboratoryId);
+			printTable.put("lab", lab.getName());
 			this.receiptNumber = receiptNum;
 			for (OpeApplyReserve oar : selectedTmpOrderList) {
 				ApplyListDto lis = new ApplyListDto();
@@ -1445,9 +1447,11 @@
 			printTable.put("department", applyPersonInfo.get("meta_value"));
 			printTable.put("date", Utils.now("yyyy-MM-dd"));
 			printTable.put("phone", applyPersonInfo.get("phone"));
-
+			printTable.put("project", applyPersonInfo.get("project"));
+			SysLaboratory lab = sysLaboratoryService.getSysLaboratory(laboratoryId);
 			String receiptNum = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
 			printTable.put("receiptNumber", receiptNum);
+			printTable.put("lab", lab.getName());
 			this.receiptNumber = receiptNum;
 
 			//int size = 0;
@@ -1545,8 +1549,38 @@
 				}
 				this.opeWarehouseReserveService.reagentDStore4(opeList,userId);
 				for(int i=0;i<list2.size();i++){
+
+					List<String> reagentCodes = opeReagentStatusService
+							.generateReagentCode(list2.get(i).getStartReagentCode2(), list2.get(i).getEndReagentCode2());
+					Integer selectNum = list2.get(i).getSelectNum();
+					for (int j = 0;j<selectNum;j++){
+						// 试剂使用情况入库insert
+						OpeUseFlow opeUseFlow = new OpeUseFlow();
+						opeUseFlow.setReagentCode(reagentCodes.get(0));
+						opeUseFlow.setStatus(ArrivalStatus.WAREHOUSE);
+						//仓库信息
+						List<OpeWarehouseReserve> warehouseReserveInfo = opeWarehouseReserveService
+								.selectWarehouseByRidAndArticleNumberAndWarehouse(list2.get(i).getReagent().getId()
+										, list2.get(i).getArticleNumber()
+										, list2.get(i).getWarehouseId());
+						opeUseFlow.setHouseId(list2.get(i).getWarehouseId());
+						opeUseFlow.setContainerId(warehouseReserveInfo.get(0).getContainerId());
+						opeUseFlow.setCreateTime(warehouseReserveInfo.get(0).getUpdateTime());
+						opeUseFlow.setUserId(userId);
+						opeUseFlow.setRemainder(list2.get(i).getReagent().getMainMetering()!=null?list2.get(i).getReagent().getMainMetering():new BigDecimal(0));
+						opeUseFlow.setStoreType(StoreType.DIRECTSTORE);
+
+						Map<String, String> metaMap = new HashMap<>();
+						metaMap.put("groupId", "operate_status");
+						metaMap.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEIN.getKey()));
+						List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap);
+						opeUseFlow.setOperateState(baseMetaList.get(0).getId());
+						this.opeUseFlowService.insertOpeUseFlow(opeUseFlow);
+						reagentCodes.remove(0);
+					}
+
 					list2.get(i).setReserve(list2.get(i).getReserve()-list2.get(i).getSelectNum());
-					opeWarehouseReserveDao.updateOpeWarehouseReserve(list2.get(i));
+					opeWarehouseReserveDao.updateOpeWarehouseReserve2(list2.get(i));
 				}
 
 
@@ -2659,8 +2693,9 @@
 				//{
 				//	this.oriLaboratoryId = this.laboratory.get(0).getId();
 				//}
-				this.laboratoryId=this.laboratory.get(0).getId();
-				this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(this.laboratory.get(0).getId());
+
+				this.laboratoryId= laboratoryId==null?this.laboratory.get(0).getId():laboratoryId;
+				this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryId);
 			}else {
 				this.oriLaboratoryId = null;
 				this.laboratoryContainers = null;
@@ -2699,6 +2734,7 @@
 	}
 
 	public String getLaboratoryContainerId() {
+
 		return laboratoryContainerId;
 	}
 

--
Gitblit v1.9.2