diff --git a/Edu.Model/ViewModel/Customer/RB_Student_Visit_Extend.cs b/Edu.Model/ViewModel/Customer/RB_Student_Visit_Extend.cs index 54f05d203682805ef35a0ed88d1d8da7ba641abf..e06670bedc64c38690d6fc9a5a1138727e710c65 100644 --- a/Edu.Model/ViewModel/Customer/RB_Student_Visit_Extend.cs +++ b/Edu.Model/ViewModel/Customer/RB_Student_Visit_Extend.cs @@ -75,5 +75,10 @@ namespace Edu.Model.ViewModel.Customer /// 到访次数 /// </summary> public int VisitCount { get; set; } + + /// <summary> + /// åˆ›å»ºäººã€æŸ¥è¯¢ä½¿ç”¨ã€‘ + /// </summary> + public string QCreateByIds { get; set; } } } diff --git a/Edu.Model/ViewModel/Reserve/RB_Visitor_Reserve_Extend.cs b/Edu.Model/ViewModel/Reserve/RB_Visitor_Reserve_Extend.cs index 0603c0359e9b9e1a427c4994f2166a705dba8123..d056818d548c09b33800c71a949e32a8006ddb52 100644 --- a/Edu.Model/ViewModel/Reserve/RB_Visitor_Reserve_Extend.cs +++ b/Edu.Model/ViewModel/Reserve/RB_Visitor_Reserve_Extend.cs @@ -180,5 +180,10 @@ namespace Edu.Model.ViewModel.Reserve /// 查询日期 /// </summary> public string QDate { get; set; } + + /// <summary> + /// 创建人 + /// </summary> + public string QCreateByIds { get; set; } } } diff --git a/Edu.Module.Customer/MarketConsultantModule.cs b/Edu.Module.Customer/MarketConsultantModule.cs index c7533cb87cdc7d35bea9c63161f26d4a0f4d0d51..b55c04a08463550a4dc94c71886b7627c1dee700 100644 --- a/Edu.Module.Customer/MarketConsultantModule.cs +++ b/Edu.Module.Customer/MarketConsultantModule.cs @@ -1,7 +1,12 @@ -using Edu.Repository.User; +using Edu.Repository.Customer; +using Edu.Repository.Reserve; +using Edu.Repository.User; using System; using System.Collections.Generic; using System.Text; +using System.Linq; +using Edu.Model.ViewModel.Customer; +using Edu.Repository.Sell; namespace Edu.Module.Customer { @@ -15,6 +20,27 @@ namespace Edu.Module.Customer /// </summary> private readonly RB_StudentRepository studentRepository = new RB_StudentRepository(); + /// <summary> + /// å¦å‘˜è·Ÿè¿›ä»“储层对象 + /// </summary> + private readonly RB_Student_FollowRepository student_FollowRepository = new RB_Student_FollowRepository(); + + /// <summary> + /// å¦å‘˜è¯•å¬ä»“储层对象 + /// </summary> + private readonly RB_Visitor_ReserveRepository visitor_ReserveRepository = new RB_Visitor_ReserveRepository(); + + /// <summary> + /// å¦å‘˜åˆ°è®¿ä»“储层对象 + /// </summary> + private readonly RB_Student_VisitRepository student_VisitRepository = new RB_Student_VisitRepository(); + + /// <summary> + /// 订å•仓储层对象 + /// </summary> + private readonly RB_OrderRepository orderRepository = new RB_OrderRepository(); + + /// <summary> /// 市场人员统计 /// </summary> @@ -22,9 +48,51 @@ namespace Edu.Module.Customer public object MarketStaticModule(string EmpIds,string StartTime,string EndTime) { object obj = new object(); - var totalTotal =studentRepository.GetStudentClueRepository(EmpIds, StartTime, EndTime); + DateTime start = Convert.ToDateTime(StartTime); + DateTime end = Convert.ToDateTime(EndTime); + var days = (end - start).Days; + //线索列表 + var studentList =studentRepository.GetStudentClueRepository(EmpIds, StartTime, EndTime); + + //试å¬åˆ—表 + var trialLessonList = visitor_ReserveRepository.GetVisitorReserveStaticRepository(new Model.ViewModel.Reserve.RB_Visitor_Reserve_Extend() + { + QCreateByIds = EmpIds, + StartClassDate = StartTime, + EndClassDate = EndTime + }); + //到访列表 + var visitList = student_VisitRepository.GetStudentVisitStaticRepository(new RB_Student_Visit_Extend() + { + QCreateByIds = EmpIds, + StartDate = StartTime, + EndDate = EndTime + }); + List<object> dayList = new List<object>(); + for (var i = 0; i < days; i++) + { + DateTime newDate = start.AddDays(i); + var tempStuList = studentList?.Where(qitem => Common.ConvertHelper.FormatMonthDay(qitem.CreateTime) == Common.ConvertHelper.FormatMonthDay(newDate))?.ToList(); + var tempTrialLessonList = trialLessonList?.Where(qitem => Common.ConvertHelper.FormatMonthDay(qitem.CreateTime) == Common.ConvertHelper.FormatMonthDay(newDate))?.ToList(); + var tempVisitList= visitList?.Where(qitem => Common.ConvertHelper.FormatMonthDay(qitem.CreateTime) == Common.ConvertHelper.FormatMonthDay(newDate))?.ToList(); + + dayList.Add(new + { + DayStr = Common.ConvertHelper.FormatMonthDay(newDate), + //æ–°å¢žçº¿ç´¢æ¡æ•° + ClueCount = tempStuList?.FirstOrDefault()?.ClueCount ?? 0, + //试å¬äººæ•° + TrialLessonCount = tempTrialLessonList?.Sum(qitem => qitem.TrialLessonCount) ?? 0, + //到访人数 + VisitCount = tempVisitList?.Sum(qitem => qitem.VisitCount) ?? 0, + }); + } + obj = new + { + dayList + }; return obj; } @@ -35,7 +103,7 @@ namespace Edu.Module.Customer public object ConsultantStaticModule(string EmpIds, string StartTime, string EndTime) { object obj = new object(); - + var totalTotal = studentRepository.GetStudentClueRepository(EmpIds, StartTime, EndTime); return obj; } } diff --git a/Edu.Repository/Customer/RB_Student_VisitRepository.cs b/Edu.Repository/Customer/RB_Student_VisitRepository.cs index f51d6baa169f74b2115585e14c47a7426edc45bb..2219a3b616ed9deaf14a5a5b8e5a216b4f63f0b6 100644 --- a/Edu.Repository/Customer/RB_Student_VisitRepository.cs +++ b/Edu.Repository/Customer/RB_Student_VisitRepository.cs @@ -116,6 +116,10 @@ WHERE 1=1 { builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Visit_Extend.CreateBy), query.CreateBy); } + if (!string.IsNullOrEmpty(query.QCreateByIds)) + { + builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Student_Visit_Extend.CreateBy), query.QCreateByIds); + } if (!string.IsNullOrEmpty(query.StartDate)) { builder.AppendFormat(" AND A.{0}>='{1}' ", nameof(RB_Student_Visit_Extend.CreateTime), Common.ConvertHelper.FormatDate(query.StartDate)); diff --git a/Edu.Repository/Reserve/RB_Visitor_ReserveRepository.cs b/Edu.Repository/Reserve/RB_Visitor_ReserveRepository.cs index d4bd4bda8bba1513fe66d5b5a328f2e807b8174b..bf5e4e0eb416663b68e5e760ef7fd503ef661fa7 100644 --- a/Edu.Repository/Reserve/RB_Visitor_ReserveRepository.cs +++ b/Edu.Repository/Reserve/RB_Visitor_ReserveRepository.cs @@ -283,6 +283,10 @@ WHERE 1=1 { builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.CreateBy), query.CreateBy); } + if (!string.IsNullOrEmpty(query.QCreateByIds)) + { + builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Visitor_Reserve_Extend.CreateBy), query.QCreateByIds); + } if (!string.IsNullOrEmpty(query.QDate)) { //指定日期的试å¬è¯¾æ•°é‡ diff --git a/Edu.WebApi/Controllers/User/UserCenterController.cs b/Edu.WebApi/Controllers/User/UserCenterController.cs index 297c0e938ecf8fa18602b340f0ec34feabaeeb3e..d739619a9e515fe6d58c6c1d96479cd8958db0c9 100644 --- a/Edu.WebApi/Controllers/User/UserCenterController.cs +++ b/Edu.WebApi/Controllers/User/UserCenterController.cs @@ -2531,8 +2531,8 @@ namespace Edu.WebApi.Controllers.User public ApiResult MarketStatic() { string employeeIds = ""; - string startTime = ""; - string endTime = ""; + string startTime = "2022-01-01"; + string endTime = "2022-01-30"; var obj = marketConsultantModule.MarketStaticModule(employeeIds, startTime, endTime); return ApiResult.Success(data: obj); }