From c3510da29a7974c6af7ff3de1ade3db429d6f848 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期三, 18 八月 2021 14:27:59 +0800
Subject: [PATCH] 申购管理申请履历显示所有历史单据,提交时如有无效试剂耗材报错

---
 src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java |   78 ++++++++++++++++++++++++++++++---------
 1 files changed, 60 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java b/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java
index bd1da35..fdc21d8 100644
--- a/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/PersonalUseInfoController.java
@@ -9,6 +9,7 @@
 import com.nanometer.smartlab.entity.SysLaboratory;
 import com.nanometer.smartlab.entity.dto.ApplyListDto;
 import com.nanometer.smartlab.entity.dto.PersonUseDetail;
+import com.nanometer.smartlab.entity.enumtype.ArrivalStatus;
 import com.nanometer.smartlab.service.SysLaboratoryService;
 import com.nanometer.smartlab.util.FacesUtils;
 import com.nanometer.smartlab.util.Utils;
@@ -54,6 +55,7 @@
 	 */
 	private LazyDataModel<OpeReagentStatus> dataModel;
 	private String reagentId;
+    private String reagentName;
 	private String reagentCode;
 	private String applyPerson;
 	private Date startTime;
@@ -117,8 +119,28 @@
 	public void reagentReturn(){
 
 		try {
-			List<OpeReagentStatus> list=this.selectedList;
-			opeReagentStatusService.batchUpdateStatusByCode(list);
+			if (selectOne == null) {
+				FacesUtils.warn("请选择单号");
+				return;
+			}
+			//判断单子下的试剂是否全部 为 领用待入库-1,不是就不能取消领用
+			List<PersonUseDetail> applyList = opeUseFlowService.getApplyInfo(selectOne.getReceiptNumber());
+			boolean flag = applyList.stream().allMatch(pu ->
+						opeReagentStatusService.getOpeReagentStatusByReagentCode(pu.getReagentCode() ).getStatus()== ArrivalStatus.NOREGISTER);
+			if (!flag) {
+				FacesUtils.warn("试剂当前状态不可以取消领用");
+				return;
+			}
+
+			//没有批次号不可以取消领用
+			boolean flag1 = applyList.stream().allMatch(pu -> pu.getArticleNumber() != null);
+			if (!flag1) {
+				FacesUtils.warn("没有批次号不可以取消领用");
+				return;
+			}
+
+			//取消领用
+			opeReagentStatusService.batchUpdateStatusByCode(applyList);
 			FacesUtils.info("已取消试剂");
 		}catch (Exception e){
 			FacesUtils.info("请选择数据");
@@ -244,12 +266,13 @@
 												   Map<String, Object> filters) {
 					List<OpeUseFlow> list = null;
 					try {
-						int count = opeUseFlowService.getPersonalUseInfoCount(reagentCode, getUserId(),startTime,endTime,receiptNumber,department,project);
+						int count = opeUseFlowService.getPersonalUseInfoCount(reagentCode, getUserId(),startTime,endTime,receiptNumber,department,project,applyPerson,reagentName);
 						this.setRowCount(count);
 						if (count > 0) {
 							list = opeUseFlowService.getPersonalUseInfoList
-									(reagentCode,  getUserId(),startTime,endTime ,receiptNumber,department,project,first,pageSize);
+									(reagentCode,  getUserId(),startTime,endTime ,receiptNumber,department,project,applyPerson,reagentName,first,pageSize);
 						}
+						selectOne = null;
 					} catch (Exception e) {
 						logger.error(e);
 					}
@@ -258,17 +281,17 @@
 
 				@Override
 				public OpeUseFlow getRowData(String rowKey) {
-					Iterator<OpeUseFlow> iterator = this.iterator();
-					if (iterator != null) {
-						OpeUseFlow su = null;
-						while (iterator.hasNext()) {
-							su = iterator.next();
-							if (rowKey.equals(su.getReceiptNumber())) {
-								return su;
-							}
-						}
-					}
-					return null;
+//					Iterator<OpeUseFlow> iterator = this.iterator();
+//					if (iterator != null) {
+//						OpeUseFlow su = null;
+//						while (iterator.hasNext()) {
+//							su = iterator.next();
+//							if (rowKey.equals(su.getReceiptNumber())) {
+//								return su;
+//							}
+//						}
+//					}
+					return opeUseFlowService.selectByReceiptNumber(rowKey,getUserId());
 				}
 			};
 		}
@@ -300,16 +323,27 @@
 	}
 
 	public Date getStartTime() {
-		return startTime;
+		if (null == startTime){
+			Date now = new Date();
+			Calendar cal = Calendar.getInstance();
+			cal.setTime(now);
+			cal.add(Calendar.DATE, -7);
+			return cal.getTime();
+		}else {
+			return startTime;
+		}
 	}
 
 	public void setStartTime(Date startTime) {
 		this.startTime = startTime;
 	}
 
-
 	public Date getEndTime() {
-		return endTime;
+		if (null == endTime){
+			return new Date();
+		}else {
+			return endTime;
+		}
 	}
 
 	public void setEndTime(Date endTime) {
@@ -365,4 +399,12 @@
 	public void setPrintTable(Hashtable printTable) {
 		this.printTable = printTable;
 	}
+
+    public String getReagentName() {
+        return reagentName;
+    }
+
+    public void setReagentName(String reagentName) {
+        this.reagentName = reagentName;
+    }
 }

--
Gitblit v1.9.2