From cddc46a1ba318426cf01ae3fd354807c3b3b2465 Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期三, 17 四月 2024 13:44:14 +0800 Subject: [PATCH] 调整模板功能;生成检验人员的三层架构文件 --- inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java | 231 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 225 insertions(+), 6 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 139ce93..4e5b974 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,26 +1,52 @@ 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.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; +import com.yuanchu.mom.pojo.StandardMethodList; +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.List; +import java.time.LocalDateTime; +import java.util.*; +import java.util.concurrent.CompletableFuture; /** -* @author Administrator -* @description 閽堝琛ㄣ�恠tandard_tree(鏍囧噯鏍�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 -* @createDate 2024-03-01 15:06:44 -*/ + * @author Administrator + * @description 閽堝琛ㄣ�恠tandard_tree(鏍囧噯鏍�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 + * @createDate 2024-03-01 15:06:44 + */ @Service @AllArgsConstructor public class StandardTreeServiceImpl extends ServiceImpl<StandardTreeMapper, StandardTree> - implements StandardTreeService{ + implements StandardTreeService { private StandardTreeMapper standardTreeMapper; + + private StandardMethodListMapper standardMethodListMapper; + + private StandardMethodListService standardMethodListService; + + private StandardProductListMapper standardProductListMapper; + + private StandardProductListService standardProductListService; + + private GetLook getLook; @Override public List<FactoryDto> selectStandardTreeList() { @@ -28,9 +54,202 @@ } @Override + @Transactional(rollbackFor = Exception.class) public int addStandardTree(StandardTree standardTree) { + 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); + } + } return standardTreeMapper.insert(standardTree); } + + @Override + @Transactional(rollbackFor = Exception.class) + public int delStandardTree(String tree) { + String[] trees = tree.split(" - "); + switch (trees.length) { + case 5: + standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3]).eq(StandardTree::getModel, trees[4])); + break; + case 4: + standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3])); + break; + case 3: + standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2])); + break; + case 2: + standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1])); + break; + case 1: + standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0])); + break; + } + 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")); + } + return 1; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int addStandardProduct(String ids, String tree) { + String[] trees = tree.split(" - "); + JSONArray jsonArray = JSON.parseArray(ids); + for (Object o : jsonArray) { + StandardProductList standardProductList = standardTreeMapper.selectStandardProductById(Integer.parseInt("" + o)); + standardProductList.setFactory(trees[0]); + try { + standardProductList.setLaboratory(trees[1]); + } catch (Exception e) { + } + try { + standardProductList.setSampleType(trees[2]); + } catch (Exception e) { + } + try { + standardProductList.setSample(trees[3]); + } catch (Exception e) { + } + try { + standardProductList.setModel(trees[4]); + } 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); + 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()); + 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