From 6cd456701adfa4f8b5331b2cd9ca5c4df65ce783 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 30 一月 2026 15:59:58 +0800
Subject: [PATCH] 指标维护字段筛选
---
src/main/resources/mapper/sales/SalesLedgerMapper.xml | 93 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 91 insertions(+), 2 deletions(-)
diff --git a/src/main/resources/mapper/sales/SalesLedgerMapper.xml b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
index add6a3f..215f0a7 100644
--- a/src/main/resources/mapper/sales/SalesLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -5,11 +5,100 @@
<mapper namespace="com.ruoyi.sales.mapper.SalesLedgerMapper">
<select id="selectSequencesByDate" resultType="java.lang.Integer">
- SELECT CAST(SUBSTR(sales_contract_no, 9, 2) AS SIGNED)
+ SELECT CAST(SUBSTR(sales_contract_no,LENGTH(#{datePart})+1 , 3) AS SIGNED)
FROM sales_ledger
- WHERE SUBSTR(sales_contract_no, 1, 8) = #{datePart}
+ WHERE sales_contract_no LIKE CONCAT('%',#{datePart},'%')
</select>
<select id="getSalesNo" resultType="com.ruoyi.sales.pojo.SalesLedger">
</select>
+
+ <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.payment_method,
+ 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 != '' ">
+ T1.customer_name LIKE CONCAT('%',#{salesLedgerDto.customerName},'%')
+ </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 >= DATE_FORMAT(#{salesLedgerDto.entryDateStart},'%Y-%m-%d')
+ </if>
+ <if test="salesLedgerDto.entryDateEnd != null and salesLedgerDto.entryDateEnd != '' ">
+ AND T1.entry_date <= 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