From 5bd11ed20c2e283cb3c0ce82c0f90a9ce3425417 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期四, 07 一月 2021 10:50:45 +0800
Subject: [PATCH] 领用优化

---
 src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java |   90 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 88 insertions(+), 2 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..19fcba6 100644
--- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -229,6 +229,8 @@
 	 * 选中的list
 	 */
 	private List<OpeApplyReserve> selectedListForPerson;
+	private List<OpeApplyReserve> selectedTmpOrderList;
+	private List<OpeApplyReserve> trulySelectedOrderList;
 
 	/**
 	 * 条形码对话框中选择的条形码集合
@@ -387,9 +389,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(){
@@ -421,6 +454,35 @@
 
 	}
 
+	public void cancelOrderTmp(){
+		if (trulySelectedOrderList == null || trulySelectedOrderList.size()<=0){
+			FacesUtils.info("至少选择一个");
+			return;
+		}
+
+		if (selectedTmpOrderList == null || selectedTmpOrderList.size()<=0){
+			FacesUtils.info("至少选择一个");
+			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);
+				}
+			}
+		}
+
+		if (indexs.size()>0){
+			indexs.forEach(index -> {
+				selectedTmpOrderList.remove(selectedTmpOrderList.get(index));
+			});
+		}
+
+	}
+
 	public void onUseBtnClick(){
 		if (selectedTmpList == null || selectedTmpList.size()<=0){
 			FacesUtils.info("至少选择一个");
@@ -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");
@@ -578,7 +648,7 @@
 
 			// 将当前选择条形码保存到库存中
 			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){
@@ -665,7 +735,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())
 					{
@@ -2120,4 +2190,20 @@
 	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;
+	}
 }

--
Gitblit v1.9.2