yzc 1 年間 前
コミット
e054f8622a

+ 2 - 0
hx-item/src/main/java/com/fjhx/item/entity/product/vo/ProductBomDetailVo.java

@@ -45,4 +45,6 @@ public class ProductBomDetailVo extends ProductBomDetail {
      */
     private String materialColorCardCode;
 
+    private String processesName;
+
 }

+ 6 - 0
hx-item/src/main/java/com/fjhx/item/mapper/product/ProductBomDetailMapper.java

@@ -2,6 +2,11 @@ package com.fjhx.item.mapper.product;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fjhx.item.entity.product.po.ProductBomDetail;
+import com.fjhx.item.entity.product.vo.ProductBomDetailVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 /**
@@ -14,4 +19,5 @@ import com.fjhx.item.entity.product.po.ProductBomDetail;
  */
 public interface ProductBomDetailMapper extends BaseMapper<ProductBomDetail> {
 
+    List<ProductBomDetailVo> getList(@Param("ew") IWrapper<Object> wrapper);
 }

+ 6 - 0
hx-item/src/main/java/com/fjhx/item/service/product/ProductBomDetailService.java

@@ -1,7 +1,11 @@
 package com.fjhx.item.service.product;
 
 import com.fjhx.item.entity.product.po.ProductBomDetail;
+import com.fjhx.item.entity.product.vo.ProductBomDetailVo;
 import com.ruoyi.common.core.service.BaseService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+
+import java.util.List;
 
 
 /**
@@ -14,4 +18,6 @@ import com.ruoyi.common.core.service.BaseService;
  */
 public interface ProductBomDetailService extends BaseService<ProductBomDetail> {
 
+    List<ProductBomDetailVo> getList(IWrapper<Object> wrapper);
+
 }

+ 25 - 0
hx-item/src/main/java/com/fjhx/item/service/product/impl/ProductBomDetailServiceImpl.java

@@ -2,10 +2,16 @@ package com.fjhx.item.service.product.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.item.entity.product.po.ProductBomDetail;
+import com.fjhx.item.entity.product.vo.ProductBomDetailVo;
 import com.fjhx.item.mapper.product.ProductBomDetailMapper;
 import com.fjhx.item.service.product.ProductBomDetailService;
+import com.fjhx.item.service.product.ProductInfoService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -18,4 +24,23 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProductBomDetailServiceImpl extends ServiceImpl<ProductBomDetailMapper, ProductBomDetail> implements ProductBomDetailService {
 
+    @Autowired
+    private ProductInfoService productInfoService;
+
+    @Override
+    public List<ProductBomDetailVo> getList(IWrapper<Object> wrapper) {
+        List<ProductBomDetailVo> list = baseMapper.getList(wrapper);
+        productInfoService.attributeAssign(list, ProductBomDetail::getMaterialId, (item, material) -> {
+            item.setMaterialName(material.getName());
+            item.setMaterialCode(material.getCustomCode());
+            item.setMaterialLength(material.getLength());
+            item.setMaterialWidth(material.getWidth());
+            item.setMaterialHeight(material.getHeight());
+            item.setMaterialPrice(material.getPrice());
+            item.setMaterialNetWeight(material.getNetWeight());
+            item.setMaterialColor(material.getColor());
+            item.setMaterialColorCardCode(material.getColorCardCode());
+        });
+        return list;
+    }
 }

+ 1 - 2
hx-item/src/main/java/com/fjhx/item/service/product/impl/ProductInfoServiceImpl.java

@@ -237,8 +237,7 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
         }
 
         //赋值物料信息
-        List<ProductBomDetail> productBomDetailList = productBomDetailService.list(q -> q.eq(ProductBomDetail::getProductId, id));
-        List<ProductBomDetailVo> productBomDetailVos = BeanUtil.copyToList(productBomDetailList, ProductBomDetailVo.class);
+        List<ProductBomDetailVo> productBomDetailVos = productBomDetailService.getList(IWrapper.getWrapper().eq("pbd", ProductBomDetail::getProductId, id));
         this.attributeAssign(productBomDetailVos, ProductBomDetail::getMaterialId, (item, material) -> {
             item.setMaterialName(material.getName());
             item.setMaterialCode(material.getCustomCode());

+ 8 - 0
hx-item/src/main/resources/mapper/product/ProductBomDetailMapper.xml

@@ -1,4 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fjhx.item.mapper.product.ProductBomDetailMapper">
+    <select id="getList" resultType="com.fjhx.item.entity.product.vo.ProductBomDetailVo">
+        SELECT pbd.*,
+               pp.`name` AS processesName,
+               pp.`name` AS materialName
+        FROM product_bom_detail pbd
+                 LEFT JOIN production_processes pp ON pbd.processes_id = pp.id or pbd.material_id = pp.id
+            ${ew.customSqlSegment}
+    </select>
 </mapper>