From fcdb56cf78b63f5b1455bbfab0c2bd7934b0aca5 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期三, 07 四月 2021 18:18:14 +0800
Subject: [PATCH] 去除多余事务

---
 src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java |   64 ++++++++++++++++++++++++++-----
 1 files changed, 53 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
index f24097d..f269d4f 100644
--- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -47,8 +47,8 @@
 /**
  * Created by cmower on 17/11/20.
  */
-@Controller
 @PropertySource(value = "WEB-INF/config.properties",encoding = "utf-8")
+@Controller
 @Scope("session")
 public class WarehouseStockMngController extends BaseController {
 
@@ -166,6 +166,7 @@
 	private String warehouseName;
 
 	private Integer editFlag;
+	private Integer isAllApply = 0;
 	private StreamedContent file;
 	@Value("${pdf.export.file.path}")
 	private String pdfExportFilePath;
@@ -530,9 +531,22 @@
 		selectedTmpOrderList = null;
 	}
 
+	public void hideOrderTmp() {
+		//清空
+		selectedTmpOrderList = null;
+		//隐藏
+		RequestContext.getCurrentInstance().execute("document.getElementById('showTabOrder').style.display='none'");
+	}
+
 	public void  clearInputStorageTmp(){
 		selectedInputStorageTmpOrderList = null;
 	}
+
+	public void hideInputStorageTmp(){
+        selectedInputStorageTmpOrderList = null;
+
+        RequestContext.getCurrentInstance().execute("document.getElementById('putInStorage').style.display='none'");
+    }
 
 	public void cancel(){
 		if (trulySelectedList == null || trulySelectedList.size()<=0){
@@ -562,6 +576,10 @@
 
 	}
 
+	public void hide(){
+		selectedTmpList = null;
+		RequestContext.getCurrentInstance().execute("document.getElementById('showTab').style.display='none'");
+	}
 	public void cancelOrderTmp(){
 		if (trulySelectedOrderList == null || trulySelectedOrderList.size()<=0){
 			FacesUtils.info("至少选择一个");
@@ -623,7 +641,7 @@
 			FacesUtils.info("至少选择一个");
 			return;
 		}
-
+		this.userId = getUser().getId();
 		this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW, Constants.PAGE_WAREHOUSE_STOCK_MNG);
 	}
 //
@@ -648,6 +666,8 @@
 			}
 		}
 		checkTable = null;
+		//
+		this.userId = selectedTmpOrderList.get(0).getApplyUser();
 
 		this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW_PERSON, Constants.PAGE_WAREHOUSE_STOCK_MNG);
 	}
@@ -1148,7 +1168,7 @@
 				this.opeWarehouseReserveService.reagentDStore3(opeList,userId);
 
 				//扣库存
-				opeWarehouseReserveService.btWarehouseReserveReduce(list2,userId);
+				opeWarehouseReserveService.btWarehouseReserveReduce(list2);
 			}
 
 			for(int i=0;i<list2.size();i++){
@@ -1494,6 +1514,10 @@
 			}
 			if(list.size()>0&&list!=null){
 				for (OpeWarehouseReserve selectWarehouseReserve : list) {
+					Map reagentDetail = sysReagentService.getReagentDetail(selectWarehouseReserve.getReagentId());
+					if (reagentDetail == null) {
+						throw new Exception("试剂有误,请联系管理员");
+					}
 					List<String> reagentCodes = selectWarehouseReserve.getReagentCodes();
 					if (reagentCodes != null && reagentCodes.size() > 0)
 						for (String opeReagentStatusId : reagentCodes) {
@@ -1520,7 +1544,6 @@
 							//}
 						}
 					ApplyListDto lis = new ApplyListDto();
-					Map reagentDetail = sysReagentService.getReagentDetail(selectWarehouseReserve.getReagentId());
 					lis.setNum(String.valueOf(selectWarehouseReserve.getSelectNum())); //数量
 					lis.setMainMetering(String.format("%s%s", reagentDetail.get("main_metering"), reagentDetail.get("unit")));
 					lis.setControlProducts((String) reagentDetail.get("controlProducts"));
@@ -1538,10 +1561,15 @@
 				//}
 				this.opeWarehouseReserveService.claim(list, userId,projectNum);
 			}
+
 			if(list2.size()>0&&list2!=null){
 				List<OpeApply> opeList=new ArrayList<>();
 				//this.opeApplyService.getOpeApplyList(null,null,null,null,null)
 				for(int i=0;i<list2.size();i++){
+					Map reagentDetail = sysReagentService.getReagentDetail(list2.get(i).getReagentId());
+					if (reagentDetail == null) {
+						throw new Exception("试剂有误,请联系管理员");
+					}
 					OpeApply opeApply=new OpeApply();
 					opeApply.setArticleNumber(list2.get(i).getArticleNumber());
 					opeApply.setHouseId(laboratoryId);
@@ -1561,7 +1589,6 @@
 					this.opeLaboratoryReserveService.insert(lr);
 					//opeList.add(this.opeApplyService.getOpeApply(list2.get(i).getId()));
 					ApplyListDto lis = new ApplyListDto();
-					Map reagentDetail = sysReagentService.getReagentDetail(list2.get(i).getReagentId());
 
 					lis.setNum(String.valueOf(list2.get(i).getSelectNum())); //数量
 					lis.setMainMetering(String.format("%s%s", reagentDetail.get("main_metering"), reagentDetail.get("unit")));
@@ -1593,7 +1620,7 @@
 						opeUseFlow.setHouseId(list2.get(i).getWarehouseId());
 						opeUseFlow.setContainerId(warehouseReserveInfo.get(0).getContainerId());
 						opeUseFlow.setCreateTime(warehouseReserveInfo.get(0).getUpdateTime());
-						opeUseFlow.setUserId(userId);
+						opeUseFlow.setUserId(warehouseReserveInfo.get(0).getUserId());
 						opeUseFlow.setRemainder(list2.get(i).getReagent().getMainMetering()!=null?list2.get(i).getReagent().getMainMetering():new BigDecimal(0));
 						opeUseFlow.setStoreType(StoreType.DIRECTSTORE);
 
@@ -1633,6 +1660,13 @@
 	*/
 	public void onSaveInputWarehouseClick(){
 		try{
+		    //0.0输入校验
+            for (OpeApplyReserve opeApplyReserve : opeApplyList) {
+                if (StringUtils.isBlank(opeApplyReserve.getArticleNumber())) {
+                    throw new BusinessException(ExceptionEnumCode.PARAM_EXIST, opeApplyReserve.getReagent().getName() + ":批号不能为空");
+                }
+            }
+
 			//用来检验提交表单得试剂条码是否重复
 			Map<String,Boolean> checkTable= new HashMap<>();
 			if (opeApplyList != null && opeApplyList.size() > 0) {
@@ -1735,11 +1769,11 @@
 					}
 
 					try {
-						int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id,reagentId, userName,productSn,applyCode,status);
+						int count = opeApplyService.getOpeApplyReserveTotalCountByNameFor(id, reagentId, userName, productSn, applyCode, status, isAllApply);
 						this.setRowCount(count);
 						if (count > 0) {
-							list = opeApplyService.getOpeApplyReserveListByNameFor(id,reagentId, userName, first,
-									pageSize,productSn,applyCode,status);
+							list = opeApplyService.getOpeApplyReserveListByNameFor(id, reagentId, userName, first,
+									pageSize, productSn, applyCode, status, isAllApply);
 						}
 					} catch (Exception e) {
 						logger.error(e);
@@ -1844,7 +1878,7 @@
 				realDataList=selectedListForPerson;
 			}else {
 				realDataList = opeApplyService.getOpeApplyReserveListByNameFor(id,reagentId, userName, null,
-						null,productSn,applyCode,status);
+						null,productSn,applyCode,status,isAllApply);
 			}
 			List<String> headerList = new ArrayList<>();
 			headerList.add("申购编号");
@@ -2723,7 +2757,7 @@
 				//	this.oriLaboratoryId = this.laboratory.get(0).getId();
 				//}
 
-				this.laboratoryId= laboratoryId==null?this.laboratory.get(0).getId():laboratoryId;
+				this.laboratoryId = this.laboratory.get(0).getId();
 				this.laboratoryContainers = this.sysLaboratoryContainerService.getSysLaboratoryContainerList(laboratoryId);
 			}else {
 				this.oriLaboratoryId = null;
@@ -3037,4 +3071,12 @@
 	public void setWarehouseName(String warehouseName) {
 		this.warehouseName = warehouseName;
 	}
+
+	public Integer getIsAllApply() {
+		return isAllApply;
+	}
+
+	public void setIsAllApply(Integer isAllApply) {
+		this.isAllApply = isAllApply;
+	}
 }

--
Gitblit v1.9.2