From 0e2e829f10a5e5b239d6583d6be3afbcaed0dcc0 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期三, 31 七月 2024 17:58:30 +0800 Subject: [PATCH] PK8000处理调试+各种bug调试优化 --- inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java | 213 +++++++++++++++++------------------------------------ 1 files changed, 69 insertions(+), 144 deletions(-) diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java index d3a90b4..348afe6 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java @@ -1,6 +1,6 @@ package com.yuanchu.mom.service.impl; -import cn.hutool.core.lang.Console; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.dto.ProductDto; +import com.yuanchu.mom.exception.ErrorException; import com.yuanchu.mom.mapper.StandardProductListMapper; import com.yuanchu.mom.mapper.StandardTreeMapper; import com.yuanchu.mom.pojo.InsSample; @@ -20,6 +21,7 @@ import com.yuanchu.mom.service.StandardProductListService2; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.*; @@ -59,22 +61,21 @@ @Override public List<StandardProductList> selectStandardProductList(InsSample insSample) { String[] models = insSample.getModel().split("-(?=[^-]*$)");//鎷嗗垎鏈�鍚庝竴涓��-銆� -// String[] factorys = insSample.getFactory().split(" - "); - //List<StandardProductList> list = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery().eq(StandardProductList::getStandardMethodListId, insSample.getStandardMethodListId()).eq(StandardProductList::getState, 1).eq(StandardProductList::getModel, models[0]).eq(StandardProductList::getSampleType, factorys[2])); List<StandardProductList> list = standardProductListMapper.selectDetail(insSample.getStandardMethodListId(), 1, models[0]); if (list.size() == 0) { if (Objects.equals(insSample.getFactory(), "") || insSample.getFactory() == null) { return null; } String[] split = insSample.getFactory().split(" - "); - String tree = split[0] + " - " + split[1] + " - " + split[2] + " - " + split[3]; + String tree = split[0] + " - " + split[1] + " - " + split[2] + " - " + split[3] + " - null"; list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree); - /* list = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() - .eq(StandardProductList::getStandardMethodListId, insSample.getStandardMethodListId()) - .eq(StandardProductList::getState, 1) - .like(StandardProductList::getTree, split[0] + " - " + split[1] + " - " + split[2] + " - " + split[3]));*/ - + if (list.size()==0){ + String tree1 = split[0] + " - " + split[1] + " - " + split[2] + " - null - " + split[3] ; + list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree1); + } } + String[] split1 = insSample.getFactory().split(" - "); + list = list.stream().filter(list1 -> list1.getSample().equals(split1[3])).collect(Collectors.toList()); list = list.stream().filter(a -> { try { if (a.getSection() != null && !Objects.equals(a.getSection(), "")) { @@ -119,6 +120,7 @@ String model2 = ""; while (matcher.find()) { model2 += matcher.group(); + break; } if (str.contains("鈮�") || str.contains(">=")) { String param = str.replace("鈮�", "").replace(">=", ""); @@ -140,116 +142,14 @@ } @Override + @Transactional(rollbackFor = Exception.class) public Map<String, Object> selectStandardProductListByMethodId(Integer id, String tree, Integer page) { - /*String[] trees = tree.split(" - "); - List<StandardProductList> list = new ArrayList<>(); - if (trees.length == 3) { - List<StandardTree> treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2])); - if (treeList.size() == 0) { - StandardTree standardTree = new StandardTree(); - standardTree.setFactory(trees[0]); - standardTree.setLaboratory(trees[1]); - standardTree.setSampleType(trees[2]); - treeList.add(standardTree); - } - for (StandardTree standardTree : treeList) { - String str = tree + " - " + standardTree.getSample() + " - " + standardTree.getModel(); - list.addAll(standardTreeMapper.selectStandardProductListByTree3("\"" + trees[2] + "\"", standardTree.getSample(), standardTree.getModel(), str)); - } - } else if (trees.length == 4) { - List<StandardTree> treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3])); - if (treeList.size() == 0) { - StandardTree standardTree = new StandardTree(); - standardTree.setFactory(trees[0]); - standardTree.setLaboratory(trees[1]); - standardTree.setSampleType(trees[2]); - standardTree.setSample(trees[2]); - treeList.add(standardTree); - } - for (StandardTree standardTree : treeList) { - String str = tree + " - " + standardTree.getModel(); - list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree.getSample(), standardTree.getModel(), str)); - list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", standardTree.getSample(), standardTree.getModel(), str)); - } - } else { - list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", trees[3], trees[4], tree)); - list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", trees[3], trees[4], tree)); - } - for (StandardProductList productList : list) { - productList.setId(IdWorker.getId()); - } - List<StandardProductList> standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery().eq(StandardProductList::getStandardMethodListId, id).like(StandardProductList::getTree, tree)); - for (StandardProductList sp : standardProductLists) { - for (StandardProductList pl : list) { - if (Objects.equals(sp.getInspectionItem(), pl.getInspectionItem()) - && Objects.equals((sp.getInspectionItemSubclass() == null)? "" : sp.getInspectionItemSubclass(), pl.getInspectionItemSubclass() == null ? "" : pl.getInspectionItemSubclass()) - && Objects.equals(sp.getModel(), pl.getModel()) - && Objects.equals(sp.getStructureItemParameterId(), pl.getStructureItemParameterId())) { - pl.setId(sp.getId()); - if (sp.getState() != null && !sp.getState().equals("")) { - pl.setState(sp.getState()); - } else { - pl.setState(id == 0 ? 1 : 0); - } - pl.setMethodS(sp.getMethodS()); - if (sp.getAsk() != null && !sp.getAsk().equals("")) { - pl.setAsk(sp.getAsk()); - } - if (sp.getTell() != null && !sp.getTell().equals("")) { - pl.setTell(sp.getTell()); - } - if (sp.getPrice() != null && !sp.getPrice().equals("")) { - pl.setPrice(sp.getPrice()); - } - if (sp.getManHour() != null && !sp.getManHour().equals("")) { - pl.setManHour(sp.getManHour()); - } - if (sp.getSection() != null && !sp.getSection().equals("")) { - pl.setSection(sp.getSection()); - } - if (sp.getTemplateId() != null && !sp.getTemplateId().equals("")) { - pl.setTemplateId(sp.getTemplateId()); - } - if(sp.getTree() != null && !sp.getTree().equals("")){ - pl.setTree(sp.getTree()); - } - break; - } - } - } - if (page == 1) { - Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); - CompletableFuture.supplyAsync(() -> { - if(trees.length == 5){ - standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, id).eq(StandardProductList::getTree, tree)); - }else{ - standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, id).like(StandardProductList::getTree, tree)); - } - standardProductListService2.saveBatch(list.stream().map(a -> { - a.setFactory(trees[0]); - a.setLaboratory(trees[1]); - a.setSampleType(trees[2]); - a.setCreateUser(userId); - a.setUpdateUser(userId); - a.setStandardMethodListId(id); - return a; - }).collect(Collectors.toList())); - return null; - }).thenAccept(res -> { - }).exceptionally(e -> { - e.printStackTrace(); - return null; - }); - } - Map<String, Object> map = new HashMap<>(); - try { - map.put("productList", list.subList((page - 1) * 50, page * 50)); - } catch (IndexOutOfBoundsException e) { - map.put("productList", list.subList((page - 1) * 50, list.size())); - } - map.put("total", list.size()); - return map;*/ String[] trees = tree.split(" - "); + try{ + String tree1 = trees[2]; + }catch (Exception e){ + throw new ErrorException("鎿嶄綔澶揩,绯荤粺浼犲弬閿欒!!!!"); + } List<StandardProductList> list = new ArrayList<>(); if (trees.length == 3) { List<StandardTree> treeList = new ArrayList<>(); @@ -278,18 +178,8 @@ } for (StandardTree standardTree2 : treeList) { String tree2 = trees[0] + " - " + trees[1] + " - " + trees[2] + " - " + standardTree2.getSample() + " - " + standardTree2.getModel(); - /*if(standardTree2.getSample()!=null){ - tree2 += trees[0] + " - " + trees[1] + " - " + trees[2] + " - " + standardTree2.getSample(); - } - if(standardTree2.getModel()!=null){ - if(standardTree2.getSample()!=null){ - tree2 += standardTree2.getModel(); - }else{ - tree2 += trees[0] + " - " + trees[1] + " - " + trees[2] + " - " + null + " - " + standardTree2.getModel(); - } - }*/ - list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree2.getSample(), standardTree2.getModel(), tree2)); - list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + standardTree2.getSample() + "\"", standardTree2.getSample(), standardTree2.getModel(), tree2)); + list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree2.getSample(), standardTree2.getModel(), tree2, trees[1])); + list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + standardTree2.getSample() + "\"", standardTree2.getSample(), standardTree2.getModel(), tree2, trees[1])); } } else if (trees.length == 4) { List<StandardTree> treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3])); @@ -303,12 +193,12 @@ } for (StandardTree standardTree : treeList) { String str = tree + " - " + standardTree.getModel(); - list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree.getSample(), standardTree.getModel(), str)); - list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", standardTree.getSample(), standardTree.getModel(), str)); + list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree.getSample(), standardTree.getModel(), str, trees[1])); + list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", standardTree.getSample(), standardTree.getModel(), str, trees[1])); } } else { - list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", trees[3].equals("null") ? null : trees[3], trees[4], tree)); - list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", trees[3].equals("null") ? null : trees[3], trees[4], tree)); + list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", trees[3].equals("null") ? null : trees[3], trees[4], tree, trees[1])); + list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", trees[3].equals("null") ? null : trees[3], trees[4], tree, trees[1])); } for (StandardProductList productList : list) { productList.setId(IdWorker.getId()); @@ -356,13 +246,48 @@ } if (page == 1) { Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); - CompletableFuture.supplyAsync(() -> { +// CompletableFuture.supplyAsync(() -> { + System.out.println("寮�濮嬪紑濮嬪紑濮嬪紑濮�!!!!!!!!!!"); if (trees.length == 5) { - standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, id).eq(StandardProductList::getTree, tree)); + standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate() + .eq(StandardProductList::getStandardMethodListId, id) + .eq(StandardProductList::getTree, tree)); } else { - standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, id).like(StandardProductList::getTree, tree)); + standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate() + .eq(StandardProductList::getStandardMethodListId, id) + .like(StandardProductList::getTree, tree)); } - standardProductListService2.saveBatch(list.stream().map(a -> { + + boolean success = false; + int retryCount = 0; + while (!success && retryCount < 100) { + try { + standardProductListService2.saveBatch(list.stream().map(a -> { + a.setFactory(trees[0]); + a.setLaboratory(trees[1]); + a.setSampleType(trees[2]); + a.setCreateUser(userId); + a.setUpdateUser(userId); + a.setStandardMethodListId(id); + return a; + }).collect(Collectors.toList()));; + success = true; + } catch (Exception e) { + retryCount++; + System.out.println("閲嶅"+ retryCount+"娆�"); + // 澶勭悊閲嶅 ID 鐨勮褰曪紝閲嶆柊鐢熸垚 ID 骞剁户缁皾璇曟彃鍏� + for (StandardProductList productList : list) { + productList.setId(IdWorker.getId()); + } + } + } + if (!success) { + throw new RuntimeException("鎻掑叆澶辫触"); + }else { + System.out.println("缁撴潫缁撴潫缁撴潫缁撴潫@@@@@@@@@@@@"); + } + + /* standardProductListService2.saveBatch(list.stream().map(a -> { a.setFactory(trees[0]); a.setLaboratory(trees[1]); a.setSampleType(trees[2]); @@ -370,13 +295,13 @@ a.setUpdateUser(userId); a.setStandardMethodListId(id); return a; - }).collect(Collectors.toList())); - return null; - }).thenAccept(res -> { - }).exceptionally(e -> { - e.printStackTrace(); - return null; - }); + }).collect(Collectors.toList()));*/ +// return null; +// }).thenAccept(res -> { +// }).exceptionally(e -> { +// e.printStackTrace(); +// return null; +// }); } Map<String, Object> map = new HashMap<>(); Collections.sort(list, (o1, o2) -> { -- Gitblit v1.9.3