Commit 059b18d3 authored by 吴春's avatar 吴春

提交代码

parent ea636e7f
...@@ -42,14 +42,11 @@ namespace Edu.Model.Entity.EduTask ...@@ -42,14 +42,11 @@ namespace Edu.Model.Entity.EduTask
/// </summary> /// </summary>
public string OrderGuestIds { get; set; } public string OrderGuestIds { get; set; }
/// <summary>
/// 计划id
/// </summary>
public int ClassPlanId { get; set; }
/// <summary> /// <summary>
/// 计划时间id /// 计划时间id
/// </summary> /// </summary>
public int ClassTimeId { get; set; } public string ClassTimeIds { get; set; }
......
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.EduTask namespace Edu.Model.Entity.EduTask
{ {
/// <summary> /// <summary>
/// 临时上课邀请记录表 /// 临时上课邀请记录表
/// </summary> /// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Temporary_Invitation public class RB_Temporary_Invitation
{ {
/// <summary> /// <summary>
...@@ -48,7 +51,10 @@ namespace Edu.Model.Entity.EduTask ...@@ -48,7 +51,10 @@ namespace Edu.Model.Entity.EduTask
/// </summary> /// </summary>
public int OrderGuestId { get; set; } public int OrderGuestId { get; set; }
/// <summary>
/// 状态
/// </summary>
public int Status { get; set; }
/// <summary> /// <summary>
/// 创建人 /// 创建人
/// </summary> /// </summary>
......
...@@ -8,6 +8,11 @@ namespace Edu.Model.ViewModel.Course ...@@ -8,6 +8,11 @@ namespace Edu.Model.ViewModel.Course
/// </summary> /// </summary>
public class RB_Class_Plan_ViewModel : RB_Class_Plan public class RB_Class_Plan_ViewModel : RB_Class_Plan
{ {
/// <summary>
/// 排课日期【查询使用,逗号分隔】
/// </summary>
public string QClassPlanIds { get; set; }
/// <summary> /// <summary>
/// 班级编号【查询使用,逗号分隔】 /// 班级编号【查询使用,逗号分隔】
/// </summary> /// </summary>
......
...@@ -8,6 +8,11 @@ namespace Edu.Model.ViewModel.Course ...@@ -8,6 +8,11 @@ namespace Edu.Model.ViewModel.Course
/// </summary> /// </summary>
public class RB_Class_Time_ViewModel : RB_Class_Time public class RB_Class_Time_ViewModel : RB_Class_Time
{ {
/// <summary>
/// 计划时间编号【查询使用,逗号分隔】
/// </summary>
public string QClassTimeIds { get; set; }
/// <summary> /// <summary>
/// 计划编号【查询使用,逗号分隔】 /// 计划编号【查询使用,逗号分隔】
/// </summary> /// </summary>
......
...@@ -210,5 +210,14 @@ namespace Edu.Model.ViewModel.Course ...@@ -210,5 +210,14 @@ namespace Edu.Model.ViewModel.Course
/// 学校 /// 学校
/// </summary> /// </summary>
public string SchoolName { get; set; } public string SchoolName { get; set; }
/// <summary>
/// 上课时间id
/// </summary>
public int ClassTimeId { get; set; }
/// <summary>
/// 上课计划id
/// </summary>
public int ClassPlanId { get; set; }
} }
} }
\ No newline at end of file
...@@ -44,10 +44,26 @@ namespace Edu.Model.ViewModel.EduTask ...@@ -44,10 +44,26 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary> /// </summary>
public string CourseName { get; set; } public string CourseName { get; set; }
/// <summary>
/// 学员信息
/// </summary>
public List<Course.RB_Order_Guest_ViewModel> OrderGuestList { get; set; }
/// <summary>
/// 上课信息
/// </summary>
public List<ClassPlanTime> ClassPlanTimeList { get; set; }
}
public class ClassPlanTime
{
/// <summary> /// <summary>
/// 上课日期 /// 上课日期
/// </summary> /// </summary>
public DateTime? ClassDate { get; set; } public string ClassDate { get; set; }
/// <summary> /// <summary>
/// 上课开始时间 /// 上课开始时间
...@@ -62,12 +78,7 @@ namespace Edu.Model.ViewModel.EduTask ...@@ -62,12 +78,7 @@ namespace Edu.Model.ViewModel.EduTask
/// <summary> /// <summary>
/// 上课课时 /// 上课课时
/// </summary> /// </summary>
public int TimeHour { get; set; } public decimal TimeHour { get; set; }
/// <summary>
/// 学员信息
/// </summary>
public List<Course.RB_Order_Guest_ViewModel> OrderGuestList { get; set; }
} }
} }
...@@ -10,6 +10,21 @@ namespace Edu.Model.ViewModel.EduTask ...@@ -10,6 +10,21 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary> /// </summary>
public class RB_Temporary_Invitation_ViewModel : RB_Temporary_Invitation public class RB_Temporary_Invitation_ViewModel : RB_Temporary_Invitation
{ {
/// <summary>
/// 班级的ids
/// </summary>
public string ClassIds { get; set; }
/// <summary>
/// 上课时间ids
/// </summary>
public string ClassTimeIds { get; set; }
/// <summary>
/// 上课计划ids
/// </summary>
public string ClassPlanIds { get; set; }
} }
} }
...@@ -2073,6 +2073,7 @@ namespace Edu.Module.Course ...@@ -2073,6 +2073,7 @@ namespace Edu.Module.Course
{ {
var timeList = new List<RB_Class_Time_ViewModel>(); var timeList = new List<RB_Class_Time_ViewModel>();
var planList = class_PlanRepository.GetTeacherPlanListRepository(new RB_Class_Plan_ViewModel() { School_Id = model.School_Id, TeacherId = model.Teacher_Id, Group_Id = model.Group_Id, StartTime = model.StartTime, EndTime = model.EndTime }); var planList = class_PlanRepository.GetTeacherPlanListRepository(new RB_Class_Plan_ViewModel() { School_Id = model.School_Id, TeacherId = model.Teacher_Id, Group_Id = model.Group_Id, StartTime = model.StartTime, EndTime = model.EndTime });
if (planList != null && planList.Any()) if (planList != null && planList.Any())
{ {
string Ids = string.Join(",", planList.Select(qitem => qitem.ClassPlanId)); string Ids = string.Join(",", planList.Select(qitem => qitem.ClassPlanId));
...@@ -2087,7 +2088,13 @@ namespace Edu.Module.Course ...@@ -2087,7 +2088,13 @@ namespace Edu.Module.Course
Group_Id = model.Group_Id, Group_Id = model.Group_Id,
School_Id = model.School_Id School_Id = model.School_Id
}); });
//2021-07-19 Add By:W临时上课邀请
var tempGuestList = order_GuestRepository.GetTempInvitationGuest(new Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel
{
ClassIds = ClassIds,
Group_Id = model.Group_Id,
School_Id = model.School_Id
});
string timeIds = string.Join(",", timeList.Select(x => x.ClassTimeId)); string timeIds = string.Join(",", timeList.Select(x => x.ClassTimeId));
var checkList = classCheckRepository.GetClassCheckList(new RB_Class_Check_ViewModel var checkList = classCheckRepository.GetClassCheckList(new RB_Class_Check_ViewModel
{ {
...@@ -2095,6 +2102,7 @@ namespace Edu.Module.Course ...@@ -2095,6 +2102,7 @@ namespace Edu.Module.Course
Group_Id = model.Group_Id Group_Id = model.Group_Id
}); });
foreach (var item in planList.OrderBy(x => x.ClassDate)) foreach (var item in planList.OrderBy(x => x.ClassDate))
{ {
item.PlanTimeList = new List<RB_Class_Time_ViewModel>(); item.PlanTimeList = new List<RB_Class_Time_ViewModel>();
...@@ -2103,29 +2111,27 @@ namespace Edu.Module.Course ...@@ -2103,29 +2111,27 @@ namespace Edu.Module.Course
foreach (var itemTime in item.PlanTimeList) foreach (var itemTime in item.PlanTimeList)
{ {
itemTime.GuestList = new List<RB_Order_Guest_ViewModel>(); itemTime.GuestList = new List<RB_Order_Guest_ViewModel>();
var tempList= orderStudentList.Where(x => x.ClassId == itemTime.ClassId && (x.GuestState == 1 || x.GuestState == 6 || ((x.GuestState == 5 || x.GuestState == 7) && x.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.ChangeEffectTime)) >= item.ClassDate))).ToList(); var tempList = new List<RB_Order_Guest_ViewModel>();
tempList.AddRange(orderStudentList.Where(x => x.ClassId == itemTime.ClassId && (x.GuestState == 1 || x.GuestState == 6 || ((x.GuestState == 5 || x.GuestState == 7) && x.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.ChangeEffectTime)) >= item.ClassDate))).ToList());
if (tempGuestList != null && tempGuestList.Any())
{
tempList.AddRange(tempGuestList.Where(x => x.ClassId == itemTime.ClassId && itemTime.ClassTimeId == x.ClassTimeId && (x.GuestState == 1 || x.GuestState == 6 || ((x.GuestState == 5 || x.GuestState == 7) && x.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.ChangeEffectTime)) >= item.ClassDate))).ToList());
}
foreach (var sItem in tempList) foreach (var sItem in tempList)
{ {
itemTime.GuestList.Add(new RB_Order_Guest_ViewModel() itemTime.GuestList.Add(new RB_Order_Guest_ViewModel()
{ {
Id=sItem.Id, Id = sItem.Id,
GuestName = sItem.GuestName, GuestName = sItem.GuestName,
IsCheck = 0 IsCheck = 0
}); });
} }
foreach (var itemCheck in itemTime.GuestList) foreach (var itemCheck in itemTime.GuestList)
{ {
//if (itemTime.ClassTimeId == 12805 || itemTime.ClassTimeId == 12806)
//{
// var str = "";
// int IsCheck = checkList?.Where(y => y.OrderGuestId == itemCheck.Id && y.ClassTimeId == itemTime.ClassTimeId).FirstOrDefault()?.CheckStatus ?? 2;
//}
//0-正常,1-缺勤,2-未签到 //0-正常,1-缺勤,2-未签到
itemCheck.IsCheck = checkList?.Where(y => y.OrderGuestId == itemCheck.Id && y.ClassTimeId == itemTime.ClassTimeId).FirstOrDefault()?.CheckStatus ?? 2; itemCheck.IsCheck = checkList?.Where(y => y.OrderGuestId == itemCheck.Id && y.ClassTimeId == itemTime.ClassTimeId).FirstOrDefault()?.CheckStatus ?? 2;
} }
} }
} }
} }
...@@ -2561,12 +2567,14 @@ namespace Edu.Module.Course ...@@ -2561,12 +2567,14 @@ namespace Edu.Module.Course
{ {
var timeList = new List<RB_Class_Time_ViewModel>(); var timeList = new List<RB_Class_Time_ViewModel>();
var guestList = new List<RB_Order_Guest_ViewModel>(); var guestList = new List<RB_Order_Guest_ViewModel>();
var tempGuestList = new List<RB_Order_Guest_ViewModel>();//2021-07-20 Add By:W临时上课邀请
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
string classIds = string.Join(",", list.Select(qitem => qitem.ClassId)); string classIds = string.Join(",", list.Select(qitem => qitem.ClassId));
string planIds = string.Join(",", list.Select(qitem => qitem.ClassPlanId)); string planIds = string.Join(",", list.Select(qitem => qitem.ClassPlanId));
timeList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel() { QClassIds = classIds, QClassPlanIds = planIds }); timeList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel() { QClassIds = classIds, QClassPlanIds = planIds });
guestList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() { ClassIds = classIds }); guestList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() { ClassIds = classIds });
tempGuestList = order_GuestRepository.GetTempInvitationGuest(new Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel { ClassIds = classIds,ClassPlanIds=planIds });
} }
var visitorList = new List<RB_Visitor_Reserve_Extend>(); var visitorList = new List<RB_Visitor_Reserve_Extend>();
if (reserveList != null && reserveList.Count > 0) if (reserveList != null && reserveList.Count > 0)
...@@ -2587,6 +2595,15 @@ namespace Edu.Module.Course ...@@ -2587,6 +2595,15 @@ namespace Edu.Module.Course
{ {
var tempTimeList = timeList?.Where(qitem => qitem.ClassPlanId == subItem.ClassPlanId)?.ToList()?.OrderBy(qitem => qitem.StartTime); var tempTimeList = timeList?.Where(qitem => qitem.ClassPlanId == subItem.ClassPlanId)?.ToList()?.OrderBy(qitem => qitem.StartTime);
var currentDate = Common.ConvertHelper.FormatDate(ClassDate) + " " + (tempTimeList?.FirstOrDefault()?.StartTime ?? ""); var currentDate = Common.ConvertHelper.FormatDate(ClassDate) + " " + (tempTimeList?.FirstOrDefault()?.StartTime ?? "");
var tempTimeGuestList = new List<RB_Order_Guest_ViewModel>();
tempTimeGuestList.AddRange(guestList.Where(qitem => qitem.ClassId == subItem.ClassId && (qitem.GuestState == 1 || qitem.GuestState == 6 || ((qitem.GuestState == 5 || qitem.GuestState == 7) && qitem.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.ChangeEffectTime)) >= subItem.ClassDate))));
if (tempGuestList!=null&& tempGuestList.Any())
{
tempTimeGuestList.AddRange(tempGuestList.Where(qitem => qitem.ClassId == subItem.ClassId && subItem.ClassPlanId == qitem.ClassPlanId && (qitem.GuestState == 1 || qitem.GuestState == 6 || ((qitem.GuestState == 5 || qitem.GuestState == 7) && qitem.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.ChangeEffectTime)) >= subItem.ClassDate))));
}
subList.Add(new subList.Add(new
{ {
ClassType = 1, ClassType = 1,
...@@ -2601,7 +2618,7 @@ namespace Edu.Module.Course ...@@ -2601,7 +2618,7 @@ namespace Edu.Module.Course
TimeStr = Common.ConvertHelper.GetTimeStr(currentDate), TimeStr = Common.ConvertHelper.GetTimeStr(currentDate),
StartTime = tempTimeList?.FirstOrDefault()?.StartTime ?? "", StartTime = tempTimeList?.FirstOrDefault()?.StartTime ?? "",
EndTime = tempTimeList?.LastOrDefault()?.EndTime ?? "", EndTime = tempTimeList?.LastOrDefault()?.EndTime ?? "",
GuestList = guestList.Where(qitem => qitem.ClassId == subItem.ClassId && (qitem.GuestState == 1 || qitem.GuestState == 6 || ((qitem.GuestState == 5 || qitem.GuestState == 7) && qitem.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.ChangeEffectTime)) >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(ClassDate)))))?.Select(qitem => new { qitem.GuestName }) GuestList = tempTimeGuestList?.Select(qitem => new { qitem.GuestName })
}); });
} }
...@@ -2740,6 +2757,7 @@ namespace Edu.Module.Course ...@@ -2740,6 +2757,7 @@ namespace Edu.Module.Course
{ {
var timeList = new List<RB_Class_Time_ViewModel>(); var timeList = new List<RB_Class_Time_ViewModel>();
var guestList = new List<RB_Order_Guest_ViewModel>(); var guestList = new List<RB_Order_Guest_ViewModel>();
var tempGuestList = new List<RB_Order_Guest_ViewModel>();//2021-07-19 Add By:W临时上课邀请
List<int> classRoomId = new List<int>(); List<int> classRoomId = new List<int>();
if (list != null && list.Any()) if (list != null && list.Any())
...@@ -2763,6 +2781,7 @@ namespace Edu.Module.Course ...@@ -2763,6 +2781,7 @@ namespace Edu.Module.Course
string planIds = string.Join(",", list.Select(qitem => qitem.ClassPlanId)); string planIds = string.Join(",", list.Select(qitem => qitem.ClassPlanId));
timeList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel() { QClassIds = classIds, QClassPlanIds = planIds }); timeList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel() { QClassIds = classIds, QClassPlanIds = planIds });
guestList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() { ClassIds = classIds }); guestList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() { ClassIds = classIds });
tempGuestList = order_GuestRepository.GetTempInvitationGuest(new Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel { ClassIds = classIds });
} }
var visitorList = new List<RB_Visitor_Reserve_Extend>(); var visitorList = new List<RB_Visitor_Reserve_Extend>();
if (reserveList != null && reserveList.Count > 0) if (reserveList != null && reserveList.Count > 0)
...@@ -2805,8 +2824,15 @@ namespace Edu.Module.Course ...@@ -2805,8 +2824,15 @@ namespace Edu.Module.Course
{ {
var tempTimeList = timeList?.Where(qitem => qitem.ClassPlanId == subItem.ClassPlanId)?.ToList()?.OrderBy(qitem => qitem.StartTime); var tempTimeList = timeList?.Where(qitem => qitem.ClassPlanId == subItem.ClassPlanId)?.ToList()?.OrderBy(qitem => qitem.StartTime);
var currentDate = Common.ConvertHelper.FormatDate(ClassDate) + " " + (tempTimeList?.FirstOrDefault()?.StartTime ?? ""); var currentDate = Common.ConvertHelper.FormatDate(ClassDate) + " " + (tempTimeList?.FirstOrDefault()?.StartTime ?? "");
foreach (var item in tempTimeList) foreach (var item in tempTimeList)
{ {
var tempTimeGuestList = new List<RB_Order_Guest_ViewModel>();
tempTimeGuestList.AddRange(guestList.Where(qitem => qitem.ClassId == subItem.ClassId && (qitem.GuestState == 1 || qitem.GuestState == 6 || ((qitem.GuestState == 5 || qitem.GuestState == 7) && qitem.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.ChangeEffectTime)) >= subItem.ClassDate))));
tempTimeGuestList.AddRange(tempGuestList.Where(qitem => qitem.ClassId == subItem.ClassId && item.ClassTimeId == qitem.ClassTimeId && (qitem.GuestState == 1 || qitem.GuestState == 6 || ((qitem.GuestState == 5 || qitem.GuestState == 7) && qitem.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.ChangeEffectTime)) >= subItem.ClassDate))));
subList.Add(new subList.Add(new
{ {
Id = item?.ClassTimeId ?? 0, Id = item?.ClassTimeId ?? 0,
...@@ -2820,7 +2846,7 @@ namespace Edu.Module.Course ...@@ -2820,7 +2846,7 @@ namespace Edu.Module.Course
TimeStr = Common.ConvertHelper.GetTimeStr(currentDate), TimeStr = Common.ConvertHelper.GetTimeStr(currentDate),
StartTime = item?.StartTime ?? "", StartTime = item?.StartTime ?? "",
EndTime = item?.EndTime ?? "", EndTime = item?.EndTime ?? "",
GuestList = guestList.Where(qitem => qitem.ClassId == subItem.ClassId && (qitem.GuestState == 1 || qitem.GuestState == 6 || ((qitem.GuestState == 5 || qitem.GuestState == 7) && qitem.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.ChangeEffectTime)) >= subItem.ClassDate)))?.Select(qitem => new { qitem.GuestName }), GuestList = tempTimeGuestList?.Select(qitem => new { qitem.GuestName }),
Type = 0,// 0-班级,1-使用记录,2-异常记录 Type = 0,// 0-班级,1-使用记录,2-异常记录
}); });
} }
...@@ -2937,12 +2963,14 @@ namespace Edu.Module.Course ...@@ -2937,12 +2963,14 @@ namespace Edu.Module.Course
{ {
var timeList = new List<RB_Class_Time_ViewModel>(); var timeList = new List<RB_Class_Time_ViewModel>();
var guestList = new List<RB_Order_Guest_ViewModel>(); var guestList = new List<RB_Order_Guest_ViewModel>();
var tempGuestList = new List<RB_Order_Guest_ViewModel>();//2021-07-19 Add By:W临时上课邀请
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
string classIds = string.Join(",", list.Select(qitem => qitem.ClassId)); string classIds = string.Join(",", list.Select(qitem => qitem.ClassId));
string planIds = string.Join(",", list.Select(qitem => qitem.ClassPlanId)); string planIds = string.Join(",", list.Select(qitem => qitem.ClassPlanId));
timeList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel() { QClassIds = classIds, QClassPlanIds = planIds }); timeList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel() { QClassIds = classIds, QClassPlanIds = planIds });
guestList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() { ClassIds = classIds }); guestList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() { ClassIds = classIds });
tempGuestList = order_GuestRepository.GetTempInvitationGuest(new Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel { ClassIds = classIds });
} }
var visitorList = new List<RB_Visitor_Reserve_Extend>(); var visitorList = new List<RB_Visitor_Reserve_Extend>();
if (reserveList != null && reserveList.Count > 0) if (reserveList != null && reserveList.Count > 0)
...@@ -2966,6 +2994,9 @@ namespace Edu.Module.Course ...@@ -2966,6 +2994,9 @@ namespace Edu.Module.Course
var currentDate = Common.ConvertHelper.FormatDate(ClassDate) + " " + (tempTimeList?.FirstOrDefault()?.StartTime ?? ""); var currentDate = Common.ConvertHelper.FormatDate(ClassDate) + " " + (tempTimeList?.FirstOrDefault()?.StartTime ?? "");
foreach (var item in tempTimeList) foreach (var item in tempTimeList)
{ {
var tempTimeGuestList = new List<RB_Order_Guest_ViewModel>();
tempTimeGuestList.AddRange(guestList.Where(qitem => qitem.ClassId == subItem.ClassId && (qitem.GuestState == 1 || qitem.GuestState == 6 || ((qitem.GuestState == 5 || qitem.GuestState == 7) && qitem.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.ChangeEffectTime)) >= subItem.ClassDate))));
tempTimeGuestList.AddRange(tempGuestList.Where(qitem => qitem.ClassId == subItem.ClassId && item.ClassTimeId == qitem.ClassTimeId && (qitem.GuestState == 1 || qitem.GuestState == 6 || ((qitem.GuestState == 5 || qitem.GuestState == 7) && qitem.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.ChangeEffectTime)) >= subItem.ClassDate))));
subList.Add(new subList.Add(new
{ {
Id = item?.ClassTimeId ?? 0, Id = item?.ClassTimeId ?? 0,
...@@ -2981,7 +3012,7 @@ namespace Edu.Module.Course ...@@ -2981,7 +3012,7 @@ namespace Edu.Module.Course
TimeStr = Common.ConvertHelper.GetTimeStr(currentDate), TimeStr = Common.ConvertHelper.GetTimeStr(currentDate),
StartTime = item?.StartTime ?? "", StartTime = item?.StartTime ?? "",
EndTime = item?.EndTime ?? "", EndTime = item?.EndTime ?? "",
GuestList = guestList.Where(qitem => qitem.ClassId == subItem.ClassId && (qitem.GuestState == 1 || qitem.GuestState == 6 || ((qitem.GuestState == 5 || qitem.GuestState == 7) && qitem.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.ChangeEffectTime)) >= subItem.ClassDate)))?.Select(qitem => new { qitem.GuestName }) GuestList = tempTimeGuestList?.Select(qitem => new { qitem.GuestName })
}); });
} }
...@@ -3063,11 +3094,13 @@ namespace Edu.Module.Course ...@@ -3063,11 +3094,13 @@ namespace Edu.Module.Course
if (list != null && list.Any()) if (list != null && list.Any())
{ {
var guestList = new List<RB_Order_Guest_ViewModel>(); var guestList = new List<RB_Order_Guest_ViewModel>();
var tempGuestList = new List<RB_Order_Guest_ViewModel>();//2021-07-19 Add By:W临时上课邀请
var visitorList = new List<RB_Visitor_Reserve_Extend>(); var visitorList = new List<RB_Visitor_Reserve_Extend>();
if (list.Any(x => x.ClassType == 1)) if (list.Any(x => x.ClassType == 1))
{ {
string classIds = string.Join(",", list.Where(x => x.ClassType == 1).Select(qitem => qitem.ClassId)); string classIds = string.Join(",", list.Where(x => x.ClassType == 1).Select(qitem => qitem.ClassId));
guestList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() { ClassIds = classIds }); guestList = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() { ClassIds = classIds });
tempGuestList = order_GuestRepository.GetTempInvitationGuest(new Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel { ClassIds = classIds });
} }
if (list.Any(x => x.ClassType == 2)) if (list.Any(x => x.ClassType == 2))
{ {
...@@ -3080,8 +3113,12 @@ namespace Edu.Module.Course ...@@ -3080,8 +3113,12 @@ namespace Edu.Module.Course
foreach (var item in list) foreach (var item in list)
{ {
var currentDate = Common.ConvertHelper.FormatDate(item.ClassDate) + " " + (item.StartTime ?? ""); var currentDate = Common.ConvertHelper.FormatDate(item.ClassDate) + " " + (item.StartTime ?? "");
List<object> GuestList = new List<object>(); var tempTimeGuestList = new List<RB_Order_Guest_ViewModel>();
if (item.ClassType == 1)
{
tempTimeGuestList.AddRange(guestList.Where(qitem => qitem.ClassId == item.ClassId && (qitem.GuestState == 1 || qitem.GuestState == 6 || ((qitem.GuestState == 5 || qitem.GuestState == 7) && qitem.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.ChangeEffectTime)) >= item.ClassDate))));
tempTimeGuestList.AddRange(tempGuestList.Where(qitem => qitem.ClassId == item.ClassId && item.ClassTimeId == qitem.ClassTimeId && (qitem.GuestState == 1 || qitem.GuestState == 6 || ((qitem.GuestState == 5 || qitem.GuestState == 7) && qitem.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.ChangeEffectTime)) >= item.ClassDate))));
}
result.Add(new result.Add(new
{ {
Id = item?.ClassTimeId ?? 0, Id = item?.ClassTimeId ?? 0,
...@@ -3097,7 +3134,7 @@ namespace Edu.Module.Course ...@@ -3097,7 +3134,7 @@ namespace Edu.Module.Course
TimeStr = Common.ConvertHelper.GetTimeStr(currentDate), TimeStr = Common.ConvertHelper.GetTimeStr(currentDate),
StartTime = item?.StartTime ?? "", StartTime = item?.StartTime ?? "",
EndTime = item?.EndTime ?? "", EndTime = item?.EndTime ?? "",
GuestList = item.ClassType == 1 ? guestList.Where(qitem => qitem.ClassId == item.ClassId && (qitem.GuestState == 1 || qitem.GuestState == 6 || ((qitem.GuestState == 5 || qitem.GuestState == 7) && qitem.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.ChangeEffectTime)) >= item.ClassDate)))?.Select(qitem => new { qitem.GuestName }) : visitorList?.Where(qitem => qitem.ReserveClassId == item.ClassTimeId)?.Select(qitem => new { GuestName = qitem.VisitorName }), GuestList = item.ClassType == 1 ? tempTimeGuestList?.Select(qitem => new { qitem.GuestName }) : visitorList?.Where(qitem => qitem.ReserveClassId == item.ClassTimeId)?.Select(qitem => new { GuestName = qitem.VisitorName }),
}); });
} }
...@@ -3281,5 +3318,18 @@ namespace Edu.Module.Course ...@@ -3281,5 +3318,18 @@ namespace Edu.Module.Course
#endregion #endregion
#region 临时上课邀请学生
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetTempInvitationGuest(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel demodel)
{
return order_GuestRepository.GetTempInvitationGuest(demodel);
}
#endregion
} }
} }
...@@ -116,7 +116,8 @@ namespace Edu.Module.EduTask ...@@ -116,7 +116,8 @@ namespace Edu.Module.EduTask
//老师列表 //老师列表
List<RB_Teacher_ViewModel> teacherList = new List<RB_Teacher_ViewModel>(); List<RB_Teacher_ViewModel> teacherList = new List<RB_Teacher_ViewModel>();
//学生信息 //学生信息
List<RB_Order_Guest_ViewModel> orderGuestList = new List<RB_Order_Guest_ViewModel>(); List<RB_Order_Guest_ViewModel> orderGuestList = new List<RB_Order_Guest_ViewModel>(); //学生信息
List<RB_Order_Guest_ViewModel> orderGuestTempInvitationList = new List<RB_Order_Guest_ViewModel>();
//教室列表 //教室列表
List<RB_Class_Room_ViewModel> roomList = new List<RB_Class_Room_ViewModel>(); List<RB_Class_Room_ViewModel> roomList = new List<RB_Class_Room_ViewModel>();
//班级上课计划列表 //班级上课计划列表
...@@ -268,25 +269,34 @@ namespace Edu.Module.EduTask ...@@ -268,25 +269,34 @@ namespace Edu.Module.EduTask
if (studentTempInvitationClassList != null && studentTempInvitationClassList.Any()) if (studentTempInvitationClassList != null && studentTempInvitationClassList.Any())
{ {
string orderGuestIds = string.Join(",", studentTempInvitationClassList.Select(x => x.OrderGuestIds)); string orderGuestIds = string.Join(",", studentTempInvitationClassList.Select(x => x.OrderGuestIds));
orderGuestList = order_GuestRepository.GetStopingStudentPage(new RB_Order_Guest_ViewModel if (!string.IsNullOrWhiteSpace(orderGuestIds))
{ {
OrderGuestIds = orderGuestIds orderGuestTempInvitationList = order_GuestRepository.GetStopingStudentPage(new RB_Order_Guest_ViewModel
}); {
if (orderGuestList != null && orderGuestList.Any()) OrderGuestIds = orderGuestIds
});
if (orderGuestTempInvitationList != null && orderGuestTempInvitationList.Any())
{
orderGuestTempInvitationList.ForEach(x => x.EnterName = x.EnterID > 0 ? (UserReidsCache.GetUserLoginInfo(x.EnterID)?.AccountName ?? "") : "");
}
}
string classTimeIds = string.Join(",", studentTempInvitationClassList.Select(x => x.ClassTimeIds));
if (!string.IsNullOrWhiteSpace(classTimeIds))
{ {
orderGuestList.ForEach(x => x.EnterName = x.EnterID > 0 ? (UserReidsCache.GetUserLoginInfo(x.EnterID)?.AccountName ?? "") : ""); timeList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel { QClassTimeIds = classTimeIds });
foreach (var item in studentTempInvitationClassList) if (timeList != null && timeList.Any())
{ {
item.OrderGuestList = new List<RB_Order_Guest_ViewModel>(); string classPlanIds = string.Join(",", timeList.Select(x => x.ClassPlanId));
foreach (var itemOrderGuestId in item.OrderGuestIds.Split(","))
if (!string.IsNullOrWhiteSpace(classPlanIds))
{ {
if (!string.IsNullOrWhiteSpace(itemOrderGuestId)) planList = class_PlanRepository.GetClassPlanListRepository(new RB_Class_Plan_ViewModel { QClassPlanIds = classPlanIds });
{
item.OrderGuestList.AddRange(orderGuestList.Where(x => x.Id == Convert.ToInt32(itemOrderGuestId)));
}
} }
} }
} }
} }
} }
...@@ -346,6 +356,43 @@ namespace Edu.Module.EduTask ...@@ -346,6 +356,43 @@ namespace Edu.Module.EduTask
{ {
DataObj = stopClassList?.Where(qitem => qitem.Id == item.RelationId)?.FirstOrDefault(); DataObj = stopClassList?.Where(qitem => qitem.Id == item.RelationId)?.FirstOrDefault();
} }
//临时上课邀请
if (item.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.InvitationClass)
{
var tempModel = studentTempInvitationClassList.Where(qitem => qitem.Id == item.RelationId)?.FirstOrDefault();
//tempModel.ClassDate = planList.Where(x => x.ClassPlanId == tempModel.ClassPlanId).FirstOrDefault()?.ClassDate.ToString("yyyy-MM-dd") ?? "";
//tempModel.StartTime = timeList.Where(x => x.ClassTimeId == tempModel.ClassTimeId).FirstOrDefault()?.StartTime ?? "";
//tempModel.EndTime = timeList.Where(x => x.ClassTimeId == tempModel.ClassTimeId).FirstOrDefault()?.EndTime ?? "";
//tempModel.TimeHour = timeList.Where(x => x.ClassTimeId == tempModel.ClassTimeId).FirstOrDefault()?.TimeHour ?? 0;
tempModel.ClassPlanTimeList = new List<ClassPlanTime>();
foreach (var itemClassTimeIds in tempModel.ClassTimeIds.Split(","))
{
if (!string.IsNullOrWhiteSpace(itemClassTimeIds))
{
var tempTimeModel = timeList.Where(x => x.ClassTimeId.ToString() == itemClassTimeIds).FirstOrDefault();
ClassPlanTime classPlanTimeModel = new ClassPlanTime()
{
StartTime = tempTimeModel?.StartTime ?? "",
EndTime = tempTimeModel?.EndTime ?? "",
TimeHour = tempTimeModel?.TimeHour ?? 0
};
classPlanTimeModel.ClassDate = planList.Where(x => x.ClassPlanId == tempTimeModel.ClassPlanId).FirstOrDefault()?.ClassDate.ToString("yyyy-MM-dd") ?? "";
tempModel.ClassPlanTimeList.Add(classPlanTimeModel);
}
}
tempModel.OrderGuestList = new List<RB_Order_Guest_ViewModel>();
foreach (var itemOrderGuestIds in tempModel.OrderGuestIds.Split(","))
{
if (!string.IsNullOrWhiteSpace(itemOrderGuestIds))
{
tempModel.OrderGuestList.AddRange(orderGuestTempInvitationList.Where(x => x.Id.ToString() == itemOrderGuestIds));
}
}
DataObj = tempModel;
}
//订单转班 //订单转班
if (item.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.OrderTransClass) if (item.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.OrderTransClass)
{ {
...@@ -1057,6 +1104,14 @@ namespace Edu.Module.EduTask ...@@ -1057,6 +1104,14 @@ namespace Edu.Module.EduTask
flag = student_StopClassRepository.UpdateStudentStopClass(receiptModel.Id, auditModel.AuditStatus); flag = student_StopClassRepository.UpdateStudentStopClass(receiptModel.Id, auditModel.AuditStatus);
} }
} }
//临时上课邀请
if (receiptModel.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.InvitationClass)
{
if (auditModel.AuditStatus == 2)
{
flag = student_TempInvitationRepository.UpdateStundetTempInvitation(receiptModel.Id);
}
}
return flag; return flag;
} }
...@@ -1223,5 +1278,16 @@ namespace Edu.Module.EduTask ...@@ -1223,5 +1278,16 @@ namespace Edu.Module.EduTask
auditRelevance.ToAuditId = string.Join(",", empIds); auditRelevance.ToAuditId = string.Join(",", empIds);
education_RelevanceRepository.Update(auditRelevance); education_RelevanceRepository.Update(auditRelevance);
} }
/// <summary>
/// 获取教务单据列表
/// </summary>
/// <param name="RelationIds"></param>
/// <returns></returns>
public List<RB_Education_Receipt_ViewModel> GetEducationReceiptList(string RelationIds)
{
return education_ReceiptRepository.GetEducationReceiptList(RelationIds);
}
} }
} }
...@@ -54,8 +54,7 @@ namespace Edu.Module.EduTask ...@@ -54,8 +54,7 @@ namespace Edu.Module.EduTask
{nameof(RB_Student_TempInvitation_ViewModel.OrderGuestIds),extModel.OrderGuestIds }, {nameof(RB_Student_TempInvitation_ViewModel.OrderGuestIds),extModel.OrderGuestIds },
{nameof(RB_Student_TempInvitation_ViewModel.ClassId),extModel.ClassId }, {nameof(RB_Student_TempInvitation_ViewModel.ClassId),extModel.ClassId },
{nameof(RB_Student_TempInvitation_ViewModel.CourseId),extModel.CourseId }, {nameof(RB_Student_TempInvitation_ViewModel.CourseId),extModel.CourseId },
{nameof(RB_Student_TempInvitation_ViewModel.ClassPlanId),extModel.ClassPlanId }, {nameof(RB_Student_TempInvitation_ViewModel.ClassTimeIds),extModel.ClassTimeIds },
{nameof(RB_Student_TempInvitation_ViewModel.ClassTimeId),extModel.ClassTimeId },
{nameof(RB_Student_TempInvitation_ViewModel.TeacherId),extModel.TeacherId }, {nameof(RB_Student_TempInvitation_ViewModel.TeacherId),extModel.TeacherId },
{nameof(RB_Student_TempInvitation_ViewModel.School_Id),extModel.School_Id}, {nameof(RB_Student_TempInvitation_ViewModel.School_Id),extModel.School_Id},
{nameof(RB_Student_TempInvitation_ViewModel.UpdateBy),extModel.UpdateBy }, {nameof(RB_Student_TempInvitation_ViewModel.UpdateBy),extModel.UpdateBy },
......
...@@ -48,6 +48,10 @@ WHERE 1=1 ...@@ -48,6 +48,10 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.School_Id), query.School_Id); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.School_Id), query.School_Id);
} }
if (!string.IsNullOrEmpty(query.QClassPlanIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Class_Plan_ViewModel.ClassPlanId), query.QClassPlanIds);
}
if (!string.IsNullOrEmpty(query.QClassIds)) if (!string.IsNullOrEmpty(query.QClassIds))
{ {
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Class_Plan_ViewModel.ClassId), query.QClassIds); builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Class_Plan_ViewModel.ClassId), query.QClassIds);
......
...@@ -39,6 +39,10 @@ WHERE 1=1 ...@@ -39,6 +39,10 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Class_Time_ViewModel.ClassPlanId), query.QClassPlanIds); builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Class_Time_ViewModel.ClassPlanId), query.QClassPlanIds);
} }
if (!string.IsNullOrEmpty(query.QClassTimeIds))
{
builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Class_Time_ViewModel.ClassTimeId), query.QClassTimeIds);
}
if (query.ClassId > 0) if (query.ClassId > 0)
{ {
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Class_Time_ViewModel.ClassId), query.ClassId); builder.AppendFormat(" AND {0}={1} ", nameof(RB_Class_Time_ViewModel.ClassId), query.ClassId);
......
...@@ -466,7 +466,7 @@ WHERE 1=1 and A.Status=0 and class.Status=0 and b.OrderState<>3 and a.Guest ...@@ -466,7 +466,7 @@ WHERE 1=1 and A.Status=0 and class.Status=0 and b.OrderState<>3 and a.Guest
{ {
where += $@" and A.{nameof(RB_Order_Guest_ViewModel.Group_Id)} ={demodel.Group_Id}"; where += $@" and A.{nameof(RB_Order_Guest_ViewModel.Group_Id)} ={demodel.Group_Id}";
} }
if (demodel.Id > 0) if (demodel.Id > 0)
{ {
where += $@" and A.{nameof(RB_Order_Guest_ViewModel.Id)} ={demodel.Id}"; where += $@" and A.{nameof(RB_Order_Guest_ViewModel.Id)} ={demodel.Id}";
...@@ -510,5 +510,74 @@ WHERE {where}"; ...@@ -510,5 +510,74 @@ WHERE {where}";
return Get<RB_Order_Guest_ViewModel>(sql).ToList(); return Get<RB_Order_Guest_ViewModel>(sql).ToList();
} }
#region 临时上课邀请学生查询
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetTempInvitationGuest(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel demodel)
{
string where = $@" 1=1 and A.Status=0 and ti.Status=0 AND (B.IsChaBan=0 OR (B.IsChaBan=1 AND B.EffectStatus IN(1) ))";
if (demodel.Group_Id > 0)
{
where += $@" and A.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.ClassId > 0)
{
where += $@" and ti.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.ClassId)} ={demodel.ClassId}";
}
if (demodel.School_Id > 0)
{
where += $@" and Ati.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.School_Id)} ={demodel.School_Id}";
}
if (demodel.CourseId > 0)
{
where += $@" and ti.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.CourseId)} ={demodel.CourseId}";
}
if (demodel.ClassTimeId > 0)
{
where += $@" and ti.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.ClassTimeId)} ={demodel.ClassTimeId}";
}
//if (!string.IsNullOrEmpty(demodel.OrderIds))
//{
// where += $@" and A.{nameof(RB_Order_Guest_ViewModel.OrderId)} in({demodel.OrderIds})";
//}
if (!string.IsNullOrEmpty(demodel.ClassIds))
{
where += $@" and ti.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.ClassId)} in({demodel.ClassIds})";
}
if (!string.IsNullOrEmpty(demodel.ClassTimeIds))
{
where += $@" and ti.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.ClassTimeId)} in({demodel.ClassTimeIds})";
}
if (!string.IsNullOrEmpty(demodel.ClassPlanIds))
{
where += $@" and ti.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.ClassPlanId)} in({demodel.ClassPlanIds})";
}
//if (!string.IsNullOrEmpty(demodel.GuestName))
//{
// where += $@" and A.{nameof(RB_Order_Guest_ViewModel.GuestName)} like '%{demodel.GuestName}%'";
//}
//if (demodel.GuestState > 0)
//{
// where += $@" and A.{nameof(RB_Order_Guest_ViewModel.GuestState)} ={demodel.GuestState}";
//}
string sql = $@"
SELECT A.Id,A.ContactMobile,a.GuestName,a.GuestState,a.Sex,a.Mobile,a.TotalHours,a.CompleteHours,a.MakeUpHours,a.ChangeEffectTime,a.ValidClassHours,ti.ClassId,IFNULL(B.IsChaBan,0) AS IsChaBan,IFNULL(B.StartClassHours,0) AS StartClassHours,IFNULL(C.CourseName,'') AS CourseName
,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId,B.IsRenewOrder,B.RenewOrderId,ti.ClassTimeId,ti.ClassPlanId
FROM RB_Order_Guest AS A
INNER JOIN rb_temporary_invitation as ti on ti.OrderGuestId=a.Id
LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId
LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1)
WHERE {where}";
return Get<RB_Order_Guest_ViewModel>(sql).ToList();
}
#endregion
} }
} }
...@@ -435,5 +435,27 @@ WHERE 1=1 ...@@ -435,5 +435,27 @@ WHERE 1=1
} }
return result; return result;
} }
/// <summary>
/// 获取教务单据列表
/// </summary>
/// <param name="RelationIds"></param>
/// <returns></returns>
public List<RB_Education_Receipt_ViewModel> GetEducationReceiptList(string RelationIds)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT A.* FROM RB_Education_Receipt AS A WHERE 1=1 ");
if (!string.IsNullOrEmpty(RelationIds))
{
builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Education_Receipt_ViewModel.RelationId), RelationIds);
}
builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_Education_Receipt_ViewModel.Id));
return Get<RB_Education_Receipt_ViewModel>(builder.ToString(), parameters).ToList();
}
} }
} }
...@@ -3,7 +3,9 @@ using System.Collections.Generic; ...@@ -3,7 +3,9 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using Edu.Model.Entity.EduTask; using Edu.Model.Entity.EduTask;
using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.EduTask; using Edu.Model.ViewModel.EduTask;
using VT.FW.DB;
namespace Edu.Repository.EduTask namespace Edu.Repository.EduTask
{ {
...@@ -16,7 +18,27 @@ namespace Edu.Repository.EduTask ...@@ -16,7 +18,27 @@ namespace Edu.Repository.EduTask
/// 教务单据仓储层对象 /// 教务单据仓储层对象
/// </summary> /// </summary>
private readonly RB_Education_ReceiptRepository education_ReceiptRepository = new RB_Education_ReceiptRepository(); private readonly RB_Education_ReceiptRepository education_ReceiptRepository = new RB_Education_ReceiptRepository();
/// <summary>
/// 临时上课邀请记录
/// </summary>
private readonly RB_Temporary_InvitationRepository temporaryInvitationRepository = new RB_Temporary_InvitationRepository();
/// <summary>
/// 订单学员仓储层对象
/// </summary>
private readonly Course.RB_Order_GuestRepository order_GuestRepository = new Course.RB_Order_GuestRepository();
/// <summary>
/// 班级上课计划仓储层对象
/// </summary>
private readonly Course.RB_Class_PlanRepository class_PlanRepository = new Course.RB_Class_PlanRepository();
/// <summary>
/// 班级上课计划上课时间仓储层对象
/// </summary>
private readonly Course.RB_Class_TimeRepository class_TimeRepository = new Course.RB_Class_TimeRepository();
/// <summary> /// <summary>
/// 获取临时上课邀请申请列表 /// 获取临时上课邀请申请列表
...@@ -40,5 +62,94 @@ WHERE 1=1 ...@@ -40,5 +62,94 @@ WHERE 1=1
} }
return Get<RB_Student_TempInvitation_ViewModel>(builder.ToString()).ToList(); return Get<RB_Student_TempInvitation_ViewModel>(builder.ToString()).ToList();
} }
/// <summary>
/// 审核通过后更新临时上课记录表
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public bool UpdateStundetTempInvitation(object Id)
{
//查询当前调课信息
bool flag = false;
var receiptModel = education_ReceiptRepository.GetEntity(Id);
if (receiptModel == null || receiptModel.Id == 0)
{
return false;
}
if (receiptModel.ReceiptType != Common.Enum.Finance.ReceiptTypeEnum.InvitationClass)
{
return false;
}
var model = GetEntity(receiptModel.RelationId);
if (model == null || model.Id == 0)
{
return false;
}
else //更新学生的信息
{
//学生信息
List<RB_Order_Guest_ViewModel> orderGuestList = new List<RB_Order_Guest_ViewModel>();
//班级上课计划列表
List<RB_Class_Plan_ViewModel> planList = new List<RB_Class_Plan_ViewModel>();
//班级上课时间列表
List<RB_Class_Time_ViewModel> timeList = new List<RB_Class_Time_ViewModel>();
string orderGuestIds = model.OrderGuestIds;
if (!string.IsNullOrWhiteSpace(orderGuestIds))
{
orderGuestList = order_GuestRepository.GetStopingStudentPage(new RB_Order_Guest_ViewModel
{
OrderGuestIds = orderGuestIds
});
}
string classTimeIds = model.ClassTimeIds;
if (!string.IsNullOrWhiteSpace(classTimeIds))
{
timeList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel { QClassTimeIds = classTimeIds });
if (timeList != null && timeList.Any())
{
string classPlanIds = string.Join(",", timeList.Select(x => x.ClassPlanId));
if (!string.IsNullOrWhiteSpace(classPlanIds))
{
planList = class_PlanRepository.GetClassPlanListRepository(new RB_Class_Plan_ViewModel { QClassPlanIds = classPlanIds });
}
}
}
List<RB_Temporary_Invitation> tempInvitationList = new List<RB_Temporary_Invitation>();
foreach (var item in timeList)
{
foreach (var itemGuest in orderGuestList)
{
RB_Temporary_Invitation invitationModel = new RB_Temporary_Invitation()
{
Id = 0,
ClassId = model.ClassId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
CourseId = model.CourseId,
ClassPlanId = item.ClassPlanId,
ClassTimeId = item.ClassTimeId,
OrderGuestId = itemGuest.Id,
CreateBy = model.CreateBy,
CreateTime = DateTime.Now
};
tempInvitationList.Add(invitationModel);
}
}
if (tempInvitationList!=null&& tempInvitationList.Any())
{
flag = temporaryInvitationRepository.InsertBatch(tempInvitationList);
}
}
return flag;
}
} }
} }
...@@ -12,6 +12,40 @@ namespace Edu.Repository.EduTask ...@@ -12,6 +12,40 @@ namespace Edu.Repository.EduTask
/// </summary> /// </summary>
public class RB_Temporary_InvitationRepository : BaseRepository<RB_Temporary_Invitation> public class RB_Temporary_InvitationRepository : BaseRepository<RB_Temporary_Invitation>
{ {
/// <summary>
/// 获取班级上课学生列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Temporary_Invitation> GetTemporaryInvitationListRepository(RB_Temporary_Invitation query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT * FROM RB_Temporary_Invitation WHERE 1=1 ");
if (query != null)
{
if (query.ClassPlanId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Temporary_Invitation.ClassPlanId), query.ClassPlanId);
}
if (query.ClassTimeId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Temporary_Invitation.ClassTimeId), query.ClassTimeId);
}
if (query.ClassId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Temporary_Invitation.ClassId), query.ClassId);
}
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Temporary_Invitation.Group_Id), query.Group_Id);
}
//if (query.School_Id > 0)
//{
// builder.AppendFormat(" AND {0}={1} ", nameof(RB_Temporary_Invitation.School_Id), query.School_Id);
//}
}
return Get<RB_Temporary_Invitation>(builder.ToString()).ToList();
}
} }
} }
...@@ -768,6 +768,10 @@ namespace Edu.WebApi.Controllers.Course ...@@ -768,6 +768,10 @@ namespace Edu.WebApi.Controllers.Course
EndDate = data.ClassDate.ToString("yyyy-MM-dd HH:mm:ss"), EndDate = data.ClassDate.ToString("yyyy-MM-dd HH:mm:ss"),
ClassTimeId = ClassTimeId, ClassTimeId = ClassTimeId,
}); });
//临时上课邀请学员查询
var tempGuestList = classModule.GetTempInvitationGuest(new Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel { Group_Id = base.UserInfo.Group_Id, School_Id = 0, ClassId = data.ClassId, ClassTimeId = ClassTimeId });
List<object> guestList = new List<object>(); List<object> guestList = new List<object>();
foreach (var item in orderGuestList.Where(x => x.GuestState == 1 || x.GuestState == 6 || ((x.GuestState == 5 || x.GuestState == 7) && x.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.ChangeEffectTime)) >= data.ClassDate))) foreach (var item in orderGuestList.Where(x => x.GuestState == 1 || x.GuestState == 6 || ((x.GuestState == 5 || x.GuestState == 7) && x.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.ChangeEffectTime)) >= data.ClassDate)))
{ {
...@@ -794,10 +798,42 @@ namespace Edu.WebApi.Controllers.Course ...@@ -794,10 +798,42 @@ namespace Edu.WebApi.Controllers.Course
EffectTime = Common.ConvertHelper.FormatDate(item.EffectTime), EffectTime = Common.ConvertHelper.FormatDate(item.EffectTime),
item.UpOrderId, item.UpOrderId,
IsCheck = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.OrderGuestId == item.Id).FirstOrDefault()?.CheckStatus ?? -1 : -1, IsCheck = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.OrderGuestId == item.Id).FirstOrDefault()?.CheckStatus ?? -1 : -1,
StudyNum = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.OrderGuestId == item.Id).FirstOrDefault()?.StudyNum ?? 0 : 0 StudyNum = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.OrderGuestId == item.Id).FirstOrDefault()?.StudyNum ?? 0 : 0,
IsTemp=0,
});
}
}
foreach (var item in tempGuestList.Where(x => x.GuestState == 1 || x.GuestState == 6 || ((x.GuestState == 5 || x.GuestState == 7) && x.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.ChangeEffectTime)) >= data.ClassDate)))
{
if (item.IsChaBan == 0 || (item.IsChaBan == 1 && data.ClassDate >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(item.EffectTime))))
{
guestList.Add(new
{
UserIcon = "",
item.Id,
SexStr = item.Sex == 1 ? "男" : "女",
item.GuestName,
item.Age,
CreateTimeStr = Common.ConvertHelper.FormatTime(item.CreateTime),
item.Mobile,
item.OrderId,
item.CourseName,
item.CourseId,
item.TotalHours,
item.CompleteHours,
item.StartClassHours,
item.IsChaBan,
item.EffectStatus,
item.EffectStatusStr,
EffectTime = Common.ConvertHelper.FormatDate(item.EffectTime),
item.UpOrderId,
IsCheck = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.OrderGuestId == item.Id).FirstOrDefault()?.CheckStatus ?? -1 : -1,
StudyNum = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.OrderGuestId == item.Id).FirstOrDefault()?.StudyNum ?? 0 : 0,
IsTemp = 1,
}); });
} }
} }
var classMinutes = classModule.GetClassMinutesModule(classId); var classMinutes = classModule.GetClassMinutesModule(classId);
return ApiResult.Success(data: new return ApiResult.Success(data: new
{ {
......
...@@ -500,8 +500,19 @@ namespace Edu.WebApi.Controllers.Course ...@@ -500,8 +500,19 @@ namespace Edu.WebApi.Controllers.Course
var orderGuestList = classModule.GetOrderGuestListModule(new RB_Order_Guest_ViewModel { Group_Id = base.UserInfo.Group_Id, School_Id = 0, ClassId = classModel.ClassId }); var orderGuestList = classModule.GetOrderGuestListModule(new RB_Order_Guest_ViewModel { Group_Id = base.UserInfo.Group_Id, School_Id = 0, ClassId = classModel.ClassId });
var checkLogList = classModule.GetClassCheckList(new RB_Class_Check_ViewModel { Group_Id = base.UserInfo.Group_Id, School_Id = -1, ClassId = classModel.ClassId, StartDate = timeModel.NewPlanDateTime, EndDate = timeModel.NewPlanDateTime });
foreach (var item in orderGuestList.Where(x => x.GuestState == 1 || x.GuestState == 6 || ((x.GuestState == 5||x.GuestState==7) && x.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.ChangeEffectTime)) >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(timeModel.NewPlanDateTime))))) var tempOrderGuestList = classModule.GetTempInvitationGuest(new Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel {ClassTimeId=ID ,ClassId=classModel.ClassId});
var allOrderGuestList = new List<RB_Order_Guest_ViewModel>();
allOrderGuestList.AddRange(orderGuestList.Where(x => x.GuestState == 1 || x.GuestState == 6 || ((x.GuestState == 5 || x.GuestState == 7) && x.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.ChangeEffectTime)) >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(timeModel.NewPlanDateTime)))));
var checkLogList = classModule.GetClassCheckList(new RB_Class_Check_ViewModel { ClassTimeId = ID, Group_Id = base.UserInfo.Group_Id, School_Id = -1, ClassId = classModel.ClassId });
if (tempOrderGuestList != null&& tempOrderGuestList.Any())
{
allOrderGuestList.AddRange(tempOrderGuestList.Where(x => x.GuestState == 1 || x.GuestState == 6 || ((x.GuestState == 5 || x.GuestState == 7) &&x.ClassTimeId==ID&&x.ClassId==classModel.ClassId && x.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.ChangeEffectTime)) >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(timeModel.NewPlanDateTime)))));
}
foreach (var item in allOrderGuestList)
{ {
item.IsCheck = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(y => y.OrderGuestId == item.Id).FirstOrDefault()?.CheckStatus ?? 2 : 2; item.IsCheck = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(y => y.OrderGuestId == item.Id).FirstOrDefault()?.CheckStatus ?? 2 : 2;
} }
...@@ -515,7 +526,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -515,7 +526,7 @@ namespace Edu.WebApi.Controllers.Course
ActualTime,//实际时间 ActualTime,//实际时间
AttendanceNum = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.CheckStatus == 0).Count() : 0,///出勤人数 AttendanceNum = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.CheckStatus == 0).Count() : 0,///出勤人数
timeModel.ClassStatus,//上课状态 timeModel.ClassStatus,//上课状态
GuestList = orderGuestList.OrderBy(x => x.IsCheck).Select(x => new GuestList = allOrderGuestList.OrderBy(x => x.IsCheck).Select(x => new
{ {
x.GuestName, x.GuestName,
x.Mobile, x.Mobile,
......
...@@ -33,6 +33,12 @@ namespace Edu.WebApi.Controllers.EduTask ...@@ -33,6 +33,12 @@ namespace Edu.WebApi.Controllers.EduTask
/// 班级处理类对象 /// 班级处理类对象
/// </summary> /// </summary>
private readonly ClassModule classModule = AOP.AOPHelper.CreateAOPObject<ClassModule>(); private readonly ClassModule classModule = AOP.AOPHelper.CreateAOPObject<ClassModule>();
///<summary>
/// 班级处理类对象
/// </summary>
private readonly EducationReceiptModule educationReceiptModule = AOP.AOPHelper.CreateAOPObject<EducationReceiptModule>();
/// <summary> /// <summary>
/// 新增修改班级调课 /// 新增修改班级调课
/// </summary> /// </summary>
...@@ -44,8 +50,7 @@ namespace Edu.WebApi.Controllers.EduTask ...@@ -44,8 +50,7 @@ namespace Edu.WebApi.Controllers.EduTask
{ {
Id = base.ParmJObj.GetInt("Id"), Id = base.ParmJObj.GetInt("Id"),
ClassId = base.ParmJObj.GetInt("ClassId"), ClassId = base.ParmJObj.GetInt("ClassId"),
ClassTimeId = base.ParmJObj.GetInt("ClassTimeId"), ClassTimeIds = base.ParmJObj.GetStringValue("ClassTimeIds"),
ClassPlanId = base.ParmJObj.GetInt("ClassPlanId"),
OrderGuestIds = base.ParmJObj.GetStringValue("OrderGuestIds"), OrderGuestIds = base.ParmJObj.GetStringValue("OrderGuestIds"),
Remarks = base.ParmJObj.GetStringValue("Remarks") Remarks = base.ParmJObj.GetStringValue("Remarks")
}; };
...@@ -59,10 +64,38 @@ namespace Edu.WebApi.Controllers.EduTask ...@@ -59,10 +64,38 @@ namespace Edu.WebApi.Controllers.EduTask
return ApiResult.Failed("请选择您要邀请上课的班级"); return ApiResult.Failed("请选择您要邀请上课的班级");
} }
if (model.ClassPlanId == 0 || model.ClassTimeId == 0) if (string.IsNullOrWhiteSpace(model.ClassTimeIds))
{ {
return ApiResult.Failed("请选择您要邀请的时间"); return ApiResult.Failed("请选择您要邀请的时间");
} }
//判断之前是否有申请过,没有才添加
var studentTempIvvitationList = tempInvitationClassModule.GetTemporaryInvitationListRepository(new RB_Student_TempInvitation_ViewModel { ClassId = model.ClassId });
if (studentTempIvvitationList != null && studentTempIvvitationList.Any())
{
var timeList = model.ClassTimeIds.Split(",");
var orderGuestList = model.OrderGuestIds.Split(",");
var receiptList = educationReceiptModule.GetEducationReceiptList(string.Join(",", studentTempIvvitationList.Select(x => x.Id)));
foreach (var item in studentTempIvvitationList)
{
var receiptModel = receiptList.Where(x => x.RelationId == item.Id).FirstOrDefault();
var tempTimeList = item.ClassTimeIds.Split(",");
var tempOrderGuestList = item.OrderGuestIds.Split(",");
if (tempTimeList.Intersect(timeList).Count() > 0)
{
if (tempOrderGuestList.Intersect(orderGuestList).Count() > 0)
{
if (receiptModel != null && receiptModel.Id > 0 && (receiptModel.VerifyStatus == Common.Enum.EduTask.EduTaskRrocessStatus.AuditIng || receiptModel.VerifyStatus == Common.Enum.EduTask.EduTaskRrocessStatus.AuditThrough || receiptModel.VerifyStatus == Common.Enum.EduTask.EduTaskRrocessStatus.NotAudit || receiptModel.VerifyStatus == Common.Enum.EduTask.EduTaskRrocessStatus.OtherHaveAudit))
{
return ApiResult.Failed("学员不能重复邀请");
}
}
}
}
}
var classModel = classModule.GetClassModule(model.ClassId); var classModel = classModule.GetClassModule(model.ClassId);
model.CourseId = classModel.CouseId; model.CourseId = classModel.CouseId;
model.TeacherId = classModel.Teacher_Id; model.TeacherId = classModel.Teacher_Id;
......
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