From 0989ec1e6b465141f99ed67e40fa2a0b928dce94 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 29 四月 2026 16:54:51 +0800
Subject: [PATCH] feat(production): 新增生产核算和生产工单功能模块 - 添加生产核算控制器、服务接口及实现类 - 实现生产核算分页查询和工人生产工资信息查询功能 - 添加生产工单控制器、服务接口及实现类 - 实现生产工单的增删改查和状态统计功能 - 集成工单流转卡下载和二维码生成功能 - 添加工单相关的数据传输对象和值对象 - 实现工单与用户关联的分配功能 - 完善工单附件图片处理和展示功能
---
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