diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/HealthCoachStatisticsOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/HealthCoachStatisticsOutput.cs index 43973dd..76e94d3 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/HealthCoachStatisticsOutput.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/HealthCoachStatisticsOutput.cs @@ -78,6 +78,6 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb /// /// 消耗项目数 - 统计该健康师在指定时间周期内消耗的项目总次数 /// - public int projectCount { get; set; } + public decimal projectCount { get; set; } } } diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqDailyReportService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqDailyReportService.cs index fc78e8d..9f0cdb0 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend/LqDailyReportService.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend/LqDailyReportService.cs @@ -1157,11 +1157,13 @@ namespace NCC.Extend techDept.F_Id as TechDepartmentId, techDept.F_FullName as TechDepartmentName, ord.kjbls as TeacherId, + MAX(user.F_RealName) as TeacherName, SUM(ord.kjblsyj) as OrderAchievement FROM lq_kd_kjbsyj ord INNER JOIN lq_kd_kdjlb kdjlb ON ord.glkdbh = kdjlb.F_Id INNER JOIN lq_mdxx store ON kdjlb.djmd = store.F_Id LEFT JOIN base_organize techDept ON store.kjb = techDept.F_Id + LEFT JOIN BASE_USER user ON ord.kjbls = user.F_Id WHERE ord.F_IsEffective = 1 AND kdjlb.F_IsEffective = 1 AND DATE(kdjlb.kdrq) >= '{startDate:yyyy-MM-dd}' @@ -1260,13 +1262,21 @@ namespace NCC.Extend TechDepartmentId = techDeptId, TechDepartmentName = techDeptName, TeacherId = teacherId, - TeacherName = null, + TeacherName = item.TeacherName?.ToString(), CustomerCount = 0, ConsumeProjectCount = 0, ConsumeAchievement = 0, OrderAchievement = 0 }; } + else + { + // 如果消耗数据中有,但名称为空,尝试从开单数据中获取 + if (string.IsNullOrEmpty(teacherDict[teacherId].TeacherName)) + { + teacherDict[teacherId].TeacherName = item.TeacherName?.ToString(); + } + } teacherDict[teacherId].OrderAchievement += orderAchievement; } @@ -1374,6 +1384,29 @@ namespace NCC.Extend teacherDict[teacherId].CustomerCount = Convert.ToInt32(item.CustomerCount); } } + + // 第五步:统一查询所有用户名称,确保所有用户都能获取到名称 + var teacherNamesSql = $@" + SELECT + F_Id as TeacherId, + F_RealName as TeacherName + FROM BASE_USER + WHERE F_Id IN ('{teacherIdsStr}')"; + + var teacherNamesResult = await _db.Ado.SqlQueryAsync(teacherNamesSql); + foreach (var item in teacherNamesResult ?? Enumerable.Empty()) + { + var teacherId = item.TeacherId?.ToString(); + var teacherName = item.TeacherName?.ToString(); + if (!string.IsNullOrEmpty(teacherId) && teacherDict.ContainsKey(teacherId)) + { + // 如果名称为空,则填充;如果已有名称,保持不变 + if (string.IsNullOrEmpty(teacherDict[teacherId].TeacherName) && !string.IsNullOrEmpty(teacherName)) + { + teacherDict[teacherId].TeacherName = teacherName; + } + } + } } var outputList = teacherDict.Values diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs index 11e4fb7..2006ffc 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs @@ -3071,7 +3071,7 @@ namespace NCC.Extend.LqKdKdjlb COALESCE(consume_stats.ConsumeAmount, 0) as ConsumeAmount, COALESCE(consume_stats.HeadCount, 0) as HeadCount, COALESCE(consume_stats.PersonCount, 0) as PersonCount, - COALESCE(consume_stats.ProjectCount, 0) as ProjectCount + CAST(COALESCE(consume_stats.ProjectCount, 0) AS DECIMAL(18,2)) as ProjectCount FROM BASE_USER u LEFT JOIN lq_mdxx md ON u.F_MDID = md.F_Id @@ -3135,7 +3135,7 @@ namespace NCC.Extend.LqKdKdjlb SUM(jksyj.jksyj) as ConsumeAmount, COUNT(DISTINCT hyhk.hy) as HeadCount, COUNT(DISTINCT CONCAT(jksyj.jkszh, '_', hyhk.hy, '_', DATE(hyhk.hksj))) as PersonCount, - SUM(jksyj.F_kdpxNumber) as ProjectCount + CAST(SUM(jksyj.F_kdpxNumber) AS DECIMAL(18,2)) as ProjectCount FROM lq_xh_jksyj jksyj INNER JOIN lq_xh_hyhk hyhk ON jksyj.glkdbh = hyhk.F_Id WHERE jksyj.jkszh IS NOT NULL