From 7b0f3ac0a411616e1af4667fb68f09801c00d999 Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期五, 28 十月 2022 12:04:31 +0800
Subject: [PATCH] 产品bom物料逻辑更新

---
 src/main/java/com/whyc/service/ProductService.java |   28 ++++++++++++++++++++++++++--
 1 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/whyc/service/ProductService.java b/src/main/java/com/whyc/service/ProductService.java
index 8d64a02..bec3892 100644
--- a/src/main/java/com/whyc/service/ProductService.java
+++ b/src/main/java/com/whyc/service/ProductService.java
@@ -570,7 +570,10 @@
             materialUrlList.forEach(materialUrl -> {
                 String dwgName = materialUrl.substring(materialUrl.lastIndexOf(File.separator) + 1, materialUrl.length() - 4);
                 try {
-                    FileCopyUtils.copy(new File(materialUrl), new File(materialDir + File.separator + dwgName + ".dwg"));
+                    File dwgFile = new File(materialDir + File.separator + dwgName + ".dwg");
+                    if(!dwgFile.exists()) {
+                        FileCopyUtils.copy(new File(materialUrl), dwgFile);
+                    }
                 } catch (IOException e) {
                     e.printStackTrace();
                 }
@@ -579,17 +582,22 @@
             picUrlList.forEach(picUrl -> {
                 String picFullName = picUrl.substring(picUrl.lastIndexOf(File.separator) + 1);
                 try {
-                    FileCopyUtils.copy(new File(picUrl), new File(materialDir + File.separator + picFullName));
+                    File picFile = new File(materialDir + File.separator + picFullName);
+                    if(!picFile.exists()) {
+                        FileCopyUtils.copy(new File(picUrl), picFile);
+                    }
                 } catch (IOException e) {
                     e.printStackTrace();
                 }
             });
 
             //鐗╂枡琛ㄤ腑涓嶅瓨鍦ㄧ殑(渚濇嵁:鐗╂枡缂栫爜+鐗╂枡鍨嬪彿),鍒欐坊鍔犲埌鐗╂枡琛ㄤ腑鍘�(鍖呭惈product杩欎釜鐗╂枡)
+            //娌℃湁鍥剧焊鍜屽浘鐗囩殑,鏇存柊鍥剧焊鍜屽浘鐗�;鏈夊浘绾稿拰鍥剧墖鐨�,涓嶆洿鏂板浘绾稿拰鍥剧墖
             List<Material> materialExistList = mService.getListByCodeAndModelList2(bomList);
             //List<String> subCodeList = materialExistList.stream().map(Material::getSubCode).collect(Collectors.toList());
             List<String> subCodeList = materialExistList.stream().map(material -> material.getSubCode()+"/"+material.getSubModel()).collect(Collectors.toList());
             List<Material> materialList = new LinkedList<>();
+            List<Material> materialUpdateList = new LinkedList<>();
             bomList.forEach(bom -> {
                 if (!subCodeList.contains(bom.getSubCode()+"/"+bom.getSubModel())) {
                     Material material = new Material();
@@ -606,6 +614,19 @@
                     material.setUnit(bom.getUnit());
 
                     materialList.add(material);
+                }else{ //鐗╂枡宸茬粡瀛樺湪鐨�
+                    Material material = new Material();
+                    if (bom.getPictureUrl() != null) {
+                        material.setPictureUrl(bom.getPictureUrl());
+                    }
+                    if (bom.getDwgUrl() != null) {
+                        material.setDwgUrl(bom.getDwgUrl());
+                    }
+                    if(material.getPictureUrl()!=null || material.getDwgUrl()!=null){
+                        material.setSubCode(bom.getSubCode());
+                        material.setSubModel(bom.getSubModel());
+                        materialUpdateList.add(material);
+                    }
                 }
             });
             //姣嶆枡鏄惁瀛樺湪
@@ -623,6 +644,9 @@
             if(materialList.size()!=0) {
                 mService.insertBatch(materialList);
             }
+            if(materialUpdateList.size()!=0) {
+                mService.updateDwgUrlAndPicUrl(materialUpdateList);
+            }
             //鏇存柊product_history/product_bom_history/product/product_bom,
             // product鐨勪富閿部鐢ㄥ搴攑roduct_history鐨�
             //鏍规嵁缂栫爜鍜屽瀷鍙风‘瀹氱墿鏂檌d骞跺搴攓uantity,瀛樺叆鏁版嵁搴�.

--
Gitblit v1.9.1