提交需要处理的记录查询,测试用;
回退对物料表中对类别的划分,维持原样 物料编码+型号确定唯一
2个文件已修改
27 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/ProductBomHistoryController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ProductBomHistoryService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/ProductBomHistoryController.java
@@ -42,4 +42,11 @@
        return service.compare(preProductId,productId);
    }
    @ApiOperation("修复选项查询")
    @GetMapping("fixItem")
    public void getFixItem(){
        service.getFixItem();
    }
}
src/main/java/com/whyc/service/ProductBomHistoryService.java
@@ -691,4 +691,24 @@
        }
        return new Response().setII(1,bl,withOutDwg.replace(fileDirName,""),"原始文件相对路径");
    }
    public void getFixItem() {
        List<ProductBomHistory> bomHistoryList = mapper.selectList(null);
        Map<Integer, List<ProductBomHistory>> productMap = bomHistoryList.stream().collect(Collectors.groupingBy(ProductBomHistory::getProductId));
        Set<Integer> productIdSet = productMap.keySet();
        List<ProductBomHistory> needToDealWith = new LinkedList<>();
        for (Integer productId : productIdSet) {
            List<ProductBomHistory> bomList = productMap.get(productId);
            Map<Integer, List<ProductBomHistory>> materialIdMap = bomList.stream().collect(Collectors.groupingBy(ProductBomHistory::getMaterialId));
            Set<Integer> materialIdSet = materialIdMap.keySet();
            for (Integer materialId : materialIdSet) {
                List<ProductBomHistory> temp = materialIdMap.get(materialId);
                if(temp.size()!=1){
                    System.err.println("需要手动处理的productBomHistory和productBom:"+productId+",物料id:"+materialId);
                    needToDealWith.add(temp.get(0));
                }
            }
        }
        System.err.println("可能需要处理的条数为:"+needToDealWith.size());
    }
}