From ac11e0a1320b469a2a111ba3d6a4a54f424845b7 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 17 四月 2026 09:29:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New
---
src/main/resources/mapper/sales/SalesLedgerMapper.xml | 46 ++++++++++++++++++++++++++--------------------
1 files changed, 26 insertions(+), 20 deletions(-)
diff --git a/src/main/resources/mapper/sales/SalesLedgerMapper.xml b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
index 71ad49f..0240ec1 100644
--- a/src/main/resources/mapper/sales/SalesLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -5,12 +5,12 @@
<mapper namespace="com.ruoyi.sales.mapper.SalesLedgerMapper">
<select id="selectSequencesByDate" resultType="java.lang.Integer">
- SELECT CAST(SUBSTR(sales_contract_no,LENGTH(#{datePart})+1 , 3) AS SIGNED)
+ SELECT CAST(SUBSTR(sales_contract_no, LENGTH(#{datePart}) + 1, 3) AS SIGNED)
FROM sales_ledger
- WHERE sales_contract_no LIKE CONCAT('%',#{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">
@@ -56,47 +56,53 @@
T1.attachment_materials,
T1.tenant_id,
T1.contract_amount,
- T1.contract_amount as noInvoiceAmountTotal,
+ T1.contract_amount AS noInvoiceAmountTotal,
T1.execution_date,
- T2.nick_name AS entry_person_name,
+ T2.nick_name AS entry_person_name,
T1.payment_method,
T1.delivery_date,
DATEDIFF(T1.delivery_date, CURDATE()) AS delivery_days_diff,
- CASE
- WHEN shipping_status_counts.total_count = 0 THEN false
- WHEN shipping_status_counts.unshipped_count = 0 THEN true
- ELSE false
- END AS is_fh
+ IFNULL(shipping_status_counts.is_all_shipped, FALSE) AS is_fh,
+ IFNULL(production_exists.has_production, FALSE) AS has_production_record
FROM sales_ledger T1
LEFT JOIN sys_user T2 ON T1.entry_person = T2.user_id
LEFT JOIN (
SELECT sales_ledger_id,
- COUNT(*) as total_count,
- SUM(CASE WHEN status != '宸插彂璐�' THEN 1 ELSE 0 END) as unshipped_count
+ CASE
+ WHEN SUM(CASE WHEN status != '宸插彂璐�' THEN 1 ELSE 0 END) = 0 THEN TRUE
+ ELSE FALSE
+ END AS is_all_shipped
FROM shipping_info
GROUP BY sales_ledger_id
) shipping_status_counts ON T1.id = shipping_status_counts.sales_ledger_id
+ LEFT JOIN (
+ SELECT DISTINCT po.sales_ledger_id,
+ TRUE AS has_production
+ FROM product_order po
+ INNER JOIN product_work_order wo ON wo.product_order_id = po.id
+ INNER JOIN production_product_main pm ON pm.work_order_id = wo.id
+ ) production_exists ON T1.id = production_exists.sales_ledger_id
<where>
<if test="salesLedgerDto.customerName != null and salesLedgerDto.customerName != '' ">
- AND T1.customer_name LIKE CONCAT('%',#{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},'%')
+ 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},'%')
+ 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')
+ 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')
+ AND T1.entry_date <= DATE_FORMAT(#{salesLedgerDto.entryDateEnd},'%Y-%m-%d')
</if>
</where>
- order by T1.entry_date desc
+ order by T1.entry_date desc
</select>
<select id="selectIncomeStats" resultType="com.ruoyi.home.dto.IncomeExpenseAnalysisDto">
@@ -117,9 +123,9 @@
left join sales_ledger_product slp on sl.id = slp.sales_ledger_id
left join shipping_info si on slp.id = si.sales_ledger_product_id
where si.status = '宸插彂璐�'
- <if test="ew.customerName != null and ew.customerName != '' ">
+ <if test="ew.customerName != null and ew.customerName != '' ">
and sl.customer_name like concat('%',#{ew.customerName},'%')
- </if>
+ </if>
order by sl.execution_date desc
</select>
--
Gitblit v1.9.3