From a08a576e8a1a9ecf1699d11ed7e8edeac6fe3496 Mon Sep 17 00:00:00 2001 From: “wangming” <“wangming@antissoft.com”> Date: Tue, 28 Oct 2025 17:35:24 +0800 Subject: [PATCH] refactor: 优化营销活动开单统计查询,直接从主表查询 --- netcore/src/Modularity/Extend/NCC.Extend/LqPackageInfoService.cs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqPackageInfoService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqPackageInfoService.cs index c6246dc..8801d84 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend/LqPackageInfoService.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend/LqPackageInfoService.cs @@ -652,17 +652,23 @@ namespace NCC.Extend.LqPackageInfo } // 6. 开单统计 + // 直接从开单主表查询,通过子查询判断是否包含活动品项 var billingSql = $@" SELECT COUNT(DISTINCT kd.F_Id) as billing_count, - SUM(CAST(px.F_ActualPrice AS DECIMAL(18,2))) as billing_amount, + SUM(CAST(kd.sfyj AS DECIMAL(18,2))) as billing_amount, SUM(CAST(kd.qk AS DECIMAL(18,2))) as debt_amount - FROM lq_kd_pxmx px - LEFT JOIN lq_kd_kdjlb kd ON px.glkdbh = kd.F_Id - WHERE px.F_IsEffective = 1 - {itemIdsFilter} - AND px.yjsj >= '{startTime:yyyy-MM-dd HH:mm:ss}' - AND px.yjsj <= '{endTime:yyyy-MM-dd HH:mm:ss}' + FROM lq_kd_kdjlb kd + WHERE kd.F_IsEffective = 1 + AND EXISTS ( + SELECT 1 + FROM lq_kd_pxmx px + WHERE px.glkdbh = kd.F_Id + AND px.F_IsEffective = 1 + {itemIdsFilter} + AND px.yjsj >= '{startTime:yyyy-MM-dd HH:mm:ss}' + AND px.yjsj <= '{endTime:yyyy-MM-dd HH:mm:ss}' + ) {storeFilter}"; var billingData = await _db.Ado.SqlQueryAsync(billingSql); -- libgit2 0.21.4