From ec64b432a1e3be22918d5f1ef3cf4bb0d723ae28 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期四, 01 九月 2022 17:30:40 +0800 Subject: [PATCH] 产品bom新增更新 --- src/main/java/com/whyc/service/ProductBomHistoryService.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 50 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/whyc/service/ProductBomHistoryService.java b/src/main/java/com/whyc/service/ProductBomHistoryService.java index 6c25f25..93e1a30 100644 --- a/src/main/java/com/whyc/service/ProductBomHistoryService.java +++ b/src/main/java/com/whyc/service/ProductBomHistoryService.java @@ -24,7 +24,9 @@ import java.io.*; import java.util.ArrayList; import java.util.Date; +import java.util.LinkedList; import java.util.List; +import java.util.stream.Collectors; @Service public class ProductBomHistoryService { @@ -327,4 +329,52 @@ public void insertBatch(List<ProductBomHistory> bomHistoryList) { mapper.insertBatchSomeColumn(bomHistoryList); } + + /** + * 瀵规瘮: + * 鐜版湁鏁版嵁搴撶粨鏋勪笅,鏃犳硶瀵规瘮鐩稿悓鐗╂枡鍙风殑宸紓 TODO 鏁版嵁搴撶粨鏋勬洿鏂�,寰呬唬鐮佷慨鏀� + * @param preProductId 鏃х殑鐗堟湰,浣滀负鍩哄噯 + * @param productId 鏂扮殑浜у搧鐗堟湰 + * @return + */ + public Response compare(int preProductId, int productId) { + List<ProductBomHistory> baseBomHistoryList = getListByProductId(preProductId); + List<ProductBomHistory> bomHistoryList = getListByProductId(productId); + //鐜版湁鏁版嵁搴撶粨鏋�,鏃犳硶瀵规瘮鐩稿悓鐗╂枡鍙风殑宸紓 + //List<ProductBomHistory> diffList = getListByProductId(productId); + List<ProductBomHistory> addList = new LinkedList<>(); + List<ProductBomHistory> deleteList = new LinkedList<>(); + //閫氳繃鐗╂枡缂栫爜瀹氫綅,瀵规瘮瀛楁:鐗╂枡鍨嬪彿/鏁伴噺/鏉愯川/鏂欏帤/琛ㄩ潰澶勭悊/鐢熶骇鍟�/澶囨敞 + /*baseBomHistoryList.forEach(baseBom->{ + bomHistoryList.forEach(bom->{ + if(bom.getSubCode().equals(baseBom.getSubCode())){ + ProductBomHistory history = new ProductBomHistory(); + if(!bom.getSubModel().equals(baseBom.getSubModel())){ + String diffSubModel = "鍘熺墿鏂欏瀷鍙�:"+baseBom.getSubModel()+"/鏂扮墿鏂欏瀷鍙�:"+bom.getSubModel(); + history.setSubModel(diffSubModel); + } + } + }); + });*/ + List<String> baseCodeList = baseBomHistoryList.stream().map(ProductBomHistory::getSubCode).collect(Collectors.toList()); + List<String> codeList = bomHistoryList.stream().map(ProductBomHistory::getSubCode).collect(Collectors.toList()); + bomHistoryList.forEach(bom->{ + if(!baseCodeList.contains(bom.getSubCode())){ + addList.add(bom); + } + }); + + baseBomHistoryList.forEach(baseBom->{ + if(!codeList.contains(baseBom.getSubCode())){ + deleteList.add(baseBom); + } + }); + return new Response().setII(1,addList,deleteList,"瀵规瘮瀹屾垚"); + } + + private List<ProductBomHistory> getListByProductId(int productId) { + QueryWrapper<ProductBomHistory> query = Wrappers.query(); + query.eq("product_id",productId); + return mapper.selectList(query); + } } -- Gitblit v1.9.1