Commit a08a576e8a1a9ecf1699d11ed7e8edeac6fe3496
1 parent
d5374a53
refactor: 优化营销活动开单统计查询,直接从主表查询
- 开单统计改为直接从lq_kd_kdjlb主表查询 - 使用EXISTS子查询判断是否包含活动品项 - 开单金额使用sfyj字段(实付业绩),欠款金额使用qk字段 - 提高查询效率,避免JOIN导致的重复统计
Showing
1 changed file
with
13 additions
and
7 deletions
netcore/src/Modularity/Extend/NCC.Extend/LqPackageInfoService.cs
| @@ -652,17 +652,23 @@ namespace NCC.Extend.LqPackageInfo | @@ -652,17 +652,23 @@ namespace NCC.Extend.LqPackageInfo | ||
| 652 | } | 652 | } |
| 653 | 653 | ||
| 654 | // 6. 开单统计 | 654 | // 6. 开单统计 |
| 655 | + // 直接从开单主表查询,通过子查询判断是否包含活动品项 | ||
| 655 | var billingSql = $@" | 656 | var billingSql = $@" |
| 656 | SELECT | 657 | SELECT |
| 657 | COUNT(DISTINCT kd.F_Id) as billing_count, | 658 | COUNT(DISTINCT kd.F_Id) as billing_count, |
| 658 | - SUM(CAST(px.F_ActualPrice AS DECIMAL(18,2))) as billing_amount, | 659 | + SUM(CAST(kd.sfyj AS DECIMAL(18,2))) as billing_amount, |
| 659 | SUM(CAST(kd.qk AS DECIMAL(18,2))) as debt_amount | 660 | SUM(CAST(kd.qk AS DECIMAL(18,2))) as debt_amount |
| 660 | - FROM lq_kd_pxmx px | ||
| 661 | - LEFT JOIN lq_kd_kdjlb kd ON px.glkdbh = kd.F_Id | ||
| 662 | - WHERE px.F_IsEffective = 1 | ||
| 663 | - {itemIdsFilter} | ||
| 664 | - AND px.yjsj >= '{startTime:yyyy-MM-dd HH:mm:ss}' | ||
| 665 | - AND px.yjsj <= '{endTime:yyyy-MM-dd HH:mm:ss}' | 661 | + FROM lq_kd_kdjlb kd |
| 662 | + WHERE kd.F_IsEffective = 1 | ||
| 663 | + AND EXISTS ( | ||
| 664 | + SELECT 1 | ||
| 665 | + FROM lq_kd_pxmx px | ||
| 666 | + WHERE px.glkdbh = kd.F_Id | ||
| 667 | + AND px.F_IsEffective = 1 | ||
| 668 | + {itemIdsFilter} | ||
| 669 | + AND px.yjsj >= '{startTime:yyyy-MM-dd HH:mm:ss}' | ||
| 670 | + AND px.yjsj <= '{endTime:yyyy-MM-dd HH:mm:ss}' | ||
| 671 | + ) | ||
| 666 | {storeFilter}"; | 672 | {storeFilter}"; |
| 667 | 673 | ||
| 668 | var billingData = await _db.Ado.SqlQueryAsync<dynamic>(billingSql); | 674 | var billingData = await _db.Ado.SqlQueryAsync<dynamic>(billingSql); |