From 6ed4b397bb9dbb9c2d7bb0676339721fa97996bf Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 30 一月 2026 10:32:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New

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

diff --git a/src/main/resources/mapper/sales/SalesLedgerMapper.xml b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
index bd80e3f..215f0a7 100644
--- a/src/main/resources/mapper/sales/SalesLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -15,23 +15,25 @@
 
     <select id="selectSalesLedgerList" resultType="com.ruoyi.sales.pojo.SalesLedger">
         SELECT
-            T1.id,
-            T1.sales_contract_no,
-            T1.customer_contract_no,
-            T1.project_name,
-            T1.entry_date,
-            T1.salesman,
-            T1.customer_id,
-            T1.customer_name,
-            T1.entry_person,
-            T1.remarks,
-            T1.attachment_materials,
-            T1.tenant_id,
-            T1.contract_amount,
-            T1.execution_date,
-            T2.nick_name AS entry_person_name
+        T1.id,
+        T1.sales_contract_no,
+        T1.customer_contract_no,
+        T1.project_name,
+        T1.entry_date,
+        T1.salesman,
+        T1.customer_id,
+        T1.customer_name,
+        T1.entry_person,
+        T1.remarks,
+        T1.attachment_materials,
+        T1.tenant_id,
+        T1.contract_amount,
+        T1.execution_date,
+        T2.nick_name AS entry_person_name,
+        T1.payment_method,
+        DATEDIFF(T1.delivery_date, CURDATE()) AS delivery_days_diff
         FROM
-            sales_ledger T1
+        sales_ledger T1
         LEFT JOIN sys_user T2 ON T1.entry_person = T2.user_id
         <where>
             <if test="salesLedgerDto.customerName != null and salesLedgerDto.customerName != '' ">
@@ -39,4 +41,64 @@
             </if>
         </where>
     </select>
+
+    <select id="selectSalesLedgerListPage" resultType="com.ruoyi.sales.pojo.SalesLedger">
+        SELECT
+        T1.id,
+        T1.sales_contract_no,
+        T1.customer_contract_no,
+        T1.project_name,
+        T1.entry_date,
+        T1.salesman,
+        T1.customer_id,
+        T1.customer_name,
+        T1.entry_person,
+        T1.remarks,
+        T1.attachment_materials,
+        T1.tenant_id,
+        T1.contract_amount,
+        T1.contract_amount as noInvoiceAmountTotal,
+        T1.execution_date,
+        T2.nick_name AS entry_person_name,
+        T1.payment_method,
+        T1.delivery_date,
+        DATEDIFF(T1.delivery_date, CURDATE()) AS delivery_days_diff
+        FROM
+        sales_ledger T1
+        LEFT JOIN sys_user T2 ON T1.entry_person = T2.user_id
+        <where>
+            <if test="salesLedgerDto.customerName != null and salesLedgerDto.customerName != '' ">
+                AND  T1.customer_name LIKE CONCAT('%',#{salesLedgerDto.customerName},'%')
+            </if>
+            <if test="salesLedgerDto.customerContractNo != null and salesLedgerDto.customerContractNo !='' ">
+                AND  T1.customer_contract_no LIKE CONCAT('%',#{salesLedgerDto.customerContractNo},'%')
+            </if>
+            <if test="salesLedgerDto.salesContractNo != null and salesLedgerDto.salesContractNo != '' ">
+                AND  T1.sales_contract_no LIKE CONCAT('%',#{salesLedgerDto.salesContractNo},'%')
+            </if>
+            <if test="salesLedgerDto.projectName != null and salesLedgerDto.projectName != '' ">
+                AND T1.project_name LIKE CONCAT('%',#{salesLedgerDto.projectName},'%')
+            </if>
+            <if test="salesLedgerDto.entryDateStart != null and salesLedgerDto.entryDateStart != '' ">
+               AND T1.entry_date &gt;= DATE_FORMAT(#{salesLedgerDto.entryDateStart},'%Y-%m-%d')
+            </if>
+            <if test="salesLedgerDto.entryDateEnd != null and salesLedgerDto.entryDateEnd != '' ">
+                AND  T1.entry_date &lt;= DATE_FORMAT(#{salesLedgerDto.entryDateEnd},'%Y-%m-%d')
+            </if>
+        </where>
+    order by T1.entry_date desc
+    </select>
+
+    <select id="selectIncomeStats" resultType="com.ruoyi.home.dto.IncomeExpenseAnalysisDto">
+        SELECT DATE_FORMAT(entry_date, #{dateFormat}) as dateStr, IFNULL(SUM(contract_amount), 0) as amount
+        FROM sales_ledger
+        WHERE entry_date BETWEEN #{startDate} AND #{endDate}
+        GROUP BY dateStr
+    </select>
+
+    <select id="selectCustomerSalesComposition" resultType="com.ruoyi.dto.MapDto">
+        SELECT customer_name as name, CAST(IFNULL(SUM(contract_amount), 0) AS CHAR) as value
+        FROM sales_ledger
+        GROUP BY customer_name
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3