Commit cc5489fe authored by liudong1993's avatar liudong1993

1学员跟踪

parent e88ab9dc
using Edu.Common.Enum;
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.Customer
{
/// <summary>
/// 客户续费介绍实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Student_RenewOrder
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 学员ID
/// </summary>
public int StuId { get; set; }
/// <summary>
/// 类型 1续费 2学员介绍
/// </summary>
public int Type { get; set; }
/// <summary>
/// 关联订单ID
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 是第几个月
/// </summary>
public int Month { get; set; }
/// <summary>
/// 删除状态(0-正常,1-禁用)
/// </summary>
public int Status { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}
}
......@@ -138,7 +138,7 @@ namespace Edu.Model.Entity.User
public int StuPurpose { get; set; }
/// <summary>
/// 客人来源
/// 客人来源 (启用 +》 CreateType)
/// </summary>
public OrderSourceEnum StuSource { get; set; }
......@@ -246,5 +246,10 @@ namespace Edu.Model.Entity.User
/// 咨询结果
/// </summary>
public string ConsultingResults { get; set; }
/// <summary>
/// 首次报名时间
/// </summary>
public DateTime? FirstEnrollDate { get; set; }
}
}
using Edu.Model.Entity.Customer;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Customer
{
/// <summary>
/// 客户续费介绍扩展实体类
/// </summary>
public class RB_Student_RenewOrder_Extend : RB_Student_RenewOrder
{
/// <summary>
/// 订单数量
/// </summary>
public int OrderNum { get; set; }
}
}
......@@ -121,7 +121,11 @@ namespace Edu.Module.Course
/// 学生
/// </summary>
private readonly RB_StudentRepository studentRepository = new RB_StudentRepository();
/// <summary>
/// 学员续费介绍
/// </summary>
private readonly RB_Student_RenewOrderRepository student_RenewOrderRepository = new RB_Student_RenewOrderRepository();
/// <summary>
/// 同行
/// </summary>
......@@ -762,18 +766,18 @@ namespace Edu.Module.Course
message = "同业信息有误";
return false;
}
var glist = order_GuestRepository.GetGuestListForMobile(StuList.Select(x => x.StuTel).ToList(), demodel.CustomerId, demodel.Group_Id);
var glist = student_OrderGuestRepository.GetStuOrderList(demodel.StuIds, demodel.Group_Id);
if (glist.Any())
{
foreach (var item in StuList)
{
if (glist.Where(x => x.Mobile == item.StuTel).Any())
if (glist.Where(x => x.Student_Id == item.StuId).Any())
{
item.IsRenewGuest = 1;//是续费的
}
}
}
int RenewNum = glist.Select(x => x.Mobile).Distinct().Count();//续费订单数量
int RenewNum = glist.Select(x => x.Student_Id).Distinct().Count();//续费订单数量
int NormalNum = demodel.GuestNum - RenewNum;//首次报名数量
decimal dmoney = coursePrice * (courseModel.B2CRatio / 100) * NormalNum + coursePrice * (courseModel.B2CReNewRatio / 100) * RenewNum;
if (demodel.DiscountMoney != dmoney)
......@@ -1180,6 +1184,53 @@ namespace Edu.Module.Course
}
SetOrderGuestInfo(guestModel, out string Nmessage);
demodel.NewGuestId = guestModel.Id;
#region 续费 学员介绍
RB_Student_ViewModel stuModel = null;
var sogModel = student_OrderGuestRepository.GetStrOrderGuestListRepository(new RB_Student_OrderGuest_ViewModel() { GuestId = demodel.OldGuestId }).FirstOrDefault();
if (sogModel != null) {
stuModel = studentRepository.GetEntity<RB_Student_ViewModel>(sogModel.Student_Id);
}
if (stuModel != null && (demodel.RenewOrderId > 0 || (stuModel.CreateType == StuCreateTypeEnum.TransIntroduction && stuModel.StuSourceId > 0))) {
int month = 1;
if (stuModel.FirstEnrollDate.HasValue)
{
month = ((demodel.CreateTime.Year - stuModel.FirstEnrollDate.Value.Year) * 12) + demodel.CreateTime.Month - stuModel.FirstEnrollDate.Value.Month + 1;
}
//续费
if (demodel.RenewOrderId > 0)
{
student_RenewOrderRepository.Insert(new Model.Entity.Customer.RB_Student_RenewOrder()
{
Id = 0,
CreateBy = demodel.CreateBy,
CreateTime = demodel.CreateTime,
Group_Id = demodel.Group_Id,
Month = month,
OrderId = OrderId,
Status = 0,
StuId = stuModel.StuId,
Type = 1
});
}
//学员介绍
if (stuModel.CreateType == StuCreateTypeEnum.TransIntroduction && stuModel.StuSourceId > 0)
{
student_RenewOrderRepository.Insert(new Model.Entity.Customer.RB_Student_RenewOrder()
{
Id = 0,
CreateBy = demodel.CreateBy,
CreateTime = demodel.CreateTime,
Group_Id = demodel.Group_Id,
Month = month,
OrderId = OrderId,
Status = 0,
StuId = stuModel.StuId,
Type = 2
});
}
}
#endregion
}
#endregion
......@@ -1231,7 +1282,7 @@ namespace Edu.Module.Course
SetOrderGuestInfo(guestModel, out string Nmessage);
#region 更新客人阶段
//if (item.IsRenewGuest == 1 && item.StuStage == Common.Enum.User.StuStageEnum.Clinch)
//{
// Dictionary<string, object> keyValues = new Dictionary<string, object>() {
......@@ -1285,6 +1336,66 @@ namespace Edu.Module.Course
// });
//}
#endregion
#region 更新首次报名时间
if (item.IsRenewGuest != 1) {
//非续费 更新首次报名
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Student_ViewModel.FirstEnrollDate), DateTime.Now}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof(RB_Student_ViewModel.StuId),
FiledValue = item.StuId,
OperatorEnum =OperatorEnum.Equal
}
};
studentRepository.Update(keyValues, wheres);
}
#endregion
#region 续费 学员介绍
if (item.IsRenewGuest == 1 || (item.CreateType == StuCreateTypeEnum.TransIntroduction && item.StuSourceId > 0))
{
int month = 1;
if (item.FirstEnrollDate.HasValue)
{
month = ((demodel.CreateTime.Year - item.FirstEnrollDate.Value.Year) * 12) + demodel.CreateTime.Month - item.FirstEnrollDate.Value.Month + 1;
}
//续费
if (item.IsRenewGuest == 1)
{
student_RenewOrderRepository.Insert(new Model.Entity.Customer.RB_Student_RenewOrder()
{
Id = 0,
CreateBy = demodel.CreateBy,
CreateTime = demodel.CreateTime,
Group_Id = demodel.Group_Id,
Month = month,
OrderId = OrderId,
Status = 0,
StuId = item.StuId,
Type = 1
});
}
//学员介绍
if (item.CreateType == StuCreateTypeEnum.TransIntroduction && item.StuSourceId > 0)
{
student_RenewOrderRepository.Insert(new Model.Entity.Customer.RB_Student_RenewOrder()
{
Id = 0,
CreateBy = demodel.CreateBy,
CreateTime = demodel.CreateTime,
Group_Id = demodel.Group_Id,
Month = month,
OrderId = OrderId,
Status = 0,
StuId = item.StuId,
Type = 2
});
}
}
#endregion
}
}
#endregion
......
......@@ -319,18 +319,18 @@ namespace Edu.Module.Course
return false;
}
int CustomerId = StuList.FirstOrDefault().CustomerId;
var glist = order_GuestRepository.GetGuestListForMobile(StuList.Select(x => x.StuTel).ToList(), CustomerId, userInfo.Group_Id);
var glist = student_OrderGuestRepository.GetStuOrderList(stuIds, userInfo.Group_Id);
if (glist.Any())
{
foreach (var item in StuList)
{
if (glist.Where(x => x.Mobile == item.StuTel).Any())
if (glist.Where(x => x.Student_Id == item.StuId).Any())
{
item.IsRenewGuest = 1;//是续费的
}
}
}
int RenewNum = glist.Select(x => x.Mobile).Distinct().Count();//续费订单数量
int RenewNum = glist.Select(x => x.Student_Id).Distinct().Count();//续费订单数量
//获取该学生的负责人
int EnterId = 0;
......
......@@ -146,6 +146,27 @@ namespace Edu.Module.Customer
flag = newId > 0;
logTitle = "新增学员约访";
logContent = model.Remark;
if (flag) {
//增加 跟进记录
#region 验证用户的类型
var assistList = student_AssistRepository.GetStudentAssistListRepository(new RB_Student_Assist_Extend() { StuId = model.StuId });
var assistModel = assistList.Where(x => x.AssistId == model.CreateBy).FirstOrDefault();
var AssistType = assistModel?.AssistType ?? 0;
#endregion
student_FollowRepository.Insert(new Model.Entity.Customer.RB_Student_Follow()
{
StuId = model.StuId,
AssistType = AssistType,
CreateBy = model.CreateBy,
CreateTime = model.CreateTime,
Group_Id = model.Group_Id,
Id = 0,
Remark = $"客人约访:约访时间【{model.AppointmentTime.ToString("yyyy-MM-dd HH:mm")}】,约访地点【{model.AppointmentPoint}】,备注【{model.Remark}】",
Status = DateStateEnum.Normal,
UpdateBy = model.UpdateBy,
UpdateTime = model.UpdateTime
});
}
}
student_LogRepository.AddStuLogRepository(model.StuId, Common.Enum.Log.StudentLogTypeEnum.Appointment, logTitle, logContent, model.CreateBy);
return flag;
......@@ -248,6 +269,11 @@ namespace Edu.Module.Customer
}
else
{
#region 验证用户的类型
var assistList = student_AssistRepository.GetStudentAssistListRepository(new RB_Student_Assist_Extend() { StuId = model.StuId });
var assistModel = assistList.Where(x => x.AssistId == model.CreateBy).FirstOrDefault();
model.AssistType = assistModel?.AssistType ?? 0;
#endregion
var newId = student_FollowRepository.Insert(model);
model.Id = newId;
flag = newId > 0;
......@@ -448,6 +474,26 @@ namespace Edu.Module.Customer
logContent = model.Remark;
if (flag)
{
//增加 跟进记录
#region 验证用户的类型
var assistList = student_AssistRepository.GetStudentAssistListRepository(new RB_Student_Assist_Extend() { StuId = model.StuId });
var assistModel = assistList.Where(x => x.AssistId == model.CreateBy).FirstOrDefault();
var AssistType = assistModel?.AssistType ?? 0;
#endregion
student_FollowRepository.Insert(new Model.Entity.Customer.RB_Student_Follow()
{
StuId = model.StuId,
AssistType = AssistType,
CreateBy = model.CreateBy,
CreateTime = model.CreateTime,
Group_Id = model.Group_Id,
Id = 0,
Remark = $"客人到访:到访时间【{Common.ConvertHelper.FormatDate(model.Date) + " " + model.VisitTime}】,到访校区【{schoolRepository.GetEntity(model.School_Id)?.SName ?? ""}】,接待人【{accountRepository.GetEmployeeInfo(model.ReceptionPersion)?.EmployeeName ?? ""}】,备注【{model.Remark}】",
Status = DateStateEnum.Normal,
UpdateBy = model.UpdateBy,
UpdateTime = model.UpdateTime
});
//获取学生信息
//var smodel = studentRepository.GetEntity(model.StuId);
//if (smodel != null && smodel.StuStage == Common.Enum.User.StuStageEnum.NewStu)
......
......@@ -27,7 +27,10 @@ namespace Edu.Module.User
/// 学生仓储层对象
/// </summary>
private readonly RB_StudentRepository studentRepository = new RB_StudentRepository();
/// <summary>
/// 日志
/// </summary>
private readonly RB_Student_LogRepository student_LogRepository = new RB_Student_LogRepository();
/// <summary>
/// 地区仓储层对象
/// </summary>
......@@ -822,6 +825,29 @@ namespace Edu.Module.User
/// <returns></returns>
public string SetStudentConsultResults(RB_Student_ViewModel demodel, UserInfo userInfo)
{
var oldModel = studentRepository.GetEntity(demodel.StuId);
if (oldModel == null) { return "不存在"; }
string logContent = "";
if (oldModel.PlanPrice != demodel.PlanPrice)
{
logContent += $"规划课程及报价由【{oldModel.PlanPrice}】修改为【{demodel.PlanPrice}】;";
}
if (oldModel.BaseCondition != demodel.BaseCondition)
{
logContent += $"基本情况由【{oldModel.BaseCondition}】修改为【{demodel.BaseCondition}】;";
}
if (oldModel.DemandPoint != demodel.DemandPoint)
{
logContent += $"需求点由【{oldModel.DemandPoint}】修改为【{demodel.DemandPoint}】;";
}
if (oldModel.ResistPoint != demodel.ResistPoint)
{
logContent += $"抗拒点由【{oldModel.ResistPoint}】修改为【{demodel.ResistPoint}】;";
}
if (oldModel.ConsultingResults != demodel.ConsultingResults)
{
logContent += $"咨询结果由【{oldModel.ConsultingResults}】修改为【{demodel.ConsultingResults}】;";
}
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Student_ViewModel.ConsultDate), demodel.ConsultDate},
{ nameof(RB_Student_ViewModel.PlanPrice), demodel.PlanPrice},
......@@ -840,6 +866,20 @@ namespace Edu.Module.User
}
};
bool flag = studentRepository.Update(keyValues, wheres);
if (flag) {
student_LogRepository.Insert(new Model.Entity.Customer.RB_Student_Log()
{
LogId = 0,
LogType = Common.Enum.Log.StudentLogTypeEnum.BasicInfo,
CreateBy = userInfo.Id,
CreateTime = DateTime.Now,
CreateType = 1,
Group_Id = userInfo.Group_Id,
LogContent = logContent,
LogTitle = "客户情况分析",
StuId = demodel.StuId
});
}
return flag ? "" : "出错了,请联系管理员";
}
}
......
......@@ -36,6 +36,10 @@ namespace Edu.Module.User
/// 学员跟进
/// </summary>
private readonly RB_Student_FollowRepository followRepository = new RB_Student_FollowRepository();
/// <summary>
/// 学员续费介绍
/// </summary>
private readonly RB_Student_RenewOrderRepository student_RenewOrderRepository = new RB_Student_RenewOrderRepository();
#region 学员跟进
......@@ -61,23 +65,56 @@ namespace Edu.Module.User
var zlist = followRepository.GetStudentIntroductionMonthList(stuIds, demodel.Group_Id);//转介绍
//查询汇总数据
var TotalData = student_OrderGuestRepository.GetStudentFollowUpStat(demodel);
//查询每月续费介绍情况
var ROList = student_RenewOrderRepository.GetStuMonthList(demodel.Group_Id);
#region 组装数据
int MaxMonth = 2;//最大月份
//数据
List<object> RList = new List<object>();
foreach (var item in slist) {
//组合所有的月份
var MonthList = flist.Where(x => x.StuId == item.StuId).Select(x => x.MonthStr).ToList();
MonthList.AddRange(xlist.Where(x => x.StuId == item.StuId).Select(x => x.MonthStr).ToList());
MonthList.AddRange(zlist.Where(x => x.StuId == item.StuId).Select(x => x.MonthStr).ToList());
MonthList = MonthList.Distinct().OrderBy(x => x).ToList();
//var MonthList = flist.Where(x => x.StuId == item.StuId).Select(x => x.MonthStr).ToList();
//MonthList.AddRange(xlist.Where(x => x.StuId == item.StuId).Select(x => x.MonthStr).ToList());
//MonthList.AddRange(zlist.Where(x => x.StuId == item.StuId).Select(x => x.MonthStr).ToList());
//MonthList = MonthList.Distinct().OrderBy(x => x).ToList();
//foreach (var month in MonthList) {
// var xmodel = xlist.Where(x => x.StuId == item.StuId && x.MonthStr == month).FirstOrDefault();
// var zmodel = zlist.Where(x => x.StuId == item.StuId && x.MonthStr == month).FirstOrDefault();
// var teacherModel = flist.Where(x => x.StuId == item.StuId && x.MonthStr == month && x.AssistType == AssistTypeEnum.Teacher).FirstOrDefault();
// var consultantModel = flist.Where(x => x.StuId == item.StuId && x.MonthStr == month && x.AssistType == AssistTypeEnum.CourseAdviser).FirstOrDefault();
// MonthObjList.Add(new
// {
// Month = month,
// IsRenew = xmodel != null ? 1 : 2,
// IntroductionNum = zmodel?.StuNum ?? 0,
// Teacher = teacherModel?.Remark ?? "",
// TeacherTime = teacherModel?.CreateTime.ToString("yyyy-MM-dd HH:mm") ?? "",
// Consultant = consultantModel?.Remark ?? "",
// ConsultantTime = consultantModel?.CreateTime.ToString("yyyy-MM-dd HH:mm") ?? ""
// });
//}
//查询学生首次报名 至 当月的所有月份
int month = 1;
if (item.FirstEnrollDate.HasValue)
{
month = ((DateTime.Now.Year - item.FirstEnrollDate.Value.Year) * 12) + DateTime.Now.Month - item.FirstEnrollDate.Value.Month + 1;
}
else {
item.FirstEnrollDate = DateTime.Now;
}
MaxMonth = MaxMonth < month ? month : MaxMonth;
List<object> MonthObjList = new List<object>();
foreach (var month in MonthList) {
var xmodel = xlist.Where(x => x.StuId == item.StuId && x.MonthStr == month).FirstOrDefault();
var zmodel = zlist.Where(x => x.StuId == item.StuId && x.MonthStr == month).FirstOrDefault();
var teacherModel = flist.Where(x => x.StuId == item.StuId && x.MonthStr == month && x.AssistType == AssistTypeEnum.Teacher).FirstOrDefault();
var consultantModel = flist.Where(x => x.StuId == item.StuId && x.MonthStr == month && x.AssistType == AssistTypeEnum.CourseAdviser).FirstOrDefault();
for (var i = 0; i < month; i++) {
var monthStr = item.FirstEnrollDate.Value.AddMonths(i).ToString("yyyy-MM");
var xmodel = xlist.Where(x => x.StuId == item.StuId && x.MonthStr == monthStr).FirstOrDefault();
var zmodel = zlist.Where(x => x.StuId == item.StuId && x.MonthStr == monthStr).FirstOrDefault();
var teacherModel = flist.Where(x => x.StuId == item.StuId && x.MonthStr == monthStr && x.AssistType == AssistTypeEnum.Teacher).FirstOrDefault();
var consultantModel = flist.Where(x => x.StuId == item.StuId && x.MonthStr == monthStr && x.AssistType == AssistTypeEnum.CourseAdviser).FirstOrDefault();
MonthObjList.Add(new
{
Month = month,
Month = monthStr,
IsRenew = xmodel != null ? 1 : 2,
IntroductionNum = zmodel?.StuNum ?? 0,
Teacher = teacherModel?.Remark ?? "",
......@@ -86,6 +123,7 @@ namespace Edu.Module.User
ConsultantTime = consultantModel?.CreateTime.ToString("yyyy-MM-dd HH:mm") ?? ""
});
}
var StuObj = new
{
item.StuId,
......@@ -102,9 +140,24 @@ namespace Edu.Module.User
};
RList.Add(StuObj);
}
//续费 学员介绍
List<object> RList2 = new List<object>();
List<int> Mlist = ROList.Select(x => x.Month).Distinct().OrderBy(x => x).ToList();
int MaxRO = ROList.Max(x => x.Month);
MaxMonth = MaxMonth < MaxRO ? MaxRO : MaxMonth;
foreach (var month in Mlist) {
RList2.Add(new
{
MonthNum = month,
RenewNum = ROList.Where(x => x.Month == month && x.Type == 1).FirstOrDefault()?.OrderNum ?? 0,
IntroductionNum = ROList.Where(x => x.Month == month && x.Type == 2).FirstOrDefault()?.OrderNum ?? 0,
});
}
Robj = new
{
RList,
MaxMonth,
MonthList = RList2,
Stat = new
{
StuTNum = TotalData.OrderCount,
......@@ -116,6 +169,7 @@ namespace Edu.Module.User
TotalData.DropOutNum
}
};
#endregion
}
return Robj;
}
......
......@@ -134,7 +134,7 @@ GROUP BY s.StuId,DATE_FORMAT(o.CreateTime,'%Y-%m')
INNER JOIN rb_student_orderguest sog on s.StuId = sog.Student_Id
INNER JOIN rb_order o on sog.OrderId = o.OrderId
INNER JOIN rb_order_guest og on og.Id = sog.GuestId
where s.Group_Id ={group_Id} and s.`Status` =0 and sog.`Status` =0 and o.OrderState <>3 and s.StuSource =4 and s.StuSourceId in({stuIds})
where s.Group_Id ={group_Id} and s.`Status` =0 and sog.`Status` =0 and o.OrderState <>3 and s.CreateType =4 and s.StuSourceId in({stuIds})
GROUP BY s.StuSourceId,DATE_FORMAT(o.CreateTime,'%Y-%m')
";
return Get<RB_Student_Follow_Extend>(sql).ToList();
......
using Edu.Common.Enum;
using Edu.Model.Entity.Customer;
using Edu.Model.ViewModel.Customer;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Customer
{
/// <summary>
/// 客户续费介绍仓储层
/// </summary>
public class RB_Student_RenewOrderRepository : BaseRepository<RB_Student_RenewOrder>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_RenewOrder_Extend> GetList(RB_Student_RenewOrder_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Student_RenewOrder AS A
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_RenewOrder_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_RenewOrder_Extend.Group_Id), query.Group_Id);
}
}
builder.AppendFormat(" ORDER BY A.{0} ASC ", nameof(RB_Student_RenewOrder_Extend.Id));
return Get<RB_Student_RenewOrder_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 获取学员每月续费,介绍情况
/// </summary>
/// <param name="group_Id"></param>
/// <returns></returns>
public List<RB_Student_RenewOrder_Extend> GetStuMonthList(int group_Id)
{
string sql = $@"SELECT r.Type,r.`Month`,COUNT(0) as OrderNum FROM rb_student_reneworder r
INNER JOIN rb_order o on r.OrderId = o.OrderId
WHERE r.Group_Id ={group_Id} and r.`Status` =0 and o.OrderState <>3
GROUP BY r.Type,r.`Month`";
return Get<RB_Student_RenewOrder_Extend>(sql).ToList();
}
}
}
......@@ -51,7 +51,7 @@ WHERE 1=1
parameters.Add("Title", "%" + query.Title.Trim() + "%");
}
}
builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_LearningGarden_ViewModel.Id));
builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_LearningGarden_ViewModel.CreateDate));
return GetPage<RB_LearningGarden_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
......
......@@ -792,7 +792,7 @@ WHERE 1=1 AND A.Status=0 AND class.Status=0 AND class.ClassStatus <>4 AND b.Or
/// <param name="mobileList"></param>
/// <param name="orderId"></param>
/// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetGuestListForMobile(List<string> mobileList, int customerId, int groupId)
public List<RB_Order_Guest_ViewModel> GetGuestListForMobile1(List<string> mobileList, int customerId, int groupId)
{
string sql = $@"SELECT g.Mobile FROM rb_order_guest g
LEFT JOIN rb_order o on g.OrderId = o.OrderId
......
......@@ -538,6 +538,7 @@ WHERE o.OrderState=1 and og.`Status`=0 and sog.`Status`=0 and og.GuestState <>2
}
else
{
model.FirstEnrollDate = DateTime.Now;//2022-01-12 ld
if (model.StuStage <= 0)
{
model.StuStage = 1;
......
......@@ -220,6 +220,18 @@ ORDER BY {(Type == 1 ? "c.OpenTime asc" : "c.OpenTime desc")} LIMIT 1";
return Get<RB_Student_OrderGuest_ViewModel>(sql).FirstOrDefault();
}
/// <summary>
/// 获取学生订单关联
/// </summary>
/// <param name="stuIds"></param>
/// <returns></returns>
public List<RB_Student_OrderGuest_ViewModel> GetStuOrderList(string stuIds, int groupId) {
string sql = $@"select sog.* from RB_Student_OrderGuest sog
INNER JOIN rb_order o on sog.OrderId = o.OrderId
where sog.Status =0 and o.Group_Id ={groupId} and Student_Id in({stuIds})";
return Get<RB_Student_OrderGuest_ViewModel>(sql).ToList();
}
#region 学员跟进
/// <summary>
......@@ -316,7 +328,7 @@ ORDER BY {(Type == 1 ? "c.OpenTime asc" : "c.OpenTime desc")} LIMIT 1";
}
}
string sql = $@"SELECT s.StuId,s.StuName,s.StuTel,s.StuRealMobile,s.QQ,DATE_FORMAT(ec.CreateTime,'%Y-%m-%d') as followUpTime,c.CourseId,c.CourseName,s.JapanBaseInfo,s.StuBirth,org.GuestState as StuGuestState
string sql = $@"SELECT s.StuId,s.StuName,s.StuTel,s.FirstEnrollDate,s.StuRealMobile,s.QQ,DATE_FORMAT(ec.CreateTime,'%Y-%m-%d') as followUpTime,c.CourseId,c.CourseName,s.JapanBaseInfo,s.StuBirth,org.GuestState as StuGuestState
FROM rb_student s
INNER JOIN rb_student_orderguest og on og.Student_Id = s.StuId
INNER JOIN (SELECT og.Student_Id,MAX(og.Id) as Id FROM rb_student_orderguest og
......
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