Commit 039227e6 authored by 黄奎's avatar 黄奎

页面修改

parent f791d6e5
......@@ -3,6 +3,7 @@ using Edu.Common.Plugin;
using Edu.Model.CacheModel;
using Edu.Model.Entity.User;
using Edu.Model.ViewModel.Customer;
using Edu.Model.ViewModel.DataStatistics;
using Edu.Model.ViewModel.User;
using Edu.Repository.Customer;
using Edu.Repository.System;
......@@ -103,7 +104,6 @@ namespace Edu.Module.User
var TotalData = student_OrderGuestRepository.GetStudentFollowUpStat(demodel);
//查询每月续费介绍情况
var ROList = student_RenewOrderRepository.GetStuMonthList(demodel.Group_Id);
//学习目的
string goalIds = string.Join(",", slist.Select(qitem => qitem.StuPurpose));
var goalList = learningGoalsRepository.GetLearningGoalsListRepository(new Model.ViewModel.System.RB_LearningGoals_Extend()
......@@ -241,48 +241,40 @@ namespace Edu.Module.User
item.StuChannelName = channelList?.FirstOrDefault(qitem => qitem.Id == item.StuChannel)?.Name ?? "";
item.StuPurposeName = goalList?.FirstOrDefault(qitem => qitem.Id == item.StuPurpose)?.Name ?? "";
item.AdvisorList = advisorList?.Where(qitem => qitem.StuId == item.StuId)?.ToList();
var StuObj = new
var followModel = new StudentFollowStatic()
{
item.StuId,
item.StuName,
item.StuTel,
item.StuRealMobile,
StuId = item.StuId,
StuName = item.StuName,
StuTel = item.StuTel,
StuRealMobile = item.StuRealMobile,
ContractSTime = item.followUpTime,
item.CourseName,
CourseName = item.CourseName,
JapanBaseInfo = item.JapanBaseInfo.ToName(),
item.StuBirthStr,
item.StuGuestState,
StuBirthStr = item.StuBirthStr,
StuGuestState = item.StuGuestState,
StuGuestStateName = item.StuGuestState.ToName(),
MonthList = MonthObjList,
item.CreateBy,
item.CreateByName,
AssistList = item.AssistList.Select(qitem => new
{
qitem.Id,
qitem.StuId,
qitem.AssistId,
qitem.AssistName,
qitem.AssistType,
AssistTypeName = qitem.AssistType.ToName()
}),
item.StuChannel,
item.StuChannelName,
item.CreateType,
CreateBy = item.CreateBy,
CreateByName = item.CreateByName,
AssistList = item.AssistList,
StuChannel = item.StuChannel,
StuChannelName = item.StuChannelName,
CreateType=item.CreateType,
CreateTypeName = item.CreateType.ToName(),
item.StuSourceId,
item.StuSourceIdName,
item.EnterpriseName,
item.StuPurpose,
item.StuPurposeName,
item.AdvisorWinRate,
item.AdvisorExpectDate,
item.AdvisorStatus,
item.AdvisorStatusName,
item.AdvisorList,
StuSourceId= item.StuSourceId,
StuSourceIdName= item.StuSourceIdName,
EnterpriseName= item.EnterpriseName,
StuPurpose= item.StuPurpose,
StuPurposeName= item.StuPurposeName,
AdvisorWinRate= item.AdvisorWinRate,
AdvisorExpectDate = item.AdvisorExpectDate,
AdvisorStatus=item.AdvisorStatus,
AdvisorStatusName= item.AdvisorStatusName,
AdvisorList=item.AdvisorList,
BeginClassDate = Common.ConvertHelper.FormatDate(item.BeginClassDate),
GraduationTime = Common.ConvertHelper.FormatDate(item.GraduationTime),
};
RList.Add(StuObj);
RList.Add(followModel);
}
//续费 学员介绍
List<object> RList2 = new List<object>();
......
......@@ -95,8 +95,13 @@ WHERE 1=1
/// <returns></returns>
public List<RB_Student_Follow_Extend> GetStudentFollowUpMonthList(string stuIds, int group_Id)
{
string sql = $@"SELECT f.*,f1.Remark,f1.CreateTime FROM
(SELECT StuId,AssistType,DATE_FORMAT(CreateTime,'%Y-%m') as MonthStr,MAX(Id) AS Id FROM rb_student_follow WHERE Group_Id ={group_Id} and `Status` =0 and StuId in ({stuIds}) and AssistType in(2,4)
string sql = $@"
SELECT f.*,f1.Remark,f1.CreateTime
FROM
(
SELECT StuId,AssistType,DATE_FORMAT(CreateTime,'%Y-%m') as MonthStr,MAX(Id) AS Id
FROM rb_student_follow
WHERE Group_Id ={group_Id} and `Status` =0 and StuId in ({stuIds}) AND AssistType in(2,4)
GROUP BY StuId,AssistType,DATE_FORMAT(CreateTime,'%Y-%m')
) f
INNER JOIN rb_student_follow f1 on f.Id = f1.Id
......@@ -112,11 +117,13 @@ INNER JOIN rb_student_follow f1 on f.Id = f1.Id
/// <returns></returns>
public List<RB_Student_Follow_Extend> GetStudentRenewMonthList(string stuIds, int group_Id)
{
string sql = $@"SELECT s.StuId,DATE_FORMAT(o.CreateTime,'%Y-%m') AS MonthStr FROM rb_student s
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 (o.RenewOrderId >0 or og.RenewState =2) and s.StuId in({stuIds})
string sql = $@"
SELECT s.StuId,DATE_FORMAT(o.CreateTime,'%Y-%m') AS MonthStr
FROM rb_student s
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 (o.RenewOrderId >0 or og.RenewState =2) and s.StuId in({stuIds})
GROUP BY s.StuId,DATE_FORMAT(o.CreateTime,'%Y-%m')
";
return Get<RB_Student_Follow_Extend>(sql).ToList();
......@@ -130,10 +137,12 @@ GROUP BY s.StuId,DATE_FORMAT(o.CreateTime,'%Y-%m')
/// <returns></returns>
public List<RB_Student_Follow_Extend> GetStudentIntroductionMonthList(string stuIds, int group_Id)
{
string sql = $@"SELECT s.StuSourceId as StuId,DATE_FORMAT(o.CreateTime,'%Y-%m') AS MonthStr,COUNT(0) AS StuNum FROM rb_student s
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
string sql = $@"
SELECT s.StuSourceId as StuId,DATE_FORMAT(o.CreateTime,'%Y-%m') AS MonthStr,COUNT(0) AS StuNum
FROM rb_student s
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.CreateType =4 and s.StuSourceId in({stuIds})
GROUP BY s.StuSourceId,DATE_FORMAT(o.CreateTime,'%Y-%m')
";
......
......@@ -45,8 +45,9 @@ WHERE 1=1
/// <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
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();
......
......@@ -11,6 +11,7 @@ using Edu.Common.Enum.User;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.Customer;
using Edu.Model.ViewModel.DataStatistics;
using Edu.Model.ViewModel.Sell;
using Edu.Model.ViewModel.User;
using Edu.Module.Course;
......@@ -228,7 +229,6 @@ namespace Edu.WebApi.Controllers.User
new ExcelColumn("班主任"){ CellWidth=10,Rowspan=2},
new ExcelColumn("合同时间"){ CellWidth=15,Rowspan=2},
new ExcelColumn("所报课程"){ CellWidth=20,Rowspan=2},
}
};
header.ExcelRows.Add(new ExcelColumn("开课时间") { CellWidth = 15, Rowspan = 2 });
......@@ -249,6 +249,13 @@ namespace Edu.WebApi.Controllers.User
header.ExcelRows.Add(new ExcelColumn("负责人") { CellWidth = 15, Rowspan = 2 });
header.ExcelRows.Add(new ExcelColumn("合同状态") { CellWidth = 15, Rowspan = 2 });
if (base.UserInfo.AccountType != AccountTypeEnum.Teacher)
{
header.ExcelRows.Add(new ExcelColumn("期望达成协议日期") { CellWidth = 15, Rowspan = 2 });
header.ExcelRows.Add(new ExcelColumn("目前状态") { CellWidth = 15, Rowspan = 2 });
header.ExcelRows.Add(new ExcelColumn("胜率") { CellWidth = 15, Rowspan = 2 });
header.ExcelRows.Add(new ExcelColumn("胜率") { CellWidth = 15, Rowspan = 2 });
}
ExcelDataSource subHeader = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>()
......@@ -263,14 +270,16 @@ namespace Edu.WebApi.Controllers.User
new ExcelColumn(),
new ExcelColumn(),
new ExcelColumn(),
}
};
if (base.UserInfo.AccountType != AccountTypeEnum.Teacher)
{
subHeader.ExcelRows.Add(new ExcelColumn());
subHeader.ExcelRows.Add(new ExcelColumn());
subHeader.ExcelRows.Add(new ExcelColumn());
subHeader.ExcelRows.Add(new ExcelColumn());
subHeader.ExcelRows.Add(new ExcelColumn());
}
subHeader.ExcelRows.Add(new ExcelColumn());
if (base.UserInfo.AccountType != AccountTypeEnum.Teacher)
{
......@@ -279,9 +288,6 @@ namespace Edu.WebApi.Controllers.User
}
subHeader.ExcelRows.Add(new ExcelColumn());
subHeader.ExcelRows.Add(new ExcelColumn());
var rootObj = JObject.Parse(JsonHelper.Serialize(list));
int MaxMonth = rootObj.GetInt("MaxMonth");
for (var i = 0; i < MaxMonth; i++)
......@@ -293,62 +299,71 @@ namespace Edu.WebApi.Controllers.User
}
slist.Add(header);
slist.Add(subHeader);
JArray arrayList = JArray.Parse(rootObj.GetStringValue("RList"));
var arrayList = Common.Plugin.JsonHelper.DeserializeObject<List<StudentFollowStatic>>(rootObj.GetStringValue("RList"));
if (arrayList != null && arrayList.Count > 0)
{
foreach (var jItem in arrayList)
foreach (var item in arrayList)
{
JObject dObj = JObject.Parse(JsonHelper.Serialize(jItem));
var columns = new List<ExcelColumn>
{
new ExcelColumn(dObj.GetStringValue("StuName")),
new ExcelColumn(dObj.GetStringValue("StuTel")),
new ExcelColumn(item.StuName),
new ExcelColumn(item.StuTel),
};
string courseManager = "";
string teacherNamager = "";
JArray assistList = JArray.Parse(dObj.GetStringValue("AssistList"));
if (assistList != null && assistList.Count > 0)
if (item.AssistList != null && item.AssistList.Count > 0)
{
foreach (var sItem in assistList)
foreach (var sItem in item.AssistList)
{
JObject sObk = JObject.Parse(JsonHelper.Serialize(sItem));
if (sObk.GetInt("AssistType") == 2)
if (sItem.AssistType == AssistTypeEnum.CourseAdviser)
{
courseManager = sObk.GetStringValue("AssistName");
courseManager = sItem.AssistName;
}
if (sObk.GetInt("AssistType") == 4)
if (sItem.AssistType == AssistTypeEnum.Teacher)
{
teacherNamager = sObk.GetStringValue("AssistName");
teacherNamager = sItem.AssistName;
}
}
}
columns.Add(new ExcelColumn(courseManager));
columns.Add(new ExcelColumn(teacherNamager));
columns.Add(new ExcelColumn(dObj.GetStringValue("ContractSTime")));
columns.Add(new ExcelColumn(dObj.GetStringValue("CourseName")));
columns.Add(new ExcelColumn(dObj.GetStringValue("BeginClassDate")));
columns.Add(new ExcelColumn(dObj.GetStringValue("GraduationTime")));
columns.Add(new ExcelColumn(dObj.GetStringValue("JapanBaseInfo")));
columns.Add(new ExcelColumn(dObj.GetStringValue("StuBirthStr")));
columns.Add(new ExcelColumn(item.ContractSTime));
columns.Add(new ExcelColumn(item.CourseName));
columns.Add(new ExcelColumn(item.BeginClassDate));
columns.Add(new ExcelColumn(item.GraduationTime));
columns.Add(new ExcelColumn(item.JapanBaseInfo));
columns.Add(new ExcelColumn(item.StuBirthStr));
if (base.UserInfo.AccountType != AccountTypeEnum.Teacher)
{
columns.Add(new ExcelColumn(dObj.GetStringValue("CreateTypeName")));
columns.Add(new ExcelColumn(item.CreateTypeName));
}
columns.Add(new ExcelColumn(dObj.GetStringValue("StuPurposeName")));
columns.Add(new ExcelColumn(item.StuPurposeName));
if (base.UserInfo.AccountType != AccountTypeEnum.Teacher)
{
columns.Add(new ExcelColumn(dObj.GetStringValue("StuSourceIdName")));
columns.Add(new ExcelColumn(dObj.GetStringValue("StuChannelName")));
columns.Add(new ExcelColumn(item.StuSourceIdName));
columns.Add(new ExcelColumn(item.StuChannelName));
}
columns.Add(new ExcelColumn(dObj.GetStringValue("CreateByName")));
columns.Add(new ExcelColumn(dObj.GetStringValue("StuGuestStateName")));
columns.Add(new ExcelColumn(item.CreateByName));
columns.Add(new ExcelColumn(item.StuGuestStateName));
columns.Add(new ExcelColumn(item.AdvisorExpectDate));
columns.Add(new ExcelColumn(item.AdvisorStatusName));
columns.Add(new ExcelColumn(item.AdvisorWinRate + "%"));
JArray monthArray = JArray.Parse(dObj.GetStringValue("MonthList"));
if (monthArray != null && monthArray.Count > 0)
string tempStr = "";
if (item.AdvisorList != null && item.AdvisorList.Count > 0)
{
foreach (var mItem in monthArray)
int index = 0;
foreach (var aItem in item.AdvisorList)
{
tempStr += index > 0 ? "\r\n" : "" + string.Format("跟进状态:{0} 跟进日期:{1} 跟进比例:{2} 备注:{3}",
aItem.AdvisorStatusName, aItem.AdvisorDate, aItem.AdvisorRate, aItem.AdvisorRemark);
index++;
}
}
columns.Add(new ExcelColumn(tempStr));
foreach (var mItem in item.MonthList)
{
JObject mObj = JObject.Parse(JsonHelper.Serialize(mItem));
int IsRenew = mObj.GetInt("IsRenew");
......@@ -372,7 +387,6 @@ namespace Edu.WebApi.Controllers.User
}
columns.Add(new ExcelColumn(columns3));
}
}
var dataRow = new ExcelDataSource()
{
ExcelRows = columns
......@@ -380,7 +394,6 @@ namespace Edu.WebApi.Controllers.User
slist.Add(dataRow);
}
}
var byteData = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData, "application/octet-stream", excelName);
}
......
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