From c87738a78f57e6f68a0111d68ef3748b29dc1eda Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期三, 23 六月 2021 12:21:59 +0800
Subject: [PATCH] 修改试剂排序

---
 src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
index ad0eac0..e69e1d9 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) {
@@ -154,6 +157,31 @@
         return sysReagentDao.getReagent(params);
     }
 
+    @Override
+    public List<SysReagent> selectReagentSafetyNum() {
+
+        return sysReagentDao.selectReagentSafetyNum();
+    }
+
+    @Override
+    public void updateSafetyNum(SysReagent sysReagent) {
+        sysReagentDao.updateSafetyNum(sysReagent.getId(), sysReagent.getSafetynum());
+    }
+
+
+    /**
+    * @Description: 根据detail的信息获取试剂的id
+    * @date 2021/6/21 9:45
+    */
+    @Override
+    public SysReagent getReagentByDetail(Map<String, Object> detail) {
+        List<SysReagent> reagentIds = sysReagentDao.countReagentByDetail(detail);
+        if (reagentIds.size() != 1) {
+            return null;
+        }
+        return reagentIds.get(0);
+    }
+
 
     @Transactional(propagation = Propagation.REQUIRED)
     public int getSysReagentTotalCount(String name, String cas, String supplierId,Integer type) {
@@ -257,6 +285,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 +305,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