From fce41585f6c4e09c12c7e2a3150d4dfbf1f46bb0 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期二, 12 一月 2021 10:27:26 +0800
Subject: [PATCH] 修改申购试剂查询

---
 src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java |  165 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 138 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
index d4a90d4..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;
@@ -229,6 +231,8 @@
 	 * 选中的list
 	 */
 	private List<OpeApplyReserve> selectedListForPerson;
+	private List<OpeApplyReserve> selectedTmpOrderList;
+	private List<OpeApplyReserve> trulySelectedOrderList;
 
 	/**
 	 * 条形码对话框中选择的条形码集合
@@ -387,9 +391,40 @@
 		}
 	}
 
+	public void addOrder() {
+		logger.info("WarehouseStockMngController onUseBtnClick start");
+		if (this.selectedListForPerson == null || this.selectedListForPerson.size() == 0) {
+			FacesUtils.warn("请选择数据。");
+			return;
+		}
+		if (selectedTmpOrderList !=null && selectedTmpOrderList.size()>0){
+			ArrayList<OpeApplyReserve> tmp = new ArrayList<>();
+			selectedListForPerson.forEach(opeApplyReserve -> {
+				AtomicBoolean flag = new AtomicBoolean(false);
+				selectedTmpOrderList.forEach(opeApplyReserve1 -> {
+					if (opeApplyReserve.getId().equals(opeApplyReserve1.getId())){
+						flag.set(true);
+					}
+
+				});
+				if(!flag.get()) {
+					tmp.add(opeApplyReserve);
+				}
+			});
+			selectedTmpOrderList.addAll(tmp);
+		}else{
+			selectedTmpOrderList = new ArrayList<>();
+			selectedTmpOrderList.addAll(selectedListForPerson);
+		}
+	}
+
 
 	public void  clear(){
 		selectedTmpList = null;
+	}
+
+	public void  clearOrderTmp(){
+		selectedTmpOrderList = null;
 	}
 
 	public void cancel(){
@@ -403,19 +438,46 @@
 			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);
+			});
+		}
+
+	}
+
+	public void cancelOrderTmp(){
+		if (trulySelectedOrderList == null || trulySelectedOrderList.size()<=0){
+			FacesUtils.info("至少选择一个");
+			return;
+		}
+
+		if (selectedTmpOrderList == null || selectedTmpOrderList.size()<=0){
+			FacesUtils.info("至少选择一个");
+			return;
+		}
+
+		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(obj -> {
+				selectedTmpOrderList.remove(obj);
 			});
 		}
 
@@ -430,6 +492,14 @@
 		this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW, Constants.PAGE_WAREHOUSE_STOCK_MNG);
 	}
 //
+	public void onUseBtnClickOrderTmp(){
+		if (selectedTmpOrderList == null || selectedTmpOrderList.size()<=0){
+			FacesUtils.info("至少选择一个");
+			return;
+		}
+
+		this.menuController.goToPage(Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW_PERSON, Constants.PAGE_WAREHOUSE_STOCK_MNG);
+	}
 
 	public void onUseBtnClickForPerson() {
 		logger.info("WarehouseStockMngController onUseBtnClickForPerson start");
@@ -496,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())
@@ -578,16 +648,20 @@
 
 			// 将当前选择条形码保存到库存中
 			List<String> codeList=new ArrayList<>();
-			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(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);
@@ -665,7 +739,7 @@
 			}
 
 			List<String> codeList=new ArrayList<>();
-			for (OpeWarehouseReserve opeWarehouseReserve : this.selectedList) {
+			for (OpeWarehouseReserve opeWarehouseReserve : this.selectedTmpList) {
 				if (opeWarehouseReserve.getId().equals(this.selectedOpeWarehouseReserve.getId())) {
 					if(this.useNum > opeWarehouseReserve.getReserve())
 					{
@@ -713,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())
 					{
@@ -737,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();
 	}
@@ -754,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;
 			}
@@ -766,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 {
@@ -970,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;
 			}
@@ -995,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{
@@ -2120,4 +2206,29 @@
 	public void setShowCodes(List<String> showCodes) {
 		this.showCodes = showCodes;
 	}
+
+	public List<OpeApplyReserve> getSelectedTmpOrderList() {
+		return selectedTmpOrderList;
+	}
+
+	public void setSelectedTmpOrderList(List<OpeApplyReserve> selectedTmpOrderList) {
+		this.selectedTmpOrderList = selectedTmpOrderList;
+	}
+
+	public List<OpeApplyReserve> getTrulySelectedOrderList() {
+		return trulySelectedOrderList;
+	}
+
+	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