zss
2024-07-26 d7458cb8e91c48375a54d4ccdb84a7e0b4e06534
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
@@ -10,6 +10,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;
@@ -138,6 +139,11 @@
    @Override
    public Map<String, Object> selectStandardProductListByMethodId(Integer id, String tree, Integer page) {
        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<>();
@@ -234,7 +240,7 @@
        }
        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()
@@ -245,7 +251,37 @@
                            .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]);
@@ -253,14 +289,13 @@
                    a.setUpdateUser(userId);
                    a.setStandardMethodListId(id);
                    return a;
                }).collect(Collectors.toList()));
                System.out.println("结束结束结束结束@@@@@@@@@@@@");
                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) -> {