Commit 83ca5a1a authored by 黄奎's avatar 黄奎

页面修改

parent c9140752
......@@ -32,7 +32,7 @@ namespace Edu.Model.Entity.Course
public string GuestName { get; set; }
/// <summary>
/// 状态 1正常 2退学 3-申请中,4-驳回申请
/// 状态 1正常 2退学 3-申请中,4-驳回申请,5-停课
/// </summary>
public int GuestState { get; set; }
......
......@@ -5,7 +5,7 @@ using System.Text;
namespace Edu.Model.ViewModel.Course
{
/// <summary>
/// 学员完成分钟数
/// 学员完成/缺席分钟数
/// </summary>
public class GuestFinishMinute_ViewModel
{
......
......@@ -1077,6 +1077,9 @@ namespace Edu.Module.Course
[TransactionCallHandler]
public virtual bool AddClassCheckModule(List<RB_Class_Check_ViewModel> list)
{
//基础课时分钟数
var BasicMinutes = class_ConfigRepository.GetClassConfigRepository(new RB_Class_Config_ViewModel() { Group_Id = list[0].Group_Id })?.BasicMinutes ?? 45;
//写日志
bool flag = true;
foreach (var item in list)
......@@ -1091,8 +1094,43 @@ namespace Edu.Module.Course
{
flag = classCheckRepository.Insert(item) > 0;
}
if (flag )
{
var guestModel = order_GuestRepository.GetEntity(item.OrderGuestId);
if (guestModel.GuestState == 1)
{
//学员完成课时
var stuCheckList = class_CheckRepository.GetGuestFinishMinutesRepository(item.OrderGuestId.ToString());
//学员缺勤课时
var stuNoCheckList = class_CheckRepository.GetGuestNoFinishMinutesRepository(item.OrderGuestId.ToString());
//总签到上课分钟数
var totalFinishMinutes = stuCheckList?.Sum(qitem => qitem.FinishMinutes) ?? 0;
//缺勤分钟数
var totalNoFinishMinutes = stuNoCheckList?.Sum(qitem => qitem.FinishMinutes) ?? 0;
//完成课时数
var FinishHours = Convert.ToInt32(totalFinishMinutes) / BasicMinutes;
//缺勤课时
var NoFinishHours = Convert.ToInt32(totalNoFinishMinutes) / BasicMinutes;
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Order_Guest_ViewModel.CompleteHours),FinishHours },
{nameof(RB_Order_Guest_ViewModel.MakeUpHours ),NoFinishHours },
};
if (NoFinishHours >= 12)
{
fileds.Add(nameof(RB_Order_Guest_ViewModel.GuestState), 5);
}
List<WhereHelper> wheres = new List<WhereHelper>()
{
new WhereHelper (nameof(RB_Order_Guest_ViewModel.Id),item.OrderGuestId),
};
flag = order_GuestRepository.Update(fileds, wheres);
}
}
}
}
return flag;
}
......
......@@ -91,18 +91,9 @@ WHERE 1=1 ");
}
}
builder.AppendFormat(" GROUP BY A.ClassId,A.ClassDate ");
return Get<RB_Class_Check_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 班级总人数
/// </summary>
......@@ -163,6 +154,29 @@ GROUP BY B.OrderGuestId
return Get<GuestFinishMinute_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 学员缺勤分钟数
/// </summary>
/// <param name="guestIds">学员编号</param>
/// <returns></returns>
public List<GuestFinishMinute_ViewModel> GetGuestNoFinishMinutesRepository(string guestIds)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT B.OrderGuestId AS GuestId,SUM(IFNULL(B.FinishMinutes,0)) AS FinishMinutes
FROM
(
SELECT B.ClassDate,A.OrderGuestId
,TIMESTAMPDIFF(MINUTE,(DATE_FORMAT(CONCAT('2021-01-01 ',C.StartTime,':00'),'%Y-%m-%d %H:%i')),(DATE_FORMAT(CONCAT('2021-01-01 ',C.EndTime,':00'), '%Y-%m-%d %H:%i'))) AS FinishMinutes
FROM rb_class_check AS A INNER JOIN rb_class_plan AS B ON A.ClassDate=B.ClassDate AND A.ClassId=B.ClassId AND B.`Status`=0
INNER JOIN rb_class_time AS C ON B.ClassPlanId=C.ClassPlanId
WHERE A.CheckStatus=1 AND A.OrderGuestId IN({0})
) AS B
GROUP BY B.OrderGuestId
", guestIds);
return Get<GuestFinishMinute_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 班级签到完成学习分钟数
/// </summary>
......
......@@ -107,27 +107,6 @@ WHERE ClassId={1} AND ClassDate>'{2}'
return base.Execute(builder.ToString()) > 0;
}
/// <summary>
/// 获取班级计划
/// </summary>
/// <param name="classIds"></param>
/// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetClassPlanForProduct(string classIds)
{
string sql = $@"SELECT p.ClassId,DAYOFWEEK(p.ClassDate) as WeekDay FROM rb_class_plan p
INNER JOIN rb_class c on p.ClassId = c.ClassId
WHERE c.ClassStyle =1 AND p.`Status`=0 and p.ClassId in({classIds}) GROUP BY p.ClassId,DAYOFWEEK(p.ClassDate)";
string sql2 = $@"
SELECT p.ClassId,DAYOFMONTH(p.ClassDate) as WeekDay FROM rb_class_plan p
INNER JOIN rb_class c on p.ClassId = c.ClassId
WHERE c.ClassStyle =2 AND p.`Status`=0 and p.ClassId in({classIds}) GROUP BY p.ClassId,DAYOFMONTH(p.ClassDate)";
var list1 = Get<RB_Class_Plan_ViewModel>(sql).ToList();
var list2 = Get<RB_Class_Plan_ViewModel>(sql2).ToList();
list1.AddRange(list2);
return list1;
}
/// <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