From 7a9f4368a4b432e6e18377c83a4895d6831116e2 Mon Sep 17 00:00:00 2001 From: “wangming” <“wangming@antissoft.com”> Date: Wed, 15 Oct 2025 10:39:53 +0800 Subject: [PATCH] feat: 增强LqKdKdjlbService以支持开单记录的品项明细查询 --- antis-ncc-admin/src/views/lqKdKdjlb/index.vue | 1412 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbListOutput.cs | 6 ++++++ netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs | 44 ++++++++++++++++++++++++++++++++++++++++++++ netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs | 6 +++--- 4 files changed, 760 insertions(+), 708 deletions(-) diff --git a/antis-ncc-admin/src/views/lqKdKdjlb/index.vue b/antis-ncc-admin/src/views/lqKdKdjlb/index.vue index 08bb852..db6cf9b 100644 --- a/antis-ncc-admin/src/views/lqKdKdjlb/index.vue +++ b/antis-ncc-admin/src/views/lqKdKdjlb/index.vue @@ -1,132 +1,133 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - 查询 - 重置 - 展开 - 收起 - - - - - - - - 新增 - 建档 - 导出 - 批量删除 - - - - - - - - - - - - - - - {{ scope.row.id || '无' }} - - - - - - + + + + + {{ scope.row.id || '无' }} + + + + + + - - - - - - - {{ scope.row.kdhyc || '无' }} - - - - - - - - - - {{ scope.row.kdhysjh || '无' }} - - - - - - - - - - {{ scope.row.djmd | dynamicText(djmdOptions) || '无' }} - - - - - - - - - - {{ scope.row.jsj | dynamicText(jsjOptions) || '无' }} - - - - - - - - - - {{ formatDate(scope.row.kdrq) }} - - - - - - - - - - {{ scope.row.gjlx }} - - - - - - - - - {{ scope.row.zdyj || '无' }} - - - - - - - - - - {{ scope.row.sfyj || '无' }} - - - - - - - - - - {{ scope.row.qk || '无' }} - - - - - - - - - - {{ scope.row.ckfs | dynamicText(ckfsOptions) || '无' }} - - - - - - - - - - {{ scope.row.ckmx || '无' }} - - - - - - - - - - {{ scope.row.fkfs | dynamicText(fkfsOptions) || '无' }} - - - - - - - - - - {{ scope.row.fkyy | dynamicText(fkyyOptions) || '无' }} - - - - - - - - - {{ scope.row.hgjg | dynamicText(hgjgOptions) || '无' }} - - - - - - - - - - {{ scope.row.fkpd || '无' }} - - - - - - - - - - {{ scope.row.khly | dynamicText(khlyOptions) || '无' }} - - - - - - - - - - {{ scope.row.tjr || '无' }} - - - - - - - - - - {{ scope.row.sfskdd | dynamicText(sfskddOptions) || '无' }} - - - - - - - - - - {{ scope.row.jj || '无' }} - - - - - - - - - - {{ scope.row.bz || '无' }} - - - - - - - - - - {{ scope.row.jksyj || '无' }} - - - - - - - - - - {{ scope.row.kjblsyj || '无' }} - - - - - - - - - - {{ scope.row.pxxx || '无' }} - - - - - - - - - + + + + + {{ scope.row.kdhyc || '无' }} + + + + + + + + + + {{ scope.row.kdhysjh || '无' }} + + + + + + + + + + {{ scope.row.djmd | dynamicText(djmdOptions) || '无' }} + + + + + + + + + + {{ scope.row.jsj | dynamicText(jsjOptions) || '无' }} + + + + + + + + + + {{ formatDate(scope.row.kdrq) }} + + + + + + + + + + {{ scope.row.gjlx }} + + + + + + + + + {{ scope.row.zdyj || '无' }} + + + + + + + + + + {{ scope.row.sfyj || '无' }} + + + + + + + + + + {{ scope.row.qk || '无' }} + + + + + + + + + + {{ scope.row.ckfs | dynamicText(ckfsOptions) || '无' }} + + + + + + + + + + {{ scope.row.ckmx || '无' }} + + + + + + + + + + {{ scope.row.fkfs | dynamicText(fkfsOptions) || '无' }} + + + + + + + + + + {{ scope.row.fkyy | dynamicText(fkyyOptions) || '无' }} + + + + + + + + + {{ scope.row.hgjg | dynamicText(hgjgOptions) || '无' }} + + + + + + + + + + {{ scope.row.fkpd || '无' }} + + + + + + + + + + {{ scope.row.khly | dynamicText(khlyOptions) || '无' }} + + + + + + + + + + {{ scope.row.tjr || '无' }} + + + + + + + + + + {{ scope.row.sfskdd | dynamicText(sfskddOptions) || '无' }} + + + + + + + + + + {{ scope.row.jj || '无' }} + + + + + + + + + + {{ scope.row.bz || '无' }} + + + + + + + + + + {{ scope.row.jksyj || '无' }} + + + + + + + + + + {{ scope.row.kjblsyj || '无' }} + + + + + + + + + + {{ scope.row.pxxx || '无' }} + + + + + + + + + - - 详情 - - - - - - - - - - - + + + + + + + + + - - + + \ No newline at end of file diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbListOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbListOutput.cs index bce8df5..b33f235 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbListOutput.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbListOutput.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; namespace NCC.Extend.Entitys.Dto.LqKdKdjlb { @@ -156,5 +157,10 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb /// 开单用户名称 /// public string CreateUserName { get; set; } + + /// + /// 开单品项明细列表 + /// + public List ItemDetails { get; set; } } } diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs index e5db191..5639f7c 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs @@ -256,6 +256,48 @@ namespace NCC.Extend.LqKdKdjlb .MergeTable() .OrderBy(sidx + " " + input.sort) .ToPagedListAsync(input.currentPage, input.pageSize); + + // 获取当前页的开单记录ID列表 + var billingIds = data.list.Select(x => x.id).ToList(); + + // 批量查询品项明细 + var itemDetails = new List(); + if (billingIds.Any()) + { + itemDetails = await _db.Queryable() + .Where(x => billingIds.Contains(x.Glkdbh) && x.IsEffective == StatusEnum.有效.GetHashCode()) + .Select(x => new LqKdPxmxInfoOutput + { + id = x.Id, + glkdbh = x.Glkdbh, + px = x.Px, + pxmc = x.Pxmc, + pxjg = x.Pxjg, + projectNumber = x.ProjectNumber, + isEnabled = x.IsEnabled, + sourceType = x.SourceType, + memberId = x.MemberId, + createTime = x.CreateTIme, + totalPrice = x.TotalPrice, + actualPrice = x.ActualPrice, + remark = x.Remark, + isEffective = x.IsEffective + }) + .ToListAsync(); + } + + // 按开单ID分组品项明细 + var itemDetailsGrouped = itemDetails.GroupBy(x => x.glkdbh) + .ToDictionary(g => g.Key, g => g.ToList()); + + // 为每个开单记录分配品项明细 + foreach (var item in data.list) + { + item.ItemDetails = itemDetailsGrouped.ContainsKey(item.id) + ? itemDetailsGrouped[item.id] + : new List(); + } + return PageResult.SqlSugarPageResult(data); } #endregion @@ -1751,5 +1793,7 @@ namespace NCC.Extend.LqKdKdjlb } } #endregion + + } } diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs index 8e50319..c4d2868 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs @@ -1464,7 +1464,7 @@ namespace NCC.Extend.LqStatistics SUM(CAST(jksyj.jksyj AS DECIMAL(18,2))) as order_performance FROM lq_kd_jksyj jksyj INNER JOIN lq_kd_pxmx pxmx ON jksyj.F_kdpxid = pxmx.F_Id AND pxmx.F_IsEffective = 1 - INNER JOIN lq_kd_kdjlb kd ON jksyj.glkdbh COLLATE utf8mb4_general_ci = kd.F_Id COLLATE utf8mb4_general_ci + INNER JOIN lq_kd_kdjlb kd ON jksyj.glkdbh = CONVERT(kd.F_Id USING utf8mb4) WHERE jksyj.yjsj IS NOT NULL AND jksyj.jksyj IS NOT NULL AND jksyj.jksyj != '' @@ -2529,7 +2529,7 @@ namespace NCC.Extend.LqStatistics SUM(CASE WHEN kd.sfskdd = '是' THEN COALESCE(kd.zdyj, 0) ELSE 0 END) as F_FirstOrderPerformance, SUM(CASE WHEN kd.sfskdd = '否' THEN COALESCE(kd.zdyj, 0) ELSE 0 END) as F_UpgradeOrderPerformance FROM lq_kd_kdjlb kd - LEFT JOIN lq_mdxx md ON kd.djmd COLLATE utf8mb4_general_ci = md.F_Id COLLATE utf8mb4_general_ci + LEFT JOIN lq_mdxx md ON CONVERT(kd.djmd USING utf8mb4) = md.F_Id WHERE kd.F_IsEffective = 1 AND DATE_FORMAT(kd.kdrq, '%Y%m') = @statisticsMonth GROUP BY kd.djmd, md.dm @@ -2539,7 +2539,7 @@ namespace NCC.Extend.LqStatistics kd.djmd as F_StoreId, COUNT(pxmx.F_ProjectNumber) as F_ItemQuantity FROM lq_kd_kdjlb kd - LEFT JOIN lq_kd_pxmx pxmx ON kd.F_Id COLLATE utf8mb4_general_ci = pxmx.glkdbh COLLATE utf8mb4_general_ci AND pxmx.F_IsEffective = 1 + LEFT JOIN lq_kd_pxmx pxmx ON CONVERT(kd.F_Id USING utf8mb4) = pxmx.glkdbh AND pxmx.F_IsEffective = 1 WHERE kd.F_IsEffective = 1 AND DATE_FORMAT(kd.kdrq, '%Y%m') = @statisticsMonth GROUP BY kd.djmd -- libgit2 0.21.4