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