From 24ffd7762ead9354264b29a3374ee46cae07ad45 Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期六, 03 九月 2022 11:27:27 +0800
Subject: [PATCH] 产品bom提交更新

---
 src/main/java/com/whyc/service/ProductService.java |   25 ++++++++++++++-----------
 1 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/whyc/service/ProductService.java b/src/main/java/com/whyc/service/ProductService.java
index e363144..f7bb0d8 100644
--- a/src/main/java/com/whyc/service/ProductService.java
+++ b/src/main/java/com/whyc/service/ProductService.java
@@ -111,8 +111,6 @@
     }
 
     public Response zipParse(MultipartFile file) throws IOException, InvalidFormatException {
-        List<ProductBom> list = new LinkedList<>();
-
         Product product = new Product();
         List<ProductBom> bomList = new LinkedList<>();
         Response response = new Response();
@@ -430,8 +428,6 @@
                 material.setNotes(bom.getNotes());
                 material.setPictureUrl(bom.getPictureUrl());
                 material.setProducer(bom.getProducer());
-                //TODO quantity
-                //material.setQuantity(bom.getQuantity());
                 // TODO 鏄惁瑕佹洿鏂板悓鐗╂枡缂栫爜鐨勮�佺墿鏂欑姸鎬佷负0?
                 material.setStatus(1);
                 material.setSubCode(bom.getSubCode());
@@ -457,13 +453,11 @@
         }
         mService.insertBatch(materialList);
 
-        //鏇存柊product/product_bom/product_history/product_bom_history
-        //鏍规嵁缂栫爜鍜屽瀷鍙风‘瀹氱墿鏂檌d,瀛樺叆鏁版嵁搴�
-        List<Material> bomMaterialList = mService.getListByCodeAndModelList2(bomList);
-        // -> product
-        product.setCreateTime(new Date());
-        product.setVersion(nextVersion);
-        deleteAndInsert(product);
+        //鏇存柊product_history/product_bom_history/product/product_bom,
+        // product鐨勪富閿部鐢ㄥ搴攑roduct_history鐨�
+        //鏍规嵁缂栫爜鍜屽瀷鍙风‘瀹氱墿鏂檌d骞跺搴攓uantity,瀛樺叆鏁版嵁搴�
+        //List<Material> bomMaterialList = mService.getListByCodeAndModelList2(bomList);
+        List<ProductBom> bomMaterialList = pbService.getListByCodeAndModelList2(bomList);
         // -> product_history
         ProductHistory productHistory = new ProductHistory();
         productHistory.setParentCode(product.getParentCode());
@@ -473,14 +467,22 @@
         productHistory.setCustomCode(product.getCustomCode());
         productHistory.setCreateTime(product.getCreateTime());
         productHistory.setVersion(product.getVersion());
+        //鐗堟湰鏂板,鍒濆bom瀛愪欢鐗堟湰涓�1
+        productHistory.setSubVersionMax(1);
         productHistory.setEnabled(1);
         phService.insertAndUpdateEnabled(productHistory);
+        // -> product
+        product.setId(productHistory.getId());
+        product.setCreateTime(new Date());
+        product.setVersion(nextVersion);
+        deleteAndInsert(product);
         // -> product_bom
         List<ProductBom> productBomList = new LinkedList<>();
         bomMaterialList.forEach(bomMaterial->{
             ProductBom bom = new ProductBom();
             bom.setProductId(product.getId());
             bom.setMaterialId(bomMaterial.getId());
+            bom.setQuantity(bomMaterial.getQuantity());
             bom.setSubVersion(1);
             bom.setCreateDate(new Date());
 
@@ -493,6 +495,7 @@
             ProductBomHistory bomHistory = new ProductBomHistory();
             bomHistory.setProductId(productHistory.getId());
             bomHistory.setMaterialId(bomMaterial.getId());
+            bomHistory.setQuantity(bomMaterial.getQuantity());
             bomHistory.setSubSVersion(1);
             bomHistory.setSubEVersion(1);
             bomHistory.setCreateDate(new Date());

--
Gitblit v1.9.1