Commit be1472b6 authored by liudong1993's avatar liudong1993

Merge branch 'master' of http://gitlab.oytour.com/Kui2/education

parents 88f570dc 08ebe0b7
...@@ -19,5 +19,26 @@ namespace Edu.Model.ViewModel.Mall ...@@ -19,5 +19,26 @@ namespace Edu.Model.ViewModel.Mall
/// 创建人 /// 创建人
/// </summary> /// </summary>
public string CreateByName { get; set; } public string CreateByName { get; set; }
/// <summary>
/// 学员信息
/// </summary>
public List<GuestItem> GuestIdList { get; set; }
}
/// <summary>
/// 学员信息
/// </summary>
public class GuestItem
{
/// <summary>
/// 学员编号RB_Order_Guest表编号
/// </summary>
public int GuestId { get; set; }
/// <summary>
/// 学员姓名
/// </summary>
public string GuestName { get; set; }
} }
} }
...@@ -314,5 +314,10 @@ namespace Edu.Model.ViewModel.Sell ...@@ -314,5 +314,10 @@ namespace Edu.Model.ViewModel.Sell
/// 学员数量 /// 学员数量
/// </summary> /// </summary>
public int StudentNum { get; set; } public int StudentNum { get; set; }
/// <summary>
/// 学员账号编号
/// </summary>
public int Account_Id { get; set; }
} }
} }
\ No newline at end of file
...@@ -1127,6 +1127,7 @@ namespace Edu.Module.Course ...@@ -1127,6 +1127,7 @@ namespace Edu.Module.Course
qitem.OrderId, qitem.OrderId,
GuestId = qitem.Id, GuestId = qitem.Id,
qitem.CourseId, qitem.CourseId,
qitem.Account_Id,
IsCheck = false, IsCheck = false,
}) })
}; };
......
...@@ -52,6 +52,16 @@ namespace Edu.Module.Goods ...@@ -52,6 +52,16 @@ namespace Edu.Module.Goods
public bool SetActivitySurveyGuestModule(RB_ActivitySurvey_Guest_Extend model) public bool SetActivitySurveyGuestModule(RB_ActivitySurvey_Guest_Extend model)
{ {
bool flag = false; bool flag = false;
foreach (var item in model.GuestIdList)
{
//var oldModel = activitySurvey_GuestRepository.GetActivitySurveyGuestListRepository(new RB_ActivitySurvey_Guest_Extend()
//{
// GuestId = item.GuestId,
// SurveyId = model.SurveyId
//})?.FirstOrDefault();
//model.Id = oldModel?.Id ?? 0;
model.GuestId = item.GuestId;
if (model.Id > 0) if (model.Id > 0)
{ {
Dictionary<string, object> fileds = new Dictionary<string, object>() Dictionary<string, object> fileds = new Dictionary<string, object>()
...@@ -69,6 +79,8 @@ namespace Edu.Module.Goods ...@@ -69,6 +79,8 @@ namespace Edu.Module.Goods
model.Id = newId; model.Id = newId;
flag = newId > 0; flag = newId > 0;
} }
}
return flag; return flag;
} }
...@@ -95,6 +107,12 @@ namespace Edu.Module.Goods ...@@ -95,6 +107,12 @@ namespace Edu.Module.Goods
public RB_ActivitySurvey_Guest_Extend GetActivitySurveyGuestModule(int Id) public RB_ActivitySurvey_Guest_Extend GetActivitySurveyGuestModule(int Id)
{ {
var extModel = activitySurvey_GuestRepository.GetEntity<RB_ActivitySurvey_Guest_Extend>(Id); var extModel = activitySurvey_GuestRepository.GetEntity<RB_ActivitySurvey_Guest_Extend>(Id);
if (extModel != null && extModel.GuestId > 0)
{
var stuModel = accountRepository.GetStudentExt(new RB_Account_ViewModel() { QIds = extModel.GuestId.ToString() }).FirstOrDefault();
extModel.GuestIdList = new List<GuestItem>();
extModel.GuestIdList.Add(new GuestItem() { GuestId = extModel.GuestId, GuestName = stuModel.AccountName });
}
return extModel; return extModel;
} }
......
...@@ -1264,27 +1264,105 @@ namespace Edu.Module.User ...@@ -1264,27 +1264,105 @@ namespace Edu.Module.User
QueryDate = Common.ConvertHelper.FormatDate(DateTime.Now), QueryDate = Common.ConvertHelper.FormatDate(DateTime.Now),
CreateBy = CreateBy CreateBy = CreateBy
}; };
var list = student_AppointmentRepository.GetStudentAppointmentPageRepository(pageIndex,pageSize,out rowsCount, query); var list = student_AppointmentRepository.GetStudentAppointmentPageRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
string createByIds = string.Join(",", list.Select(qitem => qitem.CreateBy)); //客户阶段列表
List<RB_Account_ViewModel> empList = new List<RB_Account_ViewModel>(); var stageList = stageRepository.GetStageListRepostory(new Model.Entity.System.RB_Stage()
if (!string.IsNullOrEmpty(createByIds)) {
Group_Id = list[0].Group_Id
});
//学员类型列表
var stuTypeList = student_TypeRepository.GetStudentTypeListRepository(new RB_Student_Type_Extend());
//学习目的
var goalList = learningGoalsRepository.GetLearningGoalsListRepository(new Model.ViewModel.System.RB_LearningGoals_Extend());
//渠道列表
var channelList = channelRepository.GetChannelListRepository(new Model.ViewModel.System.RB_Channel_Extend());
//客户需求
var needList = needsRepository.GetNeedsListRepository(new Model.ViewModel.System.RB_Needs_Extend());
string stuIds = string.Join(",", list.Select(qitem => qitem.StuId));
var stuList = studentRepository.GetStudentListRepository(new RB_Student_ViewModel() { StuIds = stuIds }, isQueryCreateType: true, isQueryAssist: false);
//协助人员列表
var assistList = student_AssistRepository.GetStudentAssistListRepository(new RB_Student_Assist_Extend()
{
QStuIds = stuIds
});
List<int> empIds = new List<int>();
//内部介绍人
List<int> stuSourceIdList = Common.ConvertHelper.StringToList(string.Join(",", stuList.Where(qitem => qitem.CreateType == StuCreateTypeEnum.InternalIntroduction).Select(qitem => qitem.StuSourceId)));
if (stuSourceIdList != null && stuSourceIdList.Count > 0)
{
empIds.AddRange(stuSourceIdList);
}
//协助人员
List<int> assistIdList = Common.ConvertHelper.StringToList(string.Join(",", assistList.Select(qitem => qitem.AssistId)));
if (assistIdList != null && assistIdList.Count > 0)
{
empIds.AddRange(assistIdList);
}
//跟进人员创建人
List<int> createByIdList = Common.ConvertHelper.StringToList(string.Join(",", list.Select(qitem => qitem.CreateBy)));
if (createByIdList != null && createByIdList.Count > 0)
{ {
empList = accountModule.GetAccountListExtModule(new RB_Account_ViewModel() { QIds = createByIds }); empIds.AddRange(createByIdList);
}
//学员负责人
List<int> stuCreateByList = Common.ConvertHelper.StringToList(string.Join(",", stuList.Select(qitem => qitem.CreateBy)));
if (stuCreateByList != null && stuCreateByList.Count > 0)
{
empIds.AddRange(stuCreateByList);
}
string createIds = string.Join(",", empIds);
var empList = new List<RB_Account_ViewModel>();
if (!string.IsNullOrEmpty(createIds))
{
empList = accountModule.GetAccountListExtModule(new RB_Account_ViewModel() { QIds = createIds });
} }
foreach (var item in list) foreach (var item in list)
{ {
var tempEmp = empList?.FirstOrDefault(qitem => qitem.Id == item.CreateBy); var tempEmp = empList?.FirstOrDefault(qitem => qitem.Id == item.CreateBy);
var tempStudent = stuList?.FirstOrDefault(qitem => qitem.StuId == item.StuId);
if (tempStudent != null)
{
var tempAssistList = assistList?.Where(qitem => qitem.StuId == item.StuId)?.ToList();
if (tempAssistList != null && tempAssistList.Count > 0)
{
foreach (var subItem in tempAssistList)
{
subItem.AssistName = empList?.FirstOrDefault(qitem => qitem.Id == subItem.AssistId)?.AccountName ?? "";
}
}
tempStudent.AssistList = tempAssistList;
}
result.Add(new result.Add(new
{ {
item.Id, item.Id,
item.StuId, item.StuId,
item.StuName, item.StuName,
item.CreateBy, item.CreateBy,
AppointmentTime = Common.ConvertHelper.FormatTime(item.AppointmentTime),
EmployeeName = tempEmp?.AccountName, EmployeeName = tempEmp?.AccountName,
CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime), CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime),
item.Feedback, item.Feedback,
CreateTypeName = tempStudent?.CreateType.ToName() ?? "",
StuSourceId = tempStudent?.StuSourceId ?? 0,
StuSourceIdName = tempStudent?.StuSourceIdName ?? "",
AssistList = tempStudent?.AssistList?.Select(qitem => new
{
qitem.AssistType,
AssistTypeName = qitem.AssistType.ToName(),
qitem.AssistId,
qitem.AssistName,
}),
StuStageName = stageList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuStage)?.StageName ?? "",
StuTypeName = stuTypeList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuType)?.Name ?? "",
StuCreateByName = empList?.FirstOrDefault(qitem => qitem.Id == tempStudent.CreateBy)?.AccountName ?? "",
StuChannelName = channelList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuChannel)?.Name ?? "",
StuPurposeName = goalList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuPurpose)?.Name ?? "",
StuNeedsName = needList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuNeeds)?.Name ?? "",
}); });
} }
} }
...@@ -1292,7 +1370,7 @@ namespace Edu.Module.User ...@@ -1292,7 +1370,7 @@ namespace Edu.Module.User
} }
/// <summary> /// <summary>
/// 今日需联系线索(之前预约或者24小时内收到的新线索 /// 今日需联系学员(之前预约的跟进学员或本周期内需要跟进的学员
/// </summary> /// </summary>
/// <param name="pageIndex"></param> /// <param name="pageIndex"></param>
/// <param name="pageSize"></param> /// <param name="pageSize"></param>
...@@ -1302,32 +1380,104 @@ namespace Edu.Module.User ...@@ -1302,32 +1380,104 @@ namespace Edu.Module.User
public List<object> GetTodayConnectPageModule(int pageIndex, int pageSize, out long rowsCount, int CreateBy) public List<object> GetTodayConnectPageModule(int pageIndex, int pageSize, out long rowsCount, int CreateBy)
{ {
List<object> result = new List<object>(); List<object> result = new List<object>();
var query = new RB_Student_Appointment_Extend()
{ var list = student_AppointmentRepository.GetTodayConnectPageRepository(pageIndex, pageSize, out rowsCount, Common.ConvertHelper.FormatDate(DateTime.Now), CreateBy);
QueryDate = Common.ConvertHelper.FormatDate(DateTime.Now),
CreateBy = CreateBy
};
var list = student_AppointmentRepository.GetStudentAppointmentPageRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
string createByIds = string.Join(",", list.Select(qitem => qitem.CreateBy)); //客户阶段列表
List<RB_Account_ViewModel> empList = new List<RB_Account_ViewModel>(); var stageList = stageRepository.GetStageListRepostory(new Model.Entity.System.RB_Stage()
if (!string.IsNullOrEmpty(createByIds))
{ {
empList = accountModule.GetAccountListExtModule(new RB_Account_ViewModel() { QIds = createByIds }); Group_Id = list[0].Group_Id
});
//学员类型列表
var stuTypeList = student_TypeRepository.GetStudentTypeListRepository(new RB_Student_Type_Extend());
//学习目的
var goalList = learningGoalsRepository.GetLearningGoalsListRepository(new Model.ViewModel.System.RB_LearningGoals_Extend());
//渠道列表
var channelList = channelRepository.GetChannelListRepository(new Model.ViewModel.System.RB_Channel_Extend());
//客户需求
var needList = needsRepository.GetNeedsListRepository(new Model.ViewModel.System.RB_Needs_Extend());
string stuIds = string.Join(",", list.Select(qitem => qitem.StuId));
var stuList = studentRepository.GetStudentListRepository(new RB_Student_ViewModel() { StuIds = stuIds }, isQueryCreateType: true, isQueryAssist: false);
//协助人员列表
var assistList = student_AssistRepository.GetStudentAssistListRepository(new RB_Student_Assist_Extend()
{
QStuIds = stuIds
});
List<int> empIds = new List<int>();
//内部介绍人
List<int> stuSourceIdList = Common.ConvertHelper.StringToList(string.Join(",", stuList.Where(qitem => qitem.CreateType == StuCreateTypeEnum.InternalIntroduction).Select(qitem => qitem.StuSourceId)));
if (stuSourceIdList != null && stuSourceIdList.Count > 0)
{
empIds.AddRange(stuSourceIdList);
} }
//协助人员
List<int> assistIdList = Common.ConvertHelper.StringToList(string.Join(",", assistList.Select(qitem => qitem.AssistId)));
if (assistIdList != null && assistIdList.Count > 0)
{
empIds.AddRange(assistIdList);
}
//跟进人员创建人
List<int> createByIdList = Common.ConvertHelper.StringToList(string.Join(",", list.Select(qitem => qitem.CreateBy)));
if (createByIdList != null && createByIdList.Count > 0)
{
empIds.AddRange(createByIdList);
}
//学员负责人
List<int> stuCreateByList = Common.ConvertHelper.StringToList(string.Join(",", stuList.Select(qitem => qitem.CreateBy)));
if (stuCreateByList != null && stuCreateByList.Count > 0)
{
empIds.AddRange(stuCreateByList);
}
string createIds = string.Join(",", empIds);
var empList = new List<RB_Account_ViewModel>();
if (!string.IsNullOrEmpty(createIds))
{
empList = accountModule.GetAccountListExtModule(new RB_Account_ViewModel() { QIds = createIds });
}
foreach (var item in list) foreach (var item in list)
{ {
var tempEmp = empList?.FirstOrDefault(qitem => qitem.Id == item.CreateBy); var tempEmp = empList?.FirstOrDefault(qitem => qitem.Id == item.CreateBy);
var tempStudent = stuList?.FirstOrDefault(qitem => qitem.StuId == item.StuId);
if (tempStudent != null)
{
var tempAssistList = assistList?.Where(qitem => qitem.StuId == item.StuId)?.ToList();
if (tempAssistList != null && tempAssistList.Count > 0)
{
foreach (var subItem in tempAssistList)
{
subItem.AssistName = empList?.FirstOrDefault(qitem => qitem.Id == subItem.AssistId)?.AccountName ?? "";
}
}
tempStudent.AssistList = tempAssistList;
}
result.Add(new result.Add(new
{ {
item.Id,
item.StuId, item.StuId,
item.StuName, item.StuName,
item.CreateBy, item.CreateBy,
EmployeeName = tempEmp?.AccountName, CreateByName = tempEmp?.AccountName,
CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime), CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime),
item.Feedback, CreateTypeName = tempStudent?.CreateType.ToName() ?? "",
StuSourceId = tempStudent?.StuSourceId ?? 0,
StuSourceIdName = tempStudent?.StuSourceIdName ?? "",
AssistList = tempStudent?.AssistList?.Select(qitem => new
{
qitem.AssistType,
AssistTypeName = qitem.AssistType.ToName(),
qitem.AssistId,
qitem.AssistName,
}),
StuStageName = stageList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuStage)?.StageName ?? "",
StuTypeName = stuTypeList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuType)?.Name ?? "",
StuCreateByName = empList?.FirstOrDefault(qitem => qitem.Id == tempStudent.CreateBy)?.AccountName ?? "",
StuChannelName = channelList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuChannel)?.Name ?? "",
StuPurposeName = goalList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuPurpose)?.Name ?? "",
StuNeedsName = needList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuNeeds)?.Name ?? "",
}); });
} }
} }
...@@ -1335,64 +1485,430 @@ namespace Edu.Module.User ...@@ -1335,64 +1485,430 @@ namespace Edu.Module.User
} }
/// <summary> /// <summary>
/// 获取马上要毕业的学生 /// 分配给我的线索 (分配给我,但是没有跟进的线索)
/// </summary> /// </summary>
/// <param name="pageIndex"></param> /// <param name="pageIndex"></param>
/// <param name="pageSize"></param> /// <param name="pageSize"></param>
/// <param name="rowsCount"></param> /// <param name="rowsCount"></param>
/// <param name="UserId"></param> /// <param name="UserId"></param>
/// <returns></returns> /// <returns></returns>
public List<object> GetStraightwayGraduateStudentModule(int pageIndex, int pageSize, out long rowsCount, int UserId) public List<object> GetMyClueModule(int pageIndex, int pageSize, out long rowsCount, int UserId)
{ {
List<object> result = new List<object>(); rowsCount = 0;
var list = order_GuestRepository.GetAllStudentPageRepository(pageIndex, pageSize, out rowsCount, new Model.ViewModel.Sell.RB_Order_Guest_Extend() var query = new RB_Student_ViewModel()
{ {
IsImmediatelyGraduate = 1, IsQueryNotFollow = 1,
IsQueryMyStu = 1,
CreateBy = UserId CreateBy = UserId
}); };
List<object> result = new List<object>();
var list = studentRepository.GetStudentPageListRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
//客户阶段列表
var stageList = stageRepository.GetStageListRepostory(new Model.Entity.System.RB_Stage()
{
Group_Id = list[0].Group_Id
});
//学员类型列表
var stuTypeList = student_TypeRepository.GetStudentTypeListRepository(new RB_Student_Type_Extend());
string stuIds = string.Join(",", list.Select(qitem => qitem.StuId));
//学员跟进
var followList = followRepository.GetStudentFollowListRepository(new RB_Student_Follow_Extend()
{
QStuIds = stuIds
});
//学员订单
var stuOrderList = student_OrderGuestRepository.GetStrOrderGuestListStaticRepository(new RB_Student_OrderGuest_ViewModel()
{
QStudentIds = stuIds
});
//本周新增
var stuList = studentRepository.GetCustomerStuWeekListRepository(new RB_Student_ViewModel()
{
CustomerId = query.CustomerId
});
//协助人员列表
var assistList = student_AssistRepository.GetStudentAssistListRepository(new RB_Student_Assist_Extend()
{
QStuIds = stuIds
});
//内部介绍人
List<int> empIdList = Common.ConvertHelper.StringToList(string.Join(",", list.Where(qitem => qitem.CreateType == StuCreateTypeEnum.InternalIntroduction).Select(qitem => qitem.StuSourceId)));
List<int> aIds = Common.ConvertHelper.StringToList(string.Join(",", assistList.Select(qitem => qitem.AssistId)));
List<RB_Account_ViewModel> accountList = new List<RB_Account_ViewModel>();
if (aIds != null && aIds.Count > 0)
{
empIdList.AddRange(aIds);
}
if (empIdList != null && empIdList.Count > 0)
{
accountList = accountModule.GetAccountListExtModule(new RB_Account_ViewModel() { QIds = string.Join(",", empIdList) });
}
//学员到访统计
var visitList = student_VisitRepository.GetStudentVisitStatic_V2Repository(new RB_Student_Visit_Extend()
{
QStuIds = stuIds,
StartDate = query.StartTime,
EndDate = query.EndTime,
});
//学员试听统计
var stuReserveList = visitor_ReserveRepository.GetStuReserveStaticsListRepository(new Model.ViewModel.Reserve.RB_Visitor_Reserve_Extend()
{
QVisitor_Ids = stuIds
});
//同业录入列表
List<RB_Customer_Extend> customerList = new List<RB_Customer_Extend>();
List<int> customerIdList = Common.ConvertHelper.StringToList(string.Join(",", list.Where(qitem => qitem.CreateType == StuCreateTypeEnum.CustomerInput).Select(qitem => qitem.StuSourceId)));
if (customerIdList != null && customerIdList.Count > 0)
{
customerList = customerRepository.GetCustomerListRepository(new RB_Customer_Extend()
{
CustomerIds = string.Join(",", customerIdList)
});
}
List<RB_Student_ViewModel> transStudentList = new List<RB_Student_ViewModel>();
//转介人列表
List<int> transIdList = Common.ConvertHelper.StringToList(string.Join(",", list.Where(qitem => qitem.CreateType == StuCreateTypeEnum.TransIntroduction).Select(qitem => qitem.StuSourceId)));
if (transIdList != null && transIdList.Count > 0)
{
transStudentList = studentRepository.GetStudentListRepository(new RB_Student_ViewModel()
{
StuIds = string.Join(",", transIdList)
});
}
//学习目的
string goalIds = string.Join(",", list.Select(qitem => qitem.StuPurpose));
var goalList = learningGoalsRepository.GetLearningGoalsListRepository(new Model.ViewModel.System.RB_LearningGoals_Extend()
{
QGoalIds = goalIds
});
string channelIds = string.Join(",", list.Select(qitem => qitem.StuChannel));
var channelList = channelRepository.GetChannelListRepository(new Model.ViewModel.System.RB_Channel_Extend()
{
QChannelIds = channelIds
});
var needIds = string.Join(",", list.Select(qitem => qitem.StuNeeds));
var needList = needsRepository.GetNeedsListRepository(new Model.ViewModel.System.RB_Needs_Extend()
{
QNeedsId = needIds
});
//课程顾问跟进信息
List<RB_Student_Advisor_Extend> advisorList = student_AdvisorRepository.GetStudentAdvisorListRepository(new RB_Student_Advisor_Extend() { QStuIds = stuIds });
foreach (var item in list) foreach (var item in list)
{ {
var tempOrderList = stuOrderList?.Where(qitem => qitem.Student_Id == item.StuId)?.ToList();
var tempFollow = followList?.Where(qitem => qitem.StuId == item.StuId)?.OrderByDescending(qitem => qitem.Id)?.FirstOrDefault();
item.followUpTime = Common.ConvertHelper.FormatTime(tempFollow?.CreateTime);
item.WeekCount = stuList?.Count() ?? 0;
item.TodayCount = stuList?.Where(qitem => Common.ConvertHelper.FormatDate(qitem.CreateTime) == Common.ConvertHelper.FormatDate(DateTime.Now))?.Count() ?? 0;
item.OrderCount = tempOrderList?.Count() ?? 0;
item.RenewOrderCount = tempOrderList?.Where(qitem => qitem.RenewState == 2)?.Count() ?? 0;
item.StuGuestState = tempOrderList?.OrderByDescending(qitem => qitem.OrderId)?.LastOrDefault()?.StuGuestState ?? 0;
var tempAssistList = assistList?.Where(qitem => qitem.StuId == item.StuId)?.ToList();
foreach (var sItem in tempAssistList)
{
sItem.AssistName = accountList?.FirstOrDefault(qitem => qitem.Id == sItem.AssistId)?.AccountName ?? "";
}
item.AssistList = tempAssistList;
item.VisitCount = visitList?.FirstOrDefault(qitem => qitem.StuId == item.StuId)?.VisitCount ?? 0;
item.TrialLessonCount = stuReserveList?.FirstOrDefault(qitem => qitem.Visitor_Id == item.StuId)?.TrialLessonCount ?? 0;
if (item.CreateType == StuCreateTypeEnum.InternalIntroduction)
{
item.StuSourceIdName = accountList?.FirstOrDefault(qitem => qitem.Id == item.StuSourceId)?.AccountName ?? "";
}
else if (item.CreateType == StuCreateTypeEnum.CustomerInput)
{
var tempCustomer = customerList?.FirstOrDefault(qitem => qitem.CustomerId == item.StuSourceId);
item.StuSourceIdName = tempCustomer?.CustomerName ?? "";
if (tempCustomer != null)
{
if (tempCustomer.CustomerType == Common.Enum.Customer.CatetoryTypeEnum.Other)
{
item.EnterpriseName = tempCustomer?.EnterpriseName ?? "";
}
else
{
item.EnterpriseName = tempCustomer?.CategoryName ?? "";
}
}
else
{
item.EnterpriseName = "";
}
}
else if (item.CreateType == StuCreateTypeEnum.TransIntroduction)
{
item.StuSourceIdName = transStudentList?.FirstOrDefault(qitem => qitem.StuId == item.StuSourceId)?.StuName ?? "";
}
item.StuStageName = stageList?.FirstOrDefault(qitem => qitem.Id == item.StuStage)?.StageName ?? "";
item.StuTypeName = stuTypeList?.FirstOrDefault(qitem => qitem.Id == item.StuType)?.Name ?? "";
item.StuChannelName = channelList?.FirstOrDefault(qitem => qitem.Id == item.StuChannel)?.Name ?? "";
item.StuPurposeName = goalList?.FirstOrDefault(qitem => qitem.Id == item.StuPurpose)?.Name ?? "";
item.StuNeedsName = needList?.FirstOrDefault(qitem => qitem.Id == item.StuNeeds)?.Name ?? "";
item.AdvisorList = advisorList?.Where(qitem => qitem.StuId == item.StuId)?.ToList() ?? new List<RB_Student_Advisor_Extend>();
result.Add(new result.Add(new
{ {
item.Id, item.StuId,
item.GuestName, item.StuName,
Mobile = item.StuRealMobile, item.StuTel,
item.ContractId, item.StuIcon,
item.ContractNo, item.StuSex,
item.ClassId, StuSexStr = item.StuSex == 0 ? "男" : "女",
item.ClassName, StuBirth = Common.ConvertHelper.FormatDate(item.StuBirth),
item.CourseId, item.StuStage,
item.CourseName, item.StuStageName,
item.Teacher_Id, CreateTimeStr = Common.ConvertHelper.FormatTime(item.CreateTime),
item.TeacherName, item.CreateBy,
item.OrderId, item.CreateByName,
OrderTime = Common.ConvertHelper.FormatTime(item.OrderTime), item.CreateType,
item.EnterID, CreateTypeStr = item.CreateType.ToName(),
item.EnterName, item.StuChannel,
item.PreferPrice, item.StuChannelName,
item.Income, item.PlatformName,
item.Refund, item.CustomerId,
item.TotalHours, item.CustomerName,
item.ValidClassHours, AssistList = item.AssistList.Select(qitem => new
item.CompleteHours, {
item.SurplusHours, qitem.Id,
item.MakeUpHours, qitem.StuId,
item.AbsenceNum, qitem.AssistId,
item.LeaveNum, qitem.AssistName,
item.EventlogNum, qitem.AssistType,
item.GuestState, AssistTypeName = qitem.AssistType.ToName()
item.GuestStateStr, }),
GraduationTime = Common.ConvertHelper.FormatDate(item.GraduationTime), item.JapanBaseInfo,
item.School_Id, JapanBaseInfoName = item.JapanBaseInfo.ToName(),
item.JoinType, item.StuProfession,
item.JoinTypeStr, item.StuEducation,
item.Student_Id, StuEducationName = item.StuEducation.ToName(),
item.CourseRate, item.StuPurpose,
CourseRateName = item.CourseRate.ToName().Replace("课程", ""), item.StuPurposeName,
item.StuCreateBy, item.VisitCount,
item.StuCreateByName, item.TrialLessonCount,
item.StuSourceId,
item.StuSourceIdName,
item.QQ,
item.WeChatNo,
item.StuType,
item.StuTypeName,
item.StuNeeds,
item.StuNeedsName,
item.StuRealMobile,
item.OrderCount,
item.RenewOrderCount,
item.EnterpriseName,
item.AdvisorExpectDate,
item.AdvisorStatus,
item.AdvisorStatusName,
item.AdvisorList,
item.AdvisorWinRate,
});
}
}
return result;
}
/// <summary>
/// 分配给我的学员 (分配给我,但是没有跟进的学员)
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="UserId"></param>
/// <returns></returns>
public List<object> GetMyStudentModule(int pageIndex, int pageSize, out long rowsCount, int UserId)
{
rowsCount = 0;
var query = new RB_Student_ViewModel()
{
IsQueryNotFollow = 1,
IsQueryMyStu = 1,
CreateBy = UserId
};
List<object> result = new List<object>();
var list = studentRepository.GetStudentPageListRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0)
{
//客户阶段列表
var stageList = stageRepository.GetStageListRepostory(new Model.Entity.System.RB_Stage()
{
Group_Id = list[0].Group_Id
});
//学员类型列表
var stuTypeList = student_TypeRepository.GetStudentTypeListRepository(new RB_Student_Type_Extend());
string stuIds = string.Join(",", list.Select(qitem => qitem.StuId));
//学员跟进
var followList = followRepository.GetStudentFollowListRepository(new RB_Student_Follow_Extend()
{
QStuIds = stuIds
});
//学员订单
var stuOrderList = student_OrderGuestRepository.GetStrOrderGuestListStaticRepository(new RB_Student_OrderGuest_ViewModel()
{
QStudentIds = stuIds
});
//本周新增
var stuList = studentRepository.GetCustomerStuWeekListRepository(new RB_Student_ViewModel()
{
CustomerId = query.CustomerId
});
//协助人员列表
var assistList = student_AssistRepository.GetStudentAssistListRepository(new RB_Student_Assist_Extend()
{
QStuIds = stuIds
});
//内部介绍人
List<int> empIdList = Common.ConvertHelper.StringToList(string.Join(",", list.Where(qitem => qitem.CreateType == StuCreateTypeEnum.InternalIntroduction).Select(qitem => qitem.StuSourceId)));
List<int> aIds = Common.ConvertHelper.StringToList(string.Join(",", assistList.Select(qitem => qitem.AssistId)));
List<RB_Account_ViewModel> accountList = new List<RB_Account_ViewModel>();
if (aIds != null && aIds.Count > 0)
{
empIdList.AddRange(aIds);
}
if (empIdList != null && empIdList.Count > 0)
{
accountList = accountModule.GetAccountListExtModule(new RB_Account_ViewModel() { QIds = string.Join(",", empIdList) });
}
//学员到访统计
var visitList = student_VisitRepository.GetStudentVisitStatic_V2Repository(new RB_Student_Visit_Extend()
{
QStuIds = stuIds,
StartDate = query.StartTime,
EndDate = query.EndTime,
});
//学员试听统计
var stuReserveList = visitor_ReserveRepository.GetStuReserveStaticsListRepository(new Model.ViewModel.Reserve.RB_Visitor_Reserve_Extend()
{
QVisitor_Ids = stuIds
});
//同业录入列表
List<RB_Customer_Extend> customerList = new List<RB_Customer_Extend>();
List<int> customerIdList = Common.ConvertHelper.StringToList(string.Join(",", list.Where(qitem => qitem.CreateType == StuCreateTypeEnum.CustomerInput).Select(qitem => qitem.StuSourceId)));
if (customerIdList != null && customerIdList.Count > 0)
{
customerList = customerRepository.GetCustomerListRepository(new RB_Customer_Extend()
{
CustomerIds = string.Join(",", customerIdList)
});
}
List<RB_Student_ViewModel> transStudentList = new List<RB_Student_ViewModel>();
//转介人列表
List<int> transIdList = Common.ConvertHelper.StringToList(string.Join(",", list.Where(qitem => qitem.CreateType == StuCreateTypeEnum.TransIntroduction).Select(qitem => qitem.StuSourceId)));
if (transIdList != null && transIdList.Count > 0)
{
transStudentList = studentRepository.GetStudentListRepository(new RB_Student_ViewModel()
{
StuIds = string.Join(",", transIdList)
});
}
//学习目的
string goalIds = string.Join(",", list.Select(qitem => qitem.StuPurpose));
var goalList = learningGoalsRepository.GetLearningGoalsListRepository(new Model.ViewModel.System.RB_LearningGoals_Extend()
{
QGoalIds = goalIds
});
string channelIds = string.Join(",", list.Select(qitem => qitem.StuChannel));
var channelList = channelRepository.GetChannelListRepository(new Model.ViewModel.System.RB_Channel_Extend()
{
QChannelIds = channelIds
});
var needIds = string.Join(",", list.Select(qitem => qitem.StuNeeds));
var needList = needsRepository.GetNeedsListRepository(new Model.ViewModel.System.RB_Needs_Extend()
{
QNeedsId = needIds
});
//课程顾问跟进信息
List<RB_Student_Advisor_Extend> advisorList = student_AdvisorRepository.GetStudentAdvisorListRepository(new RB_Student_Advisor_Extend() { QStuIds = stuIds });
foreach (var item in list)
{
var tempOrderList = stuOrderList?.Where(qitem => qitem.Student_Id == item.StuId)?.ToList();
var tempFollow = followList?.Where(qitem => qitem.StuId == item.StuId)?.OrderByDescending(qitem => qitem.Id)?.FirstOrDefault();
item.followUpTime = Common.ConvertHelper.FormatTime(tempFollow?.CreateTime);
item.WeekCount = stuList?.Count() ?? 0;
item.TodayCount = stuList?.Where(qitem => Common.ConvertHelper.FormatDate(qitem.CreateTime) == Common.ConvertHelper.FormatDate(DateTime.Now))?.Count() ?? 0;
item.OrderCount = tempOrderList?.Count() ?? 0;
item.RenewOrderCount = tempOrderList?.Where(qitem => qitem.RenewState == 2)?.Count() ?? 0;
item.StuGuestState = tempOrderList?.OrderByDescending(qitem => qitem.OrderId)?.LastOrDefault()?.StuGuestState ?? 0;
var tempAssistList = assistList?.Where(qitem => qitem.StuId == item.StuId)?.ToList();
foreach (var sItem in tempAssistList)
{
sItem.AssistName = accountList?.FirstOrDefault(qitem => qitem.Id == sItem.AssistId)?.AccountName ?? "";
}
item.AssistList = tempAssistList;
item.VisitCount = visitList?.FirstOrDefault(qitem => qitem.StuId == item.StuId)?.VisitCount ?? 0;
item.TrialLessonCount = stuReserveList?.FirstOrDefault(qitem => qitem.Visitor_Id == item.StuId)?.TrialLessonCount ?? 0;
if (item.CreateType == StuCreateTypeEnum.InternalIntroduction)
{
item.StuSourceIdName = accountList?.FirstOrDefault(qitem => qitem.Id == item.StuSourceId)?.AccountName ?? "";
}
else if (item.CreateType == StuCreateTypeEnum.CustomerInput)
{
var tempCustomer = customerList?.FirstOrDefault(qitem => qitem.CustomerId == item.StuSourceId);
item.StuSourceIdName = tempCustomer?.CustomerName ?? "";
if (tempCustomer != null)
{
if (tempCustomer.CustomerType == Common.Enum.Customer.CatetoryTypeEnum.Other)
{
item.EnterpriseName = tempCustomer?.EnterpriseName ?? "";
}
else
{
item.EnterpriseName = tempCustomer?.CategoryName ?? "";
}
}
else
{
item.EnterpriseName = "";
}
}
else if (item.CreateType == StuCreateTypeEnum.TransIntroduction)
{
item.StuSourceIdName = transStudentList?.FirstOrDefault(qitem => qitem.StuId == item.StuSourceId)?.StuName ?? "";
}
item.StuStageName = stageList?.FirstOrDefault(qitem => qitem.Id == item.StuStage)?.StageName ?? "";
item.StuTypeName = stuTypeList?.FirstOrDefault(qitem => qitem.Id == item.StuType)?.Name ?? "";
item.StuChannelName = channelList?.FirstOrDefault(qitem => qitem.Id == item.StuChannel)?.Name ?? "";
item.StuPurposeName = goalList?.FirstOrDefault(qitem => qitem.Id == item.StuPurpose)?.Name ?? "";
item.StuNeedsName = needList?.FirstOrDefault(qitem => qitem.Id == item.StuNeeds)?.Name ?? "";
item.AdvisorList = advisorList?.Where(qitem => qitem.StuId == item.StuId)?.ToList() ?? new List<RB_Student_Advisor_Extend>();
result.Add(new
{
item.StuId,
item.StuName,
item.StuTel,
item.StuIcon,
item.StuSex,
StuSexStr = item.StuSex == 0 ? "男" : "女",
StuBirth = Common.ConvertHelper.FormatDate(item.StuBirth),
item.StuStage,
item.StuStageName,
CreateTimeStr = Common.ConvertHelper.FormatTime(item.CreateTime),
item.CreateBy,
item.CreateByName,
item.CreateType,
CreateTypeStr = item.CreateType.ToName(),
item.StuChannel,
item.StuChannelName,
item.PlatformName,
item.CustomerId,
item.CustomerName,
AssistList = item.AssistList.Select(qitem => new AssistList = item.AssistList.Select(qitem => new
{ {
qitem.Id, qitem.Id,
...@@ -1402,15 +1918,32 @@ namespace Edu.Module.User ...@@ -1402,15 +1918,32 @@ namespace Edu.Module.User
qitem.AssistType, qitem.AssistType,
AssistTypeName = qitem.AssistType.ToName() AssistTypeName = qitem.AssistType.ToName()
}), }),
item.StuChannelId, item.JapanBaseInfo,
item.StuChannelName, JapanBaseInfoName = item.JapanBaseInfo.ToName(),
item.CreateType, item.StuProfession,
CreateTypeName = item.CreateType.ToName(), item.StuEducation,
StuEducationName = item.StuEducation.ToName(),
item.StuPurpose,
item.StuPurposeName,
item.VisitCount,
item.TrialLessonCount,
item.StuSourceId, item.StuSourceId,
item.StuSourceIdName, item.StuSourceIdName,
item.QQ,
item.WeChatNo,
item.StuType,
item.StuTypeName,
item.StuNeeds,
item.StuNeedsName,
item.StuRealMobile,
item.OrderCount,
item.RenewOrderCount,
item.EnterpriseName, item.EnterpriseName,
item.CourseChapterNo, item.AdvisorExpectDate,
item.AppointNum item.AdvisorStatus,
item.AdvisorStatusName,
item.AdvisorList,
item.AdvisorWinRate,
}); });
} }
} }
...@@ -1418,40 +1951,41 @@ namespace Edu.Module.User ...@@ -1418,40 +1951,41 @@ namespace Edu.Module.User
} }
/// <summary> /// <summary>
/// 今日被跟进学员(被跟进的学员所有协助人可见) /// 获取未领取合同的订单
/// </summary> /// </summary>
/// <param name="pageIndex"></param> public List<object> GetContractNotModule(int pageIndex, int pageSize, out long rowsCount, int UserId)
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <returns></returns>
public List<object> GetTodayFollowStudentModule(int pageIndex, int pageSize, out long rowsCount, int UserId)
{ {
List<object> result = new List<object>(); var query = new RB_Student_OrderGuest_ViewModel()
var query = new RB_Student_Follow_Extend()
{ {
QueryDate = Common.ConvertHelper.FormatDate(DateTime.Now), IsNotContract = 1,
CreateBy = UserId CreateBy = UserId,
}; };
var list = followRepository.GetStudentFollowPageRepository(pageIndex, pageSize, out rowsCount, query); List<object> result = new List<object>();
if (list != null) rowsCount = 0;
{ var list = student_OrderGuestRepository.GetStuOrderGuestPageRepository(pageIndex, pageSize, out rowsCount, query);
string createIds = string.Join(",", list.Select(qitem => qitem.CreateBy)); if (list != null && list.Count > 0)
var empList = new List<RB_Account_ViewModel>();
if (!string.IsNullOrEmpty(createIds))
{ {
empList = accountModule.GetAccountListExtModule(new RB_Account_ViewModel() { QIds = createIds });
}
foreach (var item in list) foreach (var item in list)
{ {
var tempEmp = empList?.FirstOrDefault(qitem => qitem.Id == item.CreateBy)?.AccountName ?? "";
result.Add(new result.Add(new
{ {
item.Id, item.OrderId,
item.StuId, item.ClassName,
item.StuName, item.CourseName,
item.Remark, item.GuestName,
CreateByName = tempEmp, item.GuestId,
CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime) item.StuJoinType,
StuJoinTypeName=item.StuJoinType.ToName(),
item.StuGuestState,
StuGuestStateName=item.StuGuestState.ToName(),
item.OrderState,
OrderStateName=item.OrderState.ToName(),
item.TotalHours,
item.CompleteHours,
item.ClassStatus,
item.RenewState,
item.OrderType,
OrderTypeName=item.OrderType.ToName(),
}); });
} }
} }
...@@ -1462,8 +1996,9 @@ namespace Edu.Module.User ...@@ -1462,8 +1996,9 @@ namespace Edu.Module.User
/// 获取未完成的订单 /// 获取未完成的订单
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public List<RB_Order_ViewModel> GetOrderNotModule(int pageIndex, int pageSize, out long rowsCount, int UserId) public List<object> GetOrderNotModule(int pageIndex, int pageSize, out long rowsCount, int UserId)
{ {
List<object> result = new List<object>();
var query = new RB_Order_ViewModel() var query = new RB_Order_ViewModel()
{ {
Q_OrderState = 1, Q_OrderState = 1,
...@@ -1519,6 +2054,34 @@ namespace Edu.Module.User ...@@ -1519,6 +2054,34 @@ namespace Edu.Module.User
//获取订单的返佣 //获取订单的返佣
var rclist = returnComissionRepository.GetOrderReturnComissionListRepositpry(new RB_Order_ReturnComission_ViewModel() { QOrderIds = orderIds }); var rclist = returnComissionRepository.GetOrderReturnComissionListRepositpry(new RB_Order_ReturnComission_ViewModel() { QOrderIds = orderIds });
List<int> empIds = new List<int>();
// 创建人
List<int> createByIdList = Common.ConvertHelper.StringToList(string.Join(",", orderList.Select(qitem => qitem.CreateBy)));
if (createByIdList != null && createByIdList.Count > 0)
{
empIds.AddRange(createByIdList);
}
//业务员
List<int> enterIdList = Common.ConvertHelper.StringToList(string.Join(",", orderList.Select(qitem => qitem.EnterID)));
if (enterIdList != null && enterIdList.Count > 0)
{
empIds.AddRange(enterIdList);
}
//课程顾问
List<int> courseConsultantIdList = Common.ConvertHelper.StringToList(string.Join(",", orderList.Select(qitem => qitem.CourseConsultantId)));
if (courseConsultantIdList != null && courseConsultantIdList.Count > 0)
{
empIds.AddRange(courseConsultantIdList);
}
string createIds = string.Join(",", empIds);
var empList = new List<RB_Account_ViewModel>();
if (!string.IsNullOrEmpty(createIds))
{
empList = accountModule.GetAccountListExtModule(new RB_Account_ViewModel() { QIds = createIds });
}
foreach (var item in orderList) foreach (var item in orderList)
{ {
if (item.SourceOrderId > 0) if (item.SourceOrderId > 0)
...@@ -1579,61 +2142,163 @@ namespace Edu.Module.User ...@@ -1579,61 +2142,163 @@ namespace Edu.Module.User
item.CreateType = tempStu?.CreateType ?? StuCreateTypeEnum.EmployeeInput; item.CreateType = tempStu?.CreateType ?? StuCreateTypeEnum.EmployeeInput;
item.StuSourceIdName = tempStu?.StuSourceIdName ?? ""; item.StuSourceIdName = tempStu?.StuSourceIdName ?? "";
item.BrokerageMoney = rclist.Where(x => x.OrderId == item.OrderId).Sum(x => x.CommissionMoeny); item.BrokerageMoney = rclist.Where(x => x.OrderId == item.OrderId).Sum(x => x.CommissionMoeny);
}
}
return orderList;
}
/// <summary> result.Add(new
/// 获取未领取合同的订单
/// </summary>
public List<object> GetContractNotModule(int pageIndex, int pageSize, out long rowsCount, int UserId)
{
var query = new RB_Student_OrderGuest_ViewModel()
{
IsNotContract = 1,
CreateBy = UserId,
};
List<object> result = new List<object>();
rowsCount = 0;
var list = student_OrderGuestRepository.GetStuOrderGuestPageRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0)
{
foreach (var item in list)
{ {
item.TeacherName,
item.ClassName,
item.ClassNo,
item.ClassSchoolId,
item.SchoolName,
item.SaleRemarkList,
item.GuestList,
item.ContractList,
item.CourseName,
item.CourseImg,
item.CourseSubject,
item.CourseSubjectName,
item.B2BBackground,
item.B2BIcon,
item.ClassScrollType,
item.StuSourceIdName,
item.CategoryId,
item.OrderId,
item.ClassId,
item.Class_Price,
item.Unit_Price,
item.GuestNum,
item.PreferPrice,
item.Income,
item.Refund,
item.DiscountMoney,
item.PerDiscountMoney,
item.PlatformTax,
item.OrderState,
OrderStateName=item.OrderState.ToName(),
item.SaleRemark,
item.EnterID,
EnterIDName=empList?.FirstOrDefault(qitem=>qitem.Id==item.EnterID)?.AccountName??"",
item.CreateBy,
CreateByName = empList?.FirstOrDefault(qitem => qitem.Id == item.CreateBy)?.AccountName ?? "",
item.CourseConsultantId,
CourseConsultantIdName = empList?.FirstOrDefault(qitem => qitem.Id == item.CourseConsultantId)?.AccountName ?? "",
});
} }
} }
return result; return result;
} }
/// <summary> /// <summary>
/// 分配给我的学员 (分配给我,但是没有跟进的学员 /// 今日被跟进学员(被跟进的学员所有协助人可见
/// </summary> /// </summary>
/// <param name="pageIndex"></param> /// <param name="pageIndex"></param>
/// <param name="pageSize"></param> /// <param name="pageSize"></param>
/// <param name="rowsCount"></param> /// <param name="rowsCount"></param>
/// <param name="UserId"></param>
/// <returns></returns> /// <returns></returns>
public List<object> GetMyStudentModule(int pageIndex, int pageSize, out long rowsCount, int UserId) public List<object> GetTodayFollowStudentModule(int pageIndex, int pageSize, out long rowsCount, int UserId)
{ {
rowsCount = 0; List<object> result = new List<object>();
var query = new RB_Student_ViewModel() var query = new RB_Student_Follow_Extend()
{ {
IsQueryNotFollow = 1, QueryDate = Common.ConvertHelper.FormatDate(DateTime.Now),
IsQueryMyStu = 1,
CreateBy = UserId CreateBy = UserId
}; };
List<object> result = new List<object>(); var list = followRepository.GetStudentFollowPageRepository(pageIndex, pageSize, out rowsCount, query);
var list = studentRepository.GetStudentPageListRepository(pageIndex, pageSize, out rowsCount, query); if (list != null)
if (list != null && list.Count > 0) {
//客户阶段列表
var stageList = stageRepository.GetStageListRepostory(new Model.Entity.System.RB_Stage()
{
Group_Id = list[0].Group_Id
});
//学员类型列表
var stuTypeList = student_TypeRepository.GetStudentTypeListRepository(new RB_Student_Type_Extend());
//学习目的
var goalList = learningGoalsRepository.GetLearningGoalsListRepository(new Model.ViewModel.System.RB_LearningGoals_Extend());
//渠道列表
var channelList = channelRepository.GetChannelListRepository(new Model.ViewModel.System.RB_Channel_Extend());
//客户需求
var needList = needsRepository.GetNeedsListRepository(new Model.ViewModel.System.RB_Needs_Extend() );
string stuIds = string.Join(",", list.Select(qitem => qitem.StuId));
var stuList= studentRepository.GetStudentListRepository(new RB_Student_ViewModel() { StuIds = stuIds }, isQueryCreateType: true, isQueryAssist: false);
//协助人员列表
var assistList = student_AssistRepository.GetStudentAssistListRepository(new RB_Student_Assist_Extend()
{
QStuIds = stuIds
});
List<int> empIds = new List<int>();
//内部介绍人
List<int> stuSourceIdList = Common.ConvertHelper.StringToList(string.Join(",", stuList.Where(qitem => qitem.CreateType == StuCreateTypeEnum.InternalIntroduction).Select(qitem => qitem.StuSourceId)));
if (stuSourceIdList != null && stuSourceIdList.Count > 0)
{
empIds.AddRange(stuSourceIdList);
}
//协助人员
List<int> assistIdList = Common.ConvertHelper.StringToList(string.Join(",", assistList.Select(qitem => qitem.AssistId)));
if (assistIdList != null && assistIdList.Count > 0)
{
empIds.AddRange(assistIdList);
}
//跟进人员创建人
List<int> createByIdList = Common.ConvertHelper.StringToList(string.Join(",", list.Select(qitem => qitem.CreateBy)));
if (createByIdList != null && createByIdList.Count > 0)
{
empIds.AddRange(createByIdList);
}
//学员负责人
List<int> stuCreateByList = Common.ConvertHelper.StringToList(string.Join(",",stuList.Select(qitem => qitem.CreateBy)));
if (stuCreateByList != null && stuCreateByList.Count > 0)
{
empIds.AddRange(stuCreateByList);
}
string createIds = string.Join(",", empIds);
var empList = new List<RB_Account_ViewModel>();
if (!string.IsNullOrEmpty(createIds))
{ {
empList = accountModule.GetAccountListExtModule(new RB_Account_ViewModel() { QIds = createIds });
}
foreach (var item in list) foreach (var item in list)
{ {
var tempEmp = empList?.FirstOrDefault(qitem => qitem.Id == item.CreateBy)?.AccountName ?? "";
var tempStudent = stuList?.FirstOrDefault(qitem => qitem.StuId == item.StuId);
if (tempStudent != null)
{
var tempAssistList = assistList?.Where(qitem => qitem.StuId == item.StuId)?.ToList();
if (tempAssistList != null && tempAssistList.Count > 0)
{
foreach (var subItem in tempAssistList)
{
subItem.AssistName = empList?.FirstOrDefault(qitem => qitem.Id == subItem.AssistId)?.AccountName ?? "";
}
}
tempStudent.AssistList = tempAssistList;
}
result.Add(new result.Add(new
{ {
item.Id,
item.StuId, item.StuId,
item.StuName, item.StuName,
item.Remark,
CreateByName = tempEmp,
CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime),
CreateTypeName = tempStudent?.CreateType.ToName() ?? "",
StuSourceId = tempStudent?.StuSourceId ?? 0,
StuSourceIdName = tempStudent?.StuSourceIdName ?? "",
AssistList = tempStudent?.AssistList?.Select(qitem => new
{
qitem.AssistType,
AssistTypeName = qitem.AssistType.ToName(),
qitem.AssistId,
qitem.AssistName,
}),
StuStageName = stageList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuStage)?.StageName ?? "",
StuTypeName = stuTypeList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuType)?.Name ?? "",
StuCreateByName = empList?.FirstOrDefault(qitem => qitem.Id == tempStudent.CreateBy)?.AccountName ?? "",
StuChannelName = channelList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuChannel)?.Name ?? "",
StuPurposeName = goalList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuPurpose)?.Name ?? "",
StuNeedsName = needList?.FirstOrDefault(qitem => qitem.Id == tempStudent.StuNeeds)?.Name ?? "",
}); });
} }
} }
...@@ -1641,32 +2306,82 @@ namespace Edu.Module.User ...@@ -1641,32 +2306,82 @@ namespace Edu.Module.User
} }
/// <summary> /// <summary>
/// 分配给我的线索 (分配给我,但是没有跟进的线索) /// 获取马上要毕业的学生
/// </summary> /// </summary>
/// <param name="pageIndex"></param> /// <param name="pageIndex"></param>
/// <param name="pageSize"></param> /// <param name="pageSize"></param>
/// <param name="rowsCount"></param> /// <param name="rowsCount"></param>
/// <param name="UserId"></param> /// <param name="UserId"></param>
/// <returns></returns> /// <returns></returns>
public List<object> GetMyClueModule(int pageIndex, int pageSize, out long rowsCount, int UserId) public List<object> GetStraightwayGraduateStudentModule(int pageIndex, int pageSize, out long rowsCount, int UserId)
{ {
rowsCount = 0; List<object> result = new List<object>();
var query = new RB_Student_ViewModel() var list = order_GuestRepository.GetAllStudentPageRepository(pageIndex, pageSize, out rowsCount, new Model.ViewModel.Sell.RB_Order_Guest_Extend()
{ {
IsQueryNotFollow = 1, IsImmediatelyGraduate = 1,
IsQueryMyStu = 1,
CreateBy = UserId CreateBy = UserId
}; });
List<object> result = new List<object>();
var list = studentRepository.GetStudentPageListRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
foreach (var item in list) foreach (var item in list)
{ {
result.Add(new result.Add(new
{ {
item.StuId, item.Id,
item.StuName, item.GuestName,
Mobile = item.StuRealMobile,
item.ContractId,
item.ContractNo,
item.ClassId,
item.ClassName,
item.CourseId,
item.CourseName,
item.Teacher_Id,
item.TeacherName,
item.OrderId,
OrderTime = Common.ConvertHelper.FormatTime(item.OrderTime),
item.EnterID,
item.EnterName,
item.PreferPrice,
item.Income,
item.Refund,
item.TotalHours,
item.ValidClassHours,
item.CompleteHours,
item.SurplusHours,
item.MakeUpHours,
item.AbsenceNum,
item.LeaveNum,
item.EventlogNum,
item.GuestState,
item.GuestStateStr,
GraduationTime = Common.ConvertHelper.FormatDate(item.GraduationTime),
item.School_Id,
item.JoinType,
item.JoinTypeStr,
item.Student_Id,
item.CourseRate,
CourseRateName = item.CourseRate.ToName().Replace("课程", ""),
item.StuCreateBy,
item.StuCreateByName,
AssistList = item.AssistList.Select(qitem => new
{
qitem.Id,
qitem.StuId,
qitem.AssistId,
qitem.AssistName,
qitem.AssistType,
AssistTypeName = qitem.AssistType.ToName()
}),
item.StuChannelId,
item.StuChannelName,
item.CreateType,
CreateTypeName = item.CreateType.ToName(),
item.StuSourceId,
item.StuSourceIdName,
item.EnterpriseName,
item.CourseChapterNo,
item.AppointNum
}); });
} }
} }
......
using Edu.Common.Enum; using Edu.Common.Enum;
using Edu.Model.Entity.Customer; using Edu.Model.Entity.Customer;
using Edu.Model.ViewModel.Customer; using Edu.Model.ViewModel.Customer;
using Edu.Model.ViewModel.User;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
...@@ -108,48 +109,52 @@ WHERE 1=1 ...@@ -108,48 +109,52 @@ WHERE 1=1
/// <summary> /// <summary>
/// 获取约访统计列表 /// 今日需联系学员(之前预约的跟进学员或本周期内需要跟进的学员)
/// </summary> /// </summary>
/// <param name="query"></param> /// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name=""></param>
/// <returns></returns> /// <returns></returns>
public List<RB_Student_Appointment_Extend> GetStudentVisitListRepository(RB_Student_Appointment_Extend query) public List<RB_Student_ViewModel> GetTodayConnectPageRepository(int pageIndex,int pageSize,out long rowsCount,string date,int CreateBy)
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" string where1="", where2="";
SELECT A.*,B.StuName if (!string.IsNullOrEmpty(date))
FROM RB_Student_Appointment AS A INNER JOIN rb_student AS B ON A.StuId=B.StuId
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Appointment_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Appointment_Extend.Group_Id), query.Group_Id);
}
if (query.StuId > 0)
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Appointment_Extend.StuId), query.StuId);
}
if (query.CreateBy > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Appointment_Extend.CreateBy), query.CreateBy);
}
//指定日期的约访统计 //指定日期的约访统计
if (!string.IsNullOrEmpty(query.QueryDate)) where1+=string.Format(" AND ( DATE_FORMAT(B.{0},'%y/%m/%d')= DATE_FORMAT('{2}','%y/%m/%d') OR DATE_FORMAT(B.{1},'%y/%m/%d')= DATE_FORMAT('{2}','%y/%m/%d')) "
{ , nameof(RB_Student_Appointment_Extend.CreateTime)
builder.AppendFormat(" AND ( DATE_FORMAT(A.{0},'%y/%m/%d')= DATE_FORMAT('{2}','%y/%m/%d') OR DATE_FORMAT(A.{1},'%y/%m/%d')= DATE_FORMAT('{2}','%y/%m/%d')) ", nameof(RB_Student_Appointment_Extend.CreateTime), nameof(RB_Student_Appointment_Extend.AppointmentTime), Common.ConvertHelper.FormatDate(query.QueryDate)); , nameof(RB_Student_Appointment_Extend.AppointmentTime),
} date);
if (!string.IsNullOrEmpty(query.StartDate))
{
builder.AppendFormat(" AND A.{0}>='{1}' ", nameof(RB_Student_Appointment_Extend.CreateTime), Common.ConvertHelper.FormatDate(query.StartDate));
} }
if (!string.IsNullOrEmpty(query.EndDate))
if (CreateBy > 0)
{ {
builder.AppendFormat(" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Student_Appointment_Extend.CreateTime), Common.ConvertHelper.FormatDate(query.EndDate)); where1 += string.Format(" AND B.{0}={1} ", nameof(RB_Student_Appointment_Extend.CreateBy), CreateBy);
where2 += string.Format(@"
AND ( A.CreateBy IN({0})
OR A.StuId IN (SELECT StuId FROM rb_student_assist WHERE AssistId IN({0}) AND `Status`=0)
)
", CreateBy);
} }
}
return Get<RB_Student_Appointment_Extend>(builder.ToString()).ToList(); builder.AppendFormat(@"
SELECT *
FROM
(
SELECT A.*
FROM rb_student AS A INNER JOIN RB_Student_Appointment AS B ON A.StuId=B.StuId
WHERE 1=1 {0}
UNION ALL
SELECT A.*
FROM rb_student AS A
LEFT JOIN (SELECT StuId,COUNT(1) AS FollowCount FROM rb_student_follow WHERE WEEK(CreateTime,1)=WEEK(NOW(),1) GROUP BY StuId ) AS B ON A.StuId=B.StuId
WHERE 1=1 AND IFNULL(B.FollowCount,0)=0 {1}
) AS A
", where1,where2);
return GetPage<RB_Student_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
} }
} }
} }
...@@ -24,18 +24,18 @@ namespace Edu.Repository.Mall ...@@ -24,18 +24,18 @@ namespace Edu.Repository.Mall
/// <returns></returns> /// <returns></returns>
public List<RB_ActivitySurvey> GetActivitySurveyListRepository(RB_ActivitySurvey where,string StuAccountId) public List<RB_ActivitySurvey> GetActivitySurveyListRepository(RB_ActivitySurvey where,string StuAccountId)
{ {
string dateStr = Common.ConvertHelper.FormatDate(DateTime.Now); string dateStr = Common.ConvertHelper.FormatTime(DateTime.Now);
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.AppendFormat(@" sb.AppendFormat(@"
SELECT A.*,(SELECT Id FROM RB_ActivitySurvey_Guest WHERE GuestType=2 AND IsFinish=0 AND SurveyId=A.ID AND StartTime<'{0}' AND EndTime>'{0}' AND GuestId={1} LIMIT 1) AS ActivitySurveyGuestId SELECT A.*,(SELECT Id FROM RB_ActivitySurvey_Guest WHERE GuestType=2 AND IsFinish=0 AND SurveyId=A.ID AND StartTime<='{0}' AND '{0}'<=EndTime AND GuestId={1} LIMIT 1) AS ActivitySurveyGuestId
FROM RB_ActivitySurvey AS A FROM RB_ActivitySurvey AS A
WHERE A.State=0 ",dateStr, StuAccountId); WHERE A.State=0 ", dateStr, StuAccountId);
sb.AppendFormat(" AND A.StartDate<'{0}' AND A.EndDate>'{0}' ", dateStr); sb.AppendFormat(" AND A.StartDate<='{0}' AND '{0}'<= A.EndDate ", dateStr);
if (!string.IsNullOrEmpty(StuAccountId)) if (!string.IsNullOrEmpty(StuAccountId))
{ {
//sb.AppendFormat(" AND NOT EXISTS(SELECT 1 FROM rb_guestsurvey WHERE UserType=2 AND ActivitySurveyId=A.ID AND UserId={0}) ", StuAccountId); //sb.AppendFormat(" AND NOT EXISTS(SELECT 1 FROM rb_guestsurvey WHERE UserType=2 AND ActivitySurveyId=A.ID AND UserId={0}) ", StuAccountId);
sb.AppendFormat(" AND EXISTS(SELECT 1 FROM RB_ActivitySurvey_Guest WHERE GuestType=2 AND IsFinish=0 AND SurveyId=A.ID AND GuestId={0} AND StartTime<'{1}' AND EndTime>'{1}' )", StuAccountId, dateStr); sb.AppendFormat(" AND EXISTS(SELECT 1 FROM RB_ActivitySurvey_Guest WHERE GuestType=2 AND IsFinish=0 AND SurveyId=A.ID AND GuestId={0} AND StartTime<='{1}' AND '{1}'<=EndTime )", StuAccountId, dateStr);
} }
if (where != null) if (where != null)
{ {
......
...@@ -75,6 +75,10 @@ WHERE 1=1 ...@@ -75,6 +75,10 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_ActivitySurvey_Guest_Extend.SurveyId), query.SurveyId); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_ActivitySurvey_Guest_Extend.SurveyId), query.SurveyId);
} }
if (query.GuestId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_ActivitySurvey_Guest_Extend.GuestId), query.GuestId);
}
} }
return Get<RB_ActivitySurvey_Guest_Extend>(builder.ToString()).ToList(); return Get<RB_ActivitySurvey_Guest_Extend>(builder.ToString()).ToList();
} }
......
...@@ -190,7 +190,7 @@ namespace Edu.Repository.Sell ...@@ -190,7 +190,7 @@ namespace Edu.Repository.Sell
SELECT sog.Student_Id as StudentId,A.*,cs.ClassName,cs.Teacher_Id,cs.ClassNo,IFNULL(B.JoinType,0) AS JoinType,IFNULL(B.TargetJoinType,0) AS TargetJoinType,IFNULL(B.StartClassHours,0) AS StartClassHours SELECT sog.Student_Id as StudentId,A.*,cs.ClassName,cs.Teacher_Id,cs.ClassNo,IFNULL(B.JoinType,0) AS JoinType,IFNULL(B.TargetJoinType,0) AS TargetJoinType,IFNULL(B.StartClassHours,0) AS StartClassHours
,IFNULL(C.CourseName,'') AS CourseName,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId,B.IsRenewOrder,B.RenewOrderId,B.EnterID ,IFNULL(C.CourseName,'') AS CourseName,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId,B.IsRenewOrder,B.RenewOrderId,B.EnterID
,sc.StopClassEffectTime,B.SourceOrderId,B.TargetOrderId,IFNULL(D.FirstClassHours,0)+IFNULL(D.SecondClassHours,0)+IFNULL(D.ThirdClassHours,0) AS ContractTotalHours ,sc.StopClassEffectTime,B.SourceOrderId,B.TargetOrderId,IFNULL(D.FirstClassHours,0)+IFNULL(D.SecondClassHours,0)+IFNULL(D.ThirdClassHours,0) AS ContractTotalHours
,IFNULL(stu.StuIcon,'') AS UserIcon,stu.StuTel,stu.StuRealMobile ,IFNULL(stu.StuIcon,'') AS UserIcon,stu.StuTel,stu.StuRealMobile,sog.Account_Id
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId
LEFT JOIN rb_class AS cs ON B.ClassId=cs.ClassId LEFT JOIN rb_class AS cs ON B.ClassId=cs.ClassId
LEFT JOIN rb_student_orderguest as sog on sog.GuestId=a.Id LEFT JOIN rb_student_orderguest as sog on sog.GuestId=a.Id
...@@ -911,9 +911,12 @@ WHERE 1=1 AND A.Status=0 AND class.Status=0 AND class.ClassStatus <>4 AND b.Or ...@@ -911,9 +911,12 @@ WHERE 1=1 AND A.Status=0 AND class.Status=0 AND class.ClassStatus <>4 AND b.Or
//查询快毕业的学生 HK 2022-05-09新增 //查询快毕业的学生 HK 2022-05-09新增
if (demodel.IsImmediatelyGraduate == 1) if (demodel.IsImmediatelyGraduate == 1)
{ {
builder.AppendFormat(" AND A.GuestState<>7 AND (A.TotalHours-A.CompleteHours)<=100 "); builder.AppendFormat(" AND A.GuestState<>7 AND (A.TotalHours-A.CompleteHours)<=20 ");
if (demodel.CreateBy > 0)
{
builder.AppendFormat(" AND(st.CreateBy = {0} OR EXISTS(SELECT 1 FROM rb_student_assist WHERE StuId = st.StuId AND AssistId = {0})) ", demodel.CreateBy); builder.AppendFormat(" AND(st.CreateBy = {0} OR EXISTS(SELECT 1 FROM rb_student_assist WHERE StuId = st.StuId AND AssistId = {0})) ", demodel.CreateBy);
} }
}
builder.AppendFormat($@" order by A.{nameof(RB_Order_Guest_Extend.Id)} desc"); builder.AppendFormat($@" order by A.{nameof(RB_Order_Guest_Extend.Id)} desc");
var list= GetPage<RB_Order_Guest_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList(); var list= GetPage<RB_Order_Guest_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
if (list.Any()) if (list.Any())
......
...@@ -76,7 +76,17 @@ namespace Edu.WebApi.Controllers.Goods ...@@ -76,7 +76,17 @@ namespace Edu.WebApi.Controllers.Goods
StartTime = base.ParmJObj.GetDateTime("StartTime"), StartTime = base.ParmJObj.GetDateTime("StartTime"),
EndTime = base.ParmJObj.GetDateTime("EndTime"), EndTime = base.ParmJObj.GetDateTime("EndTime"),
SurveyId = base.ParmJObj.GetInt("SurveyId"), SurveyId = base.ParmJObj.GetInt("SurveyId"),
GuestIdList=new List<GuestItem> ()
}; };
string GuestIdList = base.ParmJObj.GetStringValue("GuestIdList");
if (!string.IsNullOrEmpty(GuestIdList))
{
extModel.GuestIdList = JsonHelper.DeserializeObject<List<GuestItem>>(GuestIdList);
}
if ((extModel.GuestIdList == null || extModel.GuestIdList.Count == 0) && extModel.GuestId > 0)
{
extModel.GuestIdList.Add(new GuestItem() { GuestId = extModel.GuestId });
}
extModel.Status = 0; extModel.Status = 0;
extModel.CreateBy = base.UserInfo.Id; extModel.CreateBy = base.UserInfo.Id;
extModel.CreateDate = DateTime.Now; extModel.CreateDate = DateTime.Now;
...@@ -101,6 +111,7 @@ namespace Edu.WebApi.Controllers.Goods ...@@ -101,6 +111,7 @@ namespace Edu.WebApi.Controllers.Goods
Id = extModel?.Id ?? 0, Id = extModel?.Id ?? 0,
GuestId = extModel?.GuestId ?? 0, GuestId = extModel?.GuestId ?? 0,
GuestType = extModel?.GuestType ?? 0, GuestType = extModel?.GuestType ?? 0,
GuestIdList= extModel?.GuestIdList??new List<GuestItem> (),
StartTime = Common.ConvertHelper.FormatTime(extModel.StartTime), StartTime = Common.ConvertHelper.FormatTime(extModel.StartTime),
EndTime = Common.ConvertHelper.FormatTime(extModel.EndTime), EndTime = Common.ConvertHelper.FormatTime(extModel.EndTime),
}; };
......
...@@ -3326,7 +3326,7 @@ namespace Edu.WebApi.Controllers.User ...@@ -3326,7 +3326,7 @@ namespace Edu.WebApi.Controllers.User
{ {
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString()); var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var userId = 0; var userId = 0;
userId = base.UserInfo.Id; //userId = base.UserInfo.Id;
var list = studentModule.GetStudentAppointmentPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, userId); var list = studentModule.GetStudentAppointmentPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, userId);
pageModel.PageData = list; pageModel.PageData = list;
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
...@@ -3364,8 +3364,10 @@ namespace Edu.WebApi.Controllers.User ...@@ -3364,8 +3364,10 @@ namespace Edu.WebApi.Controllers.User
/// <returns></returns> /// <returns></returns>
public ApiResult MyStudent() public ApiResult MyStudent()
{ {
var userId = 0;
//userId = base.UserInfo.Id;
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString()); var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var list = studentModule.GetMyStudentModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, base.UserInfo.Id); var list = studentModule.GetMyStudentModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, userId);
pageModel.PageData = list; pageModel.PageData = list;
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
return ApiResult.Success(data: pageModel); return ApiResult.Success(data: pageModel);
...@@ -3375,10 +3377,12 @@ namespace Edu.WebApi.Controllers.User ...@@ -3375,10 +3377,12 @@ namespace Edu.WebApi.Controllers.User
/// 待申领合同(正常订单,没有领取电子合同) /// 待申领合同(正常订单,没有领取电子合同)
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public ApiResult MyContract() public ApiResult MyOrderNotReceiveContract()
{ {
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString()); var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var list = studentModule.GetContractNotModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, base.UserInfo.Id); var userId = 0;
//userId = base.UserInfo.Id;
var list = studentModule.GetContractNotModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, userId);
pageModel.PageData = list; pageModel.PageData = list;
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
return ApiResult.Success(data: pageModel); return ApiResult.Success(data: pageModel);
...@@ -3388,10 +3392,12 @@ namespace Edu.WebApi.Controllers.User ...@@ -3388,10 +3392,12 @@ namespace Edu.WebApi.Controllers.User
/// 待收款提醒(正常订单,收支款未平衡的订单) /// 待收款提醒(正常订单,收支款未平衡的订单)
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public ApiResult MyPay() public ApiResult MyOrderNotBalance()
{ {
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString()); var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var list = studentModule.GetOrderNotModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, base.UserInfo.Id); var userId = 0;
//userId = base.UserInfo.Id;
var list = studentModule.GetOrderNotModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, userId);
pageModel.PageData = list; pageModel.PageData = list;
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
return ApiResult.Success(data: pageModel); return ApiResult.Success(data: pageModel);
...@@ -3405,7 +3411,9 @@ namespace Edu.WebApi.Controllers.User ...@@ -3405,7 +3411,9 @@ namespace Edu.WebApi.Controllers.User
public ApiResult TodayFollow() public ApiResult TodayFollow()
{ {
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString()); var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var list = studentModule.GetTodayFollowStudentModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, base.UserInfo.Id); var userId = 0;
//userId = base.UserInfo.Id;
var list = studentModule.GetTodayFollowStudentModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, userId);
pageModel.PageData = list; pageModel.PageData = list;
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
return ApiResult.Success(data: pageModel); return ApiResult.Success(data: pageModel);
...@@ -3417,8 +3425,10 @@ namespace Edu.WebApi.Controllers.User ...@@ -3417,8 +3425,10 @@ namespace Edu.WebApi.Controllers.User
/// <returns></returns> /// <returns></returns>
public ApiResult GraduateStudent() public ApiResult GraduateStudent()
{ {
var userId = 0;
//userId = base.UserInfo.Id;
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString()); var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var list = studentModule.GetStraightwayGraduateStudentModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, base.UserInfo.Id); var list = studentModule.GetStraightwayGraduateStudentModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, userId);
pageModel.PageData = list; pageModel.PageData = list;
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
return ApiResult.Success(data: pageModel); return ApiResult.Success(data: pageModel);
...@@ -3430,26 +3440,12 @@ namespace Edu.WebApi.Controllers.User ...@@ -3430,26 +3440,12 @@ namespace Edu.WebApi.Controllers.User
/// <returns></returns> /// <returns></returns>
public ApiResult NotBusinessBill() public ApiResult NotBusinessBill()
{ {
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString()); var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new EducationReceiptQuery() var query = new EducationReceiptQuery()
{ {
Group_Id = base.UserInfo.Group_Id, Group_Id = base.UserInfo.Group_Id,
StartTime = base.ParmJObj.GetStringValue("StartTime"), Conditon = EduReceiptConditionEnum.WaitAgree,
EndTime = base.ParmJObj.GetStringValue("EndTime"),
Conditon = (EduReceiptConditionEnum)base.ParmJObj.GetInt("Conditon"),
ReceiptType = base.ParmJObj.GetInt("ReceiptType"),
Title = base.ParmJObj.GetStringValue("Title"),
RelationId = base.ParmJObj.GetInt("RelationId")
}; };
if (!string.IsNullOrEmpty(base.ParmJObj.GetStringValue("VerifyStatus")))
{
query.VerifyStatus = base.ParmJObj.GetInt("VerifyStatus", -1);
}
var id = base.ParmJObj.GetInt("Id");
if (id > 0)
{
query.QIds = id.ToString();
}
query.CreateBy = base.UserInfo.Id; query.CreateBy = base.UserInfo.Id;
var list = educationReceiptModule.GetEducationReceiptPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query); var list = educationReceiptModule.GetEducationReceiptPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
pageModel.PageData = list; pageModel.PageData = list;
......
...@@ -17,6 +17,7 @@ using Edu.Common.WeChatPayAPIv3.Model.RefundsCallback; ...@@ -17,6 +17,7 @@ using Edu.Common.WeChatPayAPIv3.Model.RefundsCallback;
using Edu.Common.WeChatPayAPIv3.Model.WxPayCallback; using Edu.Common.WeChatPayAPIv3.Model.WxPayCallback;
using Edu.Model.Entity.Finance; using Edu.Model.Entity.Finance;
using Edu.Model.ViewModel.Finance; using Edu.Model.ViewModel.Finance;
using Edu.Model.ViewModel.User;
using Edu.Module.Course; using Edu.Module.Course;
using Edu.Module.User; using Edu.Module.User;
using Edu.WebApi.Filter; using Edu.WebApi.Filter;
...@@ -165,7 +166,21 @@ namespace Edu.WebApi.Controllers.WeChatPay ...@@ -165,7 +166,21 @@ namespace Edu.WebApi.Controllers.WeChatPay
{ {
financeConfig = new RB_Finance_Config_ViewModel(); financeConfig = new RB_Finance_Config_ViewModel();
} }
var userInfo = employeeModule.GetEmployeeListModule(new Model.ViewModel.User.Employee_ViewModel { Id = orderModel.EnterID, Group_Id = orderModel.Group_Id }).ToList().FirstOrDefault(); var userInfo = new Employee_ViewModel();
if (orderModel.CreateBy > 0)
{
userInfo = employeeModule.GetEmployeeListModule(new Model.ViewModel.User.Employee_ViewModel { Id = orderModel.CreateBy, Group_Id = orderModel.Group_Id }).ToList().FirstOrDefault();
}
else if (orderModel.EnterID > 0)
{
userInfo = employeeModule.GetEmployeeListModule(new Model.ViewModel.User.Employee_ViewModel { Id = orderModel.EnterID, Group_Id = orderModel.Group_Id }).ToList().FirstOrDefault();
}
else if (orderModel.CourseConsultantId > 0)
{
userInfo = employeeModule.GetEmployeeListModule(new Model.ViewModel.User.Employee_ViewModel { Id = orderModel.CourseConsultantId, Group_Id = orderModel.Group_Id }).ToList().FirstOrDefault();
}
var OriginalFee = Math.Round((Convert.ToDecimal(Config.SettlementRate) / 100) * (Convert.ToDecimal(payModel.amount.payer_total) / 100), 2, MidpointRounding.AwayFromZero);//手续费 var OriginalFee = Math.Round((Convert.ToDecimal(Config.SettlementRate) / 100) * (Convert.ToDecimal(payModel.amount.payer_total) / 100), 2, MidpointRounding.AwayFromZero);//手续费
RB_Online_Trade_Detail model = new RB_Online_Trade_Detail(); RB_Online_Trade_Detail model = new RB_Online_Trade_Detail();
RB_Finance_OrderRecord orderRecordModel = new RB_Finance_OrderRecord RB_Finance_OrderRecord orderRecordModel = new RB_Finance_OrderRecord
......
...@@ -147,7 +147,7 @@ namespace Edu.WebApi.Timers ...@@ -147,7 +147,7 @@ namespace Edu.WebApi.Timers
marketTimer = new System.Timers.Timer() marketTimer = new System.Timers.Timer()
{ {
Interval = (1000 * 60) * (60) //1小时执行一次 Interval = (1000 * 60) * (10) //10分钟执行一次
}; };
marketTimer.Elapsed += new System.Timers.ElapsedEventHandler(DealMarketConsultantData); marketTimer.Elapsed += new System.Timers.ElapsedEventHandler(DealMarketConsultantData);
marketTimer.Enabled = true; marketTimer.Enabled = true;
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
"Microsoft.Hosting.Lifetime": "Information" "Microsoft.Hosting.Lifetime": "Information"
} }
}, },
"SettlementRated": "0.60", "SettlementRate": "0.54",
"SellCommissionFFBL": "0.15", "SellCommissionFFBL": "0.15",
"JwtSecretKey": "@VIITTOREBORN*2018", "JwtSecretKey": "@VIITTOREBORN*2018",
"MallJwtSecretKey": "@VIITTOREBORN*2018123", "MallJwtSecretKey": "@VIITTOREBORN*2018123",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment