zhuo
2025-02-20 3cfdf020e7f3c5fcef3a4b48e8532704b5b8b83b
basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java
@@ -139,7 +139,7 @@
                    }
                    return true;
                }).peek(standardProductList -> {
                    // todo: 判断是否是原材下单, 需要啊把颜色绑定到试样颜色的要求值上
                    //判断是否是原材下单, 需要啊把颜色绑定到试样颜色的要求值上
                    if (StringUtils.isNotBlank(insSample.getPartNo())) {
                        // 判断是否有这个字段且是文本类型
                        if (StringUtils.isNotBlank(standardProductList.getInspectionItem())
@@ -432,30 +432,21 @@
                        .like(StandardProductList::getTree, tree));
            }
            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) {
                    // 处理重复 ID 的记录,重新生成 ID 并继续尝试插入
                    for (StandardProductList productList : list) {
                        productList.setId(IdWorker.getId());
                    }
            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()));
            } catch (Exception e) {
                // 处理重复 ID 的记录,重新生成 ID 并继续尝试插入
                for (StandardProductList productList : list) {
                    productList.setId(IdWorker.getId());
                }
            }
            if (!success) {
                throw new RuntimeException("插入失败");
            }
        }