From 0b4c9f2a37a825a84725cb66ecf04060831ac5d0 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期三, 25 三月 2026 09:59:49 +0800
Subject: [PATCH] fix: 报工详情返回工序详细信息、产品详细信息

---
 src/main/java/com/ruoyi/production/dto/ProductionProductRouteItemParamDto.java   |    9 ++++
 src/main/java/com/ruoyi/production/dto/ProductionRecordDto.java                  |    3 +
 src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java |   15 +++++++
 src/main/resources/mapper/production/ProductBomMapper.xml                        |   16 ++++++++
 src/main/java/com/ruoyi/production/service/impl/ProductBomServiceImpl.java       |    8 ++++
 src/main/java/com/ruoyi/production/pojo/ProductionProductRouteItemParam.java     |    2 
 src/main/resources/mapper/production/ProductionProductMainMapper.xml             |    1 
 src/main/java/com/ruoyi/production/dto/ProductionProductRouteItemDto.java        |    9 ++++
 src/main/java/com/ruoyi/production/mapper/ProductBomMapper.java                  |    2 +
 src/main/java/com/ruoyi/production/service/ProductBomService.java                |    3 +
 src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java             |    3 +
 11 files changed, 69 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
index 0ee4fe9..f2a71f5 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
@@ -73,4 +73,7 @@
     @ApiModelProperty(value = "浜у嚭鏂归噺")
     @Excel(name = "浜у嚭鏂归噺")
     private BigDecimal totalQuantity;
+
+    @ApiModelProperty("寮哄害")
+    private String strength;
 }
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionProductRouteItemDto.java b/src/main/java/com/ruoyi/production/dto/ProductionProductRouteItemDto.java
index aa3927e..5f9b274 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionProductRouteItemDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionProductRouteItemDto.java
@@ -20,6 +20,15 @@
 @EqualsAndHashCode(callSuper = false)
 public class ProductionProductRouteItemDto extends ProductionProductRouteItem {
 
+    @ApiModelProperty("宸ュ簭鍚嶇О")
+    private String processName;
+
+    @ApiModelProperty("宸ュ簭缂栧彿")
+    private String processNo;
+
+    @ApiModelProperty("寮哄害")
+    private String strength;
+
     @ApiModelProperty("宸ュ簭缁戝畾鐨勫弬鏁颁俊鎭�")
     private List<ProductionProductRouteItemParamDto> productionProductRouteItemParamDtoList;
 
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionProductRouteItemParamDto.java b/src/main/java/com/ruoyi/production/dto/ProductionProductRouteItemParamDto.java
index d7a7478..accedd1 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionProductRouteItemParamDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionProductRouteItemParamDto.java
@@ -21,4 +21,13 @@
     @ApiModelProperty("浜у搧鍚嶇О")
     private String productName;
 
+    @ApiModelProperty("瑙勬牸鍨嬪彿")
+    private String model;
+
+    @ApiModelProperty("鐗╂枡缂栫爜")
+    private String materialCode;
+
+    @ApiModelProperty("寮哄害")
+    private String strength;
+
 }
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionRecordDto.java b/src/main/java/com/ruoyi/production/dto/ProductionRecordDto.java
index f0381b5..526b207 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionRecordDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionRecordDto.java
@@ -66,6 +66,9 @@
     @ApiModelProperty("浜у嚭鏁伴噺")
     private BigDecimal quantity;
 
+    @ApiModelProperty("寮哄害")
+    private String strength;
+
     @ApiModelProperty("宸ヨ壓璺嚎缁戝畾鐨勫伐搴�")
     private List<ProductionProductRouteItemDto> productionProductRouteItemDtoList;
 
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductBomMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductBomMapper.java
index 44ac0c9..e5ce518 100644
--- a/src/main/java/com/ruoyi/production/mapper/ProductBomMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/ProductBomMapper.java
@@ -23,4 +23,6 @@
     IPage<ProductBomDto> listPage(Page<ProductBom> page, @Param("c") ProductBomDto productBomDto);
 
     ProductBomDto getById(@Param("bomId") Long bomId);
+
+    String selectStrengthById(@Param("bomId") Long bomId);
 }
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionProductRouteItemParam.java b/src/main/java/com/ruoyi/production/pojo/ProductionProductRouteItemParam.java
index 7d9d12b..2de5259 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductionProductRouteItemParam.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductionProductRouteItemParam.java
@@ -71,7 +71,7 @@
     private BigDecimal productValue;
 
     @ApiModelProperty(value = "BOM ID")
-    private BigDecimal bomId;
+    private Long bomId;
 
     @ApiModelProperty(value = "鍗曚綅")
     private String unit;
diff --git a/src/main/java/com/ruoyi/production/service/ProductBomService.java b/src/main/java/com/ruoyi/production/service/ProductBomService.java
index af6979c..788d87d 100644
--- a/src/main/java/com/ruoyi/production/service/ProductBomService.java
+++ b/src/main/java/com/ruoyi/production/service/ProductBomService.java
@@ -27,4 +27,7 @@
     AjaxResult uploadBom(MultipartFile file, Long dictCode);
 
     void exportBom(HttpServletResponse response, Integer bomId);
+
+
+    String strengthById(Long bomId);
 }
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductBomServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductBomServiceImpl.java
index c16401e..1878211 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductBomServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductBomServiceImpl.java
@@ -253,6 +253,14 @@
         util.exportExcel(response, exportList, "BOM缁撴瀯瀵煎嚭");
     }
 
+    @Override
+    public String strengthById(Long bomId) {
+        if (bomId == null) {
+            return null;
+        }
+        return baseMapper.selectStrengthById(bomId);
+    }
+
     private void populateMap(List<ProductStructureDto> nodes, Map<Long, ProductStructureDto> map) {
         if (nodes == null || nodes.isEmpty()) {
             return;
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java
index 0a0d5ff..3dc9f0a 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionRecordServiceImpl.java
@@ -93,6 +93,9 @@
     private ProductMaterialService productMaterialService;
 
     @Autowired
+    private ProductBomService productBomService;
+
+    @Autowired
     private TempFileMapper tempFileMapper;
 
     @Override
@@ -470,6 +473,7 @@
             throw new ServiceException("鏌ヨ澶辫触,鏈煡璇㈠埌鐢熶骇璁㈠崟淇℃伅");
         }
         dto.setNpsNo(productOrder.getNpsNo());
+        dto.setStrength(productOrder.getStrength());
 
         /// 浜у搧淇℃伅
         ProductMaterialSkuDto productMaterialSkuDto = productMaterialService.selectProductByProductMainId(productOrder.getId());
@@ -507,6 +511,11 @@
                 ProductionProductRouteItemDto routeItemDto = new ProductionProductRouteItemDto();
                 BeanUtils.copyProperties(routeItem, routeItemDto);
 
+                //  宸ュ簭鍚嶇О/缂栧彿
+                ProductProcess productProcess = productProcessService.getById(routeItem.getProcessId());
+                routeItemDto.setProcessName(productProcess.getName());
+                routeItemDto.setProcessNo(productProcess.getNo());
+
                 //  鏌ヨ宸ュ簭鍙傛暟
                 List<ProductionProductRouteItemParam> paramList = productionProductRouteItemParamService.list(
                         new LambdaQueryWrapper<ProductionProductRouteItemParam>()
@@ -519,6 +528,10 @@
                             ProductMaterialSkuDto materialSkuDto = productMaterialService.selectProductByModelId(paramDto.getProductId());
                             productMaterialService.selectProductByModelId(paramDto.getProductId());
                             paramDto.setParamName(materialSkuDto.getProductName());
+                            paramDto.setModel(materialSkuDto.getModel());
+                            paramDto.setMaterialCode(materialSkuDto.getMaterialCode());
+                            String strength = productBomService.strengthById(paramDto.getBomId());
+                            paramDto.setStrength(strength);
                         }
                         return paramDto;
                     }).collect(Collectors.toList());
@@ -652,7 +665,7 @@
                     .eq(ProductionProductRouteItemParam::getProductionProductRouteItemId, routeItemId));
 
             List<ProductionProductRouteItemParamDto> paramDtoList = routeItemDto.getProductionProductRouteItemParamDtoList();
-                if (paramDtoList != null && !paramDtoList.isEmpty()) {
+            if (paramDtoList != null && !paramDtoList.isEmpty()) {
                 for (ProductionProductRouteItemParamDto paramDto : paramDtoList) {
                     ProductionProductRouteItemParam paramEntity = new ProductionProductRouteItemParam();
                     BeanUtils.copyProperties(paramDto, paramEntity, "id");
diff --git a/src/main/resources/mapper/production/ProductBomMapper.xml b/src/main/resources/mapper/production/ProductBomMapper.xml
index e3532c5..b99aefa 100644
--- a/src/main/resources/mapper/production/ProductBomMapper.xml
+++ b/src/main/resources/mapper/production/ProductBomMapper.xml
@@ -44,4 +44,20 @@
         where pb.id = #{id}
     </select>
 
+    <select id="selectStrengthById" resultType="java.lang.String" parameterType="java.lang.Long">
+        select sdd.dict_label
+        from product_bom pb
+        left join sys_dict_data sdd on pb.dict_code = sdd.dict_code
+        <where>
+            <choose>
+                <when test="bomId != null">
+                    pb.id = #{bomId}
+                </when>
+                <otherwise>
+                    1 = 0
+                </otherwise>
+            </choose>
+        </where>
+    </select>
+
 </mapper>
diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
index d9cd9e4..22d46a8 100644
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -19,6 +19,7 @@
         select ppm.*,
         ppm.post_name as postName,
         po.nps_no as npsNo,
+        po.strength as strength,
         pms.material_code as materialCode,
         pm.product_name as productName,
         pms.model as productModelName,

--
Gitblit v1.9.3