From 1ea8aad0956a4629bef8cae8f270696ce7a0cdec Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期五, 22 十二月 2023 14:42:52 +0800
Subject: [PATCH] 0108、0109开头的物料BOM清单上传的时候覆盖之前相同编码的物料,保留之前的附件及附件状态

---
 src/main/java/com/whyc/service/ProductService.java |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/whyc/service/ProductService.java b/src/main/java/com/whyc/service/ProductService.java
index 6cb9271..4ff0da8 100644
--- a/src/main/java/com/whyc/service/ProductService.java
+++ b/src/main/java/com/whyc/service/ProductService.java
@@ -609,7 +609,7 @@
                                 newTemp.setParentCode(parentCode);
                                 newTemp.setCustomCode(customCode);
                                 newTemp.setSubCode(bom.getSubCode());
-                                Material material = mService.getByCodeAndModel(bom.getSubCode(), bom.getSubModel());
+                                Material material = mService.getByCodeAndModel(bom.getSubCode(), bom.getSubModel(),true);
                                 newTemp.setSubMaterialId(material.getId());
                                 newTemp.setSVersion(nextVersion);
                                 newTemp.setEVersion(nextVersion);
@@ -637,7 +637,7 @@
                             newTemp.setParentCode(parentCode);
                             newTemp.setCustomCode(customCode);
                             newTemp.setSubCode(bom.getSubCode());
-                            Material material = mService.getByCodeAndModel(bom.getSubCode(), bom.getSubModel());
+                            Material material = mService.getByCodeAndModel(bom.getSubCode(), bom.getSubModel(),true);
                             newTemp.setSubMaterialId(material.getId());
                             newTemp.setSVersion(nextVersion);
                             newTemp.setEVersion(nextVersion);
@@ -931,7 +931,7 @@
             newMaterialList = newMaterialList.stream().filter(distinctByKey(m->m.getSubCode()+"/"+m.getSubModel())).collect(Collectors.toList());
 
             //姣嶆枡鏄惁瀛樺湪
-            Material materialDB = mService.getByCodeAndModel(product.getParentCode(), product.getParentModel());
+            Material materialDB = mService.getByCodeAndModel(product.getParentCode(), product.getParentModel(),true);
             if (materialDB == null) {
                 Material material = new Material();
                 material.setSubCode(product.getParentCode());
@@ -1067,6 +1067,18 @@
             if(materialHistoryList.size()>0) {
                 materialHistoryService.addBatch(materialHistoryList);
             }
+            //濡傛灉鏂颁笂浼犵殑bom涓瓨鍦�0108銆�0109寮�澶寸殑鐗╂枡,(鑲畾浼氳璇嗗埆鎴愭柊鐗╂枡,涔嬪墠鐨勬搷浣滃凡缁忚鎻掑叆鍒拌〃涓�)
+            // 鍦ㄦ暟鎹簱瀛樺湪鐩稿悓鐨勭墿鏂欑紪鐮佸瓨鍦ㄤ笖涓嶅悓鐨勭墿鏂欏瀷鍙�,鍒欏皢鏁版嵁搴撴渶鏂扮殑鐗╂枡鐨勯檮浠跺鍒朵竴浠�,濉厖鍒版柊鐨勭墿鏂欒〃涓�
+            for (Material material : newMaterialList) { //鏂扮墿鏂�
+                String subCode = material.getSubCode();
+                String subModel = material.getSubModel();
+                if(subCode.startsWith("0108") || subCode.startsWith("0109")){
+                    Material materialWithSameCodeLatest = mService.getByCodeAndModel(subCode, subModel, false);
+                    //闄勪欢杞Щ骞惰缃�
+                    mService.transferCopiedAttachment(materialWithSameCodeLatest.getFileUrl(),material);
+                }
+            }
+
         }
         //娣诲姞鏂板鏃ュ織鍒皌b_product_lock_log琛�
         ProductLockLog lockLog = new ProductLockLog();

--
Gitblit v1.9.1