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 | 124 ++++++++++++++++++++++++++++++++++++++++-
1 files changed, 120 insertions(+), 4 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..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
@@ -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() {
@@ -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,118 @@
}
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