Procházet zdrojové kódy

产品bom添加附件 并同步拷贝到合同

yzc před 10 měsíci
rodič
revize
0f7ac02828

+ 8 - 0
hx-item/src/main/java/com/fjhx/item/entity/product/po/ProductBomDetail.java

@@ -1,11 +1,14 @@
 package com.fjhx.item.entity.product.po;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fjhx.file.entity.ObsFile;
 import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * <p>
@@ -57,5 +60,10 @@ public class ProductBomDetail extends BasePo {
      */
     private String remark;
 
+    /**
+     * BOM附件
+     */
+    @TableField(exist = false)
+    private List<ObsFile> bomFileList;
 
 }

+ 9 - 3
hx-item/src/main/java/com/fjhx/item/service/product/impl/ProductInfoServiceImpl.java

@@ -338,6 +338,11 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
         }
         productBomDetailService.saveBatch(productBomDetailList);
 
+        //保存BOM附件
+        for (ProductBomDetail productBomDetail : productBomDetailList) {
+            ObsFileUtil.saveFile(productBomDetail.getBomFileList(), productBomDetail.getId(), 10);
+        }
+
         //保存产品定制信息
         saveOrEditCustomInfo(productInfoDto);
     }
@@ -364,9 +369,6 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
         ObsFileUtil.editFile(productInfoDto.getFileList(), productInfoDto.getId());
         ObsFileUtil.editFile(productInfoDto.getProdFileList(), productInfoDto.getId(), 2);
 
-        //bom附件
-        ObsFileUtil.editFile(productInfoDto.getBomFileList(), productInfoDto.getId(), 10);
-
         //保存物料信息
         List<ProductBomDetail> productBomDetailList = productInfoDto.getProductBomDetailList();
         if (ObjectUtil.isNull(productBomDetailList)) {
@@ -375,6 +377,10 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
         productBomDetailList.forEach(item -> item.setProductId(productInfoDto.getId()));
         productBomDetailService.editLinked(productBomDetailList, ProductBomDetail::getProductId, productInfoDto.getId());
 
+        //保存BOM附件
+        for (ProductBomDetail productBomDetail : productBomDetailList) {
+            ObsFileUtil.editFile(productBomDetail.getBomFileList(), productBomDetail.getId(), 10);
+        }
 
         //保存产品定制信息
         saveOrEditCustomInfo(productInfoDto);

+ 10 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/po/ContractProductBom.java

@@ -1,11 +1,14 @@
 package com.fjhx.sale.entity.contract.po;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fjhx.file.entity.ObsFile;
 import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * <p>
@@ -108,4 +111,11 @@ public class ContractProductBom extends BasePo {
      */
     private Integer lossRate;
 
+
+    /**
+     * BOM附件
+     */
+    @TableField(exist = false)
+    private List<ObsFile> bomFileList;
+
 }

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -1472,6 +1472,11 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
                 contractProductBom.setProductId(cp.getProductId());
             }
 
+            //保存BOM附件
+            for (ContractProductBom contractProductBom : contractProductBomList) {
+                ObsFileUtil.copyFileAndSave(contractProductBom.getBomFileList(), contractProductBom.getId(), 10);
+            }
+
             contractProductBomService.editLinked(contractProductBomList, ContractProductBom::getContractProductId, cp.getId());
         }