Commit cc75ffd9 authored by 吴春's avatar 吴春

提交代码

parent 3e9d238d
...@@ -5,7 +5,7 @@ using System.Text; ...@@ -5,7 +5,7 @@ using System.Text;
namespace Edu.Model.Entity.EduTask namespace Edu.Model.Entity.EduTask
{ {
/// <summary> /// <summary>
/// 临时上课邀请 /// 临时上课邀请记录表
/// </summary> /// </summary>
public class RB_Temporary_Invitation public class RB_Temporary_Invitation
{ {
...@@ -14,7 +14,7 @@ namespace Edu.Model.Entity.EduTask ...@@ -14,7 +14,7 @@ namespace Edu.Model.Entity.EduTask
/// </summary> /// </summary>
public int Id { get; set; } public int Id { get; set; }
/// <summary> /// <summary>
/// 集团编号 /// 集团编号
/// </summary> /// </summary>
...@@ -58,5 +58,7 @@ namespace Edu.Model.Entity.EduTask ...@@ -58,5 +58,7 @@ namespace Edu.Model.Entity.EduTask
/// 创建时间 /// 创建时间
/// </summary> /// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
} }
} }
...@@ -137,6 +137,13 @@ namespace Edu.Model.ViewModel.Course ...@@ -137,6 +137,13 @@ namespace Edu.Model.ViewModel.Course
/// </summary> /// </summary>
public DateTime EffectTime { get; set; } public DateTime EffectTime { get; set; }
/// <summary>
/// 停课生效时间
/// </summary>
public DateTime? StopClassEffectTime { get; set; }
/// <summary> /// <summary>
/// 生效状态(1-正常,2-全部) /// 生效状态(1-正常,2-全部)
/// </summary> /// </summary>
......
...@@ -10,6 +10,45 @@ namespace Edu.Model.ViewModel.EduTask ...@@ -10,6 +10,45 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary> /// </summary>
public class RB_Student_TempInvitation_ViewModel : RB_Student_TempInvitation public class RB_Student_TempInvitation_ViewModel : RB_Student_TempInvitation
{ {
/// <summary>
/// 班级名称
/// </summary>
public string ClassName { get; set; }
/// <summary>
/// 多个ids
/// </summary>
public string Q_TempInvitation_Ids { get; set; }
/// <summary>
/// 校区名称
/// </summary>
public string SchoolName { get; set; }
/// <summary>
/// 班级编号
/// </summary>
public string ClassNo { get; set; }
/// <summary>
/// 教师名称
/// </summary>
public string TeacherName { get; set; }
/// <summary>
/// 课程名称
/// </summary>
public string CourseName { get; set; }
/// <summary>
/// 学员信息
/// </summary>
public List<Course.RB_Order_Guest_ViewModel> OrderGuestList { get; set; }
} }
} }
...@@ -6,49 +6,10 @@ using Edu.Model.Entity.EduTask; ...@@ -6,49 +6,10 @@ using Edu.Model.Entity.EduTask;
namespace Edu.Model.ViewModel.EduTask namespace Edu.Model.ViewModel.EduTask
{ {
/// <summary> /// <summary>
/// 临时上课邀请申请扩展实体 /// 临时上课邀请记录扩展实体
/// </summary> /// </summary>
public class RB_Temporary_Invitation_ViewModel : RB_Temporary_Invitation public class RB_Temporary_Invitation_ViewModel : RB_Temporary_Invitation
{ {
/// <summary>
/// 班级名称
/// </summary>
public string ClassName { get; set; }
/// <summary>
/// 多个ids
/// </summary>
public string Q_TempInvitation_Ids { get; set; }
/// <summary>
/// 校区名称
/// </summary>
public string SchoolName { get; set; }
/// <summary>
/// 班级编号
/// </summary>
public string ClassNo { get; set; }
/// <summary>
/// 教师名称
/// </summary>
public string TeacherName { get; set; }
/// <summary>
/// 课程名称
/// </summary>
public string CourseName { get; set; }
/// <summary>
/// 学员信息
/// </summary>
public List<Course.RB_Order_Guest_ViewModel> OrderGuestList { get; set; }
} }
} }
...@@ -275,7 +275,7 @@ namespace Edu.Module.Course ...@@ -275,7 +275,7 @@ namespace Edu.Module.Course
classTimeList = class_TimeRepository.GetClassTimeListRepository(ids); classTimeList = class_TimeRepository.GetClassTimeListRepository(ids);
classOrderList = orderRepository.GetClassOrderPeopleNumRepository(ids); classOrderList = orderRepository.GetClassOrderPeopleNumRepository(ids);
otherCourseList = GetClassCourseListModule(new RB_Class_Course_Extend() { QClassIds = ids }); otherCourseList = GetClassCourseListModule(new RB_Class_Course_Extend() { QClassIds = ids });
planList=class_PlanRepository.GetClassPlanMaxDataRepository(new RB_Class_Plan_ViewModel() planList = class_PlanRepository.GetClassPlanMaxDataRepository(new RB_Class_Plan_ViewModel()
{ {
QClassIds = ids QClassIds = ids
}); });
...@@ -1065,7 +1065,7 @@ namespace Edu.Module.Course ...@@ -1065,7 +1065,7 @@ namespace Edu.Module.Course
/// <param name="UserInfo">用户信息</param> /// <param name="UserInfo">用户信息</param>
/// <returns></returns> /// <returns></returns>
[TransactionCallHandler] [TransactionCallHandler]
public virtual bool RemoveClassPlanModule(int ClassPlanId, UserInfo UserInfo,out string message) public virtual bool RemoveClassPlanModule(int ClassPlanId, UserInfo UserInfo, out string message)
{ {
bool flag = false; bool flag = false;
message = ""; message = "";
...@@ -1270,6 +1270,8 @@ namespace Edu.Module.Course ...@@ -1270,6 +1270,8 @@ namespace Edu.Module.Course
if (ClassTimeId > 0) if (ClassTimeId > 0)
{ {
checkList = GetClassCheckList(new RB_Class_Check_ViewModel { Group_Id = group_Id, ClassId = classId, ClassTimeId = ClassTimeId }); checkList = GetClassCheckList(new RB_Class_Check_ViewModel { Group_Id = group_Id, ClassId = classId, ClassTimeId = ClassTimeId });
var classTimeModel = class_TimeRepository.GetClassTimeList_V2(new RB_Class_Time_ViewModel { ClassTimeId = ClassTimeId, Group_Id = group_Id }).FirstOrDefault();
orderStudentList = orderStudentList.Where(x => x.GuestState == 1 || x.GuestState == 6 || (x.GuestState == 5 && x.StopClassEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.StopClassEffectTime)) >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(classTimeModel.NewPlanDateTime)))).ToList();
} }
if (orderStudentList != null && orderStudentList.Count > 0) if (orderStudentList != null && orderStudentList.Count > 0)
{ {
...@@ -2084,7 +2086,7 @@ namespace Edu.Module.Course ...@@ -2084,7 +2086,7 @@ namespace Edu.Module.Course
ClassIds = ClassIds, ClassIds = ClassIds,
Group_Id = model.Group_Id, Group_Id = model.Group_Id,
School_Id = model.School_Id School_Id = model.School_Id
}).Where(x => x.GuestState == 1).ToList(); });
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
...@@ -2101,7 +2103,7 @@ namespace Edu.Module.Course ...@@ -2101,7 +2103,7 @@ 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>();
itemTime.GuestList = orderStudentList.Where(x => x.ClassId == itemTime.ClassId).ToList(); itemTime.GuestList = orderStudentList.Where(x => x.ClassId == itemTime.ClassId && (x.GuestState == 1 || x.GuestState == 6 || (x.GuestState == 5 && x.StopClassEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.StopClassEffectTime)) >= item.ClassDate))).ToList();
foreach (var itemCheck in itemTime.GuestList) foreach (var itemCheck in itemTime.GuestList)
{ {
//0-正常,1-缺勤,2-未签到 //0-正常,1-缺勤,2-未签到
...@@ -2556,7 +2558,7 @@ namespace Edu.Module.Course ...@@ -2556,7 +2558,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)?.Select(qitem => new { qitem.GuestName }) GuestList = guestList.Where(qitem => qitem.ClassId == subItem.ClassId && (qitem.GuestState == 1 || qitem.GuestState == 6 || (qitem.GuestState == 5 && qitem.StopClassEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.StopClassEffectTime)) >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(ClassDate)))))?.Select(qitem => new { qitem.GuestName })
}); });
} }
...@@ -2775,7 +2777,7 @@ namespace Edu.Module.Course ...@@ -2775,7 +2777,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)?.Select(qitem => new { qitem.GuestName }), GuestList = guestList.Where(qitem => qitem.ClassId == subItem.ClassId && (qitem.GuestState == 1 || qitem.GuestState == 6 || (qitem.GuestState == 5 && qitem.StopClassEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.StopClassEffectTime)) >= subItem.ClassDate)))?.Select(qitem => new { qitem.GuestName }),
Type = 0,// 0-班级,1-使用记录,2-异常记录 Type = 0,// 0-班级,1-使用记录,2-异常记录
}); });
} }
...@@ -2936,7 +2938,7 @@ namespace Edu.Module.Course ...@@ -2936,7 +2938,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)?.Select(qitem => new { qitem.GuestName }), GuestList = guestList.Where(qitem => qitem.ClassId == subItem.ClassId && (qitem.GuestState == 1 || qitem.GuestState == 6 || (qitem.GuestState == 5 && qitem.StopClassEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.StopClassEffectTime)) >= subItem.ClassDate)))?.Select(qitem => new { qitem.GuestName })
}); });
} }
...@@ -3052,7 +3054,7 @@ namespace Edu.Module.Course ...@@ -3052,7 +3054,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)?.Select(qitem => new { qitem.GuestName }) : visitorList?.Where(qitem => qitem.ReserveClassId == item.ClassTimeId)?.Select(qitem => new { GuestName = qitem.VisitorName }), GuestList = item.ClassType == 1 ? guestList.Where(qitem => qitem.ClassId == item.ClassId && (qitem.GuestState == 1 || qitem.GuestState == 6 || (qitem.GuestState == 5 && qitem.StopClassEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(qitem.StopClassEffectTime)) >= item.ClassDate)))?.Select(qitem => new { qitem.GuestName }) : visitorList?.Where(qitem => qitem.ReserveClassId == item.ClassTimeId)?.Select(qitem => new { GuestName = qitem.VisitorName }),
}); });
} }
......
...@@ -202,7 +202,8 @@ namespace Edu.Module.EduTask ...@@ -202,7 +202,8 @@ namespace Edu.Module.EduTask
string changeIds = string.Join(",", list.Where(qitem => qitem.ReceiptType == subItem.ReceiptType).Select(qitem => qitem.RelationId)); string changeIds = string.Join(",", list.Where(qitem => qitem.ReceiptType == subItem.ReceiptType).Select(qitem => qitem.RelationId));
stopClassList = student_StopClassRepository.GetStudentStopClassListRepository(new RB_Student_StopClass_ViewModel() stopClassList = student_StopClassRepository.GetStudentStopClassListRepository(new RB_Student_StopClass_ViewModel()
{ {
Q_Student_StopClass_Ids = changeIds Q_Student_StopClass_Ids = changeIds,
IsAuditThrough=-1
}); });
if (stopClassList != null && stopClassList.Any()) if (stopClassList != null && stopClassList.Any())
{ {
...@@ -213,10 +214,10 @@ namespace Edu.Module.EduTask ...@@ -213,10 +214,10 @@ namespace Edu.Module.EduTask
}); });
if (orderGuestList != null && orderGuestList.Any()) if (orderGuestList != null && orderGuestList.Any())
{ {
orderGuestList.ForEach(x => x.EnterName = x.EnterID > 0? (UserReidsCache.GetUserLoginInfo(x.EnterID)?.AccountName ?? ""):"");
stopClassList.ForEach(x => x.Order_Guest_ViewModel = orderGuestList.Where(y => y.Id == x.OrderGuestId).FirstOrDefault()); stopClassList.ForEach(x => x.Order_Guest_ViewModel = orderGuestList.Where(y => y.Id == x.OrderGuestId).FirstOrDefault());
} }
} }
} }
} }
......
...@@ -4,6 +4,7 @@ using Edu.Model.ViewModel.EduTask; ...@@ -4,6 +4,7 @@ using Edu.Model.ViewModel.EduTask;
using Edu.Repository.Course; using Edu.Repository.Course;
using Edu.Repository.EduTask; using Edu.Repository.EduTask;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using VT.FW.AOP.CustomerAttribute; using VT.FW.AOP.CustomerAttribute;
using VT.FW.DB; using VT.FW.DB;
...@@ -40,12 +41,27 @@ namespace Edu.Module.EduTask ...@@ -40,12 +41,27 @@ namespace Edu.Module.EduTask
} }
/// <summary>
/// 定时处理停课申请生效日期以及学员的上课状态
/// </summary>
/// <returns></returns>
public bool UpdateAuditThroughStudent()
{
var list = order_GuestRepository.GetOrderGuestListRepository(new Model.ViewModel.Course.RB_Order_Guest_ViewModel { GuestState = 6 });
foreach (var item in list.Where(x => x.StopClassEffectTime.HasValue && x.StopClassEffectTime < System.DateTime.Now))
{
//将学员的学习状态变成停课申请中
//public bool UpdateChangeClassPlan(int id) Dictionary<string, object> fileds = new Dictionary<string, object>()
//{ {
{nameof(RB_Order_Guest.GuestState),5},
{nameof(RB_Order_Guest.UpdateTime),System.DateTime.Now},
};
order_GuestRepository.Update(fileds, new WhereHelper(nameof(RB_Order_Guest.Id), item.Id));
}
return true;
}
// return change_ClassPlanRepository.UpdateChangeClassPlan(id);
//}
/// <summary> /// <summary>
/// 新增修改停课申请 /// 新增修改停课申请
......
using Edu.Model.Entity.Course;
using Edu.Model.Entity.EduTask;
using Edu.Model.ViewModel.EduTask;
using Edu.Repository.Course;
using Edu.Repository.EduTask;
using System.Collections.Generic;
using VT.FW.AOP.CustomerAttribute;
using VT.FW.DB;
namespace Edu.Module.EduTask
{
/// <summary>
/// 临时上课邀请处理类
/// </summary>
public class TempInvitationClassModule
{
/// <summary>
/// 教务单据仓储层对象
/// </summary>
private readonly RB_Education_ReceiptRepository education_ReceiptRepository = new RB_Education_ReceiptRepository();
/// <summary>
/// 停课计划仓储层对象
/// </summary>
private readonly RB_Student_TempInvitationRepository student_TempInvitationRepository = new RB_Student_TempInvitationRepository();
/// <summary>
/// 订单学员仓储层对象
/// </summary>
private readonly RB_Order_GuestRepository order_GuestRepository = new RB_Order_GuestRepository();
/// <summary>
/// 获取临时上课邀请列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_TempInvitation_ViewModel> GetTemporaryInvitationListRepository(RB_Student_TempInvitation_ViewModel query)
{
return student_TempInvitationRepository.GetStundetTempInvitationListRepository(query);
}
/// <summary>
/// 新增修改停课申请
/// </summary>
/// <returns></returns>
[TransactionCallHandler]
public virtual bool SetStudentTempInvitationModule(RB_Student_TempInvitation_ViewModel extModel)
{
bool flag = false;
if (extModel.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Student_TempInvitation_ViewModel.OrderGuestIds),extModel.OrderGuestIds },
{nameof(RB_Student_TempInvitation_ViewModel.ClassId),extModel.ClassId },
{nameof(RB_Student_TempInvitation_ViewModel.CourseId),extModel.CourseId },
{nameof(RB_Student_TempInvitation_ViewModel.ClassPlanId),extModel.ClassPlanId },
{nameof(RB_Student_TempInvitation_ViewModel.ClassTimeId),extModel.ClassTimeId },
{nameof(RB_Student_TempInvitation_ViewModel.TeacherId),extModel.TeacherId },
{nameof(RB_Student_TempInvitation_ViewModel.School_Id),extModel.School_Id},
{nameof(RB_Student_TempInvitation_ViewModel.UpdateBy),extModel.UpdateBy },
{nameof(RB_Student_TempInvitation_ViewModel.UpdateTime),extModel.UpdateTime },
};
flag = student_TempInvitationRepository.Update(fileds, new WhereHelper(nameof(RB_Temporary_Invitation_ViewModel.Id), extModel.Id));
}
else
{
var newId = student_TempInvitationRepository.Insert(extModel);
extModel.Id = newId;
flag = newId > 0;
if (flag)
{
var educationReceipt = new RB_Education_Receipt()
{
Id = 0,
Title = "临时上课邀请申请",
ReceiptType = Common.Enum.Finance.ReceiptTypeEnum.InvitationClass,
RelationId = newId,
ClassId = extModel.ClassId,
Group_Id = extModel.Group_Id,
School_Id = extModel.School_Id,
CreateBy = extModel.CreateBy,
CreateTime = extModel.CreateTime,
UpdateBy = extModel.UpdateBy,
UpdateTime = extModel.UpdateTime,
VerifyStatus = Common.Enum.EduTask.EduTaskRrocessStatus.NotAudit
};
flag = education_ReceiptRepository.SetEducationReceiptRepository(educationReceipt, out string message);
}
}
return flag;
}
}
}
...@@ -410,7 +410,7 @@ LEFT JOIN rb_class as class on a.ClassId=class.ClassId ...@@ -410,7 +410,7 @@ LEFT JOIN rb_class as class on a.ClassId=class.ClassId
LEFT JOIN rb_teacher AS T ON A.TeacherId=T.TId LEFT JOIN rb_teacher AS T ON A.TeacherId=T.TId
LEFT JOIN (SELECT ClassPlanId,COUNT(*) as LessonPlanNum from rb_class_lessonplan where `Status`=0 GROUP BY ClassPlanId)as lp on a.ClassPlanId=lp.ClassPlanId LEFT JOIN (SELECT ClassPlanId,COUNT(*) as LessonPlanNum from rb_class_lessonplan where `Status`=0 GROUP BY ClassPlanId)as lp on a.ClassPlanId=lp.ClassPlanId
LEFT JOIN (SELECT ClassPlanId,COUNT(*) as LessonPlanSummaryNum from rb_class_lessonplan where `Status`=0 and ISNULL(Summary)=0 and LENGTH(trim(Summary))>0 GROUP BY ClassPlanId)as lps on a.ClassPlanId=lps.ClassPlanId LEFT JOIN (SELECT ClassPlanId,COUNT(*) as LessonPlanSummaryNum from rb_class_lessonplan where `Status`=0 and ISNULL(Summary)=0 and LENGTH(trim(Summary))>0 GROUP BY ClassPlanId)as lps on a.ClassPlanId=lps.ClassPlanId
WHERE 1=1 and class.ClassStatus in(1,2) and t.`Status`=0 and a.`Status`=0 ORDER BY a.ClassId,a.ClassDate) as a where 1=1 WHERE 1=1 and class.ClassStatus in(1,2) and t.`Status`=0 and a.`Status`=0 and class.`Status`=0 ORDER BY a.ClassId,a.ClassDate) as a where 1=1
"); ");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)DateStateEnum.Normal); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)DateStateEnum.Normal);
if (query != null) if (query != null)
...@@ -721,7 +721,7 @@ GROUP BY a.ClassType,A.ClassTimeId,A.ClassPlanId,A.ClassId ,A.ClassDate,A.ClassR ...@@ -721,7 +721,7 @@ GROUP BY a.ClassType,A.ClassTimeId,A.ClassPlanId,A.ClassId ,A.ClassDate,A.ClassR
builder.AppendFormat(@"SELECT A.ClassType,A.ClassTimeId,A.Teacher_Id,A.TeacherName,A.RoomName, a.RoomNum,A.StartTime,A.EndTime,A.ClassPlanId,A.ClassId,A.ClassDate,A.ClassRoomId,A.ClassName,A.CourseName,a.TotalPlanNum, builder.AppendFormat(@"SELECT A.ClassType,A.ClassTimeId,A.Teacher_Id,A.TeacherName,A.RoomName, a.RoomNum,A.StartTime,A.EndTime,A.ClassPlanId,A.ClassId,A.ClassDate,A.ClassRoomId,A.ClassName,A.CourseName,a.TotalPlanNum,
(SELECT COUNT(*) from rb_class_plan where `Status`=0 and DATE_FORMAT(ClassDate,'%Y-%m-%d') <=DATE_FORMAT(a.ClassDate,'%Y-%m-%d') and ClassId=a.ClassId) as Ranks (SELECT COUNT(*) from rb_class_plan where `Status`=0 and DATE_FORMAT(ClassDate,'%Y-%m-%d') <=DATE_FORMAT(a.ClassDate,'%Y-%m-%d') and ClassId=a.ClassId) as Ranks
FROM ( {0} UNION all {1} ) AS A FROM ( {0} UNION all {1} ) AS A
GROUP BY a.ClassType,A.ClassTimeId,A.ClassPlanId,A.ClassId ,A.ClassDate,A.ClassRoomId ", builderClass.ToString(), builderReserveClass.ToString()); GROUP BY a.ClassType,A.ClassTimeId,A.ClassPlanId,A.ClassId ,A.ClassDate,A.ClassRoomId ORDER BY a.ClassDate asc ", builderClass.ToString(), builderReserveClass.ToString());
} }
return GetPage<RB_Class_Plan_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList(); return GetPage<RB_Class_Plan_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
} }
......
...@@ -162,7 +162,7 @@ WHERE 1=1 ...@@ -162,7 +162,7 @@ WHERE 1=1
builder.AppendFormat(@" SELECT a.*,c.ClassName,b.ClassRoomId,t.TeacherName from rb_class_time as a LEFT JOIN rb_class_plan as b on a.ClassPlanId=b.ClassPlanId builder.AppendFormat(@" SELECT a.*,c.ClassName,b.ClassRoomId,t.TeacherName from rb_class_time as a LEFT JOIN rb_class_plan as b on a.ClassPlanId=b.ClassPlanId
LEFT JOIN rb_class as c on a.ClassId=c.ClassId LEFT JOIN rb_class as c on a.ClassId=c.ClassId
LEFT JOIN rb_teacher as t on b.TeacherId=t.TId LEFT JOIN rb_teacher as t on b.TeacherId=t.TId
where b.`Status`=0 and DATE_FORMAT(b.ClassDate,'%y/%m/%d')=DATE_FORMAT(NOW(),'%y/%m/%d') and t.`Status`=0 and c.`Status`=0 and c.ClassStatus=2 "); where b.`Status`=0 and DATE_FORMAT(b.ClassDate,'%y/%m/%d')=DATE_FORMAT(NOW(),'%y/%m/%d') and t.`Status`=0 and c.`Status`=0 and c.ClassStatus in(1,2) ");
if (query != null) if (query != null)
{ {
if (query.ClassPlanId > 0) if (query.ClassPlanId > 0)
...@@ -215,7 +215,7 @@ LEFT JOIN rb_teacher as t on a.TeacherId=t.TId ...@@ -215,7 +215,7 @@ LEFT JOIN rb_teacher as t on a.TeacherId=t.TId
LEFT JOIN rb_class as c on c.ClassId=a.ClassId LEFT JOIN rb_class as c on c.ClassId=a.ClassId
LEFT JOIN rb_course as cou on cou.CourseId=c.CouseId LEFT JOIN rb_course as cou on cou.CourseId=c.CouseId
LEFT JOIN (SELECT ClassPlanId,MAX(LessonPlanId) as LessonPlanId from rb_class_lessonplan where `Status`=0 GROUP BY ClassPlanId) as lp on lp.ClassPlanId=a.ClassPlanId LEFT JOIN (SELECT ClassPlanId,MAX(LessonPlanId) as LessonPlanId from rb_class_lessonplan where `Status`=0 GROUP BY ClassPlanId) as lp on lp.ClassPlanId=a.ClassPlanId
where a.`Status`=0 and b.ClassStatus<>2 and c.ClassStatus in(1,2) and a.ClassRoomId={RoomId} and a.Group_Id={Group_Id} and DATE_FORMAT(A.ClassDate,'%Y-%m-%d')>=DATE_FORMAT(NOW(),'%Y-%m-%d') ORDER BY CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.EndTime,':00') asc LIMIT 10"); where a.`Status`=0 and b.ClassStatus<>2 and c.ClassStatus in(1,2) and c.`Status`=0 and a.ClassRoomId={RoomId} and a.Group_Id={Group_Id} and DATE_FORMAT(A.ClassDate,'%Y-%m-%d')>=DATE_FORMAT(NOW(),'%Y-%m-%d') ORDER BY CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.EndTime,':00') asc LIMIT 10");
return Get<RB_Class_Time_Extend>(builder.ToString()).ToList(); return Get<RB_Class_Time_Extend>(builder.ToString()).ToList();
} }
...@@ -236,7 +236,7 @@ LEFT JOIN rb_class as c on c.ClassId=a.ClassId ...@@ -236,7 +236,7 @@ LEFT JOIN rb_class as c on c.ClassId=a.ClassId
LEFT JOIN rb_course as cou on cou.CourseId=c.CouseId LEFT JOIN rb_course as cou on cou.CourseId=c.CouseId
LEFT JOIN rb_class_room as croom on croom.RoomId=a.ClassRoomId LEFT JOIN rb_class_room as croom on croom.RoomId=a.ClassRoomId
LEFT JOIN (SELECT ClassPlanId,MAX(LessonPlanId) as LessonPlanId from rb_class_lessonplan where `Status`=0 GROUP BY ClassPlanId) as lp on lp.ClassPlanId=a.ClassPlanId LEFT JOIN (SELECT ClassPlanId,MAX(LessonPlanId) as LessonPlanId from rb_class_lessonplan where `Status`=0 GROUP BY ClassPlanId) as lp on lp.ClassPlanId=a.ClassPlanId
where a.`Status`=0 and c.ClassStatus in(1,2) and a.ClassId={ClassId} and a.Group_Id={Group_Id} and DATE_FORMAT(A.ClassDate,'%Y-%m-%d')>=DATE_FORMAT(NOW(),'%Y-%m-%d') ORDER BY CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.EndTime,':00') asc LIMIT 10"); where a.`Status`=0 and c.ClassStatus in(1,2) and a.ClassId={ClassId} and c.`Status`=0 and a.Group_Id={Group_Id} and DATE_FORMAT(A.ClassDate,'%Y-%m-%d')>=DATE_FORMAT(NOW(),'%Y-%m-%d') ORDER BY CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.EndTime,':00') asc LIMIT 10");
return Get<RB_Class_Time_Extend>(builder.ToString()).ToList(); return Get<RB_Class_Time_Extend>(builder.ToString()).ToList();
} }
/// <summary> /// <summary>
...@@ -255,7 +255,7 @@ LEFT JOIN rb_class as c on c.ClassId=a.ClassId ...@@ -255,7 +255,7 @@ LEFT JOIN rb_class as c on c.ClassId=a.ClassId
LEFT JOIN rb_course as cou on cou.CourseId=c.CouseId LEFT JOIN rb_course as cou on cou.CourseId=c.CouseId
LEFT JOIN rb_class_room as croom on croom.RoomId=a.ClassRoomId LEFT JOIN rb_class_room as croom on croom.RoomId=a.ClassRoomId
LEFT JOIN (SELECT ClassPlanId,MAX(LessonPlanId) as LessonPlanId from rb_class_lessonplan where `Status`=0 GROUP BY ClassPlanId) as lp on lp.ClassPlanId=a.ClassPlanId LEFT JOIN (SELECT ClassPlanId,MAX(LessonPlanId) as LessonPlanId from rb_class_lessonplan where `Status`=0 GROUP BY ClassPlanId) as lp on lp.ClassPlanId=a.ClassPlanId
where a.`Status`=0 and c.ClassStatus in(1,2) and a.TeacherId={TId} and a.Group_Id={Group_Id} and DATE_FORMAT(A.ClassDate,'%Y-%m-%d')>=DATE_FORMAT(NOW(),'%Y-%m-%d') ORDER BY CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.EndTime,':00') asc LIMIT 10"); where a.`Status`=0 and c.ClassStatus in(1,2) and a.TeacherId={TId} and c.`Status`=0 and a.Group_Id={Group_Id} and DATE_FORMAT(A.ClassDate,'%Y-%m-%d')>=DATE_FORMAT(NOW(),'%Y-%m-%d') ORDER BY CONCAT( DATE_FORMAT(A.ClassDate,'%Y-%m-%d') ,' ',B.EndTime,':00') asc LIMIT 10");
return Get<RB_Class_Time_Extend>(builder.ToString()).ToList(); return Get<RB_Class_Time_Extend>(builder.ToString()).ToList();
} }
......
...@@ -65,9 +65,10 @@ namespace Edu.Repository.Course ...@@ -65,9 +65,10 @@ namespace Edu.Repository.Course
string sql = $@" string sql = $@"
SELECT A.*,IFNULL(B.IsChaBan,0) AS IsChaBan,IFNULL(B.StartClassHours,0) AS StartClassHours,IFNULL(C.CourseName,'') AS CourseName SELECT A.*,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 ,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId,B.IsRenewOrder,B.RenewOrderId,sc.StopClassEffectTime
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
LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1) LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1)
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 {where}"; WHERE {where}";
return Get<RB_Order_Guest_ViewModel>(sql).ToList(); return Get<RB_Order_Guest_ViewModel>(sql).ToList();
} }
...@@ -88,9 +89,10 @@ WHERE {where}"; ...@@ -88,9 +89,10 @@ WHERE {where}";
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.* ,IFNULL(course.CourseName,'') AS CourseName,tOrder.CourseId,tOrder.OrderType,tOrder.StartClassHours,tOrder.IsChaBan,tOrder.EffectTime SELECT A.* ,IFNULL(course.CourseName,'') AS CourseName,tOrder.CourseId,tOrder.OrderType,tOrder.StartClassHours,tOrder.IsChaBan,tOrder.EffectTime
,tOrder.EffectStatus,tOrder.UpOrderId ,tOrder.EffectStatus,tOrder.UpOrderId,sc.StopClassEffectTime
FROM RB_Order_Guest AS A LEFT JOIN RB_Order as tOrder ON A.OrderId=tOrder.OrderId FROM RB_Order_Guest AS A LEFT JOIN RB_Order as tOrder ON A.OrderId=tOrder.OrderId
LEFT JOIN rb_course AS course ON (tOrder.CourseId=course.CourseId AND tOrder.CourseId>0 AND tOrder.OrderType=1) LEFT JOIN rb_course AS course ON (tOrder.CourseId=course.CourseId AND tOrder.CourseId>0 AND tOrder.OrderType=1)
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 WHERE 1=1 AND A.Status=0
"); ");
if (demodel.Group_Id > 0) if (demodel.Group_Id > 0)
...@@ -183,7 +185,7 @@ WHERE 1=1 AND A.Status=0 ...@@ -183,7 +185,7 @@ WHERE 1=1 AND A.Status=0
/// <returns></returns> /// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetOrderGuestListByEnterID(RB_Order_Guest_ViewModel demodel) public List<RB_Order_Guest_ViewModel> GetOrderGuestListByEnterID(RB_Order_Guest_ViewModel demodel)
{ {
string where = $@" 1=1 and a.CompleteHours<15 and b.OrderState=1 and c.ClassStatus=2 and a.`Status`=0"; string where = $@" 1=1 and a.CompleteHours<15 and b.OrderState=1 and c.ClassStatus in(1,2) and c.`Status`=0 and a.`Status`=0";
if (demodel.Group_Id > 0) if (demodel.Group_Id > 0)
{ {
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}";
...@@ -253,13 +255,14 @@ WHERE {where}"; ...@@ -253,13 +255,14 @@ WHERE {where}";
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.*,IFNULL(B.IsChaBan,0) AS IsChaBan,IFNULL(B.StartClassHours,0) AS StartClassHours,IFNULL(C.CourseName,'') AS CourseName,class.ClassName,b.EnterID SELECT A.*,IFNULL(B.IsChaBan,0) AS IsChaBan,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 ,plan.TotalPlanNum,planr.Ranks ,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId,B.IsRenewOrder,B.RenewOrderId,sc.StopClassEffectTime
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
LEFT JOIN rb_class as class on class.ClassId=a.ClassId LEFT JOIN rb_class as class on class.ClassId=a.ClassId
LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1) 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(*) 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 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
WHERE 1=1 and A.Status=0 and b.OrderState<>3 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) if (demodel.Group_Id > 0)
{ {
...@@ -323,7 +326,7 @@ WHERE 1=1 and A.Status=0 and b.OrderState<>3 ...@@ -323,7 +326,7 @@ WHERE 1=1 and A.Status=0 and b.OrderState<>3
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.*,IFNULL(B.IsChaBan,0) AS IsChaBan,IFNULL(B.StartClassHours,0) AS StartClassHours,school.SName as SchoolName,teacher.TeacherName,IFNULL(C.CourseName,'') AS CourseName,class.ClassNo,class.ClassName,b.EnterID SELECT A.*,IFNULL(B.IsChaBan,0) AS IsChaBan,IFNULL(B.StartClassHours,0) AS StartClassHours,school.SName as SchoolName,teacher.TeacherName,IFNULL(C.CourseName,'') AS CourseName,class.ClassNo,class.ClassName,b.EnterID
,plan.TotalPlanNum,planr.Ranks ,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId,B.IsRenewOrder,B.RenewOrderId ,plan.TotalPlanNum,planr.Ranks ,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId,B.IsRenewOrder,B.RenewOrderId,sc.StopClassEffectTime
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
LEFT JOIN rb_class as class on class.ClassId=a.ClassId LEFT JOIN rb_class as class on class.ClassId=a.ClassId
LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1) LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1)
...@@ -331,7 +334,8 @@ LEFT JOIN (SELECT ClassId,COUNT(*) TotalPlanNum from rb_class_plan where `Status ...@@ -331,7 +334,8 @@ LEFT JOIN (SELECT ClassId,COUNT(*) TotalPlanNum from rb_class_plan where `Status
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 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 rb_teacher as teacher on teacher.TId=class.Teacher_Id LEFT JOIN rb_teacher as teacher on teacher.TId=class.Teacher_Id
LEFT JOIN rb_school as school on school.SId=class.School_Id LEFT JOIN rb_school as school on school.SId=class.School_Id
WHERE 1=1 and A.Status=0 and b.OrderState<>3 "); 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) if (demodel.Group_Id > 0)
{ {
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.Group_Id)} ={demodel.Group_Id}"); builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_ViewModel.Group_Id)} ={demodel.Group_Id}");
......
...@@ -176,6 +176,15 @@ WHERE 1=1 ...@@ -176,6 +176,15 @@ WHERE 1=1
return false; return false;
} }
} }
else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.InvitationClass)
{
flowModel = flowRepository.GetFlowRepository(Common.Config.TempInvitationClassFlowId);
if (flowModel == null)
{
message = "未配置临时上课邀请流程!";
return false;
}
}
else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.OrderTransClass) else if (model.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.OrderTransClass)
{ {
flowModel = flowRepository.GetFlowRepository(Common.Config.OrderTransClassFlowId); flowModel = flowRepository.GetFlowRepository(Common.Config.OrderTransClassFlowId);
......
...@@ -38,12 +38,14 @@ WHERE 1=1 ...@@ -38,12 +38,14 @@ WHERE 1=1
{ {
builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Student_StopClass_ViewModel.Id), query.Q_Student_StopClass_Ids); builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Student_StopClass_ViewModel.Id), query.Q_Student_StopClass_Ids);
} }
if (query.IsAuditThrough > -1)
{
builder.AppendFormat(@" AND A.{0} = ({1}) ", nameof(RB_Student_StopClass_ViewModel.IsAuditThrough), query.IsAuditThrough);
}
} }
return Get<RB_Student_StopClass_ViewModel>(builder.ToString()).ToList(); return Get<RB_Student_StopClass_ViewModel>(builder.ToString()).ToList();
} }
/// <summary> /// <summary>
/// 审核通过后更新申请表中的状态 /// 审核通过后更新申请表中的状态
/// </summary> /// </summary>
...@@ -59,7 +61,7 @@ WHERE 1=1 ...@@ -59,7 +61,7 @@ WHERE 1=1
{ {
return false; return false;
} }
if (receiptModel.ReceiptType != Common.Enum.Finance.ReceiptTypeEnum.ChangeClass) if (receiptModel.ReceiptType != Common.Enum.Finance.ReceiptTypeEnum.StopClass)
{ {
return false; return false;
} }
......
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Text; using System.Text;
using Edu.Model.Entity.EduTask; using Edu.Model.Entity.EduTask;
using Edu.Model.ViewModel.EduTask;
namespace Edu.Repository.EduTask namespace Edu.Repository.EduTask
{ {
public class RB_Student_TempInvitationRepository:BaseRepository<RB_Student_TempInvitation> /// <summary>
/// 临时上课邀请申请仓储
/// </summary>
public class RB_Student_TempInvitationRepository : BaseRepository<RB_Student_TempInvitation>
{ {
/// <summary>
/// 教务单据仓储层对象
/// </summary>
private readonly RB_Education_ReceiptRepository education_ReceiptRepository = new RB_Education_ReceiptRepository();
/// <summary>
/// 获取临时上课邀请申请列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_TempInvitation_ViewModel> GetStundetTempInvitationListRepository(RB_Student_TempInvitation_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,IFNULL(B.ClassName,'') AS ClassName
FROM RB_Student_TempInvitation AS A LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId
WHERE 1=1
");
if (query != null)
{
if (!string.IsNullOrEmpty(query.Q_TempInvitation_Ids))
{
builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Student_TempInvitation_ViewModel.Id), query.Q_TempInvitation_Ids);
}
}
return Get<RB_Student_TempInvitation_ViewModel>(builder.ToString()).ToList();
}
} }
} }
...@@ -7,35 +7,11 @@ using Edu.Model.ViewModel.EduTask; ...@@ -7,35 +7,11 @@ using Edu.Model.ViewModel.EduTask;
namespace Edu.Repository.EduTask 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>
private readonly RB_Education_ReceiptRepository education_ReceiptRepository = new RB_Education_ReceiptRepository();
/// <summary>
/// 获取临时上课邀请申请列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Temporary_Invitation_ViewModel> GetTemporaryInvitationListRepository(RB_Temporary_Invitation_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,IFNULL(B.ClassName,'') AS ClassName
FROM RB_Temporary_Invitation AS A LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId
WHERE 1=1
");
if (query != null)
{
if (!string.IsNullOrEmpty(query.Q_TempInvitation_Ids))
{
builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Temporary_Invitation_ViewModel.Id), query.Q_TempInvitation_Ids);
}
}
return Get<RB_Temporary_Invitation_ViewModel>(builder.ToString()).ToList();
}
} }
} }
...@@ -129,14 +129,14 @@ namespace Edu.WebApi.Controllers.Course ...@@ -129,14 +129,14 @@ namespace Edu.WebApi.Controllers.Course
{ {
CouseId = base.ParmJObj.GetInt("CourseId", 0), CouseId = base.ParmJObj.GetInt("CourseId", 0),
IsQuerySurplus = base.ParmJObj.GetInt("IsQuerySurplus"), IsQuerySurplus = base.ParmJObj.GetInt("IsQuerySurplus"),
MoreStatus = base.ParmJObj.GetStringValue("MoreStatus"), MoreStatus = base.ParmJObj.GetStringValue("MoreStatus"),
Teacher_Id = base.ParmJObj.GetInt("Teacher_Id"), Teacher_Id = base.ParmJObj.GetInt("Teacher_Id"),
IsQuerySurplusPlan = base.ParmJObj.GetInt("IsQuerySurplusPlan") IsQuerySurplusPlan = base.ParmJObj.GetInt("IsQuerySurplusPlan")
}; };
query.School_Id= base.ParmJObj.GetInt("SchoolId", -1); query.School_Id = base.ParmJObj.GetInt("SchoolId", -1);
query.Group_Id = base.UserInfo.Group_Id; query.Group_Id = base.UserInfo.Group_Id;
var list = classModule.GetClassListModule(query); var list = classModule.GetClassListModule(query);
List<object> result = new List<object>(); List<object> result = new List<object>();
...@@ -768,7 +768,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -768,7 +768,7 @@ namespace Edu.WebApi.Controllers.Course
ClassTimeId = ClassTimeId, ClassTimeId = ClassTimeId,
}); });
List<object> guestList = new List<object>(); List<object> guestList = new List<object>();
foreach (var item in orderGuestList.Where(x => x.GuestState == 1)) foreach (var item in orderGuestList.Where(x => x.GuestState == 1 || x.GuestState == 6 || (x.GuestState == 5 && x.StopClassEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.StopClassEffectTime)) >= data.ClassDate)))
{ {
if (item.IsChaBan == 0 || (item.IsChaBan == 1 && data.ClassDate >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(item.EffectTime)))) if (item.IsChaBan == 0 || (item.IsChaBan == 1 && data.ClassDate >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(item.EffectTime))))
{ {
...@@ -2220,7 +2220,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -2220,7 +2220,7 @@ namespace Edu.WebApi.Controllers.Course
{ {
endDate = Common.ConvertHelper.FormatDate(DateTime.Now); endDate = Common.ConvertHelper.FormatDate(DateTime.Now);
} }
} }
RB_Class_Plan_ViewModel query = new RB_Class_Plan_ViewModel() RB_Class_Plan_ViewModel query = new RB_Class_Plan_ViewModel()
{ {
StartTime = startDate, StartTime = startDate,
......
...@@ -501,7 +501,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -501,7 +501,7 @@ 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 }); 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) foreach (var item in orderGuestList.Where(x => x.GuestState == 1 || x.GuestState == 6 || (x.GuestState == 5 && x.StopClassEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.StopClassEffectTime)) >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(timeModel.NewPlanDateTime)))))
{ {
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;
} }
......
using Edu.Common.API;
using Edu.Common.Enum.Course;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.EduTask;
using Edu.Module.Course;
using Edu.Module.EduTask;
using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Edu.WebApi.Controllers.EduTask
{
/// <summary>
/// 改变流程相关申请
/// </summary>
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class TempInvitationClassController : BaseController
{
/// <summary>
/// 临时上课邀请处理类对象
/// </summary>
private readonly TempInvitationClassModule tempInvitationClassModule = AOP.AOPHelper.CreateAOPObject<TempInvitationClassModule>();
/// <summary>
/// 班级处理类对象
/// </summary>
private readonly ClassModule classModule = AOP.AOPHelper.CreateAOPObject<ClassModule>();
/// <summary>
/// 新增修改班级调课
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetStudentStopClass()
{
var model = new RB_Student_TempInvitation_ViewModel()
{
Id = base.ParmJObj.GetInt("Id"),
ClassId = base.ParmJObj.GetInt("ClassId"),
ClassTimeId = base.ParmJObj.GetInt("ClassTimeId"),
ClassPlanId = base.ParmJObj.GetInt("ClassPlanId"),
OrderGuestIds = base.ParmJObj.GetStringValue("OrderGuestIds"),
Remarks = base.ParmJObj.GetStringValue("Remarks")
};
var classModel = classModule.GetClassModule(model.ClassId);
model.CourseId = classModel.CouseId;
model.TeacherId = classModel.Teacher_Id;
model.School_Id = classModel.School_Id;
if (model.Id == 0)
{
model.CreateBy = base.UserInfo.Id;
model.CreateTime = DateTime.Now;
model.Group_Id = base.UserInfo.Group_Id;
}
model.UpdateBy = base.UserInfo.Id;
model.UpdateTime = DateTime.Now;
bool flag = tempInvitationClassModule.SetStudentTempInvitationModule(model);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
//public ApiResult TestUpdateClassPlan()
//{
// int id = base.ParmJObj.GetInt("Id");
// var result = changeClassPlanModule.UpdateChangeClassPlan(id);
// return ApiResult.Success("");
//}
}
}
...@@ -22,12 +22,19 @@ namespace Edu.WebApi.Timers ...@@ -22,12 +22,19 @@ namespace Edu.WebApi.Timers
/// </summary> /// </summary>
private static readonly OrderModule orderModule = AOP.AOPHelper.CreateAOPObject<OrderModule>(); private static readonly OrderModule orderModule = AOP.AOPHelper.CreateAOPObject<OrderModule>();
/// <summary>
/// 订单处理类对象
/// </summary>
private static readonly Module.EduTask.StopStudentClassModule stopStudentClassModule = AOP.AOPHelper.CreateAOPObject<Module.EduTask.StopStudentClassModule>();
static System.Timers.Timer timer1;//计时器 static System.Timers.Timer timer1;//计时器
static System.Timers.Timer timer2;//定期处理未值班数据 static System.Timers.Timer timer2;//定期处理未值班数据
static System.Timers.Timer timer3;//定时处理订单生效日期 static System.Timers.Timer timer3;//定时处理订单生效日期
static System.Timers.Timer timer4;//定时处理停课申请生效日期以及学员的上课状态
public static void RunTimer() public static void RunTimer()
{ {
timer1 = new System.Timers.Timer timer1 = new System.Timers.Timer
...@@ -50,6 +57,15 @@ namespace Edu.WebApi.Timers ...@@ -50,6 +57,15 @@ namespace Edu.WebApi.Timers
}; };
timer3.Elapsed += new System.Timers.ElapsedEventHandler(DealOrderEffectStatus); timer3.Elapsed += new System.Timers.ElapsedEventHandler(DealOrderEffectStatus);
timer3.Enabled = true; timer3.Enabled = true;
timer4 = new System.Timers.Timer()
{
Interval = (1000 * 60) * (1 * 60 ) //1小时执行一次
};
timer4.Elapsed += new System.Timers.ElapsedEventHandler(UpdateAuditThroughStudent);
timer4.Enabled = true;
} }
public static void RunStop() public static void RunStop()
...@@ -57,6 +73,7 @@ namespace Edu.WebApi.Timers ...@@ -57,6 +73,7 @@ namespace Edu.WebApi.Timers
timer1.Enabled = false; timer1.Enabled = false;
timer2.Enabled = false; timer2.Enabled = false;
timer3.Enabled = false; timer3.Enabled = false;
timer4.Enabled = false;
} }
/// <summary> /// <summary>
...@@ -65,6 +82,7 @@ namespace Edu.WebApi.Timers ...@@ -65,6 +82,7 @@ namespace Edu.WebApi.Timers
private static int inTimer = 0; private static int inTimer = 0;
private static int inTimer2 = 0; private static int inTimer2 = 0;
private static int inTimer3 = 0; private static int inTimer3 = 0;
private static int inTimer4 = 0;
/// <summary> /// <summary>
/// 清理文件 /// 清理文件
...@@ -141,5 +159,20 @@ namespace Edu.WebApi.Timers ...@@ -141,5 +159,20 @@ namespace Edu.WebApi.Timers
Interlocked.Exchange(ref inTimer3, 0); Interlocked.Exchange(ref inTimer3, 0);
} }
} }
// <summary>
/// 定时处理停课申请生效日期以及学员的上课状态
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void UpdateAuditThroughStudent(object sender, System.Timers.ElapsedEventArgs e)
{
if (Interlocked.Exchange(ref inTimer4, 1) == 0)
{
stopStudentClassModule.UpdateAuditThroughStudent();
Interlocked.Exchange(ref inTimer4, 0);
}
}
} }
} }
\ No newline at end of file
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