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

---
 src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java |   74 +++++++++++++++++++++++++++++--------
 1 files changed, 58 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
index 13fd67b..beca0e3 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;
@@ -164,6 +163,7 @@
 	private String endReagentCode;
 	private String startReagentCodeForPerson;
 	private String endReagentCodeForPerson;
+	private String warehouseName;
 
 	private Integer editFlag;
 	private StreamedContent file;
@@ -374,7 +374,7 @@
 
 	private void initUserSelectList() {
 		logger.info("WarehouseStockMngController initUserSelectList start");
-		this.setUserSelectList(this.sysUserService.getSysUserList(null, null, null, null, null));
+		this.setUserSelectList(this.sysUserService.getSysUserList(null, null, null, null, null,null,null));
 		/**if(sysUserService.getSysUser(userId) == null)
 		{
 			this.laboratory = this.sysLaboratoryService.getSysLaboratoryListByDep(this.getUserDepartment());
@@ -1148,7 +1148,7 @@
 				this.opeWarehouseReserveService.reagentDStore3(opeList,userId);
 
 				//扣库存
-				opeWarehouseReserveService.btWarehouseReserveReduce(list2);
+				opeWarehouseReserveService.btWarehouseReserveReduce(list2,userId);
 			}
 
 			for(int i=0;i<list2.size();i++){
@@ -1550,8 +1550,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));
 				}
 
 
@@ -1629,11 +1659,11 @@
 						Map<String, Object> filters) {
 					List<OpeWarehouseReserve> list = null;
 					try {
-						int count = opeWarehouseReserveService.getOpeWarehouseReserveTotalCountByName(reagentId, supplierId,productSn);
+						int count = opeWarehouseReserveService.getOpeWarehouseReserveTotalCountByName(reagentId, supplierId,productSn,warehouseName);
 						this.setRowCount(count);
 						if (count > 0) {
 							list = opeWarehouseReserveService.getOpeWarehouseReserveListByName(reagentId, supplierId, first,
-									pageSize,productSn);
+									pageSize,productSn,warehouseName);
 						}
 					} catch (Exception e) {
 						logger.error(e);
@@ -1905,7 +1935,7 @@
 				realDataList=selectedList;
 			}else {
 				realDataList = opeWarehouseReserveService.getOpeWarehouseReserveListByName(reagentId, supplierId, null,
-						null,productSn);
+						null,productSn,warehouseName);
 			}
 				List<String> headerList = new ArrayList<>();
 				headerList.add("试剂名称");
@@ -2506,7 +2536,7 @@
 				list.add(sysUser);
 				applyUserSelectList = list;
 			} else {
-				applyUserSelectList = this.sysUserService.getSysUserList(null, null, null, null, null);
+				applyUserSelectList = this.sysUserService.getSysUserList(null, null, null, null, null,null,null);
 			}
 		}
 		return applyUserSelectList;
@@ -2653,7 +2683,9 @@
 	public List<SysLaboratory> getLaboratory() {
 		if(userId != null && userId.trim().length() > 0)
 		{
-			this.laboratory = this.sysLaboratoryService.getSysLaboratoryListByDep(sysUserService.getSysUser(userId).getDepartment());
+
+			//Todo 修改申领人的实验室显示信息
+			this.laboratory = this.sysLaboratoryService.getSysLaboratoryListByUserId(userId);
 			if(this.laboratory != null && this.laboratory.size() > 0)
 			{
 				//flag =true;
@@ -2664,8 +2696,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;
@@ -2704,6 +2737,7 @@
 	}
 
 	public String getLaboratoryContainerId() {
+
 		return laboratoryContainerId;
 	}
 
@@ -2831,7 +2865,7 @@
 	}
 
 	public List getConsignee() {
-		List<SysUser> dataList = this.sysUserService.getSysUserList(null, null, null, null, null);
+		List<SysUser> dataList = this.sysUserService.getSysUserList(null, null, null, null, null,null,null);
 		//将admin置于首位
 		for (int i = 0; i < dataList.size(); i++) {
 			if ("admin".equals(dataList.get(i).getAccount())){
@@ -2969,4 +3003,12 @@
 	public void setReceiptNumber(String receiptNumber) {
 		this.receiptNumber = receiptNumber;
 	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
 }

--
Gitblit v1.9.2