From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期一, 01 七月 2024 10:58:35 +0800
Subject: [PATCH] change

---
 src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java |   95 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 67 insertions(+), 28 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..b2bd27c 100644
--- a/src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java
@@ -2,9 +2,12 @@
 
 import com.nanometer.smartlab.dao.DangerousEncodeMapper;
 import com.nanometer.smartlab.entity.DangerousEncode;
+import com.nanometer.smartlab.entity.DangerousEncodeVo;
 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 +60,7 @@
 
     @Override
     @Transactional
-    public void deleteOne(String id) {
+    public void deleteOne(Long id) {
         dangerousEncodeMapper.deleteByPrimaryKey(id);
     }
 
@@ -77,19 +80,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 +96,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 +111,11 @@
                 }
                 valuesList.add(cellInfo);
             }
-
-            //柜号	试剂名称码	试剂名称	CAS号	备注	性状	特性	相忌	状态	灭火器	随机码	编码
-            //如果试剂条码存或者为空就失败
-            if (set.contains(valuesList.get(1).trim())){
-                throw new Exception(i + 1 + "行," + 2 + "列,试剂条码存或者为空");
+            if (valuesList.size() != 12){
+                break;
             }
-
-            //加入
-            set.add(valuesList.get(1));
-
+            //柜号	试剂名称码	试剂名称	CAS号	备注	性状	特性	相忌	状态	灭火器	随机码	编码
             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 +128,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.setCreator(user.getId());
+            dangerousEncode.setUpdateTime(new Date());
+            dangerousEncode.setCreator(user.getName());
             dangerousEncodeMapper.insert(dangerousEncode);
         }
 
-
+        if (StringUtils.isNotBlank(retmsg)){
+            FacesUtils.error(retmsg);
+        }
     }
 
     @Override
@@ -167,6 +185,27 @@
     }
 
     @Override
+    public List<DangerousEncode> selectByCodeAndName(String reagentcode, String reagentname, String cas, String code) {
+        return dangerousEncodeMapper.selectByCodeAndName(reagentcode,reagentname,cas,code);
+    }
+
+    @Override
+    public List<DangerousEncode> selectByReagentName(String reagentname, String cas) {
+        return dangerousEncodeMapper.selectByReagentName(reagentname, cas);
+    }
+
+    @Override
+    public DangerousEncode selectByName(String reagentname) {
+        return dangerousEncodeMapper.selectByName(reagentname);
+    }
+
+    @Override
+    public DangerousEncode selectById(Long id) {
+        return dangerousEncodeMapper.selectById(id);
+    }
+
+
+    @Override
     public void export2Excel(List<Map> list) throws Exception {
         Map<String,String> map = new LinkedHashMap<>();
         map.put("containerNumber", "柜号");

--
Gitblit v1.9.2