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/WarehouseStockMngController.java |  116 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 80 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 1440034..4aaf691 100644
--- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -426,7 +426,8 @@
 		System.out.println(getUser().getSeeFlag().getKey());
 		//SysUser u=sysUserService.getSysUser(getUserId());
 		//System.out.println(u);
-		if (getUser().getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()) {
+		if (getUser().getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()
+				&& getUser().getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) {
 			editFlag=0;
 		}else{
 			editFlag=1;
@@ -1214,6 +1215,10 @@
 			int sum = 0;
 			List<ApplyListDto> applyList = new ArrayList<>();
 			SysUser applyPersonInfo = sysUserService.getUser(userId);
+			if (applyPersonInfo == null) {
+				FacesUtils.warn("申领人不存在或者申领人部门被删除。");
+				return;
+			}
 			printTable.put("head", instituteName);
 			printTable.put("title", "领用单");
 			printTable.put("applyPerson", applyPersonInfo.getName());
@@ -1495,6 +1500,10 @@
 			printTable = new Hashtable();
 			List<ApplyListDto> applyList = new ArrayList<>();
 			SysUser applyPersonInfo = sysUserService.getUser(userId);
+			if (applyPersonInfo == null) {
+				FacesUtils.warn("申领人不存在或者申领人部门被删除。");
+				return;
+			}
 			printTable.put("head", instituteName);
 			printTable.put("title", "领用单");
 			printTable.put("applyPerson", applyPersonInfo.getName());
@@ -1527,6 +1536,29 @@
 					list2.add(selectWarehouseReserve);
 				}
 			}
+
+			//list2为补贴条码,检查条码重复
+			ArrayList<String> checkList = new ArrayList<>();
+			if (list2.size() > 0) {
+				for (OpeWarehouseReserve owr : list2) {
+					checkList.addAll(owr.getReagentCodes());
+				}
+			}
+
+			Set<String> checkTable = new HashSet<>();
+			if (checkList.size() > 0) {
+				for (String reagentCode : checkList) {
+					if (checkTable.contains(reagentCode)) {
+						throw new BusinessException(ExceptionEnumCode.PARAM_EXIST, "当前订单条码重复," + reagentCode);
+					} else {
+						checkTable.add(reagentCode);
+					}
+				}
+			}
+			checkTable = null;
+			checkList = null;
+
+
 			if(list.size()>0&&list!=null){
 				for (OpeWarehouseReserve selectWarehouseReserve : list) {
 					Map reagentDetail = sysReagentService.getReagentDetail(selectWarehouseReserve.getReagentId());
@@ -1665,6 +1697,10 @@
 			FacesUtils.info("申领成功。");
 			RequestContext.getCurrentInstance().execute("PF('printDialog').show()");
 //            this.menuController.goToPage(Constants.PAGE_WAREHOUSE_STOCK_MNG, Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW);
+		} catch (BusinessException e) {
+			logger.error(e.getMessage(), e);
+			FacesUtils.warn(e.getMessage());
+
 		} catch (Exception e) {
 			logger.error(e.getMessage(), e);
 			FacesUtils.warn("操作失败。");
@@ -1747,22 +1783,23 @@
 					} catch (Exception e) {
 						logger.error(e);
 					}
+					selectedList = null;
 					return list;
 				}
 
 				@Override
 				public OpeWarehouseReserve getRowData(String rowKey) {
-					Iterator<OpeWarehouseReserve> iterator = this.iterator();
-					if (iterator != null) {
-						OpeWarehouseReserve su = null;
-						while (iterator.hasNext()) {
-							su = iterator.next();
-							if (rowKey.equals(su.getId())) {
-								return su;
-							}
-						}
-					}
-					return null;
+//					Iterator<OpeWarehouseReserve> iterator = this.iterator();
+//					if (iterator != null) {
+//						OpeWarehouseReserve su = null;
+//						while (iterator.hasNext()) {
+//							su = iterator.next();
+//							if (rowKey.equals(su.getId())) {
+//								return su;
+//							}
+//						}
+//					}
+					return opeWarehouseReserveService.getRowData(rowKey);
 				}
 			};
 		}
@@ -1780,7 +1817,7 @@
 					List<OpeApplyReserve> list = null;
 					SysUser loginUser = getUser();
 					String id="";
-					if(loginUser.getSeeFlag()==SeeFlag.MANAGE){
+					if(loginUser.getSeeFlag()==SeeFlag.MANAGE||loginUser.getSeeFlag() ==SeeFlag.LEADING){
 
 					}else {
 						//userName=loginUser.getName();
@@ -1797,22 +1834,23 @@
 					} catch (Exception e) {
 						logger.error(e);
 					}
+					selectedListForPerson = null;
 					return list;
 				}
 
 				@Override
 				public OpeApplyReserve getRowData(String rowKey) {
-					Iterator<OpeApplyReserve> iterator = this.iterator();
-					if (iterator != null) {
-						OpeApplyReserve su = null;
-						while (iterator.hasNext()) {
-							su = iterator.next();
-							if (rowKey.equals(su.getId())) {
-								return su;
-							}
-						}
-					}
-					return null;
+//					Iterator<OpeApplyReserve> iterator = this.iterator();
+//					if (iterator != null) {
+//						OpeApplyReserve su = null;
+//						while (iterator.hasNext()) {
+//							su = iterator.next();
+//							if (rowKey.equals(su.getId())) {
+//								return su;
+//							}
+//						}
+//					}
+					return opeApplyService.getOpeApplyReserveListByNameForRowData(rowKey);
 				}
 			};
 		}
@@ -1887,7 +1925,7 @@
 			//map=null;
 			SysUser loginUser = getUser();
 			String id="";
-			if(loginUser.getSeeFlag()==SeeFlag.MANAGE){
+			if(loginUser.getSeeFlag()==SeeFlag.MANAGE||loginUser.getSeeFlag() == SeeFlag.LEADING){
 
 			}else {
 				//userName=loginUser.getName();
@@ -2303,6 +2341,7 @@
         this.reagentDStore.setReagent((SysReagent)event.getObject());
 
     	this.reagentDStoreEditFlag = Constants.ACTION_ADD;
+		onWarehouseSelectChange(null);
     	RequestContext.getCurrentInstance().execute("PF('reagentDStoreDialog').show()");
     }
 
@@ -2312,6 +2351,11 @@
         this.changeWarehouseContainerList(warehouseId);
         this.changeWarehouseContainerPlaceList(null);
     }
+
+	public void onWarehouseContainerSelectChange(String warehouseContainerId) {
+		this.warehouseContainerPlaceList = null;
+		this.changeWarehouseContainerPlaceList(warehouseContainerId);
+	}
 
     private void changeWarehouseContainerList(String warehouseId) {
         if (StringUtils.isBlank(warehouseId)) {
@@ -2653,17 +2697,17 @@
 
                 @Override
                 public SysReagent getRowData(String rowKey) {
-                    Iterator<SysReagent> iterator = this.iterator();
-                    if (iterator != null) {
-                        SysReagent sr = null;
-                        while (iterator.hasNext()) {
-                            sr = iterator.next();
-                            if (rowKey.equals(sr.getId())) {
-                                return sr;
-                            }
-                        }
-                    }
-                    return null;
+//                    Iterator<SysReagent> iterator = this.iterator();
+//                    if (iterator != null) {
+//                        SysReagent sr = null;
+//                        while (iterator.hasNext()) {
+//                            sr = iterator.next();
+//                            if (rowKey.equals(sr.getId())) {
+//                                return sr;
+//                            }
+//                        }
+//                    }
+                    return sysReagentService.getSysReagentListNewRowData(rowKey);
                 }
             };
         }

--
Gitblit v1.9.2