From fe1b02a121c173e9b2d56bbe5a1982e0e69e0548 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 28 四月 2026 18:06:08 +0800
Subject: [PATCH] feat(production): 新增生产工单管理功能 - 创建 ProductionOperationTask 实体类定义工单数据结构 - 实现 ProductionOperationTaskController 提供工单的增删改查接口 - 开发 ProductionOperationTaskService 和实现类处理业务逻辑 - 配置 ProductionOperationTaskMapper 及 XML 文件实现数据库操作 - 添加 ProductionOperationTaskVo 视图对象用于数据展示 - 扩展 ProductionOrder 实体类增加生产订单相关属性 - 更新 ProductionOrderMapper.xml 完善订单查询映射配置 - 优化 ProductionOrderPickRecordMapper.xml 记录物料领取明细 - 新增 ProductionOrderRoutingOperationParam 参数配置实体 - 完善 工序参数处理逻辑
---
src/main/resources/mapper/production/ProductionOrderMapper.xml | 37 +++++++++++++++++++++++++++++++------
1 files changed, 31 insertions(+), 6 deletions(-)
diff --git a/src/main/resources/mapper/production/ProductionOrderMapper.xml b/src/main/resources/mapper/production/ProductionOrderMapper.xml
index c799d3d..b279001 100644
--- a/src/main/resources/mapper/production/ProductionOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductionOrderMapper.xml
@@ -45,6 +45,8 @@
po.dept_id,
po.plan_complete_time,
po.status,
+ po_sales.salesContractNo,
+ po_sales.customerName,
p.product_name as productName,
pm.model as model,
tr.process_route_code as processRouteCode,
@@ -53,6 +55,18 @@
<sql id="ProductionOrderVoFrom">
from production_order po
+ left join (
+ select po2.id as orderId,
+ group_concat(distinct sl2.sales_contract_no order by sl2.sales_contract_no separator ',') as salesContractNo,
+ group_concat(distinct sl2.customer_name order by sl2.customer_name separator ',') as customerName,
+ group_concat(distinct sl2.project_name order by sl2.project_name separator ',') as projectName,
+ min(sl2.delivery_date) as deliveryDate
+ from production_order po2
+ left join production_plan pp2
+ on find_in_set(pp2.id, replace(replace(replace(po2.production_plan_ids, '[', ''), ']', ''), ' ', '')) > 0
+ left join sales_ledger sl2 on sl2.id = pp2.sales_ledger_id
+ group by po2.id
+ ) po_sales on po_sales.orderId = po.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 technology_routing tr on po.technology_routing_id = tr.id
@@ -131,9 +145,9 @@
<select id="selectProgressOrders" resultType="com.ruoyi.home.dto.ProductionProgressOrderDto">
select po.nps_no,
- sl.sales_contract_no,
- sl.project_name,
- sl.customer_name,
+ po_sales.salesContractNo,
+ po_sales.projectName,
+ po_sales.customerName,
p.product_name as productCategory,
pm.model as specificationModel,
tr.process_route_code as processRouteCode,
@@ -141,11 +155,22 @@
ifnull(po.complete_quantity, 0) as completeQuantity,
round(ifnull(po.complete_quantity, 0) / nullif(po.quantity, 0) * 100, 2) as completionStatus,
tb.bom_no,
- datediff(sl.delivery_date, curdate()) as deliveryDaysDiff,
- sl.delivery_date,
+ datediff(po_sales.deliveryDate, curdate()) as deliveryDaysDiff,
+ po_sales.deliveryDate as deliveryDate,
false as isFh
from production_order po
- left join sales_ledger sl on po.sales_ledger_id = sl.id
+ left join (
+ select po2.id as orderId,
+ group_concat(distinct sl2.sales_contract_no order by sl2.sales_contract_no separator ',') as salesContractNo,
+ group_concat(distinct sl2.customer_name order by sl2.customer_name separator ',') as customerName,
+ group_concat(distinct sl2.project_name order by sl2.project_name separator ',') as projectName,
+ min(sl2.delivery_date) as deliveryDate
+ from production_order po2
+ left join production_plan pp2
+ on find_in_set(pp2.id, replace(replace(replace(po2.production_plan_ids, '[', ''), ']', ''), ' ', '')) > 0
+ left join sales_ledger sl2 on sl2.id = pp2.sales_ledger_id
+ group by po2.id
+ ) po_sales on po_sales.orderId = po.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 technology_routing tr on po.technology_routing_id = tr.id
--
Gitblit v1.9.3