From 0ece929cad95dbe0bb4c8be5e03ddccacec5a935 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期二, 22 十二月 2020 12:17:25 +0800
Subject: [PATCH] 修改危化品编码

---
 src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java |   74 +++++++++++++++++++++++-------------
 1 files changed, 47 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java
index a3d630f..390ca26 100644
--- a/src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java
@@ -4,7 +4,9 @@
 import com.nanometer.smartlab.entity.DangerousEncode;
 import com.nanometer.smartlab.entity.SysUser;
 import com.nanometer.smartlab.util.ExcelUtils;
+import com.nanometer.smartlab.util.FacesUtils;
 import com.nanometer.smartlab.util.IDUtils;
+import org.apache.commons.lang.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.CellType;
 import org.apache.poi.ss.usermodel.Row;
@@ -57,7 +59,7 @@
 
     @Override
     @Transactional
-    public void deleteOne(String id) {
+    public void deleteOne(Long id) {
         dangerousEncodeMapper.deleteByPrimaryKey(id);
     }
 
@@ -77,19 +79,6 @@
     @Override
     @Transactional
     public void importInfoByExcel(FileUploadEvent event, SysUser user) throws Exception {
-
-        //准备工作
-        List<DangerousEncode> encodeList = selectAll(null, null, null);
-        HashSet<String> set = new HashSet<>();
-        if (encodeList != null && encodeList.size() > 0) {
-            encodeList.forEach(encodeData -> {
-                set.add(encodeData.getReagentCode());
-            });
-            set.add("");
-        }
-        //更新时间
-        Date date = new Date();
-
         UploadedFile file = event.getFile();
         InputStream is = file.getInputstream();
         boolean isExcel2003 = true;
@@ -106,12 +95,12 @@
         int totalRows = sheet.getPhysicalNumberOfRows();
         Row row = null;
         int totalCells = 0;
+        String retmsg = "";
         for (int i = 1; i < totalRows; i++) {
             List<String> valuesList = new ArrayList<String>();
             row = sheet.getRow(i);
 
             totalCells = row.getPhysicalNumberOfCells();
-            //System.out.println("====="+totalCells);
             for (int t = 0; t < totalCells; t++) {
                 String cellInfo = "";
                 if (row.getCell(t) != null) {
@@ -121,18 +110,8 @@
                 }
                 valuesList.add(cellInfo);
             }
-
             //柜号	试剂名称码	试剂名称	CAS号	备注	性状	特性	相忌	状态	灭火器	随机码	编码
-            //如果试剂条码存或者为空就失败
-            if (set.contains(valuesList.get(1).trim())){
-                throw new Exception(i + 1 + "行," + 2 + "列,试剂条码存或者为空");
-            }
-
-            //加入
-            set.add(valuesList.get(1));
-
             DangerousEncode dangerousEncode = new DangerousEncode();
-            dangerousEncode.setId(IDUtils.uuid());
             dangerousEncode.setContainerNumber(valuesList.get(0));
             dangerousEncode.setReagentCode(valuesList.get(1));
             dangerousEncode.setReagentName(valuesList.get(2));
@@ -145,13 +124,48 @@
             dangerousEncode.setFire(valuesList.get(9));
             dangerousEncode.setRandom(valuesList.get(10));
             dangerousEncode.setCode(valuesList.get(11));
+
+            if (StringUtils.isBlank(dangerousEncode.getReagentCode())){
+                retmsg += "第"+i+1+"行,试剂名称码不能为空";
+                continue;
+            }else {
+                List<DangerousEncode> list1 = this.selectByCodeAndName(dangerousEncode.getReagentCode(),null,null,null);
+                if (list1.size() > 0){
+                    retmsg += "第"+i+1+"行,试剂名称码已存在,请更换";
+                    continue;
+                }
+            }
+
+            if (StringUtils.isBlank(dangerousEncode.getReagentName())){
+                retmsg += "第"+i+1+"行,试剂名称不能为空";
+                continue;
+            }else {
+                List<DangerousEncode> list1 = this.selectByCodeAndName(null,dangerousEncode.getReagentName(),null,null);
+                if (list1.size() > 0){
+                    retmsg += "第"+i+1+"行,试剂名称已存在,请更换";
+                    continue;
+                }
+            }
+
+            if (StringUtils.isBlank(dangerousEncode.getCode())){
+                retmsg += "第"+i+1+"行,编码不能为空";
+                continue;
+            }else {
+                List<DangerousEncode> list1 = this.selectByCodeAndName(null,null,null,dangerousEncode.getCode());
+                if (list1.size() > 0){
+                    retmsg += "第"+i+1+"行,编码已存在,请更换";
+                    continue;
+                }
+            }
             dangerousEncode.setCount(0);
-            dangerousEncode.setUpdateTime(date);
+            dangerousEncode.setUpdateTime(new Date());
             dangerousEncode.setCreator(user.getId());
             dangerousEncodeMapper.insert(dangerousEncode);
         }
 
-
+        if (StringUtils.isNotBlank(retmsg)){
+            FacesUtils.error(retmsg);
+        }
     }
 
     @Override
@@ -167,6 +181,12 @@
     }
 
     @Override
+    public List<DangerousEncode> selectByCodeAndName(String reagentcode, String reagentname, String cas, String code) {
+        return dangerousEncodeMapper.selectByCodeAndName(reagentcode,reagentname,cas,code);
+    }
+
+
+    @Override
     public void export2Excel(List<Map> list) throws Exception {
         Map<String,String> map = new LinkedHashMap<>();
         map.put("containerNumber", "柜号");

--
Gitblit v1.9.2