From c8db89cd26ffee2271959a67fcdebcc1d36e56c1 Mon Sep 17 00:00:00 2001 From: “wangming” <“wangming@antissoft.com”> Date: Thu, 6 Nov 2025 16:53:14 +0800 Subject: [PATCH] 123 --- netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqDailyReport/StorePerformanceCompletionOutput.cs | 17 ++++++++++++++++- netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackCrInput.cs | 6 ++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackInfoOutput.cs | 10 ++++++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackListOutput.cs | 10 ++++++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_xh_feedback/LqXhFeedbackEntity.cs | 12 ++++++++++++ netcore/src/Modularity/Extend/NCC.Extend/LqDailyReportService.cs | 33 +++++++++++++++++++++++++-------- netcore/src/Modularity/Extend/NCC.Extend/LqTkjlbService.cs | 2 +- netcore/src/Modularity/Extend/NCC.Extend/LqXhFeedbackService.cs | 17 +++++++++++++++-- 8 files changed, 95 insertions(+), 12 deletions(-) diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqDailyReport/StorePerformanceCompletionOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqDailyReport/StorePerformanceCompletionOutput.cs index 29b0936..fe5a691 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqDailyReport/StorePerformanceCompletionOutput.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqDailyReport/StorePerformanceCompletionOutput.cs @@ -24,7 +24,22 @@ namespace NCC.Extend.Entitys.Dto.LqDailyReport public decimal TargetPerformance { get; set; } /// - /// 完成业绩(开单业绩) + /// 开单业绩 + /// + public decimal BillingPerformance { get; set; } + + /// + /// 退款业绩(退卡业绩) + /// + public decimal RefundPerformance { get; set; } + + /// + /// 实际业绩(开单业绩 - 退款业绩) + /// + public decimal ActualPerformance { get; set; } + + /// + /// 完成业绩(实际业绩,用于兼容旧版本) /// public decimal CompletedPerformance { get; set; } diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackCrInput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackCrInput.cs index 93ea5f6..34ef69a 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackCrInput.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackCrInput.cs @@ -32,5 +32,11 @@ namespace NCC.Extend.Entitys.Dto.LqXhFeedback /// [Display(Name = "备注", Description = "反馈备注信息")] public string Remark { get; set; } + + /// + /// 科技部备注 + /// + [Display(Name = "科技部备注", Description = "科技部备注信息")] + public string KjbRemark { get; set; } } } diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackInfoOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackInfoOutput.cs index a62ca01..875b28c 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackInfoOutput.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackInfoOutput.cs @@ -18,6 +18,11 @@ namespace NCC.Extend.Entitys.Dto.LqXhFeedback public string consumeId { get; set; } /// + /// 会员ID + /// + public string memberId { get; set; } + + /// /// 前图片 /// public string beforeImage { get; set; } @@ -33,6 +38,11 @@ namespace NCC.Extend.Entitys.Dto.LqXhFeedback public string remark { get; set; } /// + /// 科技部备注 + /// + public string kjbRemark { get; set; } + + /// /// 添加人ID /// public string createUser { get; set; } diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackListOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackListOutput.cs index 71119d7..88a0717 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackListOutput.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhFeedback/LqXhFeedbackListOutput.cs @@ -18,6 +18,11 @@ namespace NCC.Extend.Entitys.Dto.LqXhFeedback public string consumeId { get; set; } /// + /// 会员ID + /// + public string memberId { get; set; } + + /// /// 前图片 /// public string beforeImage { get; set; } @@ -33,6 +38,11 @@ namespace NCC.Extend.Entitys.Dto.LqXhFeedback public string remark { get; set; } /// + /// 科技部备注 + /// + public string kjbRemark { get; set; } + + /// /// 添加人ID /// public string createUser { get; set; } diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_xh_feedback/LqXhFeedbackEntity.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_xh_feedback/LqXhFeedbackEntity.cs index 3758096..9136c0e 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_xh_feedback/LqXhFeedbackEntity.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_xh_feedback/LqXhFeedbackEntity.cs @@ -24,6 +24,12 @@ namespace NCC.Extend.Entitys.lq_xh_feedback public string ConsumeId { get; set; } /// + /// 会员ID + /// + [SugarColumn(ColumnName = "F_MemberId")] + public string MemberId { get; set; } + + /// /// 前图片 /// [SugarColumn(ColumnName = "F_BeforeImage")] @@ -42,6 +48,12 @@ namespace NCC.Extend.Entitys.lq_xh_feedback public string Remark { get; set; } /// + /// 科技部备注 + /// + [SugarColumn(ColumnName = "F_KjbRemark")] + public string KjbRemark { get; set; } + + /// /// 添加人ID /// [SugarColumn(ColumnName = "F_CreateUser")] diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqDailyReportService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqDailyReportService.cs index 13d618e..e525506 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend/LqDailyReportService.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend/LqDailyReportService.cs @@ -192,8 +192,11 @@ namespace NCC.Extend /// - StoreId: 门店ID /// - StoreName: 门店名称 /// - TargetPerformance: 目标业绩(生命线,来自门店信息表) - /// - CompletedPerformance: 完成业绩(当月1号至统计日期的开单业绩总和) - /// - CompletionRate: 完成率(百分比,CompletedPerformance / TargetPerformance * 100) + /// - BillingPerformance: 开单业绩(开单业绩总和) + /// - RefundPerformance: 退款业绩(退卡业绩总和) + /// - ActualPerformance: 实际业绩(开单业绩 - 退款业绩) + /// - CompletedPerformance: 完成业绩(实际业绩,用于兼容旧版本) + /// - CompletionRate: 完成率(百分比,ActualPerformance / TargetPerformance * 100) /// /// 查询参数 /// 门店业绩完成情况列表 @@ -222,7 +225,7 @@ namespace NCC.Extend store.dm as StoreName, -- 目标业绩(生命线) COALESCE(store.xsyj, 0) as TargetPerformance, - -- 完成业绩(开单业绩总和) + -- 开单业绩总和 COALESCE(( SELECT SUM(billing.sfyj) FROM lq_kd_kdjlb billing @@ -230,25 +233,39 @@ namespace NCC.Extend AND billing.F_IsEffective = 1 AND DATE(billing.kdrq) >= '{startDate:yyyy-MM-dd}' AND DATE(billing.kdrq) <= '{endDate:yyyy-MM-dd}' - ), 0) as CompletedPerformance + ), 0) as BillingPerformance, + -- 退款业绩总和(退卡业绩) + COALESCE(( + SELECT SUM(refund.tkje) + FROM lq_hytk_hytk refund + WHERE refund.md = store.F_Id + AND refund.F_IsEffective = 1 + AND DATE(refund.tksj) >= '{startDate:yyyy-MM-dd}' + AND DATE(refund.tksj) <= '{endDate:yyyy-MM-dd}' + ), 0) as RefundPerformance FROM lq_mdxx store WHERE 1=1 {storeFilter} - ORDER BY CompletedPerformance DESC"; + ORDER BY (BillingPerformance - RefundPerformance) DESC"; var result = await _db.Ado.SqlQueryAsync(sql); var outputList = result.Select(item => { var targetPerformance = Convert.ToDecimal(item.TargetPerformance); - var completedPerformance = Convert.ToDecimal(item.CompletedPerformance); - var completionRate = targetPerformance > 0 ? (completedPerformance / targetPerformance * 100m) : 0m; + var billingPerformance = Convert.ToDecimal(item.BillingPerformance); + var refundPerformance = Convert.ToDecimal(item.RefundPerformance); + var actualPerformance = billingPerformance - refundPerformance; + var completionRate = targetPerformance > 0 ? (actualPerformance / targetPerformance * 100m) : 0m; return new StorePerformanceCompletionOutput { StoreId = item.StoreId, StoreName = item.StoreName, TargetPerformance = targetPerformance, - CompletedPerformance = completedPerformance, + BillingPerformance = billingPerformance, + RefundPerformance = refundPerformance, + ActualPerformance = actualPerformance, + CompletedPerformance = actualPerformance, // 保持兼容性 CompletionRate = decimal.Round(completionRate, 2) }; }).ToList(); diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqTkjlbService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqTkjlbService.cs index baa800e..bdf54a4 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend/LqTkjlbService.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend/LqTkjlbService.cs @@ -238,7 +238,7 @@ namespace NCC.Extend.LqTkjlb Pxjg = 0, Yjsj = DateTime.Now, MemberId = MemberId, - ProjectNumber = 0, + ProjectNumber = 1, IsEnabled = StatusEnum.有效.GetHashCode(), SourceType = "体验", TotalPrice = 0, diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqXhFeedbackService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqXhFeedbackService.cs index 282ae44..e3681fb 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend/LqXhFeedbackService.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend/LqXhFeedbackService.cs @@ -92,17 +92,21 @@ namespace NCC.Extend /// ```json /// { /// "consumeId": "耗卡记录ID", + /// "memberId": "会员ID", /// "beforeImage": "前图片路径或Base64", /// "afterImage": "后图片路径或Base64", - /// "remark": "反馈备注" + /// "remark": "反馈备注", + /// "kjbRemark": "科技部备注" /// } /// ``` /// /// 参数说明: /// - consumeId: 耗卡记录ID(必填) + /// - memberId: 会员ID(可选) /// - beforeImage: 前图片(可选) /// - afterImage: 后图片(可选) /// - remark: 反馈备注(可选) + /// - kjbRemark: 科技部备注(可选) /// /// 创建参数 /// 创建的耗卡反馈记录 @@ -125,6 +129,7 @@ namespace NCC.Extend entity.CreateUser = _userManager.UserId; entity.CreateTime = DateTime.Now; entity.UpdateTime = DateTime.Now; + entity.MemberId = consumeRecord.Hy; await _db.Insertable(entity).ExecuteCommandAsync(); return entity.Adapt(); } @@ -147,18 +152,22 @@ namespace NCC.Extend /// { /// "id": "反馈记录ID", /// "consumeId": "耗卡记录ID", + /// "memberId": "会员ID", /// "beforeImage": "前图片路径或Base64", /// "afterImage": "后图片路径或Base64", - /// "remark": "反馈备注" + /// "remark": "反馈备注", + /// "kjbRemark": "科技部备注" /// } /// ``` /// /// 参数说明: /// - id: 反馈记录ID(必填) /// - consumeId: 耗卡记录ID(必填) + /// - memberId: 会员ID(可选) /// - beforeImage: 前图片(可选) /// - afterImage: 后图片(可选) /// - remark: 反馈备注(可选) + /// - kjbRemark: 科技部备注(可选) /// /// 更新参数 /// 更新后的耗卡反馈记录 @@ -187,7 +196,9 @@ namespace NCC.Extend entity.BeforeImage = input.BeforeImage; entity.AfterImage = input.AfterImage; entity.Remark = input.Remark; + entity.KjbRemark = input.KjbRemark; entity.UpdateTime = DateTime.Now; + entity.MemberId = consumeRecord.Hy; await _db.Updateable(entity).ExecuteCommandAsync(); return entity.Adapt(); } @@ -272,9 +283,11 @@ namespace NCC.Extend { id = it.Id, consumeId = it.ConsumeId, + memberId = it.MemberId, beforeImage = it.BeforeImage, afterImage = it.AfterImage, remark = it.Remark, + kjbRemark = it.KjbRemark, createUser = it.CreateUser, createUserName = SqlFunc.Subqueryable().Where(x => x.Id == it.CreateUser).Select(x => x.RealName), createTime = it.CreateTime, -- libgit2 0.21.4