From 3034fcaba0301ed1f200e9c388417360422478b6 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 19 四月 2024 14:30:55 +0800 Subject: [PATCH] 数据字典添加类型+检验项目的要求值逻辑+资质bug修改 --- inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java | 174 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 159 insertions(+), 15 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 9afd65f..2f3ea2e 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 @@ -1,9 +1,13 @@ 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; import com.yuanchu.mom.dto.FactoryDto; import com.yuanchu.mom.mapper.StandardMethodListMapper; import com.yuanchu.mom.mapper.StandardProductListMapper; @@ -11,15 +15,17 @@ import com.yuanchu.mom.pojo.StandardProductList; import com.yuanchu.mom.pojo.StandardTree; import com.yuanchu.mom.service.StandardMethodListService; +import com.yuanchu.mom.service.StandardProductListService; 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.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.time.LocalDateTime; +import java.util.*; +import java.util.concurrent.CompletableFuture; /** * @author Administrator @@ -39,6 +45,10 @@ private StandardProductListMapper standardProductListMapper; + private StandardProductListService standardProductListService; + + private GetLook getLook; + @Override public List<FactoryDto> selectStandardTreeList() { return standardTreeMapper.selectStandardTreeList(); @@ -47,14 +57,28 @@ @Override @Transactional(rollbackFor = Exception.class) public int addStandardTree(StandardTree standardTree) { - if(standardTree.getSample()!=null){ - List<StandardProductList> list = standardTreeMapper.getStandardProductListBySample(standardTree.getSample()); - for (StandardProductList standardProductList : list) { + List<StandardProductList> productList = standardTreeMapper.getStandardProductListBySample(standardTree.getSampleType()); + List<StandardMethodList> methodList = standardTreeMapper.getStandardMethodListBySample(standardTree.getSampleType()); + for (StandardMethodList standardMethod : methodList) { + standardMethod.setFactory(standardTree.getFactory()); + standardMethod.setLaboratory(standardTree.getLaboratory()); + standardMethod.setSampleType(standardTree.getSampleType()); + standardMethod.setSample(standardTree.getSample()); + standardMethod.setModel(standardTree.getModel()); + standardMethodListMapper.insert(standardMethod); + for (StandardProductList standardProductList : productList) { standardProductList.setFactory(standardTree.getFactory()); standardProductList.setLaboratory(standardTree.getLaboratory()); standardProductList.setSampleType(standardTree.getSampleType()); standardProductList.setSample(standardTree.getSample()); standardProductList.setModel(standardTree.getModel()); + standardProductList.setStandardMethodListId(standardMethod.getId()); + standardProductList.setState(1); + standardProductList.setId(null); + standardProductList.setCreateUser(null); + standardProductList.setCreateTime(null); + standardProductList.setUpdateUser(null); + standardProductList.setUpdateTime(null); standardProductListMapper.insert(standardProductList); } } @@ -82,12 +106,16 @@ standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0])); break; } - Map<String, List<?>> listMap = standardMethodListService.selectsStandardMethodByFLSSM(tree); - if(listMap.get("standardMethodList").size() != 0){ + Map<String, List<?>> listMap = standardMethodListService.selectsStandardMethodByFLSSM2(tree); + if (listMap.get("standardMethodList").size() != 0) { + 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) { + standardProductListMapper.deleteBatchIds(list); + } + } standardMethodListMapper.deleteBatchIds(listMap.get("standardMethodList")); - } - if(listMap.get("standardProductList").size() != 0){ - standardProductListMapper.deleteBatchIds(listMap.get("standardProductList")); } return 1; } @@ -102,20 +130,136 @@ standardProductList.setFactory(trees[0]); try { standardProductList.setLaboratory(trees[1]); - }catch (Exception e){} + } catch (Exception e) { + } try { standardProductList.setSampleType(trees[2]); - }catch (Exception e){} + } catch (Exception e) { + } try { standardProductList.setSample(trees[3]); - }catch (Exception e){} + } catch (Exception e) { + } try { standardProductList.setModel(trees[4]); - }catch (Exception e){} + } catch (Exception e) { + } standardProductListMapper.insert(standardProductList); } 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()); + //濡傛灉鏍囧噯搴撻噷闈㈢殑瑕佹眰鏈夊�煎垯涓嶆洿鏂�,瑕佹眰涓簄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(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