Commit 5c09466f authored by 黄奎's avatar 黄奎

页面修改

parent ceabd77e
......@@ -175,6 +175,16 @@ namespace Edu.Model.ViewModel.User
/// </summary>
public int QStudentType { get; set; }
/// <summary>
/// 跟进开始时间
/// </summary>
public string FollowStartTime { get; set; }
/// <summary>
/// 跟进结束时间
/// </summary>
public string FollowEndTime { get; set; }
/// <summary>
/// 开始时间
/// </summary>
......@@ -449,7 +459,7 @@ namespace Edu.Model.ViewModel.User
/// <summary>
/// 查询未跟进学员
/// </summary>
public int IsQueryNotFollow { get; set; }
public int IsSelectMyStu { get; set; }
/// <summary>
/// 查询未跟进的线索
......@@ -460,5 +470,10 @@ namespace Edu.Model.ViewModel.User
/// 是否查询今日跟进
/// </summary>
public int IsQueryTodayFollow { get; set; }
/// <summary>
/// 分配给我的线索
/// </summary>
public int IsQueryMyClue { get; set; }
}
}
\ No newline at end of file
......@@ -211,11 +211,16 @@ namespace Edu.Module.User
//内部介绍人
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<int> createBys= Common.ConvertHelper.StringToList(string.Join(",", list.Select(qitem => qitem.CreateBy)));
List<RB_Account_ViewModel> accountList = new List<RB_Account_ViewModel>();
if (aIds != null && aIds.Count > 0)
{
empIdList.AddRange(aIds);
}
if (createBys != null && createBys.Count > 0)
{
empIdList.AddRange(createBys);
}
if (empIdList != null && empIdList.Count > 0)
{
accountList = accountModule.GetAccountListExtModule(new RB_Account_ViewModel() { QIds = string.Join(",", empIdList) });
......@@ -359,6 +364,7 @@ namespace Edu.Module.User
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>();
item.CreateByName = accountList?.FirstOrDefault(qitem => qitem.Id == item.CreateBy)?.AccountName ?? "";
}
}
return list;
......
......@@ -139,52 +139,45 @@ WHERE 1=1
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
string where1="", where2="",tempWhere="";
if (!string.IsNullOrEmpty(date))
{
//指定日期的约访统计
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)
, nameof(RB_Student_Appointment_Extend.AppointmentTime),
date);
string where1="", tempWhere="";
}
if (CreateBy > 0)
{
where1 += string.Format(" AND B.{0}={1} ", nameof(RB_Student_Appointment_Extend.CreateBy), CreateBy);
where2 += string.Format(@"
where1 += 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);
tempWhere += string.Format(" AND CreateBy={0} ", CreateBy);
}
//课程顾问
if (UserType == 1)
//老师每周跟进一次
if (UserType == 2)
{
tempWhere += string.Format(@" AND DATE_FORMAT(CreateTime, '%Y%m' )=DATE_FORMAT(NOW() , '%Y%m' ) ");
tempWhere += string.Format(@" AND WEEK(CreateTime,1)=WEEK(NOW(),1) ");
}
else if (UserType == 2)
else
{
tempWhere += string.Format(@" AND WEEK(CreateTime,1)=WEEK(NOW(),1) ");
tempWhere += string.Format(@" AND DATE_FORMAT(CreateTime, '%Y%m' )=DATE_FORMAT(NOW() , '%Y%m' ) ");
}
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 1=1 {2} GROUP BY StuId ) AS B ON A.StuId=B.StuId
LEFT JOIN (SELECT StuId,COUNT(1) AS FollowCount FROM rb_student_follow WHERE 1=1 {0} GROUP BY StuId ) AS B ON A.StuId=B.StuId
WHERE 1=1 AND IFNULL(B.FollowCount,0)=0 {1}
) AS A LEFT JOIN (SELECT Student_Id,Count(1) AS OrderCount FROM rb_student_orderguest GROUP BY Student_Id) AS C ON A.StuId=C.Student_Id
) AS A LEFT JOIN (
SELECT A.Student_Id,Count(1) AS OrderCount
FROM rb_student_orderguest AS A INNER JOIN RB_Order AS B ON A.OrderId=B.OrderId
WHERE B.OrderState IN(1)
GROUP BY A.Student_Id
) AS C ON A.StuId=C.Student_Id
WHERE A.School_Id NOT IN(1,6,9) AND A.`Status`=0 AND A.StuStage<>7 AND A.AdvisorStatus<>7 AND IFNULL(C.OrderCount,0)>0
", where1, where2, tempWhere);
", tempWhere, where1);
if (!string.IsNullOrEmpty(KeyWords))
{
......
......@@ -274,7 +274,12 @@ FROM rb_student AS t LEFT JOIN rb_group AS g ON t.Group_Id=g.GId
LEFT JOIN rb_customer c on (c.CustomerId = t.StuSourceId AND t.CreateType=2)
LEFT JOIN rb_account as a ON (t.StuId=a.AccountId AND a.AccountType=4 )
LEFT JOIN rb_student_advisorconfig AS b ON t.AdvisorStatus=B.Id
LEFT JOIN (SELECT Student_Id,Count(1) AS OrderCount FROM rb_student_orderguest GROUP BY Student_Id) AS org ON t.StuId=org.Student_Id
LEFT JOIN (
SELECT A.Student_Id,Count(1) AS OrderCount
FROM rb_student_orderguest AS A INNER JOIN RB_Order AS B ON A.OrderId=B.OrderId
WHERE B.OrderState IN(1)
GROUP BY A.Student_Id
) AS org ON t.StuId=org.Student_Id
WHERE 1=1
");
if (query != null)
......@@ -463,23 +468,25 @@ WHERE 1=1
nameof(RB_Student_ViewModel.StuSourceId),
query.StuSourceId);
}
//查询未跟进的线索
if (query.IsQueryNotAppointment == 1)
//分配给我的线索(无订单&&从未跟进学员)
if (query.IsQueryMyClue == 1)
{
builder.Append(" AND IFNULL(org.OrderCount,0)=0 ");
builder.AppendFormat(" AND Exists(SELECT StuId FROM RB_Student_Appointment WHERE `Status`=0 AND t.StuId=StuId AND IFNULL(Feedback,'')='') ");
builder.AppendFormat(" AND NOT Exists (SELECT StuId FROM rb_student_follow WHERE `Status`=0 AND t.StuId=StuId AND CreateBy={0}) ", query.CreateBy);
}
//查询未跟进学员
if (query.IsQueryNotFollow == 1)
//分配给我的学员(有订单&&从未跟进该学员)
if (query.IsSelectMyStu == 1)
{
builder.Append(" AND IFNULL(org.OrderCount,0)>0 ");
builder.AppendFormat(" AND NOT Exists (SELECT StuId FROM rb_student_follow WHERE `Status`=0 AND t.StuId=StuId AND CreateBy={0}) ", query.CreateBy);
}
//查询今日跟进
//查询今日被跟进学员(有订单&&有跟进记录)
if (query.IsQueryTodayFollow == 1)
{
builder.Append(" AND IFNULL(org.OrderCount,0)>0 ");
builder.AppendFormat(" AND Exists (SELECT StuId FROM rb_student_follow WHERE `Status`=0 AND t.StuId=StuId AND CreateBy={0} AND CreateTime>='{1}' AND CreateTime<='{2} 23:59:59') ", query.CreateBy, query.StartTime, query.EndTime);
builder.AppendFormat(" AND Exists (SELECT StuId FROM rb_student_follow WHERE `Status`=0 AND t.StuId=StuId AND CreateBy={0} AND CreateTime>='{1}' AND CreateTime<='{2} 23:59:59') ", query.CreateBy, query.FollowStartTime, query.FollowEndTime);
}
}
builder.AppendFormat(" ORDER BY t.{0} DESC ", nameof(RB_Student_ViewModel.StuId));
......
......@@ -3341,17 +3341,21 @@ namespace Edu.WebApi.Controllers.User
};
studentModule.GetStudentAppointmentPageModule(pageModel.PageIndex, pageModel.PageSize, out long TodayClueCount, todayClueQuery);
var todayConnectQuery = new RB_Student_Appointment_Extend()
int UserType = 0;
if (base.UserInfo.IsCourseConsultant == 1)
{
QueryDate = Common.ConvertHelper.FormatDate(DateTime.Now),
CreateBy = userId,
KeyWords = base.ParmJObj.GetStringValue("KeyWords"),
};
studentModule.GetStudentAppointmentPageModule(pageModel.PageIndex, pageModel.PageSize, out long TodayConnectCount, todayConnectQuery);
UserType = 1;
}
else if (base.UserInfo.AccountType == AccountTypeEnum.Teacher)
{
UserType = 2;
}
string KeyWords = base.ParmJObj.GetStringValue("KeyWords");
studentModule.GetTodayConnectPageModule(pageModel.PageIndex, pageModel.PageSize, out long TodayConnectCount,userId, UserType,KeyWords);
var myClueQuery = new RB_Student_ViewModel()
{
IsQueryNotAppointment = 1,
IsQueryMyClue = 1,
BelongType = 1,
CreateBy = userId,
QStudentStatus = 1,
......@@ -3361,7 +3365,7 @@ namespace Edu.WebApi.Controllers.User
var myStudentQuery = new RB_Student_ViewModel()
{
IsQueryNotFollow = 1,
IsSelectMyStu = 1,
BelongType = 1,
CreateBy = userId,
QStudentStatus = 1,
......@@ -3382,11 +3386,19 @@ namespace Edu.WebApi.Controllers.User
var todayFollowQuery = new RB_Student_ViewModel()
{
CreateBy = userId,
StartTime= base.ParmJObj.GetStringValue("StartTime"),
EndTime = Common.ConvertHelper.FormatDate(DateTime.Now),
FollowEndTime = Common.ConvertHelper.FormatDate(DateTime.Now),
IsQueryTodayFollow=1,
BelongType=1,
};
if (!string.IsNullOrEmpty(base.ParmJObj.GetStringValue("StartTime")))
{
todayFollowQuery.FollowStartTime = base.ParmJObj.GetStringValue("StartTime");
}
else
{
todayFollowQuery.FollowStartTime = Common.ConvertHelper.FormatDate(DateTime.Now);
}
studentModule.GetTodayFollowStudentModule(pageModel.PageIndex, pageModel.PageSize, out long TodayFollowCount, todayFollowQuery);
studentModule.GetStraightwayGraduateStudentModule(pageModel.PageIndex, pageModel.PageSize, out long GraduateStudentCount, userId);
......@@ -3470,11 +3482,11 @@ namespace Edu.WebApi.Controllers.User
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Student_ViewModel()
{
IsQueryNotAppointment = 1,
IsQueryMyClue = 1,
BelongType = 1,
CreateBy = userId,
QStudentStatus = 1,
KeyWords=base.ParmJObj.GetStringValue("KeyWords")
KeyWords=base.ParmJObj.GetStringValue("KeyWords"),
};
var list = studentModule.GetMyClueModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
pageModel.PageData = list;
......@@ -3492,7 +3504,7 @@ namespace Edu.WebApi.Controllers.User
userId = base.UserInfo.Id;
var query = new RB_Student_ViewModel()
{
IsQueryNotFollow = 1,
IsSelectMyStu = 1,
BelongType = 1,
CreateBy = userId,
QStudentStatus = 1,
......@@ -3552,8 +3564,8 @@ namespace Edu.WebApi.Controllers.User
userId = base.UserInfo.Id;
var todayFollowQuery = new RB_Student_ViewModel()
{
StartTime = Common.ConvertHelper.FormatDate(DateTime.Now),
EndTime= Common.ConvertHelper.FormatDate(DateTime.Now),
FollowStartTime = Common.ConvertHelper.FormatDate(DateTime.Now),
FollowEndTime= Common.ConvertHelper.FormatDate(DateTime.Now),
CreateBy = userId,
IsQueryTodayFollow=1,
BelongType=1,
......
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