From 44f4c17ed71ccaf151d600836f7ef32a8c2dbaea Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期四, 25 四月 2024 16:46:50 +0800
Subject: [PATCH] 完善报告;完善检验对象内容

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java |  127 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 122 insertions(+), 5 deletions(-)

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..f61fa52 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
@@ -4,8 +4,10 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 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 +23,9 @@
 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.time.LocalDateTime;
+import java.util.*;
+import java.util.concurrent.CompletableFuture;
 
 /**
  * @author Administrator
@@ -44,6 +46,8 @@
     private StandardProductListMapper standardProductListMapper;
 
     private StandardProductListService standardProductListService;
+
+    private GetLook getLook;
 
     @Override
     public List<FactoryDto> selectStandardTreeList() {
@@ -69,7 +73,7 @@
                 standardProductList.setSample(standardTree.getSample());
                 standardProductList.setModel(standardTree.getModel());
                 standardProductList.setStandardMethodListId(standardMethod.getId());
-                standardProductList.setState(1);
+                standardProductList.setState(0);
                 standardProductList.setId(null);
                 standardProductList.setCreateUser(null);
                 standardProductList.setCreateTime(null);
@@ -107,7 +111,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 +148,119 @@
         }
         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);
+                            //閫氳繃妫�楠屾爣鍑唅d鏌ヨ妫�楠岄」鐩�(鏍囧噯搴�)
+                            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(userId);
+                                        pl2.setUpdateTime(LocalDateTime.now());
+                                        pl2.setId(pl1.getId());
+                                        pl2.setSample(tree.getSample());
+                                        pl2.setDic(pl1.getDic());
+                                        //濡傛灉鏍囧噯搴撻噷闈㈢殑瑕佹眰鏈夊�煎垯涓嶆洿鏂�,瑕佹眰涓簄ull鍒欏悓姝ユ洿鏂�
+                                        if (ObjectUtils.isNotEmpty(pl1.getAsk())){
+                                            pl2.setAsk(null);
+                                        }
+                                        if (ObjectUtils.isNotEmpty(pl1.getTell())){
+                                            pl2.setTell(null);
+                                        }
+                                        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(0);
+                                    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(0);
+                            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