From c79e850cf9f4262a7644dfd512f671139a221819 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期一, 22 三月 2021 17:53:46 +0800
Subject: [PATCH] 修改

---
 src/main/java/com/nanometer/smartlab/controller/UserMngController.java           |    1 +
 src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java |   10 ++++++++--
 src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java          |   11 +++++++++++
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
index 0408681..8c21388 100644
--- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
@@ -109,6 +109,7 @@
         }
         if (this.selectedList.size() == 1) {
             this.sysUser = this.sysUserService.getSysUser(this.selectedList.get(0).getId());
+            this.sysUser.setId(null);
         }
         this.action = Constants.ACTION_ADD;
     }
diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
index 2962b20..f269d4f 100644
--- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java
@@ -1514,6 +1514,10 @@
 			}
 			if(list.size()>0&&list!=null){
 				for (OpeWarehouseReserve selectWarehouseReserve : list) {
+					Map reagentDetail = sysReagentService.getReagentDetail(selectWarehouseReserve.getReagentId());
+					if (reagentDetail == null) {
+						throw new Exception("试剂有误,请联系管理员");
+					}
 					List<String> reagentCodes = selectWarehouseReserve.getReagentCodes();
 					if (reagentCodes != null && reagentCodes.size() > 0)
 						for (String opeReagentStatusId : reagentCodes) {
@@ -1540,7 +1544,6 @@
 							//}
 						}
 					ApplyListDto lis = new ApplyListDto();
-					Map reagentDetail = sysReagentService.getReagentDetail(selectWarehouseReserve.getReagentId());
 					lis.setNum(String.valueOf(selectWarehouseReserve.getSelectNum())); //数量
 					lis.setMainMetering(String.format("%s%s", reagentDetail.get("main_metering"), reagentDetail.get("unit")));
 					lis.setControlProducts((String) reagentDetail.get("controlProducts"));
@@ -1563,6 +1566,10 @@
 				List<OpeApply> opeList=new ArrayList<>();
 				//this.opeApplyService.getOpeApplyList(null,null,null,null,null)
 				for(int i=0;i<list2.size();i++){
+					Map reagentDetail = sysReagentService.getReagentDetail(list2.get(i).getReagentId());
+					if (reagentDetail == null) {
+						throw new Exception("试剂有误,请联系管理员");
+					}
 					OpeApply opeApply=new OpeApply();
 					opeApply.setArticleNumber(list2.get(i).getArticleNumber());
 					opeApply.setHouseId(laboratoryId);
@@ -1582,7 +1589,6 @@
 					this.opeLaboratoryReserveService.insert(lr);
 					//opeList.add(this.opeApplyService.getOpeApply(list2.get(i).getId()));
 					ApplyListDto lis = new ApplyListDto();
-					Map reagentDetail = sysReagentService.getReagentDetail(list2.get(i).getReagentId());
 
 					lis.setNum(String.valueOf(list2.get(i).getSelectNum())); //数量
 					lis.setMainMetering(String.format("%s%s", reagentDetail.get("main_metering"), reagentDetail.get("unit")));
diff --git a/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
index ad0eac0..9c299bf 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
@@ -1,6 +1,7 @@
 package com.nanometer.smartlab.service;
 
 import com.nanometer.smartlab.dao.SysReagentDao;
+import com.nanometer.smartlab.entity.OpeWarehouseReserve;
 import com.nanometer.smartlab.entity.SysReagent;
 import com.nanometer.smartlab.entity.SysUser;
 import com.nanometer.smartlab.exception.AlarmCode;
@@ -35,6 +36,8 @@
 
     @Resource(name = "sysReagentDao")
     SysReagentDao sysReagentDao;
+    @Resource
+    OpeWarehouseReserveService opeWarehouseReserveService;
 
     @Transactional(propagation = Propagation.REQUIRED)
     public List<SysReagent> getSysReagentList(String name, String cas, String supplierId,Integer type, Integer first, Integer pageSize) {
@@ -257,6 +260,11 @@
 
             List<String> ids = new ArrayList<String>();
             for (SysReagent sysReagent : sysReagentList) {
+                //判断试剂在库中是否存在
+                int count = opeWarehouseReserveService.getOpeWarehouseReserveTotalCount(sysReagent.getId(), sysReagent.getSupplierId());
+                if (count > 0) {
+                    throw new Exception();
+                }
                 ids.add(sysReagent.getId());
             }
 
@@ -272,6 +280,9 @@
         } catch (DataAccessException ex) {
             logger.error(ex.getMessage(), ex);
             throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex);
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw  new BusinessException(ExceptionEnumCode.SYS_ERR,"试剂在库中已经有了不能删除");
         }
     }
 

--
Gitblit v1.9.2