From a7a6a0c332f268010b4da0161cdee80acf9bc4ce Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期一, 22 四月 2024 15:59:57 +0800
Subject: [PATCH] 2024-4-22 资源要求-人员明细-bug修改
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 168 insertions(+), 12 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 a7432b1..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,13 +45,43 @@
private StandardProductListMapper standardProductListMapper;
+ private StandardProductListService standardProductListService;
+
+ private GetLook getLook;
+
@Override
public List<FactoryDto> selectStandardTreeList() {
return standardTreeMapper.selectStandardTreeList();
}
@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);
}
@@ -70,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;
}
@@ -90,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