Commit c006514f authored by 黄奎's avatar 黄奎

页面修改

parent e8799577
......@@ -106,7 +106,15 @@ namespace Edu.Common
{
try
{
timeStr = Convert.ToDateTime(time.ToString()).ToString("MM-dd");
timeStr = Convert.ToDateTime(time.ToString()).ToString("yyyy-MM-dd");
if (timeStr == "0001-01-01")
{
timeStr = "";
}
else
{
timeStr= Convert.ToDateTime(time.ToString()).ToString("MM-dd");
}
}
catch
{
......
......@@ -11,6 +11,11 @@ namespace Edu.Model.ViewModel.User
/// </summary>
public class RB_Student_Static_Extend : RB_Student_Static
{
/// <summary>
/// 月份
/// </summary>
public string ShowMonthStr { get; set; }
/// <summary>
/// 日期字符串
/// </summary>
......@@ -22,4 +27,106 @@ namespace Edu.Model.ViewModel.User
}
}
}
/// <summary>
/// 月份成长率统计
/// </summary>
public class RateMonthItem
{
/// <summary>
/// 项目名称
/// </summary>
public string ItemName { get; set; }
/// <summary>
/// 一月成长率
/// </summary>
public decimal JanuaryRate { get; set; }
/// <summary>
/// 二月成长率
/// </summary>
public decimal FebruaryRate { get; set; }
/// <summary>
/// 三月成长率
/// </summary>
public decimal MarchRate { get; set; }
/// <summary>
/// 四月成长率
/// </summary>
public decimal AprilRate { get; set; }
/// <summary>
/// 五月成长率
/// </summary>
public decimal MayRate { get; set; }
/// <summary>
/// 六月成长率
/// </summary>
public decimal JuneRate { get; set; }
/// <summary>
/// 七月成长率
/// </summary>
public decimal JulyRate { get; set; }
/// <summary>
/// 八月成长率
/// </summary>
public decimal AugustRate { get; set; }
/// <summary>
/// 九月成长率
/// </summary>
public decimal SeptemberRate { get; set; }
/// <summary>
/// 十月成长率
/// </summary>
public decimal OctoberRate { get; set; }
/// <summary>
/// 十一月成长率
/// </summary>
public decimal NovemberRate { get; set; }
/// <summary>
/// 十二月成长率
/// </summary>
public decimal DecemberRate { get; set; }
/// <summary>
/// 平均成长率
/// </summary>
public decimal AvgRate { get; set; }
}
/// <summary>
/// 年份成长统计
/// </summary>
public class RateYearItem
{
/// <summary>
/// 项目名称
/// </summary>
public string ItemName { get; set; }
/// <summary>
/// 第一年
/// </summary>
public decimal FirstYear { get; set; }
/// <summary>
/// 第二年
/// </summary>
public decimal SecondYear { get; set; }
/// <summary>
/// 成长率
/// </summary>
public decimal YearRate { get; set; }
}
}
......@@ -86,7 +86,7 @@ namespace Edu.Module.User
/// <returns></returns>
public object GetStudentFollowUpPageModule(int pageIndex, int pageSize, out long count, RB_Student_ViewModel demodel)
{
object Robj = new object();
var slist = student_OrderGuestRepository.GetStudentFollowUpPageRepository(pageIndex, pageSize, out count, demodel);
if (slist.Any())
......@@ -234,7 +234,7 @@ namespace Edu.Module.User
{
item.StuSourceIdName = transStudentList?.FirstOrDefault(qitem => qitem.StuId == item.StuSourceId)?.StuName ?? "";
}
item.CreateByName = accountList?.FirstOrDefault(qitem => qitem.Id == item.CreateBy)?.AccountName ?? "";
item.StuChannelName = channelList?.FirstOrDefault(qitem => qitem.Id == item.StuChannel)?.Name ?? "";
item.StuPurposeName = goalList?.FirstOrDefault(qitem => qitem.Id == item.StuPurpose)?.Name ?? "";
......@@ -382,15 +382,1252 @@ namespace Edu.Module.User
#region 客户信息统计
/// <summary>
/// 客户数据统计
/// 客户数据每日统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_Static_Extend> GetStudentStaticListModule(RB_Student_Static_Extend query)
public List<object> GetStudentStaticListModule(RB_Student_Static_Extend query)
{
List<object> dataList = new List<object>();
var list = student_StaticRepository.GetStudentStaticListRepository(query);
if (list != null && list.Count > 0)
{
int index = 0;
var firstModel = new RB_Student_Static_Extend();
foreach (var item in list)
{
string DateStr = Common.ConvertHelper.FormatMonthDay(item.Date);
object subObj = new object();
if (string.IsNullOrEmpty(DateStr))
{
DateStr = "总数";
if (index > 0)
{
decimal PushCount = 0;
if (item.PushCount > 0)
{
PushCount = (item.PushCount - firstModel.PushCount) / item.PushCount * 100;
}
decimal NewCount = 0;
if (item.NewCount > 0)
{
NewCount = (item.NewCount - firstModel.NewCount) / item.NewCount * 100;
}
decimal CommunicationCount = 0;
if (item.CommunicationCount > 0)
{
CommunicationCount = (item.CommunicationCount - firstModel.CommunicationCount) / item.CommunicationCount * 100;
}
decimal TrialLessonCount = 0;
if (item.TrialLessonCount > 0)
{
TrialLessonCount = (item.TrialLessonCount - firstModel.TrialLessonCount) / item.TrialLessonCount * 100;
}
decimal NotContacted = 0;
if (item.NotContacted > 0)
{
NotContacted = (item.NotContacted - firstModel.NotContacted) / item.NotContacted * 100;
}
decimal JPCount = 0;
if (item.JPCount > 0)
{
JPCount = (item.JPCount - firstModel.JPCount) / item.JPCount * 100;
}
decimal KRCount = 0;
if (item.KRCount > 0)
{
KRCount = (item.KRCount - firstModel.KRCount) / item.KRCount * 100;
}
decimal FRCount = 0;
if (item.FRCount > 0)
{
FRCount = (item.FRCount - firstModel.FRCount) / item.FRCount * 100;
}
decimal JPStudyCount = 0;
if (item.JPStudyCount > 0)
{
JPStudyCount = (item.JPStudyCount - firstModel.JPStudyCount) / item.JPStudyCount * 100;
}
decimal KRStudyCount = 0;
if (item.KRStudyCount > 0)
{
KRStudyCount = (item.KRStudyCount - firstModel.KRStudyCount) / item.KRStudyCount * 100;
}
decimal YGAStudyCount = 0;
if (item.YGAStudyCount > 0)
{
YGAStudyCount = (item.YGAStudyCount - firstModel.YGAStudyCount) / item.YGAStudyCount * 100;
}
decimal USStudyCount = 0;
if (item.USStudyCount > 0)
{
USStudyCount = (item.USStudyCount - firstModel.USStudyCount) / item.USStudyCount * 100;
}
decimal SGStudyCount = 0;
if (item.SGStudyCount > 0)
{
SGStudyCount = (item.SGStudyCount - firstModel.SGStudyCount) / item.SGStudyCount * 100;
}
decimal AXStudyCount = 0;
if (item.AXStudyCount > 0)
{
AXStudyCount = (item.AXStudyCount - firstModel.AXStudyCount) / item.AXStudyCount * 100;
}
decimal OtherCount = 0;
if (item.OtherCount > 0)
{
OtherCount = (item.OtherCount - firstModel.OtherCount) / item.OtherCount * 100;
}
decimal ClassACount = 0;
if (item.ClassACount > 0)
{
ClassACount = (item.ClassACount - firstModel.ClassACount) / item.ClassACount * 100;
}
decimal ClassBCount = 0;
if (item.ClassBCount > 0)
{
ClassBCount = (item.ClassBCount - firstModel.ClassBCount) / item.ClassBCount * 100;
}
decimal ClassCCount = 0;
if (item.ClassCCount > 0)
{
ClassCCount = (item.ClassCCount - firstModel.ClassCCount) / item.ClassCCount * 100;
}
decimal ClassDCount = 0;
if (item.ClassDCount > 0)
{
ClassDCount = (item.ClassDCount - firstModel.ClassDCount) / item.ClassDCount * 100;
}
decimal CustomerCount = 0;
if (item.CustomerCount > 0)
{
CustomerCount = (item.CustomerCount - firstModel.CustomerCount) / item.CustomerCount * 100;
}
decimal B2CCount = 0;
if (item.B2CCount > 0)
{
B2CCount = (item.B2CCount - firstModel.B2CCount) / item.B2CCount * 100;
}
decimal TransCount = 0;
if (item.TransCount > 0)
{
TransCount = (item.TransCount - firstModel.TransCount) / item.TransCount * 100;
}
decimal InnerCount = 0;
if (item.InnerCount > 0)
{
InnerCount = (item.InnerCount - firstModel.InnerCount) / item.InnerCount * 100;
}
decimal InvalidCount = 0;
if (item.InvalidCount > 0)
{
InvalidCount = (item.InvalidCount - firstModel.InvalidCount) / item.InvalidCount * 100;
}
decimal SuspectedCount = 0;
if (item.SuspectedCount > 0)
{
SuspectedCount = (item.SuspectedCount - firstModel.SuspectedCount) / item.SuspectedCount * 100;
}
decimal IntentionCount = 0;
if (item.IntentionCount > 0)
{
IntentionCount = (item.IntentionCount - firstModel.IntentionCount) / item.IntentionCount * 100;
}
decimal InvitationCount = 0;
if (item.InvitationCount > 0)
{
InvitationCount = (item.InvitationCount - firstModel.InvitationCount) / item.InvitationCount * 100;
}
decimal NegotiationCount = 0;
if (item.NegotiationCount > 0)
{
NegotiationCount = (item.NegotiationCount - firstModel.NegotiationCount) / item.NegotiationCount * 100;
}
decimal ContractCount = 0;
if (item.ContractCount > 0)
{
ContractCount = (item.ContractCount - firstModel.ContractCount) / item.ContractCount * 100;
}
decimal OrderMoney = 0;
if (item.OrderMoney > 0)
{
OrderMoney = (item.OrderMoney - firstModel.OrderMoney) / item.OrderMoney * 100;
}
decimal StudyOrderMoney = 0;
if (item.StudyOrderMoney > 0)
{
StudyOrderMoney = (item.StudyOrderMoney - firstModel.StudyOrderMoney) / item.StudyOrderMoney * 100;
}
subObj = new
{
Id = 0,
DateStr = "环比成长",
PushCount = Math.Round(PushCount, 2) + "%",
NewCount = Math.Round(NewCount, 2) + "%",
CommunicationCount = Math.Round(CommunicationCount, 2) + "%",
TrialLessonCount = Math.Round(TrialLessonCount, 2) + "%",
NotContacted = Math.Round(NotContacted, 2) + "%",
JPCount = Math.Round(JPCount, 2) + "%",
KRCount = Math.Round(KRCount, 2) + "%",
FRCount = Math.Round(FRCount, 2) + "%",
JPStudyCount = Math.Round(JPStudyCount, 2) + "%",
KRStudyCount = Math.Round(KRStudyCount, 2) + "%",
YGAStudyCount = Math.Round(YGAStudyCount, 2) + "%",
USStudyCount = Math.Round(USStudyCount, 2) + "%",
SGStudyCount = Math.Round(SGStudyCount, 2) + "%",
AXStudyCount = Math.Round(AXStudyCount, 2) + "%",
OtherCount = Math.Round(OtherCount, 2) + "%",
ClassACount = Math.Round(ClassACount, 2) + "%",
ClassBCount = Math.Round(ClassBCount, 2) + "%",
ClassCCount = Math.Round(ClassCCount, 2) + "%",
ClassDCount = Math.Round(ClassDCount, 2) + "%",
CustomerCount = Math.Round(CustomerCount, 2) + "%",
B2CCount = Math.Round(B2CCount, 2) + "%",
TransCount = Math.Round(TransCount, 2) + "%",
InnerCount = Math.Round(InnerCount, 2) + "%",
InvalidCount = Math.Round(InvalidCount, 2) + "%",
SuspectedCount = Math.Round(SuspectedCount, 2) + "%",
IntentionCount = Math.Round(IntentionCount, 2) + "%",
InvitationCount = Math.Round(InvitationCount, 2) + "%",
NegotiationCount = Math.Round(NegotiationCount, 2) + "%",
ContractCount = Math.Round(ContractCount, 2) + "%",
OrderMoney = Math.Round(OrderMoney, 2) + "%",
StudyOrderMoney = Math.Round(StudyOrderMoney, 2) + "%",
};
}
firstModel = item;
index++;
}
dataList.Add(new
{
item.Id,
DateStr,
item.PushCount,
item.NewCount,
item.CommunicationCount,
item.TrialLessonCount,
item.NotContacted,
item.JPCount,
item.KRCount,
item.FRCount,
item.JPStudyCount,
item.KRStudyCount,
item.YGAStudyCount,
item.USStudyCount,
item.SGStudyCount,
item.AXStudyCount,
item.OtherCount,
item.ClassACount,
item.ClassBCount,
item.ClassCCount,
item.ClassDCount,
item.CustomerCount,
item.B2CCount,
item.TransCount,
item.InnerCount,
item.InvalidCount,
item.SuspectedCount,
item.IntentionCount,
item.InvitationCount,
item.NegotiationCount,
item.ContractCount,
item.OrderMoney,
item.StudyOrderMoney,
});
if (DateStr.Equals("总数") && index > 1)
{
dataList.Add(subObj);
}
}
var tempList = list?.Where(qitem => !string.IsNullOrEmpty(Common.ConvertHelper.FormatDate(qitem.Date)))?.ToList();
dataList.Add(new
{
Id = 0,
DateStr = "月总数",
PushCount = tempList?.Sum(qitem => qitem.PushCount),
NewCount = tempList?.Sum(qitem => qitem.NewCount),
CommunicationCount = tempList?.Sum(qitem => qitem.CommunicationCount),
TrialLessonCount = tempList?.Sum(qitem => qitem.TrialLessonCount),
NotContacted = tempList?.Sum(qitem => qitem.NotContacted),
JPCount = tempList?.Sum(qitem => qitem.JPCount),
KRCount = tempList?.Sum(qitem => qitem.KRCount),
FRCount = tempList?.Sum(qitem => qitem.FRCount),
JPStudyCount = tempList?.Sum(qitem => qitem.JPStudyCount),
KRStudyCount = tempList?.Sum(qitem => qitem.KRStudyCount),
YGAStudyCount = tempList?.Sum(qitem => qitem.YGAStudyCount),
USStudyCount = tempList?.Sum(qitem => qitem.USStudyCount),
SGStudyCount = tempList?.Sum(qitem => qitem.SGStudyCount),
AXStudyCount = tempList?.Sum(qitem => qitem.AXStudyCount),
OtherCount = tempList?.Sum(qitem => qitem.OtherCount),
ClassACount = tempList?.Sum(qitem => qitem.ClassACount),
ClassBCount = tempList?.Sum(qitem => qitem.ClassBCount),
ClassCCount = tempList?.Sum(qitem => qitem.ClassCCount),
ClassDCount = tempList?.Sum(qitem => qitem.ClassDCount),
CustomerCount = tempList?.Sum(qitem => qitem.CustomerCount),
B2CCount = tempList?.Sum(qitem => qitem.B2CCount),
TransCount = tempList?.Sum(qitem => qitem.TransCount),
InnerCount = tempList?.Sum(qitem => qitem.InnerCount),
InvalidCount = tempList?.Sum(qitem => qitem.InvalidCount),
SuspectedCount = tempList?.Sum(qitem => qitem.SuspectedCount),
IntentionCount = tempList?.Sum(qitem => qitem.IntentionCount),
InvitationCount = tempList?.Sum(qitem => qitem.InvitationCount),
NegotiationCount = tempList?.Sum(qitem => qitem.NegotiationCount),
ContractCount = tempList?.Sum(qitem => qitem.ContractCount),
OrderMoney = tempList?.Sum(qitem => qitem.OrderMoney),
StudyOrderMoney = tempList?.Sum(qitem => qitem.StudyOrderMoney),
});
}
return dataList;
}
/// <summary>
/// 客户数据月份统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<object> GetStudentStaticListMonthModule(RB_Student_Static_Extend query)
{
List<object> dataList = new List<object>();
var list = student_StaticRepository.GetStudentStaticMonthListRepository(query);
List<RB_Student_Static_Extend> monthList = new List<RB_Student_Static_Extend>();
for (var i = 1; i <= 12; i++)
{
var tempData = list?.Where(qitem => qitem.Date.Month == i)?.FirstOrDefault();
var newData = new RB_Student_Static_Extend()
{
ShowMonthStr = i + "月",
PushCount = tempData?.PushCount ?? 0,
NewCount = tempData?.NewCount ?? 0,
CommunicationCount = tempData?.CommunicationCount ?? 0,
TrialLessonCount = tempData?.TrialLessonCount ?? 0,
NotContacted = tempData?.NotContacted ?? 0,
JPCount = tempData?.JPCount ?? 0,
KRCount = tempData?.KRCount ?? 0,
FRCount = tempData?.FRCount ?? 0,
JPStudyCount = tempData?.JPStudyCount ?? 0,
KRStudyCount = tempData?.KRStudyCount ?? 0,
YGAStudyCount = tempData?.YGAStudyCount ?? 0,
USStudyCount = tempData?.USStudyCount ?? 0,
SGStudyCount = tempData?.SGStudyCount ?? 0,
AXStudyCount = tempData?.AXStudyCount ?? 0,
OtherCount = tempData?.OtherCount ?? 0,
ClassACount = tempData?.ClassACount ?? 0,
ClassBCount = tempData?.ClassBCount ?? 0,
ClassCCount = tempData?.ClassCCount ?? 0,
ClassDCount = tempData?.ClassDCount ?? 0,
CustomerCount = tempData?.CustomerCount ?? 0,
B2CCount = tempData?.B2CCount ?? 0,
TransCount = tempData?.TransCount ?? 0,
InnerCount = tempData?.InnerCount ?? 0,
InvalidCount = tempData?.InvalidCount ?? 0,
SuspectedCount = tempData?.SuspectedCount ?? 0,
IntentionCount = tempData?.IntentionCount ?? 0,
InvitationCount = tempData?.InvitationCount ?? 0,
NegotiationCount = tempData?.NegotiationCount ?? 0,
ContractCount = tempData?.ContractCount ?? 0,
OrderMoney = tempData?.OrderMoney ?? 0,
StudyOrderMoney = tempData?.StudyOrderMoney ?? 0,
};
monthList.Add(newData);
}
var avgModel = new RB_Student_Static_Extend()
{
ShowMonthStr = "平均",
PushCount =Math.Round( monthList?.Average(qitem=>qitem.PushCount)??0,2),
NewCount = Math.Round(monthList?.Average(qitem => qitem.NewCount) ?? 0, 2),
CommunicationCount = Math.Round(monthList?.Average(qitem => qitem.CommunicationCount) ?? 0, 2),
TrialLessonCount = Math.Round(monthList?.Average(qitem => qitem.TrialLessonCount) ?? 0, 2),
NotContacted = Math.Round(monthList?.Average(qitem => qitem.NotContacted) ?? 0, 2),
JPCount = Math.Round(monthList?.Average(qitem => qitem.JPCount) ?? 0, 2),
KRCount = Math.Round(monthList?.Average(qitem => qitem.KRCount) ?? 0, 2),
FRCount = Math.Round(monthList?.Average(qitem => qitem.FRCount) ?? 0, 2),
JPStudyCount = Math.Round(monthList?.Average(qitem => qitem.JPStudyCount) ?? 0, 2),
KRStudyCount = Math.Round(monthList?.Average(qitem => qitem.KRStudyCount) ?? 0, 2),
YGAStudyCount = Math.Round(monthList?.Average(qitem => qitem.YGAStudyCount) ?? 0, 2),
USStudyCount = Math.Round(monthList?.Average(qitem => qitem.USStudyCount) ?? 0, 2),
SGStudyCount = Math.Round(monthList?.Average(qitem => qitem.SGStudyCount) ?? 0, 2),
AXStudyCount = Math.Round(monthList?.Average(qitem => qitem.AXStudyCount) ?? 0, 2),
OtherCount = Math.Round(monthList?.Average(qitem => qitem.OtherCount) ?? 0, 2),
ClassACount = Math.Round(monthList?.Average(qitem => qitem.ClassACount) ?? 0, 2),
ClassBCount = Math.Round(monthList?.Average(qitem => qitem.ClassBCount) ?? 0, 2),
ClassCCount = Math.Round(monthList?.Average(qitem => qitem.ClassCCount) ?? 0, 2),
ClassDCount = Math.Round(monthList?.Average(qitem => qitem.ClassDCount) ?? 0, 2),
CustomerCount = Math.Round(monthList?.Average(qitem => qitem.CustomerCount) ?? 0, 2),
B2CCount = Math.Round(monthList?.Average(qitem => qitem.B2CCount) ?? 0, 2),
TransCount = Math.Round(monthList?.Average(qitem => qitem.TransCount) ?? 0, 2),
InnerCount = Math.Round(monthList?.Average(qitem => qitem.InnerCount) ?? 0, 2),
InvalidCount = Math.Round(monthList?.Average(qitem => qitem.InvalidCount) ?? 0, 2),
SuspectedCount = Math.Round(monthList?.Average(qitem => qitem.SuspectedCount) ?? 0, 2),
IntentionCount = Math.Round(monthList?.Average(qitem => qitem.IntentionCount) ?? 0, 2),
InvitationCount = Math.Round(monthList?.Average(qitem => qitem.InvitationCount) ?? 0, 2),
NegotiationCount = Math.Round(monthList?.Average(qitem => qitem.NegotiationCount) ?? 0, 2),
ContractCount = Math.Round(monthList?.Average(qitem => qitem.ContractCount) ?? 0, 2),
OrderMoney = Math.Round(monthList?.Average(qitem => qitem.OrderMoney) ?? 0, 2),
StudyOrderMoney = Math.Round(monthList?.Average(qitem => qitem.StudyOrderMoney) ?? 0, 2),
};
var sumModel = new RB_Student_Static_Extend()
{
ShowMonthStr = "总数",
PushCount = monthList?.Sum(qitem => qitem.PushCount) ?? 0,
NewCount = monthList?.Sum(qitem => qitem.NewCount) ?? 0,
CommunicationCount = monthList?.Sum(qitem => qitem.CommunicationCount) ?? 0,
TrialLessonCount = monthList?.Sum(qitem => qitem.TrialLessonCount) ?? 0,
NotContacted = monthList?.Sum(qitem => qitem.NotContacted) ?? 0,
JPCount = monthList?.Sum(qitem => qitem.JPCount) ?? 0,
KRCount = monthList?.Sum(qitem => qitem.KRCount) ?? 0,
FRCount = monthList?.Sum(qitem => qitem.FRCount) ?? 0,
JPStudyCount = monthList?.Sum(qitem => qitem.JPStudyCount) ?? 0,
KRStudyCount = monthList?.Sum(qitem => qitem.KRStudyCount) ?? 0,
YGAStudyCount = monthList?.Sum(qitem => qitem.YGAStudyCount) ?? 0,
USStudyCount = monthList?.Sum(qitem => qitem.USStudyCount) ?? 0,
SGStudyCount = monthList?.Sum(qitem => qitem.SGStudyCount) ?? 0,
AXStudyCount = monthList?.Sum(qitem => qitem.AXStudyCount) ?? 0,
OtherCount = monthList?.Sum(qitem => qitem.OtherCount) ?? 0,
ClassACount = monthList?.Sum(qitem => qitem.ClassACount) ?? 0,
ClassBCount = monthList?.Sum(qitem => qitem.ClassBCount) ?? 0,
ClassCCount = monthList?.Sum(qitem => qitem.ClassCCount) ?? 0,
ClassDCount = monthList?.Sum(qitem => qitem.ClassDCount) ?? 0,
CustomerCount = monthList?.Sum(qitem => qitem.CustomerCount) ?? 0,
B2CCount = monthList?.Sum(qitem => qitem.B2CCount) ?? 0,
TransCount = monthList?.Sum(qitem => qitem.TransCount) ?? 0,
InnerCount = monthList?.Sum(qitem => qitem.InnerCount) ?? 0,
InvalidCount = monthList?.Sum(qitem => qitem.InvalidCount) ?? 0,
SuspectedCount = monthList?.Sum(qitem => qitem.SuspectedCount) ?? 0,
IntentionCount = monthList?.Sum(qitem => qitem.IntentionCount) ?? 0,
InvitationCount = monthList?.Sum(qitem => qitem.InvitationCount) ?? 0,
NegotiationCount = monthList?.Sum(qitem => qitem.NegotiationCount) ?? 0,
ContractCount = monthList?.Sum(qitem => qitem.ContractCount) ?? 0,
OrderMoney = monthList?.Sum(qitem => qitem.OrderMoney) ?? 0,
StudyOrderMoney = monthList?.Sum(qitem => qitem.StudyOrderMoney) ?? 0,
};
monthList.Add(avgModel);
monthList.Add(sumModel);
foreach (var item in monthList)
{
dataList.Add(new
{
item.Id,
DateStr = item.ShowMonthStr,
item.PushCount,
item.NewCount,
item.CommunicationCount,
item.TrialLessonCount,
item.NotContacted,
item.JPCount,
item.KRCount,
item.FRCount,
item.JPStudyCount,
item.KRStudyCount,
item.YGAStudyCount,
item.USStudyCount,
item.SGStudyCount,
item.AXStudyCount,
item.OtherCount,
item.ClassACount,
item.ClassBCount,
item.ClassCCount,
item.ClassDCount,
item.CustomerCount,
item.B2CCount,
item.TransCount,
item.InnerCount,
item.InvalidCount,
item.SuspectedCount,
item.IntentionCount,
item.InvitationCount,
item.NegotiationCount,
item.ContractCount,
item.OrderMoney,
item.StudyOrderMoney,
});
}
return dataList;
}
/// <summary>
/// 客户数据月份统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RateMonthItem> GetStudentStaticRateListMonthModule(RB_Student_Static_Extend query)
{
List<RateMonthItem> monthList = new List<RateMonthItem>();
var list = student_StaticRepository.GetStudentStaticMonthListRepository(query);
List<RB_Student_Static_Extend> result = new List<RB_Student_Static_Extend>();
for (var i = 0; i < 12; i++)
{
decimal PushCount = 0;
var firstModel =new RB_Student_Static_Extend();
if (i > 0)
{
firstModel = i < list.Count ? list[i - 1] : new RB_Student_Static_Extend();
}
var item = i < list.Count ? list[i] : new RB_Student_Static_Extend();
if (item.PushCount > 0 && i > 0)
{
PushCount = (item.PushCount - firstModel.PushCount) / item.PushCount * 100;
}
decimal NewCount = 0;
if (item.NewCount > 0 && i > 0)
{
NewCount = (item.NewCount - firstModel.NewCount) / item.NewCount * 100;
}
decimal CommunicationCount = 0;
if (item.CommunicationCount > 0 && i > 0)
{
CommunicationCount = (item.CommunicationCount - firstModel.CommunicationCount) / item.CommunicationCount * 100;
}
decimal TrialLessonCount = 0;
if (item.TrialLessonCount > 0 && i > 0)
{
TrialLessonCount = (item.TrialLessonCount - firstModel.TrialLessonCount) / item.TrialLessonCount * 100;
}
decimal NotContacted = 0;
if (item.NotContacted > 0 && i > 0)
{
NotContacted = (item.NotContacted - firstModel.NotContacted) / item.NotContacted * 100;
}
decimal JPCount = 0;
if (item.JPCount > 0 && i > 0)
{
JPCount = (item.JPCount - firstModel.JPCount) / item.JPCount * 100;
}
decimal KRCount = 0;
if (item.KRCount > 0 && i > 0)
{
KRCount = (item.KRCount - firstModel.KRCount) / item.KRCount * 100;
}
decimal FRCount = 0;
if (item.FRCount > 0 && i > 0)
{
FRCount = (item.FRCount - firstModel.FRCount) / item.FRCount * 100;
}
decimal JPStudyCount = 0;
if (item.JPStudyCount > 0 && i > 0)
{
JPStudyCount = (item.JPStudyCount - firstModel.JPStudyCount) / item.JPStudyCount * 100;
}
decimal KRStudyCount = 0;
if (item.KRStudyCount > 0 && i > 0)
{
KRStudyCount = (item.KRStudyCount - firstModel.KRStudyCount) / item.KRStudyCount * 100;
}
decimal YGAStudyCount = 0;
if (item.YGAStudyCount > 0 && i > 0)
{
YGAStudyCount = (item.YGAStudyCount - firstModel.YGAStudyCount) / item.YGAStudyCount * 100;
}
decimal USStudyCount = 0;
if (item.USStudyCount > 0 && i > 0)
{
USStudyCount = (item.USStudyCount - firstModel.USStudyCount) / item.USStudyCount * 100;
}
decimal SGStudyCount = 0;
if (item.SGStudyCount > 0 && i > 0)
{
SGStudyCount = (item.SGStudyCount - firstModel.SGStudyCount) / item.SGStudyCount * 100;
}
decimal AXStudyCount = 0;
if (item.AXStudyCount > 0 && i > 0)
{
AXStudyCount = (item.AXStudyCount - firstModel.AXStudyCount) / item.AXStudyCount * 100;
}
decimal OtherCount = 0;
if (item.OtherCount > 0 && i > 0)
{
OtherCount = (item.OtherCount - firstModel.OtherCount) / item.OtherCount * 100;
}
decimal ClassACount = 0;
if (item.ClassACount > 0 && i > 0)
{
ClassACount = (item.ClassACount - firstModel.ClassACount) / item.ClassACount * 100;
}
decimal ClassBCount = 0;
if (item.ClassBCount > 0 && i > 0)
{
ClassBCount = (item.ClassBCount - firstModel.ClassBCount) / item.ClassBCount * 100;
}
decimal ClassCCount = 0;
if (item.ClassCCount > 0)
{
ClassCCount = (item.ClassCCount - firstModel.ClassCCount) / item.ClassCCount * 100;
}
decimal ClassDCount = 0;
if (item.ClassDCount > 0 && i > 0)
{
ClassDCount = (item.ClassDCount - firstModel.ClassDCount) / item.ClassDCount * 100;
}
decimal CustomerCount = 0;
if (item.CustomerCount > 0 && i > 0)
{
CustomerCount = (item.CustomerCount - firstModel.CustomerCount) / item.CustomerCount * 100;
}
decimal B2CCount = 0;
if (item.B2CCount > 0 && i > 0)
{
B2CCount = (item.B2CCount - firstModel.B2CCount) / item.B2CCount * 100;
}
decimal TransCount = 0;
if (item.TransCount > 0 && i > 0)
{
TransCount = (item.TransCount - firstModel.TransCount) / item.TransCount * 100;
}
decimal InnerCount = 0;
if (item.InnerCount > 0 && i > 0)
{
InnerCount = (item.InnerCount - firstModel.InnerCount) / item.InnerCount * 100;
}
decimal InvalidCount = 0;
if (item.InvalidCount > 0 && i > 0)
{
InvalidCount = (item.InvalidCount - firstModel.InvalidCount) / item.InvalidCount * 100;
}
decimal SuspectedCount = 0;
if (item.SuspectedCount > 0 && i > 0)
{
SuspectedCount = (item.SuspectedCount - firstModel.SuspectedCount) / item.SuspectedCount * 100;
}
decimal IntentionCount = 0;
if (item.IntentionCount > 0 && i > 0)
{
IntentionCount = (item.IntentionCount - firstModel.IntentionCount) / item.IntentionCount * 100;
}
decimal InvitationCount = 0;
if (item.InvitationCount > 0 && i > 0)
{
InvitationCount = (item.InvitationCount - firstModel.InvitationCount) / item.InvitationCount * 100;
}
decimal NegotiationCount = 0;
if (item.NegotiationCount > 0 && i > 0)
{
NegotiationCount = (item.NegotiationCount - firstModel.NegotiationCount) / item.NegotiationCount * 100;
}
decimal ContractCount = 0;
if (item.ContractCount > 0 && i > 0)
{
ContractCount = (item.ContractCount - firstModel.ContractCount) / item.ContractCount * 100;
}
decimal OrderMoney = 0;
if (item.OrderMoney > 0 && i > 0)
{
OrderMoney = (item.OrderMoney - firstModel.OrderMoney) / item.OrderMoney * 100;
}
decimal StudyOrderMoney = 0;
if (item.StudyOrderMoney > 0 && i > 0)
{
StudyOrderMoney = (item.StudyOrderMoney - firstModel.StudyOrderMoney) / item.StudyOrderMoney * 100;
}
var newModel = new RB_Student_Static_Extend()
{
MonthStr=i+1,
PushCount = PushCount,
NewCount = NewCount,
CommunicationCount = CommunicationCount,
TrialLessonCount = TrialLessonCount,
NotContacted = NotContacted,
JPCount = JPCount,
KRCount = KRCount,
FRCount = FRCount,
JPStudyCount = JPStudyCount,
KRStudyCount = KRStudyCount,
YGAStudyCount = YGAStudyCount,
USStudyCount = USStudyCount,
SGStudyCount = SGStudyCount,
AXStudyCount = AXStudyCount,
OtherCount = OtherCount,
ClassACount = ClassACount,
ClassBCount = ClassBCount,
ClassCCount = ClassCCount,
ClassDCount = ClassDCount,
CustomerCount = CustomerCount,
B2CCount = B2CCount,
TransCount = TransCount,
InnerCount = InnerCount,
InvalidCount = InvalidCount,
SuspectedCount = SuspectedCount,
IntentionCount = IntentionCount,
InvitationCount = InvitationCount,
NegotiationCount = NegotiationCount,
ContractCount = ContractCount,
OrderMoney = OrderMoney,
StudyOrderMoney = StudyOrderMoney,
};
result.Add(newModel);
}
monthList.Add(new RateMonthItem()
{
ItemName = "推送人数成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).PushCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).PushCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).PushCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).PushCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).PushCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).PushCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).PushCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).PushCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).PushCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).PushCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).PushCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).PushCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.PushCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "新客户成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).NewCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).NewCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).NewCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).NewCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).NewCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).NewCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).NewCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).NewCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).NewCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).NewCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).NewCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).NewCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.NewCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "初步(二次)沟通成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).CommunicationCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).CommunicationCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).CommunicationCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).CommunicationCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).CommunicationCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).CommunicationCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).CommunicationCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).CommunicationCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).CommunicationCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).CommunicationCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).CommunicationCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).CommunicationCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.CommunicationCount), 2),
});
return list;
monthList.Add(new RateMonthItem()
{
ItemName = "预约试听(已到店.已试听)成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).TrialLessonCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).TrialLessonCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).TrialLessonCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).TrialLessonCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).TrialLessonCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).TrialLessonCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).TrialLessonCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).TrialLessonCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).TrialLessonCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).TrialLessonCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).TrialLessonCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).TrialLessonCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.TrialLessonCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "待联系成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).NotContacted, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).NotContacted, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).NotContacted, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).NotContacted, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).NotContacted, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).NotContacted, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).NotContacted, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).NotContacted, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).NotContacted, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).NotContacted, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).NotContacted, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).NotContacted, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.NotContacted), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "日本语培成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).JPCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).JPCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).JPCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).JPCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).JPCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).JPCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).JPCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).JPCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).JPCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).JPCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).JPCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).JPCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.JPCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "韩国语培成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).KRCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).KRCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).KRCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).KRCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).KRCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).KRCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).KRCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).KRCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).KRCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).KRCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).KRCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).KRCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.KRCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "法国语培成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).FRCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).FRCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).FRCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).FRCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).FRCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).FRCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).FRCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).FRCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).FRCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).FRCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).FRCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).FRCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.FRCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "日本留学成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).JPStudyCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).JPStudyCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).JPStudyCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).JPStudyCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).JPStudyCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).JPStudyCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).JPStudyCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).JPStudyCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).JPStudyCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).JPStudyCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).JPStudyCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).JPStudyCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.JPStudyCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "韩国留学成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).KRStudyCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).KRStudyCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).KRStudyCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).KRStudyCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).KRStudyCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).KRStudyCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).KRStudyCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).KRStudyCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).KRStudyCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).KRStudyCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).KRStudyCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).KRStudyCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.KRStudyCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "英港澳留学成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).YGAStudyCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).YGAStudyCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).YGAStudyCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).YGAStudyCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).YGAStudyCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).YGAStudyCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).YGAStudyCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).YGAStudyCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).YGAStudyCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).YGAStudyCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).YGAStudyCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).YGAStudyCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.YGAStudyCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "美国留学成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).USStudyCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).USStudyCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).USStudyCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).USStudyCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).USStudyCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).USStudyCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).USStudyCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).USStudyCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).USStudyCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).USStudyCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).USStudyCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).USStudyCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.USStudyCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "新加坡留学成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).SGStudyCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).SGStudyCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).SGStudyCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).SGStudyCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).SGStudyCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).SGStudyCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).SGStudyCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).SGStudyCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).SGStudyCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).SGStudyCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).SGStudyCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).SGStudyCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.SGStudyCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "澳新留学成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).AXStudyCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).AXStudyCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).AXStudyCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).AXStudyCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).AXStudyCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).AXStudyCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).AXStudyCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).AXStudyCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).AXStudyCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).AXStudyCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).AXStudyCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).AXStudyCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.AXStudyCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "其他成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).OtherCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).OtherCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).OtherCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).OtherCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).OtherCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).OtherCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).OtherCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).OtherCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).OtherCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).OtherCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).OtherCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).OtherCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.OtherCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "A类客户成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).ClassACount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).ClassACount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).ClassACount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).ClassACount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).ClassACount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).ClassACount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).ClassACount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).ClassACount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).ClassACount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).ClassACount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).ClassACount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).ClassACount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.ClassACount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "B类客户成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).ClassBCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).ClassBCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).ClassBCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).ClassBCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).ClassBCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).ClassBCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).ClassBCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).ClassBCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).ClassBCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).ClassBCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).ClassBCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).ClassBCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.ClassBCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "C类客户成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).ClassCCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).ClassCCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).ClassCCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).ClassCCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).ClassCCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).ClassCCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).ClassCCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).ClassCCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).ClassCCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).ClassCCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).ClassCCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).ClassCCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.ClassCCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "D类客户成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).ClassDCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).ClassDCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).ClassDCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).ClassDCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).ClassDCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).ClassDCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).ClassDCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).ClassDCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).ClassDCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).ClassDCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).ClassDCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).ClassDCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.ClassDCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "同行介绍成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).CustomerCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).CustomerCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).CustomerCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).CustomerCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).CustomerCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).CustomerCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).CustomerCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).CustomerCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).CustomerCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).CustomerCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).CustomerCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).CustomerCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.CustomerCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "直客成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).B2CCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).B2CCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).B2CCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).B2CCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).B2CCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).B2CCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).B2CCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).B2CCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).B2CCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).B2CCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).B2CCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).B2CCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.B2CCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "学员转介绍成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).TransCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).TransCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).TransCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).TransCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).TransCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).TransCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).TransCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).TransCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).TransCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).TransCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).TransCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).TransCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.TransCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "内部介绍成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).InnerCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).InnerCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).InnerCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).InnerCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).InnerCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).InnerCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).InnerCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).InnerCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).InnerCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).InnerCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).InnerCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).InnerCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.InnerCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "无效成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).InvalidCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).InvalidCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).InvalidCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).InvalidCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).InvalidCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).InvalidCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).InvalidCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).InvalidCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).InvalidCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).InvalidCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).InvalidCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).InvalidCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.InvalidCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "疑似成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).SuspectedCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).SuspectedCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).SuspectedCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).SuspectedCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).SuspectedCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).SuspectedCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).SuspectedCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).SuspectedCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).SuspectedCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).SuspectedCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).SuspectedCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).SuspectedCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.SuspectedCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "意向成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).IntentionCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).IntentionCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).IntentionCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).IntentionCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).IntentionCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).IntentionCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).IntentionCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).IntentionCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).IntentionCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).IntentionCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).IntentionCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).IntentionCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.IntentionCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "近期课邀约成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).InvitationCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).InvitationCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).InvitationCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).InvitationCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).InvitationCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).InvitationCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).InvitationCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).InvitationCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).InvitationCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).InvitationCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).InvitationCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).InvitationCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.InvitationCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "谈判成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).NegotiationCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).NegotiationCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).NegotiationCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).NegotiationCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).NegotiationCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).NegotiationCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).NegotiationCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).NegotiationCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).NegotiationCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).NegotiationCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).NegotiationCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).NegotiationCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.NegotiationCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "签约.成交.续费成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).ContractCount, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).ContractCount, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).ContractCount, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).ContractCount, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).ContractCount, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).ContractCount, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).ContractCount, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).ContractCount, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).ContractCount, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).ContractCount, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).ContractCount, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).ContractCount, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.ContractCount), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "语培签约金额成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).OrderMoney, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).OrderMoney, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).OrderMoney, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).OrderMoney, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).OrderMoney, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).OrderMoney, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).OrderMoney, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).OrderMoney, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).OrderMoney, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).OrderMoney, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).OrderMoney, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).OrderMoney, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.OrderMoney), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "留学签约金额成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).StudyOrderMoney, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).StudyOrderMoney, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).StudyOrderMoney, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).StudyOrderMoney, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).StudyOrderMoney, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).StudyOrderMoney, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).StudyOrderMoney, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).StudyOrderMoney, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).StudyOrderMoney, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).StudyOrderMoney, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).StudyOrderMoney, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).StudyOrderMoney, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.StudyOrderMoney), 2),
});
return monthList;
}
/// <summary>
/// 年份数据统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RateYearItem> GetStudentStaticListYearModule(RB_Student_Static_Extend query)
{
List<RateYearItem> yearList = new List<RateYearItem>();
var list = student_StaticRepository.GetStudentStaticYearListRepository(query);
if (list != null)
{
}
return yearList;
}
/// <summary>
......@@ -400,14 +1637,14 @@ namespace Edu.Module.User
/// <param name="StartTime">开始时间</param>
/// <param name="EndTime">结束时间</param>
/// <returns></returns>
public bool CreateStudentStaticModule(UserInfo user,string StartTime,string EndTime)
public bool CreateStudentStaticModule(UserInfo user, string StartTime, string EndTime)
{
bool flag = true;
student_StaticRepository.DeleteStudentStaticByProcRepository();
var date = Convert.ToDateTime(StartTime);
var endTime = Convert.ToDateTime(EndTime);
int Days = (endTime - date).Days;
for (int i = 0; i <= Days; i++)
for (int i = 0; i < Days; i++)
{
var newDate = date.AddDays(i);
var procModel = student_StaticRepository.GetStudentStaticByProcRepository(Common.ConvertHelper.FormatDate(newDate));
......@@ -451,10 +1688,12 @@ namespace Edu.Module.User
};
int times = 1;
int newDay = newDate.Day;
//本月最后一天
var curMonthLastDay = new DateTime(newDate.Year, newDate.Month, 1).AddMonths(1).AddDays(-1);
if (newDay >= 1 && newDay <= 10)
{
times = 1;
//记录上月最后一个时段合计数据
//记录上月最后一个时段总数
if (newDay == 1)
{
var lastMonthDay = newDate.AddMonths(-1);
......@@ -463,11 +1702,11 @@ namespace Edu.Module.User
YearStr = lastMonthDay.Year,
MonthStr = lastMonthDay.Month,
Times = 3
});
})?.Where(qitem => !string.IsNullOrEmpty(Common.ConvertHelper.FormatDate(qitem.Date)))?.ToList();
var staticModel = new RB_Student_Static()
{
Id = 0,
PushCount = lastMonthLastTimeList?.Sum(qitem=>qitem.PushCount)??0,
PushCount = lastMonthLastTimeList?.Sum(qitem => qitem.PushCount) ?? 0,
NewCount = lastMonthLastTimeList?.Sum(qitem => qitem.NewCount) ?? 0,
CommunicationCount = lastMonthLastTimeList?.Sum(qitem => qitem.CommunicationCount) ?? 0,
TrialLessonCount = lastMonthLastTimeList?.Sum(qitem => qitem.TrialLessonCount) ?? 0,
......@@ -512,7 +1751,7 @@ namespace Edu.Module.User
else if (newDay >= 11 && newDay <= 20)
{
times = 2;
//记录本月第一阶段数据
//记录本月第一阶段总数
if (newDay == 11)
{
var curMonthFirstTimeList = student_StaticRepository.GetStudentStaticListRepository(new RB_Student_Static_Extend()
......@@ -520,7 +1759,7 @@ namespace Edu.Module.User
YearStr = newDate.Year,
MonthStr = newDate.Month,
Times = 1
});
})?.Where(qitem => !string.IsNullOrEmpty(Common.ConvertHelper.FormatDate(qitem.Date)))?.ToList();
var firstTimeStaticModel = new RB_Student_Static()
{
Id = 0,
......@@ -569,15 +1808,15 @@ namespace Edu.Module.User
else
{
times = 3;
//记录本月第二阶段数据
if (newDay == 11)
//记录本月第二阶段总数
if (newDay == 21)
{
var curMonthSecondTimeList = student_StaticRepository.GetStudentStaticListRepository(new RB_Student_Static_Extend()
{
YearStr = newDate.Year,
MonthStr = newDate.Month,
Times = 2
});
})?.Where(qitem => !string.IsNullOrEmpty(Common.ConvertHelper.FormatDate(qitem.Date)))?.ToList();
var secondTimeStaticModel = new RB_Student_Static()
{
Id = 0,
......@@ -634,9 +1873,63 @@ namespace Edu.Module.User
newModel.Id = newId;
flag = newId > 0;
}
//本月最后一天
if (newDay == curMonthLastDay.Day)
{
var curMonthThirdTimeList = student_StaticRepository.GetStudentStaticListRepository(new RB_Student_Static_Extend()
{
YearStr = newDate.Year,
MonthStr = newDate.Month,
Times = 3
})?.Where(qitem => !string.IsNullOrEmpty(Common.ConvertHelper.FormatDate(qitem.Date)))?.ToList();
var thirdTimeStaticModel = new RB_Student_Static()
{
Id = 0,
PushCount = curMonthThirdTimeList?.Sum(qitem => qitem.PushCount) ?? 0,
NewCount = curMonthThirdTimeList?.Sum(qitem => qitem.NewCount) ?? 0,
CommunicationCount = curMonthThirdTimeList?.Sum(qitem => qitem.CommunicationCount) ?? 0,
TrialLessonCount = curMonthThirdTimeList?.Sum(qitem => qitem.TrialLessonCount) ?? 0,
NotContacted = curMonthThirdTimeList?.Sum(qitem => qitem.NotContacted) ?? 0,
JPCount = curMonthThirdTimeList?.Sum(qitem => qitem.JPCount) ?? 0,
KRCount = curMonthThirdTimeList?.Sum(qitem => qitem.KRCount) ?? 0,
FRCount = curMonthThirdTimeList?.Sum(qitem => qitem.FRCount) ?? 0,
JPStudyCount = curMonthThirdTimeList?.Sum(qitem => qitem.JPStudyCount) ?? 0,
KRStudyCount = curMonthThirdTimeList?.Sum(qitem => qitem.KRStudyCount) ?? 0,
YGAStudyCount = curMonthThirdTimeList?.Sum(qitem => qitem.YGAStudyCount) ?? 0,
USStudyCount = curMonthThirdTimeList?.Sum(qitem => qitem.USStudyCount) ?? 0,
SGStudyCount = curMonthThirdTimeList?.Sum(qitem => qitem.SGStudyCount) ?? 0,
AXStudyCount = curMonthThirdTimeList?.Sum(qitem => qitem.AXStudyCount) ?? 0,
OtherCount = curMonthThirdTimeList?.Sum(qitem => qitem.OtherCount) ?? 0,
ClassACount = curMonthThirdTimeList?.Sum(qitem => qitem.ClassACount) ?? 0,
ClassBCount = curMonthThirdTimeList?.Sum(qitem => qitem.ClassBCount) ?? 0,
ClassCCount = curMonthThirdTimeList?.Sum(qitem => qitem.ClassCCount) ?? 0,
ClassDCount = curMonthThirdTimeList?.Sum(qitem => qitem.ClassDCount) ?? 0,
CustomerCount = curMonthThirdTimeList?.Sum(qitem => qitem.CustomerCount) ?? 0,
B2CCount = curMonthThirdTimeList?.Sum(qitem => qitem.B2CCount) ?? 0,
TransCount = curMonthThirdTimeList?.Sum(qitem => qitem.TransCount) ?? 0,
InnerCount = curMonthThirdTimeList?.Sum(qitem => qitem.InnerCount) ?? 0,
InvalidCount = curMonthThirdTimeList?.Sum(qitem => qitem.InvalidCount) ?? 0,
SuspectedCount = curMonthThirdTimeList?.Sum(qitem => qitem.SuspectedCount) ?? 0,
IntentionCount = curMonthThirdTimeList?.Sum(qitem => qitem.IntentionCount) ?? 0,
InvitationCount = curMonthThirdTimeList?.Sum(qitem => qitem.InvitationCount) ?? 0,
NegotiationCount = curMonthThirdTimeList?.Sum(qitem => qitem.NegotiationCount) ?? 0,
ContractCount = curMonthThirdTimeList?.Sum(qitem => qitem.ContractCount) ?? 0,
OrderMoney = curMonthThirdTimeList?.Sum(qitem => qitem.OrderMoney) ?? 0,
StudyOrderMoney = curMonthThirdTimeList?.Sum(qitem => qitem.StudyOrderMoney) ?? 0,
YearStr = newDate.Year,
MonthStr = newDate.Month,
};
thirdTimeStaticModel.Times = 3;
thirdTimeStaticModel.Group_Id = user.Group_Id;
thirdTimeStaticModel.School_Id = user.School_Id;
thirdTimeStaticModel.CreateBy = user.Id;
thirdTimeStaticModel.CreateTime = DateTime.Now;
student_StaticRepository.Insert(thirdTimeStaticModel);
}
}
return flag;
}
#endregion
}
}
......@@ -47,6 +47,79 @@ WHERE 1=1
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Static_Extend.Times), query.Times);
}
}
builder.AppendFormat(" ORDER BY A.{0} ASC ", nameof(RB_Student_Static_Extend.Id));
return Get<RB_Student_Static_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 客户数据月份统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_Static_Extend> GetStudentStaticMonthListRepository(RB_Student_Static_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT CONCAT(DATE_FORMAT(A.Date, '%Y-%m'),'-01') AS Date,SUM(A.PushCount) AS PushCount,SUM(A.NewCount) AS NewCount,SUM(A.CommunicationCount) AS CommunicationCount
,SUM(A.TrialLessonCount) AS TrialLessonCount,SUM(A.NotContacted) AS NotContacted,SUM(A.JPCount) AS JPCount,SUM(A.KRCount) AS KRCount,SUM(A.FRCount) AS FRCount
,SUM(A.JPStudyCount) AS JPStudyCount,SUM(A.KRStudyCount) AS KRStudyCount,SUM(A.YGAStudyCount) AS YGAStudyCount,SUM(A.USStudyCount) AS USStudyCount
,SUM(A.SGStudyCount) AS SGStudyCount,SUM(A.AXStudyCount) AS AXStudyCount,SUM(A.OtherCount) AS OtherCount,SUM(A.ClassACount) AS ClassACount,SUM(A.ClassBCount) AS ClassBCount
,SUM(A.ClassCCount) AS ClassCCount,SUM(A.ClassDCount) AS ClassDCount,SUM(A.CustomerCount) AS CustomerCount,SUM(A.B2CCount) AS B2CCount,SUM(A.TransCount) AS TransCount
,SUM(A.InnerCount) AS InnerCount,SUM(A.InvalidCount) AS InvalidCount,SUM(A.SuspectedCount) AS SuspectedCount,SUM(A.IntentionCount) AS IntentionCount
,SUM(A.InvitationCount) AS InvitationCount,SUM(A.NegotiationCount) AS NegotiationCount,SUM(A.ContractCount) AS ContractCount,SUM(A.OrderMoney) AS OrderMoney
,SUM(A.StudyOrderMoney) AS StudyOrderMoney
FROM RB_Student_Static AS A
WHERE 1=1 AND A.Date<>'0001-01-01 00:00:00'
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Static_Extend.Group_Id), query.Group_Id);
}
if (query.YearStr > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Static_Extend.YearStr), query.YearStr);
}
}
builder.AppendFormat(" GROUP BY DATE_FORMAT(A.Date, '%Y-%m') ");
builder.AppendFormat(" ORDER BY DATE_FORMAT(A.Date, '%Y-%m') ASC ", nameof(RB_Student_Static_Extend.Id));
return Get<RB_Student_Static_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 客户数据年份统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_Static_Extend> GetStudentStaticYearListRepository(RB_Student_Static_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT CONCAT(A.YearStr,'-01','-01') AS Date,A.YearStr,SUM(A.PushCount) AS PushCount,SUM(A.NewCount) AS NewCount,SUM(A.CommunicationCount) AS CommunicationCount
,SUM(A.TrialLessonCount) AS TrialLessonCount,SUM(A.NotContacted) AS NotContacted,SUM(A.JPCount) AS JPCount,SUM(A.KRCount) AS KRCount,SUM(A.FRCount) AS FRCount
,SUM(A.JPStudyCount) AS JPStudyCount,SUM(A.KRStudyCount) AS KRStudyCount,SUM(A.YGAStudyCount) AS YGAStudyCount,SUM(A.USStudyCount) AS USStudyCount
,SUM(A.SGStudyCount) AS SGStudyCount,SUM(A.AXStudyCount) AS AXStudyCount,SUM(A.OtherCount) AS OtherCount,SUM(A.ClassACount) AS ClassACount,SUM(A.ClassBCount) AS ClassBCount
,SUM(A.ClassCCount) AS ClassCCount,SUM(A.ClassDCount) AS ClassDCount,SUM(A.CustomerCount) AS CustomerCount,SUM(A.B2CCount) AS B2CCount,SUM(A.TransCount) AS TransCount
,SUM(A.InnerCount) AS InnerCount,SUM(A.InvalidCount) AS InvalidCount,SUM(A.SuspectedCount) AS SuspectedCount,SUM(A.IntentionCount) AS IntentionCount
,SUM(A.InvitationCount) AS InvitationCount,SUM(A.NegotiationCount) AS NegotiationCount,SUM(A.ContractCount) AS ContractCount,SUM(A.OrderMoney) AS OrderMoney
,SUM(A.StudyOrderMoney) AS StudyOrderMoney
FROM RB_Student_Static AS A
WHERE 1=1 AND A.Date<>'0001-01-01 00:00:00'
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Static_Extend.Group_Id), query.Group_Id);
}
if (query.YearStr > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Static_Extend.YearStr), query.YearStr);
}
}
builder.AppendFormat(" GROUP BY A.YearStr ");
builder.AppendFormat(" ORDER BY A.YearStr ASC ");
return Get<RB_Student_Static_Extend>(builder.ToString()).ToList();
}
......@@ -57,11 +130,6 @@ WHERE 1=1
/// <returns></returns>
public RB_Student_Static_Extend GetStudentStaticByProcRepository(string DateStr)
{
//var parameters = new DynamicParameters();
//string procName = "proc_student_static";
//parameters.Add("StartTime", DateStr, direction: ParameterDirection.Input);
//return Get<RB_Student_Static_Extend>(procName, parameters, commandType: CommandType.StoredProcedure)?.FirstOrDefault();
string sql = string.Format("call proc_student_static('{0}') ", DateStr);
var list = Get<RB_Student_Static_Extend>(sql);
return list?.FirstOrDefault();
......
......@@ -882,10 +882,10 @@ namespace Edu.WebApi.Controllers.Course
TeacherId = base.ParmJObj.GetInt("TeacherId"),
Group_Id = base.UserInfo.Group_Id,
};
if (classModule.CheckPlanModule(extModel))
{
return ApiResult.Failed(message: "已经存在【" + Common.ConvertHelper.FormatDate(extModel.ClassDate) + "】的上课安排!请删除后再操作!");
}
//if (classModule.CheckPlanModule(extModel))
//{
// return ApiResult.Failed(message: "已经存在【" + Common.ConvertHelper.FormatDate(extModel.ClassDate) + "】的上课安排!请删除后再操作!");
//}
extModel.School_Id = classModule.GetClassModule(extModel.ClassId)?.School_Id ?? 0;
try
{
......
......@@ -501,7 +501,7 @@ namespace Edu.WebApi.Controllers.User
#endregion
/// <summary>
/// 获取学员跟进分页列表
/// 客户数据每日统计
/// </summary>
/// <returns></returns>
[HttpPost]
......@@ -517,6 +517,57 @@ namespace Edu.WebApi.Controllers.User
return ApiResult.Success(data: list);
}
/// <summary>
/// 客户数据月份统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetStudentStaticMonth()
{
var query = new RB_Student_Static_Extend()
{
YearStr = base.ParmJObj.GetInt("YearStr"),
};
query.Group_Id = base.UserInfo.Group_Id;
var list = studentStatModule.GetStudentStaticListMonthModule(query);
return ApiResult.Success(data: list);
}
/// <summary>
/// 客户数据月份统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetStudentStaticRateMonth()
{
var query = new RB_Student_Static_Extend()
{
YearStr = base.ParmJObj.GetInt("YearStr"),
};
query.Group_Id = base.UserInfo.Group_Id;
var list = studentStatModule.GetStudentStaticRateListMonthModule(query);
return ApiResult.Success(data: list);
}
/// <summary>
/// 客户数据年份统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetStudentStaticYear()
{
var query = new RB_Student_Static_Extend()
{
// YearStr = base.ParmJObj.GetInt("YearStr"),
};
query.Group_Id = base.UserInfo.Group_Id;
var list = studentStatModule.GetStudentStaticListYearModule(query);
return ApiResult.Success(data: list);
}
/// <summary>
/// 初始化学员统计数据
/// </summary>
......
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