fuliqi
2024-12-07 e56ecf1a502dfcac5bb6ef509a08164aee7c6154
新增白名单故障类型
3个文件已修改
46 ■■■■ 已修改文件
ycl-server/src/main/java/com/ycl/platform/controller/YwThresholdController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/IYwThresholdService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/controller/YwThresholdController.java
@@ -173,4 +173,12 @@
        return ywThresholdService.importWhite(file);
    }
    /**
     * 新增白名单故障类型
     */
    @PostMapping("/addBatch")
    @ApiOperation(value = "新增白名单故障类型", notes = "新增白名单故障类型")
    public Result addBatch(WorkOrderWhite workOrderWhite) {
        return ywThresholdService.addBatch(workOrderWhite);
    }
}
ycl-server/src/main/java/com/ycl/platform/service/IYwThresholdService.java
@@ -131,7 +131,7 @@
     *
     * @param response
     */
    void whiteExport(HttpServletResponse response) throws IOException;;
    void whiteExport(HttpServletResponse response) throws IOException;
    /**
     * 批量导入工单白名单
     *
@@ -141,4 +141,8 @@
    public Map<String, YwThreshold> getYwThresholdMap(String name);
    public <T extends Comparable<T>> void check(String key, T value, String serialNumber, Map<String, YwThreshold> thresholds, WorkOrder workOrder, CompareType compareType, String errorType);
    void addBatch (WorkOrderWhite workOrderWhite);
}
ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java
@@ -517,8 +517,6 @@
        }
        boolean duplic = checkDuplic(dataList);
        if (duplic) throw new RuntimeException("存在重复国标设备");
        //已存在的白名单
        Map<String, WorkOrderWhite> whiteMap = workOrderWhiteMapper.selectList().stream().collect(Collectors.toMap(WorkOrderWhite::getSerialNumber, Function.identity()));
        List<WorkOrderWhite> addList = new ArrayList<>();
        dataList.stream().forEach(item -> {
            WorkOrderWhite white = new WorkOrderWhite();
@@ -542,9 +540,6 @@
                    errorDataList.add(errorText);
                });
                white.setErrorType(String.join(",", errorDataList));
                //如果已存在补充id
                WorkOrderWhite whiteExsit = whiteMap.get(white.getSerialNumber());
                if (whiteExsit != null) white.setId(whiteExsit.getId());
                addList.add(white);
            } catch (Exception e) {
                throw new RuntimeException("国标码为" + item.getSerialNumber() + "的设备故障类型有误");
@@ -664,6 +659,33 @@
        );
    }
    /**
     * 所有白名单添加故障类型
     *
     * @param workOrderWhite
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void addBatch(WorkOrderWhite workOrderWhite) {
        List<String> errorTypeListAdd = workOrderWhite.getErrorTypeList();
        List<WorkOrderWhite> whites = workOrderWhiteMapper.selectList();
        for (WorkOrderWhite white : whites) {
            List<String> errorTypeList = Arrays.asList(white.getErrorType().split(","));
            for (String newError : errorTypeListAdd) {
                if (errorTypeList.contains(newError)) {
                    continue;
                } else {
                    errorTypeList.add(newError);
                }
            }
            white.setErrorType(String.join(",", errorTypeList));
        }
        if (!CollectionUtils.isEmpty(whites)) {
            workOrderWhiteMapper.deleteAll();
            workOrderWhiteMapper.insertBatch(whites);
        }
    }
    private <T extends Comparable<T>> T parseThreshold(String thresholdStr, Class<?> type) {
        if (Integer.class.equals(type)) {
            return (T) Integer.valueOf(thresholdStr);