From ad54d502450e219c38f7d9b878ae07f759ab2a23 Mon Sep 17 00:00:00 2001
From: 朱佳吉 <1527963051@qq.com>
Date: 星期二, 07 五月 2024 17:58:54 +0800
Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-after

---
 inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java                   |    4 +
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java |   53 +++++++++++---------------
 inspect-server/src/main/resources/mapper/StandardTreeMapper.xml                               |   38 ++++++++++++++++++-
 3 files changed, 61 insertions(+), 34 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java
index a5b5277..c2f74a5 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java
@@ -27,7 +27,9 @@
 
     List<StandardMethodList> getStandardMethodListBySample(String sampleType);
 
-    List<StandardProductList> selectStandardProductListByTree(String tree);
+    List<StandardProductList> selectStandardProductListByTree(String tree, String sample, String model, String trees);
+
+    List<StandardProductList> selectStandardProductListByTree2(String tree, String sample, String model, String trees);
 
     List<SampleTypeDto> getStandardTree2();
 }
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 5c82c6d..5496da7 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
@@ -8,6 +8,7 @@
 import com.yuanchu.mom.mapper.StandardTreeMapper;
 import com.yuanchu.mom.pojo.InsSample;
 import com.yuanchu.mom.pojo.StandardProductList;
+import com.yuanchu.mom.pojo.StandardTree;
 import com.yuanchu.mom.service.StandardProductListService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
@@ -16,7 +17,6 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
-import java.util.concurrent.CompletableFuture;
 import java.util.stream.Collectors;
 
 /**
@@ -82,27 +82,32 @@
     @Override
     public List<StandardProductList> selectStandardProductListByMethodId(Integer id, String tree) {
         String[] trees = tree.split(" - ");
-        StringBuffer str = new StringBuffer();
         List<StandardProductList> list = new ArrayList<>();
         if (trees.length == 3) {
-            str.append("\"").append(trees[2]).append("\"");
+            List<StandardTree> treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]));
+            for (StandardTree standardTree : treeList) {
+                String str = tree+" - "+standardTree.getSample()+" - "+standardTree.getModel();
+                list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree.getSample(), standardTree.getModel(), str));
+            }
+        } else if (trees.length == 4){
+            List<StandardTree> treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3]));
+            for (StandardTree standardTree : treeList) {
+                String str = tree+" - "+standardTree.getModel();
+                list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree.getSample(), standardTree.getModel(), str));
+                list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", standardTree.getSample(), standardTree.getModel(), str));
+            }
         } else {
-            str.append("\"").append(trees[2]).append("\",\"").append(trees[3]).append("\"");
-            list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\""));
+            list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", trees[3], trees[4], tree));
+            list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", trees[3], trees[4], tree));
         }
-        list.addAll(standardTreeMapper.selectStandardProductListByTree(str + ""));
-        List<StandardProductList> standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery().eq(StandardProductList::getStandardMethodListId, id).eq(StandardProductList::getTree, tree));
+        List<StandardProductList> standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery().eq(StandardProductList::getStandardMethodListId, id).like(StandardProductList::getTree, tree));
         for (StandardProductList sp : standardProductLists) {
             for (StandardProductList pl : list) {
                 if (Objects.equals(sp.getInspectionItem(), pl.getInspectionItem())
-                        && Objects.equals(sp.getInspectionItemSubclass(), pl.getInspectionItemSubclass())) {
+                        && Objects.equals(sp.getInspectionItemSubclass(), pl.getInspectionItemSubclass())
+                        && Objects.equals(sp.getModel(), pl.getModel())) {
                     pl.setId(sp.getId());
                     pl.setState(sp.getState());
-                    pl.setFactory(sp.getFactory());
-                    pl.setLaboratory(sp.getLaboratory());
-                    pl.setSampleType(sp.getSampleType());
-                    pl.setSample(sp.getSample());
-                    pl.setModel(sp.getModel());
                     pl.setMethodS(sp.getMethodS());
                     if(sp.getAsk()!=null&&!sp.getAsk().equals("")){
                         pl.setAsk(sp.getAsk());
@@ -124,37 +129,23 @@
             }
         }
         Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
-        CompletableFuture.supplyAsync(() -> {
-            standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, id).eq(StandardProductList::getTree, tree));
+//        CompletableFuture.supplyAsync(() -> {
+            standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, id).like(StandardProductList::getTree, tree));
             saveBatch(list.stream().map(a->{
                 a.setFactory(trees[0]);
                 a.setLaboratory(trees[1]);
                 a.setSampleType(trees[2]);
-                try {
-                    a.setSample(trees[3]);
-                }catch (Exception e){}
-                try {
-                    a.setModel(trees[4]);
-                }catch (Exception e){}
-                a.setTree(tree);
                 a.setCreateUser(userId);
                 a.setUpdateUser(userId);
                 a.setStandardMethodListId(id);
                 return a;
             }).collect(Collectors.toList()));
-            return null;
+            /*return null;
         }).thenAccept(res -> {
         }).exceptionally(e -> {
             e.printStackTrace();
             return null;
-        });
-        /*switch (trees.length){
-            case 3:
-                standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]));
-                break;
-            case 4:
-                break;
-        }*/
+        });*/
         return list;
     }
 }
diff --git a/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml b/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
index 5f8c2cb..4c771de 100644
--- a/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
+++ b/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
@@ -130,7 +130,7 @@
         group by sto.specimen_name
     </select>
     <select id="selectStandardProductListByTree" resultType="com.yuanchu.mom.pojo.StandardProductList">
-        select sample,
+        select sample sample2,
                inspection_item,
                inspection_item_en,
                inspection_item_subclass,
@@ -152,7 +152,10 @@
                checkout_number,
                section,
                dic,
-               0 state
+               0 state,
+               #{model} model,
+               #{sample} sample,
+               #{trees} tree
         from structure_item_parameter
         where (
                       sample is NULL
@@ -162,6 +165,37 @@
                   )
     </select>
 
+    <select id="selectStandardProductListByTree2" resultType="com.yuanchu.mom.pojo.StandardProductList">
+        select sample sample2,
+               inspection_item,
+               inspection_item_en,
+               inspection_item_subclass,
+               inspection_item_subclass_en,
+               method,
+               son_laboratory,
+               unit,
+               ask_tell tell,
+               ask,
+               price,
+               man_hour,
+               man_hour_group,
+               man_day,
+               inspection_item_type,
+               inspection_value_type,
+               bsm,
+               template_id,
+               laboratory,
+               checkout_number,
+               section,
+               dic,
+               0 state,
+               #{model} model,
+               #{sample} sample,
+               #{trees} tree
+        from structure_item_parameter
+        where sample LIKE CONCAT('%[', #{tree}, ']%')
+    </select>
+
     <select id="getStandardTree2" resultMap="SampleTypeDto">
         select sto.specimen_name sample_type,
                p.name            sample,

--
Gitblit v1.9.3