Crunchy
2024-04-25 cfdaaae8690e188f6971057259873aa408ebc9e3
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
@@ -1,9 +1,9 @@
package com.yuanchu.mom.service.impl;
import cn.hutool.core.bean.BeanUtil;
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;
@@ -18,10 +18,10 @@
import com.yuanchu.mom.service.StandardTreeService;
import com.yuanchu.mom.mapper.StandardTreeMapper;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.CompletableFuture;
@@ -71,7 +71,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);
@@ -150,8 +150,9 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void reTreeBySampleType(String sampleType) {
//        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
        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);
@@ -168,14 +169,24 @@
                            sl1.setRemark(sl2.getRemark());
                            sl2.setId(sl1.getId());
                            standardMethodListMapper.updateById(sl1);
                            //通过检验标准id查询检验项目(标准库)
                            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.setUpdateUser(userId);
                                        pl2.setUpdateTime(LocalDateTime.now());
                                        pl2.setId(pl1.getId());
                                        pl2.setSample(tree.getSample());
                                        pl2.setDic(pl1.getDic());
                                        //如果标准库里面的要求有值则不更新,要求为null则同步更新
                                        if (ObjectUtils.isNotEmpty(pl1.getAsk())){
                                            pl2.setAsk(null);
                                        }
                                        if (ObjectUtils.isNotEmpty(pl1.getTell())){
                                            pl2.setTell(null);
                                        }
                                        standardProductListMapper.updateById(pl2);
                                        break;
                                    } else {
@@ -194,7 +205,7 @@
                                    pl2.setSample(tree.getSample());
                                    pl2.setModel(tree.getModel());
                                    pl2.setStandardMethodListId(sl1.getId());
                                    pl2.setState(1);
                                    pl2.setState(0);
                                    pl2.setId(null);
                                    pl2.setCreateUser(null);
                                    pl2.setCreateTime(null);
@@ -228,7 +239,7 @@
                            standardProductList.setSample(tree.getSample());
                            standardProductList.setModel(tree.getModel());
                            standardProductList.setStandardMethodListId(sl2.getId());
                            standardProductList.setState(1);
                            standardProductList.setState(0);
                            standardProductList.setId(null);
                            standardProductList.setCreateUser(null);
                            standardProductList.setCreateTime(null);