From 4f4898cc6e137ee5b47542cf8b1c73f3da3a1ee5 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期五, 08 一月 2021 14:57:32 +0800
Subject: [PATCH] 点击优化和Bug修改

---
 src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java |   97 ++++++++++++++++++++++++++++++------------------
 1 files changed, 61 insertions(+), 36 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
index 19fcba6..04cd748 100644
--- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -18,6 +18,7 @@
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.primefaces.context.RequestContext;
 import org.primefaces.event.SelectEvent;
+import org.primefaces.event.TabChangeEvent;
 import org.primefaces.model.LazyDataModel;
 import org.primefaces.model.SortOrder;
 import org.primefaces.model.StreamedContent;
@@ -126,6 +127,7 @@
 	private String reagentLogId;
 
 	private String userName;
+	private Integer tabValue = 0;
 
 	private List<SysReagent> reagentSelectList;
 	private List<String> showCodes;
@@ -436,19 +438,18 @@
 			return;
 		}
 
-			ArrayList<Integer> indexs = new ArrayList<>();
-		for (int i =0;i<trulySelectedList.size();i++){
-			for (int j = 0; j < selectedTmpList.size(); j++) {
-				if(trulySelectedList.get(i).getId().equals(selectedTmpList.get(j).getId()))
-				{
-					indexs.add(i);
-				}
-			}
-		}
+			ArrayList<Object> indexs = new ArrayList<>();
+        for (OpeWarehouseReserve warehouseReserve : trulySelectedList) {
+            for (OpeWarehouseReserve opeWarehouseReserve : selectedTmpList) {
+                if (warehouseReserve.getId().equals(opeWarehouseReserve.getId())) {
+                    indexs.add(warehouseReserve);
+                }
+            }
+        }
 
 		if (indexs.size()>0){
-			indexs.forEach(index -> {
-				selectedTmpList.remove(selectedTmpList.get(index));
+			indexs.forEach(obj -> {
+				selectedTmpList.remove(obj);
 			});
 		}
 
@@ -465,19 +466,18 @@
 			return;
 		}
 
-		ArrayList<Integer> indexs = new ArrayList<>();
-		for (int i =0;i<trulySelectedOrderList.size();i++){
-			for (int j = 0; j < selectedTmpOrderList.size(); j++) {
-				if(trulySelectedOrderList.get(i).getId().equals(selectedTmpOrderList.get(j).getId()))
-				{
-					indexs.add(i);
-				}
-			}
-		}
+		ArrayList<Object> indexs = new ArrayList<>();
+        for (OpeApplyReserve opeApplyReserve : trulySelectedOrderList) {
+            for (OpeApplyReserve applyReserve : selectedTmpOrderList) {
+                if (opeApplyReserve.getId().equals(applyReserve.getId())) {
+                    indexs.add(opeApplyReserve);
+                }
+            }
+        }
 
 		if (indexs.size()>0){
-			indexs.forEach(index -> {
-				selectedTmpOrderList.remove(selectedTmpOrderList.get(index));
+			indexs.forEach(obj -> {
+				selectedTmpOrderList.remove(obj);
 			});
 		}
 
@@ -566,7 +566,7 @@
 				}
 			}
 			// 将当前选择条形码保存到库存中
-			for (OpeApplyReserve opeApplyReserve : this.selectedListForPerson) {
+			for (OpeApplyReserve opeApplyReserve : this.selectedTmpOrderList) {
 				if (opeApplyReserve.getId().equals(this.selectedOpeApplyReserve.getId())) {
 					OpeWarehouseReserve wa=opeWarehouseReserveService.getOpeWarehouseReserve(opeApplyReserve.getReagent().getId(),opeApplyReserve.getArticleNumber());
 					if(this.useNum > wa.getReserve())
@@ -650,14 +650,18 @@
 			List<String> codeList=new ArrayList<>();
 			for (OpeApplyReserve opeApplyReserve : this.selectedTmpOrderList) {
 				if (opeApplyReserve.getId().equals(this.selectedOpeApplyReserve.getId())) {
-					OpeWarehouseReserve wa=opeWarehouseReserveService.getOpeWarehouseReserve(opeApplyReserve.getReagent().getId(),opeApplyReserve.getArticleNumber());
-					if(wa==null){
-						wa=new OpeWarehouseReserve();
-						wa.setReserve(0);
-					}
-					if(this.useNum > wa.getReserve())
-					{
-						FacesUtils.warn("库存不够,请确认或申购!");
+//					OpeWarehouseReserve wa=opeWarehouseReserveService.getOpeWarehouseReserve(opeApplyReserve.getReagent().getId(),opeApplyReserve.getArticleNumber());
+//					if(wa==null){
+//						wa=new OpeWarehouseReserve();
+//						wa.setReserve(0);
+//					}
+//					if(this.useNum > wa.getReserve())
+//					{
+//						FacesUtils.warn("库存不够,请确认或申购!");
+//						return;
+//					}
+					if (this.useNum+opeApplyReserve.getUsed() > opeApplyReserve.getNum()){
+						FacesUtils.warn("领用数量超出申请数量!");
 						return;
 					}
 					opeApplyReserve.setSelectNum(useNum);
@@ -783,7 +787,7 @@
 
 			System.out.println("====onYesBtnClick======");
 			// 将当前选择条形码保存到库存中
-			for (OpeWarehouseReserve opeWarehouseReserve : this.selectedList) {
+			for (OpeWarehouseReserve opeWarehouseReserve : this.selectedTmpList) {
 				if (opeWarehouseReserve.getId().equals(this.selectedOpeWarehouseReserve.getId())) {
 					if(this.useNum > opeWarehouseReserve.getReserve())
 					{
@@ -807,11 +811,23 @@
 		}
 	}
 
+	public void onTabChange(TabChangeEvent event) {
+		if ("firstTab".equals(event.getTab().getId())) {
+			tabValue = 0;
+		}else{
+			tabValue = 1;
+		}
+	}
+
+
 	public void onCancelBtnClick() {
+		this.selectedTmpOrderList = null;
+		this.selectedTmpList = null;
 		this.menuController.backToPage();
 	}
 
 	public void onClose(){
+		this.selectedTmpOrderList = null;
 		this.selectedTmpList = null;
 		this.menuController.backToPage();
 	}
@@ -824,7 +840,7 @@
 
 	public void onSaveBtnClickForPerson(){
 		try {
-			if (this.selectedListForPerson == null || this.selectedListForPerson.size() == 0) {
+			if (this.selectedTmpOrderList == null || this.selectedTmpOrderList.size() == 0) {
 				FacesUtils.warn("请选择申领试剂。");
 				return;
 			}
@@ -836,7 +852,7 @@
 			List<OpeApplyReserve> list=new ArrayList<>();
 			List<OpeApplyReserve> list2=new ArrayList<>();
 			//int size = 0;
-			for(OpeApplyReserve app:this.selectedListForPerson){
+			for(OpeApplyReserve app:this.selectedTmpOrderList){
 				if(app.getFlag()==1){
 					list.add(app);
 				}else {
@@ -1040,7 +1056,7 @@
 	}
 	public  void  onSaveBtnClick() {
 		try {
-			if (this.selectedList == null || this.selectedList.size() == 0) {
+			if (this.selectedTmpList == null || this.selectedTmpList.size() == 0) {
 				FacesUtils.warn("请选择申领试剂。");
 				return;
 			}
@@ -1065,7 +1081,7 @@
 			int sum = 0;
 			List<OpeWarehouseReserve> list=new ArrayList<>();
 			List<OpeWarehouseReserve> list2=new ArrayList<>();
-			for (OpeWarehouseReserve selectWarehouseReserve : this.selectedList) {
+			for (OpeWarehouseReserve selectWarehouseReserve : this.selectedTmpList) {
 				if(selectWarehouseReserve.getFlag()==1){
 					list.add(selectWarehouseReserve);
 				}else{
@@ -2206,4 +2222,13 @@
 	public void setTrulySelectedOrderList(List<OpeApplyReserve> trulySelectedOrderList) {
 		this.trulySelectedOrderList = trulySelectedOrderList;
 	}
+
+
+	public Integer getTabValue() {
+		return tabValue;
+	}
+
+	public void setTabValue(Integer tabValue) {
+		this.tabValue = tabValue;
+	}
 }

--
Gitblit v1.9.2