From f350465db70d6f9db9494483ee0cec7793a9007b Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 19 八月 2026 17:47:57 +0800
Subject: [PATCH] feat(approve): 实现审批流程或签会签功能并优化数据库配置
---
src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml | 43 +++++++++++++++----------------------------
1 files changed, 15 insertions(+), 28 deletions(-)
diff --git a/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml b/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
index b7339b0..3739b31 100644
--- a/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
+++ b/src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
@@ -22,7 +22,7 @@
FROM
sales_ledger_production_accounting t4
LEFT JOIN sales_ledger T1 ON T1.id = t4.sales_ledger_id
- left join sales_ledger_product t3 on t4.sales_ledger_product_id = t3.id and slp.type = 1
+ left join sales_ledger_product t3 on t4.sales_ledger_product_id = t3.id and t3.type = 1
<where>
t3.type = 1
<if test="salesLedgerDto.schedulingUserName != null and salesLedgerDto.schedulingUserName != '' ">
@@ -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,
-
- SUM(ppout.quantity) AS output_num,
-
- SUM(slpa.finished_num * slpa.work_hours) AS wages,
-
+ slpa.scheduling_user_name,
+ SUM(COALESCE(prp.quantity, slpa.finished_num)) AS output_num,
CONCAT(
ROUND(
CASE
@@ -69,28 +63,23 @@
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_report_person prp
+ ON prp.product_main_id = ppm.id AND prp.user_id = slpa.scheduling_user_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,18 +92,16 @@
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">
SELECT DATE(ppout.create_time) AS dateStr,
- SUM(ppout.quantity - IFNULL(ppout.scrap_qty, 0)) AS numberOfCompleted,
- SUM((ppout.quantity - IFNULL(ppout.scrap_qty, 0)) * IFNULL(pp.salary_quota, 0)) AS amount,
+ SUM(ppout.quantity + IFNULL(ppout.add_qty, 0) - IFNULL(ppout.scrap_qty, 0)) AS numberOfCompleted,
+ SUM((ppout.quantity + IFNULL(ppout.add_qty, 0) - IFNULL(ppout.scrap_qty, 0)) * IFNULL(pp.salary_quota, 0)) AS amount,
ROUND(
- SUM(ppout.quantity - IFNULL(ppout.scrap_qty, 0)) * 100 / NULLIF(SUM(ppout.quantity), 0),
+ SUM(ppout.quantity + IFNULL(ppout.add_qty, 0) - IFNULL(ppout.scrap_qty, 0)) * 100 / NULLIF(SUM(ppout.quantity), 0),
2
) AS passRate
FROM production_product_output ppout
--
Gitblit v1.9.3