From 2dd645b5346f510d1207346347f1fa70a204d9d3 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期四, 05 十一月 2026 16:11:34 +0800
Subject: [PATCH] 1. 完成项目管理全流程优化,补充阶段推进、汇报统计及生命周期记录。 2. 完成业务与项目数据关联,支持查看项目进度、详情及相关附件。 3. 完成采购审批流程接入,支持配置审批人员及采购业务审批。 4. 精简用户、角色、部门、菜单和字典,完善操作日志及附件下载。

---
 src/main/resources/mapper/sales/SalesLedgerMapper.xml |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/mapper/sales/SalesLedgerMapper.xml b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
index a05c00c..2c38902 100644
--- a/src/main/resources/mapper/sales/SalesLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -77,9 +77,31 @@
         T1.payment_method,
         T1.delivery_date,
         DATEDIFF(T1.delivery_date, CURDATE()) AS delivery_days_diff,
-        IFNULL(shipping_status_counts.is_all_shipped, FALSE) AS is_fh
+        IFNULL(shipping_status_counts.is_all_shipped, FALSE) AS is_fh,
+        project_info.no AS project_no,
+        project_info.title AS linked_project_name,
+        project_info.current_phase AS project_current_phase,
+        project_info.project_leader_name AS project_leader_name,
+        project_info.plan_start_time AS project_plan_start_time,
+        project_info.plan_end_time AS project_plan_end_time,
+        project_info.actual_start_time AS project_actual_start_time,
+        project_info.actual_end_time AS project_actual_end_time,
+        IFNULL(project_module_stats.project_progress, 0) AS project_progress,
+        IFNULL(project_module_stats.module_count, 0) AS project_module_count,
+        IFNULL(project_module_stats.completed_module_count, 0) AS project_completed_module_count
         FROM sales_ledger T1
         LEFT JOIN sys_user T2 ON T1.entry_person = T2.user_id
+        LEFT JOIN project_management_info project_info
+          ON project_info.id = T1.project_management_info_id AND project_info.is_delete = 0
+        LEFT JOIN (
+          SELECT project_id,
+                 ROUND(IFNULL(SUM(project_weight * current_progress) / 100, 0), 2) AS project_progress,
+                 COUNT(*) AS module_count,
+                 SUM(CASE WHEN current_progress &gt;= 100 THEN 1 ELSE 0 END) AS completed_module_count
+          FROM project_management_module
+          WHERE is_deleted = 0
+          GROUP BY project_id
+        ) project_module_stats ON project_module_stats.project_id = project_info.id
         LEFT JOIN (
         SELECT sales_ledger_id,
         CASE

--
Gitblit v1.9.3