From 844cae1a3be7bd2fbf8803a7ee33b0622208de05 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期三, 29 四月 2026 09:43:43 +0800
Subject: [PATCH] fix(production): 修复生产报表数据查询问题
---
src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml | 31 ++++++++-----------------------
src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java | 2 ++
src/main/resources/mapper/production/ProductionProductMainMapper.xml | 5 +++--
3 files changed, 13 insertions(+), 25 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java b/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java
index 7870189..025ae73 100644
--- a/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java
+++ b/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java
@@ -83,6 +83,8 @@
private String outputRate;
+ private Long totalWorkMinutes;
+
@JsonFormat(pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate entryDate;
diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
index 7e16334..842b872 100644
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -78,8 +78,8 @@
ppo.quantity,
slpa.work_hours,
slpa.work_hours * slpa.finished_num AS wages,
- ppm.device_name,
- ppm.device_id,
+ dl.device_name,
+ slpa.work_hour as work_minutes,
IFNULL(
TIMESTAMPDIFF(MINUTE, ppm.start_time, ppm.end_time),
0
@@ -94,6 +94,7 @@
LEFT JOIN product_model pm ON po.product_model_id = pm.id
LEFT JOIN product p ON p.id = pm.product_id
LEFT JOIN sales_ledger sl ON po.sales_ledger_id = sl.id
+ left join device_ledger dl ON dl.id = slpa.device_id
where ppm.audit_status = 1
<if test="ew.schedulingUserName != null and ew.schedulingUserName !=''">
and slpa.scheduling_user_name = #{ew.schedulingUserName}
diff --git a/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml b/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
index b7339b0..87f3a21 100644
--- a/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
+++ b/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
@@ -50,17 +50,11 @@
group by t4.id
order by t4.scheduling_date desc
</select>
- <select id="pageProductionAccounting"
- resultType="com.ruoyi.production.dto.SalesLedgerProductionAccountingDto">
+ <select id="pageProductionAccounting" resultType="com.ruoyi.production.dto.SalesLedgerProductionAccountingDto">
SELECT
- slpa.scheduling_user_id,
- MIN(slpa.scheduling_user_name) AS scheduling_user_name,
-
+ slpa.scheduling_user_name,
SUM(ppout.quantity) AS output_num,
-
- SUM(slpa.finished_num * slpa.work_hours) AS wages,
-
CONCAT(
ROUND(
CASE
@@ -69,28 +63,21 @@
END, 2
),
'%'
- ) AS output_rate,
- GROUP_CONCAT(
+ ) AS output_rate, GROUP_CONCAT(
CONCAT(
- IFNULL(
- TIMESTAMPDIFF(MINUTE, ppm.start_time, ppm.end_time),
- 0
- ),
+ IFNULL(slpa.work_hour, 0),
'|$|',
- IFNULL(ppm.device_name, '鏈煡鏈哄彴')
+ IFNULL(dl.device_name, '鏈煡鏈哄彴')
)
- ORDER BY ppm.start_time
+ ORDER BY slpa.create_time
SEPARATOR '>>>'
) AS device_work_info
-
FROM sales_ledger_production_accounting slpa
-
LEFT JOIN production_product_main ppm
ON slpa.product_main_id = ppm.id
-
LEFT JOIN production_product_output ppout
ON ppm.id = ppout.product_main_id
-
+ left join device_ledger dl on dl.id = slpa.device_id
<where>
<if test="ew.schedulingUserName != null and ew.schedulingUserName !=''">
and slpa.scheduling_user_name = #{ew.schedulingUserName}
@@ -103,10 +90,8 @@
and slpa.scheduling_date >= #{ew.entryDateStart}
and slpa.scheduling_date < DATE_ADD(DATE(#{ew.entryDateEnd}), INTERVAL 1 DAY)
</if>
-
</where>
- GROUP BY slpa.scheduling_user_id
-
+ GROUP BY slpa.scheduling_user_name
</select>
<select id="selectDailyWagesStats" resultType="java.util.Map">
--
Gitblit v1.9.3