From f4c288c55d08c04cd026508b358beebfcdce5fc2 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 22 五月 2026 09:29:09 +0800
Subject: [PATCH] feat(product): 添加产品型号向下复制功能并优化生产报工重量计算 - 在ProductController中新增downCopy接口实现产品型号批量复制功能 - 将ProductionProductMainDto中的bomInputQty字段重命名为inputWeight - 在ProductionProductMainServiceImpl中添加JSON解析逻辑支持从otherData中提取投入重量 - 新增resolveInputWeight、findParameterValue、findFieldValue等工具方法处理复杂参数解析 - 为ProductModelDto添加targetProductId字段用于指定复制目标 - 修复销售台账按调度员ID和姓名分组的SQL查询问题 - 优化库存服务中剩余数量计算的空值处理逻辑 - 完善生产投料数量为空时的默认值处理机制
---
src/main/resources/mapper/production/ProductOrderMapper.xml | 26 ++++++++++----------------
1 files changed, 10 insertions(+), 16 deletions(-)
diff --git a/src/main/resources/mapper/production/ProductOrderMapper.xml b/src/main/resources/mapper/production/ProductOrderMapper.xml
index 4837e64..f4db954 100644
--- a/src/main/resources/mapper/production/ProductOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductOrderMapper.xml
@@ -17,8 +17,10 @@
select po.*,
sl.sales_contract_no,
sl.customer_name,
- slp.product_category,
- slp.specification_model,
+ p.product_name as product_category,
+ pm.model as specification_model,
+ pm.unit,
+ pm.material_code as materialCode,
ppr.process_route_code,
pb.bom_no,
ROUND(po.complete_quantity / po.quantity * 100, 2) AS completionStatus,
@@ -38,6 +40,8 @@
FROM shipping_info
GROUP BY sales_ledger_id
) shipping_status_counts ON sl.id = shipping_status_counts.sales_ledger_id
+ left join product_model pm on po.product_model_id = pm.id
+ left join product p on pm.product_id = p.id
left join sales_ledger_product slp on po.sale_ledger_product_id = slp.id
left join product_process_route ppr on po.id = ppr.product_order_id
left join product_bom pb on pb.id = ppr.bom_id
@@ -61,24 +65,13 @@
and po.create_time between #{c.startTime} and #{c.endTime}
</if>
</where>
- </select>
- <select id="productMainByOrderId" resultType="com.ruoyi.production.dto.ProductOrderDto">
- select po.*,
- pwo.work_order_no,
- pwo.report_work,
- pwo.status,
- pwo.quantity,
- pwo.plan_quantity
- from product_order po
- left join product_work_order pwo on po.id = pwo.product_order_id
- where po.id = #{c.id}
+ order by po.priority
</select>
<select id="listProcessRoute" resultType="com.ruoyi.production.pojo.ProcessRoute">
select pr.*
from process_route pr
left join product_model pm on pr.product_model_id = pm.id
- left join sales_ledger_product slp on pm.id = slp.product_model_id
- where slp.id = #{productModelId}
+ where pm.id = #{productModelId}
</select>
<select id="listProcessBom" resultType="com.ruoyi.production.dto.ProductStructureDto">
select ps.id,
@@ -90,7 +83,8 @@
p.product_name,
pp.name as process_name,
pm.product_id,
- pm.model
+ pm.model,
+ pm.material_code as materialCode
from
product_structure ps
left join product_model pm on ps.product_model_id = pm.id
--
Gitblit v1.9.3