浏览代码

原材料 bom修改 报价单相关

yzc 1 年之前
父节点
当前提交
9442184e4c

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

@@ -41,6 +41,10 @@ public class ProductBomDetail extends BasePo {
     private Integer type;
 
     /**
+     * 工序id
+     */
+    private Long processesId;
+    /**
      * 标准用量
      */
     private Integer standardDosage;

+ 13 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/ext/po/ExtQuotationProductBom.java

@@ -85,4 +85,17 @@ public class ExtQuotationProductBom extends BasePo {
 
     private Long extQuotationId;
 
+    /**
+     * 工序id
+     */
+    private Long processesId;
+    /**
+     * 标准用量
+     */
+    private Integer standardDosage;
+    /**
+     * 损耗率
+     */
+    private Integer lossRate;
+
 }

+ 13 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quotation/po/QuotationProductBom.java

@@ -83,4 +83,17 @@ public class QuotationProductBom extends BasePo {
      * 报价表ID
      */
     private Long saleQuotationId;
+
+    /**
+     * 工序id
+     */
+    private Long processesId;
+    /**
+     * 标准用量
+     */
+    private Integer standardDosage;
+    /**
+     * 损耗率
+     */
+    private Integer lossRate;
 }

+ 37 - 27
hx-sale/src/main/java/com/fjhx/sale/service/quotation/impl/QuotationEstimateServiceImpl.java

@@ -5,7 +5,6 @@ import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.utils.Assert;
 import com.fjhx.item.entity.product.ProcessesBo;
-import com.fjhx.item.entity.product.TechnologyBo;
 import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.sale.entity.quotation.dto.QuotationEstimateDto;
@@ -81,6 +80,10 @@ public class QuotationEstimateServiceImpl extends ServiceImpl<QuotationEstimateM
             List<Long> mIds = list1.stream().map(QuotationProductBom::getMaterialId).collect(Collectors.toList());
             Map<Long, ProductInfo> materialInfoMap = productInfoService.mapKEntity(ProductInfo::getId, q -> q.in(ProductInfo::getId, mIds));
 
+            //获取工序信息
+            List<ProcessesBo> processesList = baseMapper.getProductionProcessesList();
+            Map<Long, ProcessesBo> collect = processesList.stream().collect(Collectors.toMap(ProcessesBo::getId, Function.identity()));
+
             //获取产品BOM
             for (QuotationProductBom quotationProductBom : list1) {
                 QuotationEstimateVo quotationEstimate = new QuotationEstimateVo();
@@ -100,39 +103,46 @@ public class QuotationEstimateServiceImpl extends ServiceImpl<QuotationEstimateM
                     quotationEstimate.setQuantity(quotationProductBom.getQuantity());
                 }
 
-                quotationEstimateVos.add(quotationEstimate);
-            }
-
-            //赋值工序信息
-            List<ProcessesBo> processesList = baseMapper.getProductionProcessesList();
-            Map<Long, ProcessesBo> collect = processesList.stream().collect(Collectors.toMap(ProcessesBo::getId, Function.identity()));
-
-            TechnologyBo technologyInfo = baseMapper.getTechnologyInfo(technologyId);
-            String processRoute = technologyInfo.getProcessRoute();
-            String[] split = processRoute.split(",");
-
-            for (String processIdStr : split) {
-                long processId = Long.parseLong(processIdStr);
-                ProcessesBo processesBo = collect.get(processId);
-                if (ObjectUtil.isEmpty(processesBo)) {
-                    continue;
+                //赋值工序信息
+                if (ObjectUtil.notEqual(quotationProductBom.getType(), 3)) {
+                    ProcessesBo processesBo = collect.get(quotationProductBom.getProcessesId());
+                    if (ObjectUtil.isNotEmpty(processesBo)) {
+                        quotationEstimate.setCode(processesBo.getCode());
+                        quotationEstimate.setName(processesBo.getName());
+                    }
+                    quotationEstimateVos.add(quotationEstimate);
                 }
-                QuotationEstimateVo quotationEstimate = new QuotationEstimateVo();
-                quotationEstimate.setProcessesId(processesBo.getId());
-                quotationEstimate.setCode(processesBo.getCode());
-                quotationEstimate.setName(processesBo.getName());
-                quotationEstimate.setPrice(processesBo.getCostPrice());
-                quotationEstimate.setQuantity(BigDecimal.valueOf(1));
-                quotationEstimate.setType(3);
-
-                quotationEstimateVos.add(quotationEstimate);
             }
+
+//            //赋值工序信息
+//            List<ProcessesBo> processesList = baseMapper.getProductionProcessesList();
+//            Map<Long, ProcessesBo> collect = processesList.stream().collect(Collectors.toMap(ProcessesBo::getId, Function.identity()));
+//
+//            TechnologyBo technologyInfo = baseMapper.getTechnologyInfo(technologyId);
+//            String processRoute = technologyInfo.getProcessRoute();
+//            String[] split = processRoute.split(",");
+//
+//            for (String processIdStr : split) {
+//                long processId = Long.parseLong(processIdStr);
+//                ProcessesBo processesBo = collect.get(processId);
+//                if (ObjectUtil.isEmpty(processesBo)) {
+//                    continue;
+//                }
+//                QuotationEstimateVo quotationEstimate = new QuotationEstimateVo();
+//                quotationEstimate.setProcessesId(processesBo.getId());
+//                quotationEstimate.setCode(processesBo.getCode());
+//                quotationEstimate.setName(processesBo.getName());
+//                quotationEstimate.setPrice(processesBo.getCostPrice());
+//                quotationEstimate.setQuantity(BigDecimal.valueOf(1));
+//                quotationEstimate.setType(3);
+//
+//                quotationEstimateVos.add(quotationEstimate);
+//            }
         }
 
         //赋值物料工序信息
         setEstimateInfo(quotationEstimateVos);
 
-
         return quotationEstimateVos;
     }