From c1d2d5000042ecefae03e0aa3a70ce4e6d8650bd Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期二, 18 十月 2022 14:01:23 +0800 Subject: [PATCH] 产品bom对比升级 --- src/main/java/com/whyc/service/ProductBomHistoryService.java | 37 +++++++++++++++++++++++++++++++++++-- 1 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/whyc/service/ProductBomHistoryService.java b/src/main/java/com/whyc/service/ProductBomHistoryService.java index 61b9a41..92916f5 100644 --- a/src/main/java/com/whyc/service/ProductBomHistoryService.java +++ b/src/main/java/com/whyc/service/ProductBomHistoryService.java @@ -533,19 +533,52 @@ Map<String, List<ProductBom>> groupedBaseBomList = baseProductBomList.stream().collect(Collectors.groupingBy(bom -> bom.getMaterialObj().getSubCode() + "/" + bom.getMaterialObj().getSubModel())); List<String> codeModelList = bomList.stream().map(bom -> bom.getSubCode() + "/" + bom.getSubModel()).collect(Collectors.toList()); - + String separator = "&&&&&"; bomList.forEach(bom->{ String codeModel = bom.getSubCode() + "/" + bom.getSubModel(); if(!baseCodeModelList.contains(codeModel)){ addList.add(bom); }else{ ProductBom baseBom = groupedBaseBomList.get(codeModel).get(0); - if(bom.getQuantity().intValue()!=baseBom.getQuantity()){ + /*if(bom.getQuantity().intValue()!=baseBom.getQuantity()){ ProductBom diffBom = new ProductBom(); String diffQuantity = "鍘熸暟閲�:"+baseBom.getQuantity()+"/鏂版暟閲�:"+bom.getQuantity(); diffBom.setNotes(diffQuantity); diffBom.setMaterialObj(baseBom.getMaterialObj()); diffList.add(diffBom); + }*/ + StringBuilder diffStr = new StringBuilder(); + if(!bom.getQuantity().equals(baseBom.getQuantity())){ + String diffQuantity = separator+"鍘熸暟閲�:"+baseBom.getQuantity()+"/鏂版暟閲�:"+bom.getQuantity(); + diffStr.append(diffQuantity); + } + if(!bom.getProducer().equals(baseBom.getProducer())){ + String diffProducer = separator+"鍘熺敓浜у晢:"+baseBom.getProducer()+"/鏂扮敓浜у晢:"+bom.getProducer(); + diffStr.append(diffProducer); + } + if(!bom.getMaterial().equals(baseBom.getMaterial())){ + String diffMaterial = separator+"鍘熷皝瑁呯被鍨媩鏉愯川:"+baseBom.getMaterial()+"/鏂板皝瑁呯被鍨媩鏉愯川:"+bom.getMaterial(); + diffStr.append(diffMaterial); + } + if(!bom.getThickness().equals(baseBom.getThickness())){ + String diffThickness = separator+"鍘熷厓浠剁紪鍙穦鏂欏帤:"+baseBom.getThickness()+"/鏂板厓浠剁紪鍙穦鏂欏帤:"+bom.getThickness(); + diffStr.append(diffThickness); + } + if(!bom.getSurfaceDetail().equals(baseBom.getSurfaceDetail())){ + String diffSurfaceDetail = separator+"鍘熻〃闈㈠鐞唡鐗╂枡璇︽儏:"+baseBom.getSurfaceDetail()+"/鏂拌〃闈㈠鐞唡鐗╂枡璇︽儏:"+bom.getSurfaceDetail(); + diffStr.append(diffSurfaceDetail); + } + if(!bom.getNotes().equals(baseBom.getNotes())){ + String diffNotes = separator+"鍘熷娉�:"+baseBom.getNotes()+"/鏂板娉�:"+bom.getNotes(); + diffStr.append(diffNotes); + } + + String diff = diffStr.toString(); + if(!diff.equals("")) { + ProductBom diffBom = new ProductBom(); + diffBom.setNotes(diff.substring(5)); + diffBom.setMaterialObj(baseBom.getMaterialObj()); + diffList.add(diffBom); } } }); -- Gitblit v1.9.1