From 742ac78758a1803e61a2cf825128015733885b2e Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期三, 17 四月 2024 08:50:59 +0800
Subject: [PATCH] 对标准库进行调整,使基础数据和标准库的数据进行互相关联

---
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/CapacityScopeServiceImpl.java   |   15 ++++-
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java |  112 ++++++++++++++++++++++++++++++++++++-
 inspect-server/src/main/java/com/yuanchu/mom/pojo/StandardMethodList.java              |    1 
 cnas-server/src/main/java/com/yuanchu/mom/controller/StandardMethodController.java     |    1 
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodServiceImpl.java  |   15 ++++-
 inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java          |    3 +
 cnas-server/pom.xml                                                                    |    5 +
 7 files changed, 142 insertions(+), 10 deletions(-)

diff --git a/cnas-server/pom.xml b/cnas-server/pom.xml
index 801e39a..8fadc9c 100644
--- a/cnas-server/pom.xml
+++ b/cnas-server/pom.xml
@@ -21,5 +21,10 @@
             <artifactId>framework</artifactId>
             <version>0.0.1-SNAPSHOT</version>
         </dependency>
+        <dependency>
+            <groupId>com.yuanchu.mom</groupId>
+            <artifactId>inspect-server</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
     </dependencies>
 </project>
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/StandardMethodController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/StandardMethodController.java
index 946a829..a33c94c 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/StandardMethodController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/StandardMethodController.java
@@ -11,6 +11,7 @@
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.Value;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Map;
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/CapacityScopeServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/CapacityScopeServiceImpl.java
index 8652c20..ecce8e3 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/CapacityScopeServiceImpl.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/CapacityScopeServiceImpl.java
@@ -12,6 +12,7 @@
 import com.yuanchu.mom.pojo.StructureItemParameter;
 import com.yuanchu.mom.pojo.StructureTestObject;
 import com.yuanchu.mom.service.CapacityScopeService;
+import com.yuanchu.mom.service.StandardTreeService;
 import com.yuanchu.mom.utils.QueryWrappers;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
@@ -36,6 +37,8 @@
 
     private StructureTestObjectMapper structureTestObjectMapper;
 
+    private StandardTreeService standardTreeService;
+
     @Override
     public Map<String, Object> selectItemParameterList(Page page, StructureItemParameter itemParameter) {
         Map<String, Object> map = new HashMap<>();
@@ -51,17 +54,23 @@
         if (itemParameter.getBsm().equals("")||itemParameter.getBsm()==null){
             itemParameter.setBsm("0");
         }
-        return structureItemParameterMapper.insert(itemParameter);
+        int insert = structureItemParameterMapper.insert(itemParameter);
+        standardTreeService.reTreeBySampleType(structureTestObjectMapper.selectById(itemParameter.getSample()).getSpecimenName());
+        return insert;
     }
 
     @Override
     public int delItemParameter(Integer id) {
-        return structureItemParameterMapper.deleteById(id);
+        standardTreeService.reTreeBySampleType(structureTestObjectMapper.selectById(structureItemParameterMapper.selectById(id).getSample()).getSpecimenName());
+        int i = structureItemParameterMapper.deleteById(id);
+        return i;
     }
 
     @Override
     public int upItemParameter(StructureItemParameter itemParameter) {
-        return structureItemParameterMapper.updateById(itemParameter);
+        int i = structureItemParameterMapper.updateById(itemParameter);
+        standardTreeService.reTreeBySampleType(structureTestObjectMapper.selectById(itemParameter.getSample()).getSpecimenName());
+        return i;
     }
 
     @Override
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodServiceImpl.java
index f3e3d95..2cc8edc 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodServiceImpl.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodServiceImpl.java
@@ -9,6 +9,7 @@
 import com.yuanchu.mom.pojo.StructureItemParameter;
 import com.yuanchu.mom.service.StandardMethodService;
 import com.yuanchu.mom.mapper.StandardMethodMapper;
+import com.yuanchu.mom.service.StandardTreeService;
 import com.yuanchu.mom.utils.QueryWrappers;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
@@ -31,6 +32,8 @@
 
     private StandardMethodMapper standardMethodMapper;
 
+    private StandardTreeService standardTreeService;
+
     @Override
     public Map<String, Object> selectStandardMethodList(Page page, StandardMethod standardMethod) {
         Map<String, Object> map = new HashMap<>();
@@ -48,17 +51,23 @@
 
     @Override
     public int addStandardMethod(StandardMethod standardMethod) {
-        return standardMethodMapper.insert(standardMethod);
+        int insert = standardMethodMapper.insert(standardMethod);
+        standardTreeService.reTreeBySampleType(standardMethod.getSampleType());
+        return insert;
     }
 
     @Override
     public int delStandardMethod(Integer id) {
-        return standardMethodMapper.deleteById(id);
+        standardTreeService.reTreeBySampleType(standardMethodMapper.selectById(id).getSampleType());
+        int i = standardMethodMapper.deleteById(id);
+        return i;
     }
 
     @Override
     public int upStandardMethod(StandardMethod standardMethod) {
-        return standardMethodMapper.updateById(standardMethod);
+        int i = standardMethodMapper.updateById(standardMethod);
+        standardTreeService.reTreeBySampleType(standardMethod.getSampleType());
+        return i;
     }
 }
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/StandardMethodList.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/StandardMethodList.java
index 7fb8fe1..1a42827 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/StandardMethodList.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/StandardMethodList.java
@@ -62,6 +62,7 @@
     @TableField(fill = FieldFill.INSERT)
     private Integer createUser;
 
+    @TableField(exist = false)
     private String createUserName;
     /**
      *
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java
index 41bcb62..ebba737 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java
@@ -22,4 +22,7 @@
 
     int addStandardProduct(String ids, String tree);
 
+//    鏍规嵁鏍峰搧绫诲瀷杩涜鏍囧噯鏍戞洿鏂版搷浣�
+    void reTreeBySampleType(String sampleType);
+
 }
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 bae58cf..eaf6522 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
@@ -6,6 +6,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.common.GetLook;
 import com.yuanchu.mom.dto.FactoryDto;
 import com.yuanchu.mom.mapper.StandardMethodListMapper;
 import com.yuanchu.mom.mapper.StandardProductListMapper;
@@ -21,9 +22,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.concurrent.CompletableFuture;
 
 /**
  * @author Administrator
@@ -44,6 +44,8 @@
     private StandardProductListMapper standardProductListMapper;
 
     private StandardProductListService standardProductListService;
+
+    private GetLook getLook;
 
     @Override
     public List<FactoryDto> selectStandardTreeList() {
@@ -107,7 +109,7 @@
             for (Object o : listMap.get("standardMethodList")) {
                 JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(o));
                 List<StandardProductList> list = standardProductListService.selectStandardProductListByMethodId((Integer) jsonObject.get("id"));
-                if(list.size()!=0){
+                if (list.size() != 0) {
                     standardProductListMapper.deleteBatchIds(list);
                 }
             }
@@ -144,6 +146,108 @@
         }
         return 1;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void reTreeBySampleType(String sampleType) {
+//        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
+        CompletableFuture.supplyAsync(() -> {
+            List<StandardProductList> productList = standardTreeMapper.getStandardProductListBySample(sampleType);
+            List<StandardProductList> productList1 = JSON.parseArray(JSON.toJSONString(productList), StandardProductList.class);
+            List<StandardMethodList> methodList = standardTreeMapper.getStandardMethodListBySample(sampleType);
+            List<StandardMethodList> methodList1 = JSON.parseArray(JSON.toJSONString(methodList), StandardMethodList.class);
+            List<StandardTree> treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getSampleType, sampleType));
+            for (StandardTree tree : treeList) {
+                String treeStr = tree.getFactory() + " - " + tree.getLaboratory() + " - " + tree.getSampleType() + (tree.getSample() == null ? "" : " - " + tree.getSample()) + (tree.getModel() == null ? "" : " - " + tree.getModel());
+                List<StandardMethodList> standardMethodList = JSON.parseArray(JSON.toJSONString(standardMethodListService.selectsStandardMethodByFLSSM(treeStr).get("standardMethodList")), StandardMethodList.class);
+                for (StandardMethodList sl1 : standardMethodList) {
+                    int count1 = 0;
+                    for (StandardMethodList sl2 : methodList) {
+                        if (sl1.getCode().equals(sl2.getCode())) {
+                            sl1.setName(sl2.getName());
+                            sl1.setRemark(sl2.getRemark());
+                            sl2.setId(sl1.getId());
+                            standardMethodListMapper.updateById(sl1);
+                            List<StandardProductList> standardProductList = standardProductListService.selectStandardProductListByMethodId(sl1.getId());
+                            for (StandardProductList pl1 : standardProductList) {
+                                int count2 = 0;
+                                for (StandardProductList pl2 : productList) {
+                                    if (Objects.equals(pl1.getInspectionItemSubclass(), pl2.getInspectionItemSubclass()) && Objects.equals(pl1.getInspectionItem(), pl2.getInspectionItem())) {
+                                        pl2.setUpdateUser(null);
+                                        pl2.setUpdateTime(null);
+                                        pl2.setId(pl1.getId());
+                                        standardProductListMapper.updateById(pl2);
+                                        break;
+                                    } else {
+                                        count2++;
+                                    }
+                                }
+                                if (count2 == productList.size()) {
+                                    standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, sl1.getId()));
+                                }
+                            }
+                            for (StandardProductList pl2 : productList) {
+                                if (pl2.getId() == null) {
+                                    pl2.setFactory(tree.getFactory());
+                                    pl2.setLaboratory(tree.getLaboratory());
+                                    pl2.setSampleType(tree.getSampleType());
+                                    pl2.setSample(tree.getSample());
+                                    pl2.setModel(tree.getModel());
+                                    pl2.setStandardMethodListId(sl1.getId());
+                                    pl2.setState(1);
+                                    pl2.setId(null);
+                                    pl2.setCreateUser(null);
+                                    pl2.setCreateTime(null);
+                                    pl2.setUpdateUser(null);
+                                    pl2.setUpdateTime(null);
+                                    standardProductListMapper.insert(pl2);
+                                }
+                            }
+                            break;
+                        } else {
+                            count1++;
+                        }
+                    }
+                    if (count1 == methodList.size()) {
+                        standardMethodListMapper.deleteById(sl1);
+                        standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, sl1.getId()));
+                    }
+                }
+                for (StandardMethodList sl2 : methodList) {
+                    if (sl2.getId() == null) {
+                        sl2.setFactory(tree.getFactory());
+                        sl2.setLaboratory(tree.getLaboratory());
+                        sl2.setSampleType(tree.getSampleType());
+                        sl2.setSample(tree.getSample());
+                        sl2.setModel(tree.getModel());
+                        standardMethodListMapper.insert(sl2);
+                        for (StandardProductList standardProductList : productList) {
+                            standardProductList.setFactory(tree.getFactory());
+                            standardProductList.setLaboratory(tree.getLaboratory());
+                            standardProductList.setSampleType(tree.getSampleType());
+                            standardProductList.setSample(tree.getSample());
+                            standardProductList.setModel(tree.getModel());
+                            standardProductList.setStandardMethodListId(sl2.getId());
+                            standardProductList.setState(1);
+                            standardProductList.setId(null);
+                            standardProductList.setCreateUser(null);
+                            standardProductList.setCreateTime(null);
+                            standardProductList.setUpdateUser(null);
+                            standardProductList.setUpdateTime(null);
+                            standardProductListMapper.insert(standardProductList);
+                        }
+                    }
+                }
+                methodList = JSON.parseArray(JSON.toJSONString(methodList1), StandardMethodList.class);
+                productList = JSON.parseArray(JSON.toJSONString(productList1), StandardProductList.class);
+            }
+            return 1;
+        }).thenAccept(res -> {
+        }).exceptionally(e -> {
+            e.printStackTrace();
+            return null;
+        });
+    }
 }
 
 

--
Gitblit v1.9.3