Commit 183ea179 authored by 黄奎's avatar 黄奎

新增字段

parent d5cc1542
......@@ -244,5 +244,10 @@ namespace Edu.Model.Entity.User
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 活动次数
/// </summary>
public decimal ActivityNum { get; set; }
}
}
\ No newline at end of file
......@@ -654,26 +654,33 @@ namespace Edu.Module.Course
string orderGuestIds = string.Join(",", list.Select(x => x.GuestId).Distinct());
var oldCheck = class_CheckRepository.GetClassCheckList(new RB_Class_Check_ViewModel() { Group_Id = groupId, StartDate = Date, EndDate = Date, QOrderGuestIds = orderGuestIds });
foreach (var item in list) {
foreach (var item in list)
{
//更新约课为已上课
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
Dictionary<string, object> keyValues = new Dictionary<string, object>()
{
{ nameof(RB_Scroll_Appointment_ViewModel.State), Common.Enum.Course.CourseAppointStateEnum.Coursed}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
List<WhereHelper> wheres = new List<WhereHelper>()
{
new WhereHelper()
{
FiledName = nameof(RB_Scroll_Appointment_ViewModel.Id),
FiledValue = item.Id,
OperatorEnum =OperatorEnum.Equal
}
};
bool flag = scroll_AppointmentRepository.Update(keyValues, wheres);
if (flag) {
if (flag)
{
var clist = JsonHelper.DeserializeObject<List<CourseTimeModel>>(item.CourseTime);
//更新 order_guest 表 上课章节 请假也暂时先算完成课时(请假应该是有补课的)
var gmodel = order_GuestRepository.GetEntity(item.GuestId);
if (gmodel != null && gmodel.CourseChapterNo < item.ChapterNo) {
if (gmodel != null && gmodel.CourseChapterNo < item.ChapterNo)
{
//ld 2022-03-08 修改为学员上课最大课时
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
Dictionary<string, object> keyValues1 = new Dictionary<string, object>()
{
{ nameof(Model.ViewModel.Sell.RB_Order_Guest_ViewModel.CourseChapterNo), item.ChapterNo},
{ nameof(Model.ViewModel.Sell.RB_Order_Guest_ViewModel.CompleteHours), item.ChapterNo * clist.Sum(x=>x.ClassHours)}
};
......@@ -682,8 +689,10 @@ namespace Edu.Module.Course
//章节已上完了 修改为 毕业
keyValues1.Add(nameof(Model.ViewModel.Sell.RB_Order_Guest_ViewModel.GuestState), Common.Enum.Course.GuestStateEnum.Graduate);
}
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
List<WhereHelper> wheres1 = new List<WhereHelper>()
{
new WhereHelper()
{
FiledName = nameof(Model.ViewModel.Sell.RB_Order_Guest_ViewModel.Id),
FiledValue = gmodel.Id,
OperatorEnum =OperatorEnum.Equal
......
......@@ -274,6 +274,12 @@ namespace Edu.Module.User
ScoreGap = (item.ScoreGap - firstModel.ScoreGap) / firstModel.ScoreGap * 100;
}
decimal ActivityNum = 0;
if (firstModel.ActivityNum > 0)
{
ActivityNum = (item.ActivityNum - firstModel.ActivityNum) / firstModel.ActivityNum * 100;
}
subObj = new
{
Id = 0,
......@@ -316,6 +322,7 @@ namespace Edu.Module.User
TotalScore = Math.Round(TotalScore, 2) + "%",
AvgScore = Math.Round(AvgScore, 2) + "%",
ScoreGap = Math.Round(ScoreGap, 2) + "%",
ActivityNum= Math.Round(ActivityNum, 2) + "%",
};
}
firstModel = item;
......@@ -363,6 +370,7 @@ namespace Edu.Module.User
item.TotalScore,
item.AvgScore,
item.ScoreGap,
item.ActivityNum,
});
if (DateStr.Contains("总数") && index > 1)
{
......@@ -412,6 +420,7 @@ namespace Edu.Module.User
TotalScore = tempList?.Sum(qitem => qitem.TotalScore),
AvgScore = tempList?.Sum(qitem => qitem.AvgScore),
ScoreGap = tempList?.Sum(qitem => qitem.ScoreGap),
ActivityNum = tempList?.Sum(qitem => qitem.ActivityNum),
});
}
return dataList;
......@@ -471,6 +480,7 @@ namespace Edu.Module.User
TotalScore = tempData?.TotalScore ?? 0,
AvgScore = tempData?.AvgScore ?? 0,
ScoreGap = tempData?.ScoreGap ?? 0,
ActivityNum= tempData?.ActivityNum ?? 0,
};
monthList.Add(newData);
}
......@@ -514,6 +524,7 @@ namespace Edu.Module.User
TotalScore = Math.Round(monthList?.Average(qitem => qitem.TotalScore) ?? 0, 2),
AvgScore = Math.Round(monthList?.Average(qitem => qitem.AvgScore) ?? 0, 2),
ScoreGap = Math.Round(monthList?.Average(qitem => qitem.ScoreGap) ?? 0, 2),
ActivityNum = Math.Round(monthList?.Average(qitem => qitem.ActivityNum) ?? 0, 2),
};
var sumModel = new RB_Teacher_Static_Extend()
......@@ -557,6 +568,7 @@ namespace Edu.Module.User
TotalScore = monthList?.Sum(qitem => qitem.TotalScore) ?? 0,
AvgScore = monthList?.Sum(qitem => qitem.AvgScore) ?? 0,
ScoreGap = monthList?.Sum(qitem => qitem.ScoreGap) ?? 0,
ActivityNum = monthList?.Sum(qitem => qitem.ActivityNum) ?? 0,
};
monthList.Add(avgModel);
monthList.Add(sumModel);
......@@ -604,6 +616,7 @@ namespace Edu.Module.User
item.TotalScore,
item.AvgScore,
item.ScoreGap,
item.ActivityNum
});
}
return dataList;
......@@ -854,7 +867,11 @@ namespace Edu.Module.User
{
ScoreGap = (item.ScoreGap - firstModel.ScoreGap) / firstModel.ScoreGap * 100;
}
decimal ActivityNum = 0;
if (firstModel.ActivityNum > 0 && i > 0)
{
ActivityNum = (item.ActivityNum - firstModel.ActivityNum) / firstModel.ActivityNum * 100;
}
var newModel = new RB_Teacher_Static_Extend()
{
MonthStr = i + 1,
......@@ -896,6 +913,7 @@ namespace Edu.Module.User
TotalScore = TotalScore,
AvgScore = AvgScore,
ScoreGap = ScoreGap,
ActivityNum=ActivityNum,
};
result.Add(newModel);
}
......@@ -1219,6 +1237,24 @@ namespace Edu.Module.User
AvgRate = Math.Round(result.Average(qitem => qitem.MiniAppTimeScore), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "活动次数成长率",
JanuaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 1).ActivityNum, 2),
FebruaryRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 2).ActivityNum, 2),
MarchRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 3).ActivityNum, 2),
AprilRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 4).ActivityNum, 2),
MayRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 5).ActivityNum, 2),
JuneRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 6).ActivityNum, 2),
JulyRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 7).ActivityNum, 2),
AugustRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 8).ActivityNum, 2),
SeptemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 9).ActivityNum, 2),
OctoberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 10).ActivityNum, 2),
NovemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 11).ActivityNum, 2),
DecemberRate = Math.Round(result.FirstOrDefault(qitem => qitem.MonthStr == 12).ActivityNum, 2),
AvgRate = Math.Round(result.Average(qitem => qitem.ActivityNum), 2),
});
monthList.Add(new RateMonthItem()
{
ItemName = "总分数成长率",
......@@ -1524,6 +1560,11 @@ namespace Edu.Module.User
{
ScoreGap = (item.ScoreGap - firstModel.ScoreGap) / firstModel.ScoreGap * 100;
}
decimal ActivityNum = 0;
if (firstModel.ActivityNum > 0 && i > 0)
{
ActivityNum = (item.ActivityNum - firstModel.ActivityNum) / firstModel.ActivityNum * 100;
}
rateList.Add(new RB_Teacher_Static_Extend()
{
......@@ -1566,6 +1607,7 @@ namespace Edu.Module.User
TotalScore = TotalScore,
AvgScore = AvgScore,
ScoreGap = ScoreGap,
ActivityNum=ActivityNum,
});
}
......@@ -1738,7 +1780,15 @@ namespace Edu.Module.User
SecondYear = Math.Round(list.FirstOrDefault(qitem => qitem.YearStr == maxYear).MiniAppTimeScore, 2),
YearRate = Math.Round(rateList.FirstOrDefault(qitem => qitem.YearStr == maxYear).MiniAppTimeScore, 2),
});
yearList.Add(new RateYearItem()
{
ItemName = "活动次数",
FirstYearStr = minYear,
FirstYear = Math.Round(list.FirstOrDefault(qitem => qitem.YearStr == minYear).ActivityNum, 2),
SecondYearStr = maxYear,
SecondYear = Math.Round(list.FirstOrDefault(qitem => qitem.YearStr == maxYear).ActivityNum, 2),
YearRate = Math.Round(rateList.FirstOrDefault(qitem => qitem.YearStr == maxYear).ActivityNum, 2),
});
yearList.Add(new RateYearItem()
{
ItemName = "总分数",
......@@ -2024,6 +2074,12 @@ namespace Edu.Module.User
ScoreGap = (item.ScoreGap - firstModel.ScoreGap) / firstModel.ScoreGap * 100;
}
decimal ActivityNum = 0;
if (firstModel.ActivityNum > 0 && i > 0)
{
ActivityNum = (item.ActivityNum - firstModel.ActivityNum) / firstModel.ActivityNum * 100;
}
var newModel = new RB_Teacher_Static_Extend()
{
YearStr = minYear + y,
......@@ -2066,6 +2122,7 @@ namespace Edu.Module.User
TotalScore = TotalScore,
AvgScore = AvgScore,
ScoreGap = ScoreGap,
ActivityNum= ActivityNum,
};
result.Add(newModel);
}
......@@ -2397,6 +2454,24 @@ namespace Edu.Module.User
YearRate = Math.Round(CMiniAppTimeScore, 2),
});
var lastActivityNum = result.Where(qitem => qitem.YearStr == minYear).Average(qitem => qitem.ActivityNum);
var curActivityNum = result.Where(qitem => qitem.YearStr == maxYear).Average(qitem => qitem.ActivityNum);
decimal CActivityNum = 0;
if (lastActivityNum > 0)
{
CActivityNum = (curActivityNum - lastActivityNum) / lastActivityNum * 100;
}
yearList.Add(new RateYearItem()
{
ItemName = "活动次数成长率",
FirstYearStr = minYear,
FirstYear = Math.Round(lastActivityNum, 2),
SecondYearStr = maxYear,
SecondYear = Math.Round(curActivityNum, 2),
YearRate = Math.Round(CActivityNum, 2),
});
var lastTotalScore = result.Where(qitem => qitem.YearStr == minYear).Average(qitem => qitem.TotalScore);
var curTotalScore = result.Where(qitem => qitem.YearStr == maxYear).Average(qitem => qitem.TotalScore);
decimal CTotalScore = 0;
......@@ -2517,6 +2592,7 @@ namespace Edu.Module.User
TotalScore = procModel?.TotalScore ?? 0,
AvgScore = procModel?.AvgScore ?? 0,
ScoreGap = procModel?.ScoreGap ?? 0,
ActivityNum= procModel?.ActivityNum ?? 0,
YearStr = newDate.Year,
MonthStr = newDate.Month,
};
......@@ -2578,6 +2654,7 @@ namespace Edu.Module.User
TotalScore = lastMonthLastTimeList?.Sum(qitem => qitem.TotalScore) ?? 0,
AvgScore = lastMonthLastTimeList?.Sum(qitem => qitem.AvgScore) ?? 0,
ScoreGap = lastMonthLastTimeList?.Sum(qitem => qitem.ScoreGap) ?? 0,
ActivityNum = lastMonthLastTimeList?.Sum(qitem => qitem.ActivityNum) ?? 0,
YearStr = newDate.Year,
MonthStr = newDate.Month,
};
......@@ -2642,6 +2719,7 @@ namespace Edu.Module.User
TotalScore = curMonthFirstTimeList?.Sum(qitem => qitem.TotalScore) ?? 0,
AvgScore = curMonthFirstTimeList?.Sum(qitem => qitem.AvgScore) ?? 0,
ScoreGap = curMonthFirstTimeList?.Sum(qitem => qitem.ScoreGap) ?? 0,
ActivityNum = curMonthFirstTimeList?.Sum(qitem => qitem.ActivityNum) ?? 0,
YearStr = newDate.Year,
MonthStr = newDate.Month,
};
......@@ -2706,6 +2784,7 @@ namespace Edu.Module.User
TotalScore = curMonthSecondTimeList?.Sum(qitem => qitem.TotalScore) ?? 0,
AvgScore = curMonthSecondTimeList?.Sum(qitem => qitem.AvgScore) ?? 0,
ScoreGap = curMonthSecondTimeList?.Sum(qitem => qitem.ScoreGap) ?? 0,
ActivityNum = curMonthSecondTimeList?.Sum(qitem => qitem.ActivityNum) ?? 0,
YearStr = newDate.Year,
MonthStr = newDate.Month,
};
......@@ -2778,6 +2857,7 @@ namespace Edu.Module.User
TotalScore = curMonthThirdTimeList?.Sum(qitem => qitem.TotalScore) ?? 0,
AvgScore = curMonthThirdTimeList?.Sum(qitem => qitem.AvgScore) ?? 0,
ScoreGap = curMonthThirdTimeList?.Sum(qitem => qitem.ScoreGap) ?? 0,
ActivityNum = curMonthThirdTimeList?.Sum(qitem => qitem.ActivityNum) ?? 0,
YearStr = newDate.Year,
MonthStr = newDate.Month,
};
......
......@@ -86,6 +86,7 @@ namespace Edu.WebApi.Controllers.User
new ExcelColumn("N1课程时数"){ CellWidth=15},
new ExcelColumn("学生小程序刷题次数"){ CellWidth=15},
new ExcelColumn("学生小程序刷题时间"){ CellWidth=15},
new ExcelColumn("活动次数"){ CellWidth=15},
new ExcelColumn("总分数"){ CellWidth=15},
new ExcelColumn("所有老师平均分数"){ CellWidth=15},
new ExcelColumn("分数差距"){ CellWidth=15},
......@@ -117,6 +118,7 @@ namespace Edu.WebApi.Controllers.User
columns.Add(new ExcelColumn(dObj.GetStringValue("N1ClassHoursScore")));
columns.Add(new ExcelColumn(dObj.GetStringValue("MiniAppPractiseScore")));
columns.Add(new ExcelColumn(dObj.GetStringValue("MiniAppTimeScore")));
columns.Add(new ExcelColumn(dObj.GetStringValue("ActivityNum")));
columns.Add(new ExcelColumn(dObj.GetStringValue("TotalScore")));
columns.Add(new ExcelColumn(dObj.GetStringValue("AvgScore")));
columns.Add(new ExcelColumn(dObj.GetStringValue("ScoreGap")));
......@@ -194,6 +196,7 @@ namespace Edu.WebApi.Controllers.User
new ExcelColumn("N1课程时数"){ CellWidth=15},
new ExcelColumn("学生小程序刷题次数"){ CellWidth=15},
new ExcelColumn("学生小程序刷题时间"){ CellWidth=15},
new ExcelColumn("活动次数"){ CellWidth=15},
new ExcelColumn("总分数"){ CellWidth=15},
new ExcelColumn("所有老师平均分数"){ CellWidth=15},
new ExcelColumn("分数差距"){ CellWidth=15},
......@@ -225,6 +228,7 @@ namespace Edu.WebApi.Controllers.User
columns.Add(new ExcelColumn(dObj.GetStringValue("N1ClassHoursScore")));
columns.Add(new ExcelColumn(dObj.GetStringValue("MiniAppPractiseScore")));
columns.Add(new ExcelColumn(dObj.GetStringValue("MiniAppTimeScore")));
columns.Add(new ExcelColumn(dObj.GetStringValue("ActivityNum")));
columns.Add(new ExcelColumn(dObj.GetStringValue("TotalScore")));
columns.Add(new ExcelColumn(dObj.GetStringValue("AvgScore")));
columns.Add(new ExcelColumn(dObj.GetStringValue("ScoreGap")));
......
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