Commit ac71c002 authored by 黄奎's avatar 黄奎

个人中心统计修改

parent 42692675
......@@ -482,9 +482,9 @@ namespace Edu.Module.Course
/// <param name="guestId"></param>
/// <param name="group_Id"></param>
/// <returns></returns>
public RB_Order_Guest_Extend GetOrderGusetHoursInfo(int guestId, int group_Id)
public RB_Order_Guest_Extend GetOrderGusetHoursInfo(int guestId, int classId)
{
var gmodel = order_GuestRepository.GetOrderGusetHoursInfo(guestId, group_Id);
var gmodel = order_GuestRepository.GetOrderGusetHoursInfo(guestId, classId);
return gmodel;
}
......
......@@ -807,18 +807,25 @@ WHERE g.`Status` =0 and g.Group_Id ={groupId} and o.OrderState <>3 and o.OrderTy
/// 获取学生课时 请假 缺席
/// </summary>
/// <param name="guestId"></param>
/// <param name="group_Id"></param>
/// <param name="classId"></param>
/// <returns></returns>
public RB_Order_Guest_Extend GetOrderGusetHoursInfo(int guestId, int classId)
{
string sql = $@"
SELECT A.* ,IFNULL(gc.AbsenceNum,0) AS AbsenceNum,IFNULL(gc.LeaveNum,0) AS LeaveNum
SELECT A.* ,IFNULL(gc.AbsenceNum,0) AS AbsenceNum,IFNULL(gc2.LeaveNum,0) AS LeaveNum
FROM RB_Order_Guest AS A
LEFT JOIN (
SELECT OrderGuestId,SUM(CASE CheckStatus WHEN 1 THEN 1 ELSE 0 END) AS AbsenceNum,SUM(CASE CheckStatus WHEN 2 THEN 1 ELSE 0 END) AS LeaveNum
SELECT OrderGuestId,SUM(CurrentDeductionHours) AS AbsenceNum
FROM rb_class_check
WHERE `Status`=0 and CheckStatus <>0 and ClassId ={classId} GROUP BY OrderGuestId
WHERE Status=0 AND CheckStatus=1 AND ClassId ={classId} AND OrderGuestId={guestId}
GROUP BY OrderGuestId
) AS gc on gc.OrderGuestId=a.Id
LEFT JOIN (
SELECT OrderGuestId,SUM(CurrentDeductionHours) AS LeaveNum
FROM rb_class_check
WHERE Status=0 AND CheckStatus=1 AND ClassId ={classId} AND OrderGuestId={guestId}
GROUP BY OrderGuestId
) AS gc2 on gc2.OrderGuestId=a.Id
WHERE A.Id ={guestId}
";
return Get<RB_Order_Guest_Extend>(sql).FirstOrDefault();
......
......@@ -106,12 +106,13 @@ namespace Edu.WebApi.Controllers.Applet
//获取课程
var courseModel = courseModule.GetCourseModule(LearningInfo.CourseId);
//获取课时信息
var guestModel = orderModule.GetOrderGusetHoursInfo(LearningInfo.GuestId, userInfo.Group_Id);
var guestModel = orderModule.GetOrderGusetHoursInfo(LearningInfo.GuestId, LearningInfo.ClassId);
CourseInfo = new
{
State = 1,
TotalHours = guestModel?.TotalHours ?? 0,
CompleteHours = guestModel?.CompleteHours ?? 0,
MakeUpHours= guestModel?.MakeUpHours??0,
AbsenceNum = guestModel?.AbsenceNum ?? 0,
LeaveNum = guestModel?.LeaveNum ?? 0,
CourseId = courseModel?.CourseId ?? 0,
......
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