Commit 7d354d87 authored by 黄奎's avatar 黄奎

新增统计实体类

parent a9c291a2
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.User
{
/// <summary>
/// 教师教学行为统计表实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Teacher_Static
{
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 日期
/// </summary>
public DateTime Date { get; set; }
/// <summary>
/// 学生人数
/// </summary>
public decimal StudentCount { get; set; }
/// <summary>
/// 上课时数(满分70)
/// </summary>
public decimal AttendClassHour { get; set; }
/// <summary>
/// 上课时数得分
/// </summary>
public decimal AttendClassHourScore { get; set; }
/// <summary>
/// 线上与学生互动数
/// </summary>
public decimal OnLineInteractive { get; set; }
/// <summary>
/// 线上与学生互动数得分
/// </summary>
public decimal OnLineInteractiveScore { get; set; }
/// <summary>
/// 续约(含留学)(满分10分每位1分)
/// </summary>
public decimal Renew { get; set; }
/// <summary>
/// 续约(含留学)得分
/// </summary>
public decimal RenewScore { get; set; }
/// <summary>
/// 学生升级(满分10分每位1分)
/// </summary>
public decimal Upgrade { get; set; }
/// <summary>
/// 学生升级得分
/// </summary>
public decimal UpgradeScore { get; set; }
/// <summary>
/// 转介绍(含留学)(满分10分每位1分)
/// </summary>
public decimal Trans { get; set; }
/// <summary>
/// 转介绍得分
/// </summary>
public decimal TransScore { get; set; }
/// <summary>
/// 试讲(次)(满分10分每次1分)
/// </summary>
public decimal TrialSpeak { get; set; }
/// <summary>
/// 试讲得分
/// </summary>
public decimal TrialSpeakScore { get; set; }
/// <summary>
/// 学生旷课(次)每次0.5)
/// </summary>
public decimal Truancy { get; set; }
/// <summary>
/// 学生旷课得分
/// </summary>
public decimal TruancyScore { get; set; }
/// <summary>
/// 学生退课(次)每次0.5)
/// </summary>
public decimal Withdraws { get; set; }
/// <summary>
/// 学生退课得分
/// </summary>
public decimal WithdrawsScore { get; set; }
/// <summary>
/// 学生投诉(次)(每次1分)
/// </summary>
public decimal Complaint { get; set; }
/// <summary>
/// 学生投诉得分
/// </summary>
public decimal ComplaintScore { get; set; }
/// <summary>
/// 老师迟到早退(次)(每次1分)
/// </summary>
public decimal TeacherBeLate { get; set; }
/// <summary>
/// 老师迟到早退得分
/// </summary>
public decimal TeacherBeLateScore { get; set; }
/// <summary>
/// N5课程时数(含少儿课程)
/// </summary>
public decimal N5ClassHours { get; set; }
/// <summary>
/// N5课程时数得分
/// </summary>
public decimal N5ClassHoursScore { get; set; }
/// <summary>
/// N4课程时数
/// </summary>
public decimal N4ClassHours { get; set; }
/// <summary>
/// N4课程时数得分
/// </summary>
public decimal N4ClassHoursScore { get; set; }
/// <summary>
/// N3课程时数
/// </summary>
public decimal N3ClassHours { get; set; }
/// <summary>
/// N3课程时数得分
/// </summary>
public decimal N3ClassHoursScore { get; set; }
/// <summary>
/// N2课程时数
/// </summary>
public decimal N2ClassHours { get; set; }
/// <summary>
/// N2课程时数得分
/// </summary>
public decimal N2ClassHoursScore { get; set; }
/// <summary>
/// N1课程时数
/// </summary>
public decimal N1ClassHours { get; set; }
/// <summary>
/// N1课程时数得分
/// </summary>
public decimal N1ClassHoursScore { get; set; }
/// <summary>
/// 学生小程序刷题次数
/// </summary>
public decimal MiniAppPractise { get; set; }
/// <summary>
/// 学生小程序刷题次数得分
/// </summary>
public decimal MiniAppPractiseScore { get; set; }
/// <summary>
/// 学生小程序刷题时间
/// </summary>
public decimal MiniAppTime { get; set; }
/// <summary>
/// 学生小程序刷题时间得分
/// </summary>
public decimal MiniAppTimeScore { get; set; }
/// <summary>
/// 总分数
/// </summary>
public decimal TotalScore { get; set; }
/// <summary>
/// 所有老师平均分数
/// </summary>
public decimal AvgScore { get; set; }
/// <summary>
/// 分数差距
/// </summary>
public decimal ScoreGap { get; set; }
/// <summary>
/// 年
/// </summary>
public int YearStr { get; set; }
/// <summary>
/// 月
/// </summary>
public int MonthStr { get; set; }
/// <summary>
/// 次
/// </summary>
public int Times { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}
}
\ No newline at end of file
......@@ -309,5 +309,10 @@ namespace Edu.Model.ViewModel.Sell
/// 学员真实手机号码【13551126755】
/// </summary>
public string StuRealMobile { get; set; }
/// <summary>
/// 学员数量
/// </summary>
public int StudentNum { get; set; }
}
}
\ No newline at end of file
using Edu.Model.Entity.User;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.User
{
/// <summary>
/// 教师教学行为统计表扩展实体类
/// </summary>
public class RB_Teacher_Static_Extend : RB_Teacher_Static
{
/// <summary>
/// 显示月份字符串
/// </summary>
public string ShowMonthStr { get; set; }
}
}
......@@ -5079,7 +5079,7 @@ namespace Edu.Module.Course
#region 教师-学员管理
/// <summary>
/// 获取分页列表
/// 获取教师学员管理分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
......@@ -5087,12 +5087,35 @@ namespace Edu.Module.Course
/// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetTeacherStudentPage(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_ViewModel demodel)
public List<RB_Order_Guest_ViewModel> GetTeacherStudentPageModule(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_ViewModel demodel)
{
var orderstudentList = order_GuestRepository.GetTeacherStudentPage(pageIndex, pageSize, out rowsCount, demodel);
var orderstudentList = order_GuestRepository.GetTeacherStudentPageRepository(pageIndex, pageSize, out rowsCount, demodel);
return orderstudentList;
}
/// <summary>
/// 获取教师学员管理统计列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public object GetTeacherStudentStaticModule(RB_Order_Guest_ViewModel demodel)
{
var obj = new object();
var list = order_GuestRepository.GetTeacherStudentStaticRepository(demodel);
if (list != null && list.Count > 0)
{
obj = new
{
NormalNum = list?.FirstOrDefault(qitem => qitem.GuestState == GuestStateEnum.Normal)?.StudentNum ?? 0,
DropOutNum = list?.FirstOrDefault(qitem => qitem.GuestState == GuestStateEnum.DropOut)?.StudentNum ?? 0,
StopClassesNum = list?.FirstOrDefault(qitem => qitem.GuestState == GuestStateEnum.StopClasses)?.StudentNum ?? 0,
GraduateNum = list?.FirstOrDefault(qitem => qitem.GuestState == GuestStateEnum.Graduate)?.StudentNum ?? 0,
};
}
return obj;
}
/// <summary>
/// 获取非本班学员的学员
/// </summary>
......
......@@ -328,7 +328,7 @@ WHERE {where}";
/// <summary>
/// 获取分页列表
/// 获取教师-学员管理分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
......@@ -336,14 +336,14 @@ WHERE {where}";
/// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetTeacherStudentPage(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_ViewModel demodel)
public List<RB_Order_Guest_ViewModel> GetTeacherStudentPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Order_Guest_ViewModel demodel)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,IFNULL(B.JoinType,0) AS JoinType,IFNULL(B.TargetJoinType,0) AS TargetJoinType,IFNULL(B.StartClassHours,0) AS StartClassHours,IFNULL(C.CourseName,'') AS CourseName
,class.ClassName,b.EnterID,plan.TotalPlanNum,planr.Ranks ,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId,B.IsRenewOrder,B.RenewOrderId
,sc.StopClassEffectTime,B.SourceOrderId,B.TargetOrderId,stu.StuTel,stu.StuRealMobile,IFNULL(B.CreateBy,0) AS OrderCreateBy,IFNULL(stu.StuId,0) AS StudentId
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId AND B.OrderState IN(1,2)
LEFT JOIN rb_class as class on class.ClassId=a.ClassId
LEFT JOIN rb_student_orderguest as sog on sog.GuestId=a.Id
LEFT JOIN rb_student AS stu ON sog.Student_Id=stu.StuId
......@@ -367,7 +367,6 @@ WHERE 1=1 and A.Status=0 and class.Status=0 and b.OrderState<>3
}
if (demodel.Teacher_Id > 0 || demodel.HelpEnterId > 0)
{
//builder.AppendFormat($@" and (class.Teacher_Id ={demodel.Teacher_Id} OR o.HelpEnterId ={demodel.HelpEnterId} )");
builder.AppendFormat($@" and (class.Teacher_Id ={demodel.Teacher_Id} OR stu.StuId IN(SELECT StuId FROM rb_student_assist WHERE `Status`=0 AND AssistId={demodel.HelpEnterId}) ) ");
}
if (!string.IsNullOrEmpty(demodel.GuestName))
......@@ -399,6 +398,71 @@ WHERE 1=1 and A.Status=0 and class.Status=0 and b.OrderState<>3
return GetPage<RB_Order_Guest_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
/// <summary>
/// 获取教师学员管理统计列表
/// </summary>>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetTeacherStudentStaticRepository(RB_Order_Guest_ViewModel demodel)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT a.GuestState,COUNT(1) AS StudentNum
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId AND B.OrderState IN(1,2)
LEFT JOIN rb_class as class on class.ClassId=a.ClassId
LEFT JOIN rb_student_orderguest as sog on sog.GuestId=a.Id
LEFT JOIN rb_student AS stu ON sog.Student_Id=stu.StuId
LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1)
LEFT JOIN (SELECT ClassId,COUNT(*) TotalPlanNum from rb_class_plan where `Status`=0 GROUP BY ClassId) as plan on plan.ClassId=class.ClassId
LEFT JOIN (SELECT ClassId,COUNT(*) Ranks from rb_class_plan where `Status`=0 and DATE_FORMAT(ClassDate,'%Y-%m-%d') <=DATE_FORMAT(NOW(),'%Y-%m-%d') GROUP BY ClassId) as planr on planr.ClassId=class.ClassId
LEFT JOIN (SELECT OrderGuestId,MAX(TakeEffectTime) as StopClassEffectTime from rb_student_stopclass where IsAuditThrough=1 GROUP BY OrderGuestId) as sc on sc.OrderGuestId=a.Id
WHERE 1=1 and A.Status=0 and class.Status=0 and b.OrderState<>3
");
if (demodel.Group_Id > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.Group_Id)} ={demodel.Group_Id}");
}
if (demodel.School_Id > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.School_Id)} ={demodel.School_Id}");
}
if (demodel.OrderId > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.OrderId)} ={demodel.OrderId}");
}
if (demodel.Teacher_Id > 0 || demodel.HelpEnterId > 0)
{
builder.AppendFormat($@" and (class.Teacher_Id ={demodel.Teacher_Id} OR stu.StuId IN(SELECT StuId FROM rb_student_assist WHERE `Status`=0 AND AssistId={demodel.HelpEnterId}) ) ");
}
if (!string.IsNullOrEmpty(demodel.GuestName))
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.GuestName)} like '%{demodel.GuestName}%'");
}
if (demodel.ClassId > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.ClassId)} ={demodel.ClassId}");
}
if (demodel.CourseId > 0)
{
builder.AppendFormat($@" AND B.{nameof(RB_Order_Guest_ViewModel.CourseId)} ={demodel.CourseId}");
}
if (demodel.EnterID > 0)
{
builder.AppendFormat($@" AND B.{nameof(RB_Order_Guest_ViewModel.EnterID)} ={demodel.EnterID}");
}
if (demodel.SourceId > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.SourceId)} ={demodel.SourceId}");
}
if (demodel.GuestState > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.GuestState)} ={(int)demodel.GuestState}");
}
builder.AppendFormat($@" GROUP BY A.GuestState");
return Get<RB_Order_Guest_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 获取分页列表
/// </summary>
......@@ -471,13 +535,9 @@ WHERE 1=1 and A.Status=0 and class.Status=0 and b.OrderState<>3 ");
/// <summary>
/// 获取分页列表
/// 获取非本班学员的学员列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetNotClassStudentList(RB_Order_Guest_ViewModel demodel)
{
......@@ -924,22 +984,6 @@ WHERE 1=1 AND A.Status=0 AND class.Status=0 AND class.ClassStatus <>4 AND b.Or
}
#endregion
/// <summary>
/// 获取学生列表 根据手机号码
/// </summary>
/// <param name="mobileList"></param>
/// <param name="orderId"></param>
/// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetGuestListForMobile1(List<string> mobileList, int customerId, int groupId)
{
string sql = $@"SELECT g.Mobile FROM rb_order_guest g
LEFT JOIN rb_order o on g.OrderId = o.OrderId
WHERE g.`Status` =0 and g.Group_Id ={groupId} and o.OrderState <>3 and o.OrderType =1 and o.CustomerId ={customerId} and g.Mobile in ({("'" + string.Join("','", mobileList) + "'")}) ";
sql += " group by g.Mobile";
return Get<RB_Order_Guest_ViewModel>(sql).ToList();
}
/// <summary>
/// 获取学生课时 请假 缺席
......
using Edu.Model.Entity.User;
using Edu.Model.ViewModel.User;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.User
{
/// <summary>
/// 教师教学行为统计表仓储层
/// </summary>
public class RB_Teacher_StaticRepository : BaseRepository<RB_Teacher_Static>
{
/// <summary>
/// 获取教师行为统计列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Teacher_Static_Extend> GetTeacherStaticListRepository(RB_Teacher_Static_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Teacher_Static AS A
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Teacher_Static_Extend.Group_Id), query.Group_Id);
}
if (query.YearStr > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Teacher_Static_Extend.YearStr), query.YearStr);
}
if (query.MonthStr > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Teacher_Static_Extend.MonthStr), query.MonthStr);
}
if (query.Times > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Teacher_Static_Extend.Times), query.Times);
}
}
builder.AppendFormat(" ORDER BY A.{0} ASC ", nameof(RB_Student_Static_Extend.Id));
return Get<RB_Teacher_Static_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 教师行为月份统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Teacher_Static_Extend> GetTeacherStaticMonthListRepository(RB_Teacher_Static_Extend query, bool isYear = false)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT CONCAT(DATE_FORMAT(A.Date, '%Y-%m'),'-01') AS Date,A.YearStr,SUM(StudentCount) AS StudentCount,SUM(AttendClassHour) AS AttendClassHour,SUM(AttendClassHourScore) AS AttendClassHourScore
,SUM(OnLineInteractive) AS OnLineInteractive,SUM(OnLineInteractiveScore) AS OnLineInteractiveScore,SUM(Renew) AS Renew,SUM(RenewScore) AS RenewScore,SUM(`Upgrade`) AS `Upgrade`
,SUM(UpgradeScore) AS UpgradeScore,SUM(Trans) AS Trans,SUM(TransScore) AS TransScore,SUM(TrialSpeak) AS TrialSpeak,SUM(TrialSpeakScore) AS TrialSpeakScore,SUM(Truancy) AS Truancy
,SUM(TruancyScore) AS TruancyScore,SUM(Withdraws) AS Withdraws,SUM(WithdrawsScore) AS WithdrawsScore,SUM(Complaint) AS Complaint,SUM(ComplaintScore) AS ComplaintScore
,SUM(TeacherBeLate) AS TeacherBeLate,SUM(TeacherBeLateScore) AS TeacherBeLateScore,SUM(N5ClassHours) AS N5ClassHours,SUM(N5ClassHoursScore) AS N5ClassHoursScore,SUM(N4ClassHours) AS N4ClassHours
,SUM(N4ClassHoursScore) AS N4ClassHoursScore,SUM(N3ClassHours) AS N3ClassHours,SUM(N3ClassHoursScore) AS N3ClassHoursScore,SUM(N2ClassHours) AS N2ClassHours,SUM(N2ClassHoursScore) AS N2ClassHoursScore
,SUM(N1ClassHours) AS N1ClassHours,SUM(N1ClassHoursScore) AS N1ClassHoursScore,SUM(MiniAppPractise) AS MiniAppPractise,SUM(MiniAppPractiseScore) AS MiniAppPractiseScore,SUM(MiniAppTime) AS MiniAppTime
,SUM(MiniAppTimeScore) AS MiniAppTimeScore,SUM(TotalScore) AS TotalScore,SUM(AvgScore) AS AvgScore,SUM(ScoreGap) AS ScoreGap
FROM RB_Teacher_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_Teacher_Static_Extend.Group_Id), query.Group_Id);
}
if (query.YearStr > 0)
{
if (isYear)
{
builder.AppendFormat(" AND A.{0}<={1} ", nameof(RB_Teacher_Static_Extend.YearStr), query.YearStr);
}
else
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Teacher_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 ");
return Get<RB_Teacher_Static_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 教师行为年份统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Teacher_Static_Extend> GetTeacherStaticYearListRepository(RB_Teacher_Static_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT CONCAT(A.YearStr,'-01','-01') AS Date,A.YearStr,SUM(StudentCount) AS StudentCount,SUM(AttendClassHour) AS AttendClassHour,SUM(AttendClassHourScore) AS AttendClassHourScore
,SUM(OnLineInteractive) AS OnLineInteractive,SUM(OnLineInteractiveScore) AS OnLineInteractiveScore,SUM(Renew) AS Renew,SUM(RenewScore) AS RenewScore,SUM(`Upgrade`) AS `Upgrade`
,SUM(UpgradeScore) AS UpgradeScore,SUM(Trans) AS Trans,SUM(TransScore) AS TransScore,SUM(TrialSpeak) AS TrialSpeak,SUM(TrialSpeakScore) AS TrialSpeakScore,SUM(Truancy) AS Truancy
,SUM(TruancyScore) AS TruancyScore,SUM(Withdraws) AS Withdraws,SUM(WithdrawsScore) AS WithdrawsScore,SUM(Complaint) AS Complaint,SUM(ComplaintScore) AS ComplaintScore
,SUM(TeacherBeLate) AS TeacherBeLate,SUM(TeacherBeLateScore) AS TeacherBeLateScore,SUM(N5ClassHours) AS N5ClassHours,SUM(N5ClassHoursScore) AS N5ClassHoursScore,SUM(N4ClassHours) AS N4ClassHours
,SUM(N4ClassHoursScore) AS N4ClassHoursScore,SUM(N3ClassHours) AS N3ClassHours,SUM(N3ClassHoursScore) AS N3ClassHoursScore,SUM(N2ClassHours) AS N2ClassHours,SUM(N2ClassHoursScore) AS N2ClassHoursScore
,SUM(N1ClassHours) AS N1ClassHours,SUM(N1ClassHoursScore) AS N1ClassHoursScore,SUM(MiniAppPractise) AS MiniAppPractise,SUM(MiniAppPractiseScore) AS MiniAppPractiseScore,SUM(MiniAppTime) AS MiniAppTime
,SUM(MiniAppTimeScore) AS MiniAppTimeScore,SUM(TotalScore) AS TotalScore,SUM(AvgScore) AS AvgScore,SUM(ScoreGap) AS ScoreGap
FROM RB_Teacher_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_Teacher_Static_Extend.Group_Id), query.Group_Id);
}
if (query.YearStr > 0)
{
builder.AppendFormat(" AND A.{0}<={1} ", nameof(RB_Teacher_Static_Extend.YearStr), query.YearStr);
}
}
builder.AppendFormat(" GROUP BY A.YearStr ");
builder.AppendFormat(" ORDER BY A.YearStr ASC ");
return Get<RB_Teacher_Static_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 根据存储过程统计教师行为信息
/// </summary>
/// <param name="DateStr"></param>
/// <returns></returns>
public RB_Teacher_Static_Extend GetTeacherStaticByProcRepository(string DateStr)
{
string sql = string.Format("call proc_teacher_static('{0}') ", DateStr);
var list = Get<RB_Teacher_Static_Extend>(sql);
return list?.FirstOrDefault();
}
/// <summary>
/// 清除数据
/// </summary>
public void DeleteTeacherStaticByProcRepository()
{
string sql = "TRUNCATE TABLE RB_Teacher_Static";
base.Execute(sql);
}
}
}
......@@ -233,13 +233,15 @@ namespace Edu.WebApi.Controllers.Course
ClassId = base.ParmJObj.GetInt("ClassId", 0),
CourseId = base.ParmJObj.GetInt("CourseId", 0),
EnterID = base.ParmJObj.GetInt("EnterID", 0),
GuestState=(GuestStateEnum)base.ParmJObj.GetInt("GuestState"),
};
if (model.Teacher_Id > 0)
{
model.HelpEnterId = base.UserInfo.Id;
}
model.Group_Id = base.UserInfo.Group_Id;
var list = classModule.GetTeacherStudentPage(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, model);
var list = classModule.GetTeacherStudentPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, model);
var obj = classModule.GetTeacherStudentStaticModule(model);
List<object> result = new List<object>();
foreach (var item in list)
......@@ -283,7 +285,7 @@ namespace Edu.WebApi.Controllers.Course
}
pageModel.Count = rowsCount;
pageModel.PageData = result;
return ApiResult.Success(data: pageModel);
return ApiResult.Success(data: new { pageModel ,StudentStatic= obj });
}
......
This diff is collapsed.
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