From e514d3b363475831841e6240b35795eafebf3ef7 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期二, 18 六月 2024 03:03:23 +0800
Subject: [PATCH] bug修复

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java        |    2 +-
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java |   25 ++++++++++++++++++-------
 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java                    |    5 +++--
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java            |   18 ++++++++++++------
 inspect-server/src/main/resources/mapper/StandardTreeMapper.xml                               |    2 +-
 cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml                        |    2 +-
 6 files changed, 36 insertions(+), 18 deletions(-)

diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
index c70c19f..a0e7e8c 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
@@ -1,7 +1,6 @@
 package com.yuanchu.mom.controller;
 
 
-import cn.hutool.core.lang.UUID;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.annotation.ValueAuth;
 import com.yuanchu.mom.annotation.ValueClassify;
@@ -20,6 +19,8 @@
 
 import javax.annotation.Resource;
 import java.io.File;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -98,7 +99,7 @@
             if (!realpath.exists()) {
                 realpath.mkdirs();
             }
-            pathName = UUID.randomUUID() + "_" + file.getOriginalFilename();
+            pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMdd")) + "-" + file.getOriginalFilename();
             urlString = realpath + "/" + pathName;
             file.transferTo(new File(urlString));
             HashMap<String, String> map = new HashMap<>();
diff --git a/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml b/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml
index 655974d..44a1f3f 100644
--- a/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml
+++ b/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml
@@ -69,7 +69,7 @@
         select id,
                inspection_item,
                case
-                   when inspection_item_subclass = '' then inspection_item
+                   when inspection_item_subclass is null then inspection_item
                    else inspection_item_subclass end as subclass
         from structure_item_parameter
     </select>
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
index f2bb260..f38a6eb 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -130,7 +130,7 @@
     public int addInsOrder(List<SampleProductDto> list, InsOrder insOrder, List<List<Integer>> pairing) {
         insOrder.setState(0);
         String code = customMapper.selectById(insOrder.getCompanyId()).getCode2();
-        insOrder.setEntrustCode(giveCode.giveCode("JCZX-" + code + "-", "ins_order", "-", "yyMMdd"));
+        insOrder.setEntrustCode(giveCode.giveCode("JCZX-" + code + "-", "ins_order", "", "yyMMdd"));
         insOrderMapper.insert(insOrder);
         AtomicInteger count = new AtomicInteger();
         list.forEach(a -> {
@@ -138,7 +138,7 @@
             a.setId(null);
             a.setInsOrderId(insOrder.getId());
             if (StrUtil.isEmpty(a.getSampleCode())) {
-                a.setSampleCode(insOrder.getEntrustCode().split("-")[2]+insOrder.getEntrustCode().split("-")[3]+"-"+count.get());
+                a.setSampleCode(insOrder.getEntrustCode().split("-")[2]+"-"+count.get());
             }
             insSampleMapper.insert(a);
             if (ObjectUtil.isNotEmpty(a.getInsProduct())) {
@@ -207,16 +207,22 @@
             sample.setSampleCode(list.get(i.get(0)-1).getSampleCode() + "/" +list.get(i.get(1)-1).getSampleCode());
             sample.setId(null);
             insSampleMapper.insert(sample);
-            InsProduct insProduct = sample.getInsProduct().stream().filter(a -> Objects.equals(a.getInspectionItem(), "鐔旀帴鎹熻��")).findFirst().get();
-            insProduct.setId(null);
-            insProduct.setInsSampleId(sample.getId());
-            insProductMapper.insert(insProduct);
+            try {
+                InsProduct insProduct = sample.getInsProduct().stream().filter(a -> Objects.equals(a.getInspectionItem(), "鐔旀帴鎹熻��")).findFirst().get();
+                insProduct.setId(null);
+                insProduct.setInsSampleId(sample.getId());
+                insProductMapper.insert(insProduct);
+            }catch (Exception e){}
         }
         return insOrder.getId();
     }
 
     private void addInsProductMethod(Integer sampleId, List<InsProduct> productList, Integer id, Integer type) {
         for (InsProduct product : productList) {
+            if(product.getState()==1 && (product.getAsk().indexOf("D")>-1||product.getAsk().indexOf("W")>-1||product.getAsk().indexOf("X")>-1
+            ||product.getAsk().indexOf("RTS")>-1||product.getAsk().indexOf("H")>-1||product.getAsk().indexOf("L")>-1)){
+                throw new ErrorException("鎻愪氦澶辫触锛屽瓨鍦ㄦ湭濉啓鐨勫彉閲忥細"+product.getInspectionItem()+" "+product.getInspectionItemSubclass());
+            }
             if(product.getState()==1 && !product.getInspectionItem().equals("鐔旀帴鎹熻��")){
                 switch (type){
                     case 1:
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
index d363088..4663183 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
@@ -21,6 +21,8 @@
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -105,21 +107,26 @@
     }
 
     private boolean getIsIf(String str, String model){
+        Matcher matcher = Pattern.compile("\\d+(\\.\\d+)?").matcher(model);
+        String model2 = "";
+        while (matcher.find()) {
+            model2 += matcher.group();
+        }
         if (str.contains("鈮�") || str.contains(">=")) {
             String param = str.replace("鈮�", "").replace(">=", "");
-            return new BigDecimal(model).compareTo(new BigDecimal(param)) > -1;
+            return new BigDecimal(model2).compareTo(new BigDecimal(param)) > -1;
         } else if (str.contains("鈮�") || str.contains("<=")) {
             String param = str.replace("鈮�", "").replace("<=", "");
-            return new BigDecimal(model).compareTo(new BigDecimal(param)) < 1;
+            return new BigDecimal(model2).compareTo(new BigDecimal(param)) < 1;
         } else if (str.contains(">")||str.contains("锛�")) {
             String param = str.replace(">", "").replace("锛�", "");
-            return new BigDecimal(model).compareTo(new BigDecimal(param)) > 0;
+            return new BigDecimal(model2).compareTo(new BigDecimal(param)) > 0;
         } else if (str.contains("<")||str.contains("锛�")) {
             String param = str.replace("<", "").replace("锛�", "");
-            return new BigDecimal(model).compareTo(new BigDecimal(param)) < 0;
+            return new BigDecimal(model2).compareTo(new BigDecimal(param)) < 0;
         } else if (str.contains("=")) {
             String param = str.replace("=", "");
-            return new BigDecimal(model).compareTo(new BigDecimal(param)) == 0;
+            return new BigDecimal(model2).compareTo(new BigDecimal(param)) == 0;
         }
         return false;
     }
@@ -167,7 +174,7 @@
         for (StandardProductList sp : standardProductLists) {
             for (StandardProductList pl : list) {
                 if (Objects.equals(sp.getInspectionItem(), pl.getInspectionItem())
-                        && Objects.equals(sp.getInspectionItemSubclass() == null ? "" : sp.getInspectionItemSubclass(), pl.getInspectionItemSubclass() == null ? "" : pl.getInspectionItemSubclass())
+                        && Objects.equals((sp.getInspectionItemSubclass() == null)? "" : sp.getInspectionItemSubclass(), pl.getInspectionItemSubclass() == null ? "" : pl.getInspectionItemSubclass())
                         && Objects.equals(sp.getModel(), pl.getModel())
                         && Objects.equals(sp.getStructureItemParameterId(), pl.getStructureItemParameterId())) {
                     pl.setId(sp.getId());
@@ -205,7 +212,11 @@
         if (page == 1) {
             Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
             CompletableFuture.supplyAsync(() -> {
-                standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, id).like(StandardProductList::getTree, tree));
+                if(trees.length == 5){
+                    standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, id).eq(StandardProductList::getTree, tree));
+                }else{
+                    standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, id).like(StandardProductList::getTree, tree));
+                }
                 standardProductListService2.saveBatch(list.stream().map(a -> {
                     a.setFactory(trees[0]);
                     a.setLaboratory(trees[1]);
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
index e08aba6..d06dd7d 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
@@ -200,7 +200,7 @@
                 }
                 str.setInspectionItem(list.get(4) + "");
                 if (list.get(6) == null) {
-                    str.setInspectionItemSubclass(null);
+                    str.setInspectionItemSubclass("");
                 } else {
                     str.setInspectionItemSubclass(list.get(6).toString());
                 }
diff --git a/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml b/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
index d7d8975..b0072ed 100644
--- a/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
+++ b/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
@@ -267,7 +267,7 @@
         select id from structure_item_parameter
         where sample like concat('%', #{sampleType}, '%')
         and inspection_item = #{item}
-        <if test="itemChild != null">
+        <if test="itemChild != null and itemChild != ''">
             and inspection_item_subclass = #{itemChild}
         </if>
     </select>

--
Gitblit v1.9.3