Commit 0504583b authored by liudong1993's avatar liudong1993

Merge branch 'master' of http://gitlab.oytour.com/Kui2/education

parents cc4d031f 0878328e
...@@ -15,5 +15,11 @@ namespace Edu.Common.Enum.Finance ...@@ -15,5 +15,11 @@ namespace Edu.Common.Enum.Finance
/// </summary> /// </summary>
[EnumField("调课")] [EnumField("调课")]
ChangeClass = 1, ChangeClass = 1,
/// <summary>
/// 退课
/// </summary>
[EnumField("退课")]
BackClass = 2,
} }
} }
...@@ -50,5 +50,16 @@ namespace Edu.Model.Entity.Course ...@@ -50,5 +50,16 @@ namespace Edu.Model.Entity.Course
/// 教师编号 /// 教师编号
/// </summary> /// </summary>
public int TeacherId { get; set; } public int TeacherId { get; set; }
/// <summary>
/// 0-未备课,1-已备课
/// </summary>
public int BeiKeStatus { get; set; }
/// <summary>
/// 0-未反馈,1-已反馈
/// </summary>
public int FanKuiStatus { get; set; }
} }
} }
\ No newline at end of file
...@@ -25,7 +25,7 @@ namespace Edu.Model.Entity.EduTask ...@@ -25,7 +25,7 @@ namespace Edu.Model.Entity.EduTask
public int CourseId { get; set; } public int CourseId { get; set; }
/// <summary> /// <summary>
/// 调动类型(1-课程,2-老师,3-教室) /// 调动类型(1-课程,2-老师,3-教室,4-取消课程)
/// </summary> /// </summary>
public int ChangeType { get; set; } public int ChangeType { get; set; }
......
...@@ -23,14 +23,14 @@ namespace Edu.Model.Entity.System ...@@ -23,14 +23,14 @@ namespace Edu.Model.Entity.System
/// <summary> /// <summary>
/// 节假日开始时间 /// 节假日开始时间
/// </summary> /// </summary>
public DateTime StartTime { get; set; } public DateTime? StartTime { get; set; }
/// <summary> /// <summary>
/// 节假日结束时间 /// 节假日结束时间
/// </summary> /// </summary>
public DateTime EndTime { get; set; } public DateTime? EndTime { get; set; }
/// <summary> /// <summary>
......
...@@ -114,6 +114,11 @@ namespace Edu.Model.ViewModel.Course ...@@ -114,6 +114,11 @@ namespace Edu.Model.ViewModel.Course
/// </summary> /// </summary>
public string OpenTimeStr { get; set; } public string OpenTimeStr { get; set; }
/// <summary>
/// 预计完成时间
/// </summary>
public string FinishTimeStr { get; set; }
/// <summary> /// <summary>
/// 开班开始时间 /// 开班开始时间
/// </summary> /// </summary>
...@@ -226,6 +231,11 @@ namespace Edu.Model.ViewModel.Course ...@@ -226,6 +231,11 @@ namespace Edu.Model.ViewModel.Course
/// </summary> /// </summary>
public int UsePlanNum { get; set; } public int UsePlanNum { get; set; }
/// <summary>
/// 多个课程状态(如:2,3)
/// </summary>
public string MoreStatus { get; set; }
/// <summary> /// <summary>
/// 是否查询剩余的上课计划 /// 是否查询剩余的上课计划
/// </summary> /// </summary>
......
...@@ -278,6 +278,7 @@ namespace Edu.Module.Course ...@@ -278,6 +278,7 @@ namespace Edu.Module.Course
//课程计划上课日期 //课程计划上课日期
foreach (var item in list) foreach (var item in list)
{ {
item.FinishTimeStr = Common.ConvertHelper.FormatDate(item.EndClassDate);
item.NewPlanDateTime = classTimeList?.Where(qitem => qitem.ClassId == item.ClassId)?.FirstOrDefault()?.NewPlanDateTime; item.NewPlanDateTime = classTimeList?.Where(qitem => qitem.ClassId == item.ClassId)?.FirstOrDefault()?.NewPlanDateTime;
item.OrderStudentCount = classOrderList?.Where(qitem => qitem.ClassId == item.ClassId)?.FirstOrDefault()?.GuestNum ?? 0; item.OrderStudentCount = classOrderList?.Where(qitem => qitem.ClassId == item.ClassId)?.FirstOrDefault()?.GuestNum ?? 0;
if (isGetStepPrice) if (isGetStepPrice)
...@@ -1743,6 +1744,19 @@ namespace Edu.Module.Course ...@@ -1743,6 +1744,19 @@ namespace Edu.Module.Course
return list; return list;
} }
/// <summary>
/// 获取上课计划
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetClassPlanList_V3(RB_Class_Plan_ViewModel query)
{
var list = class_PlanRepository.GetClassPlanList_V2(query);
return list;
}
/// <summary> /// <summary>
/// 获取学生列表 /// 获取学生列表
/// </summary> /// </summary>
...@@ -1859,8 +1873,16 @@ namespace Edu.Module.Course ...@@ -1859,8 +1873,16 @@ namespace Edu.Module.Course
{ {
LessonPlanId = ClassLessonPlanRepository.Insert(item); LessonPlanId = ClassLessonPlanRepository.Insert(item);
flag = LessonPlanId > 0; flag = LessonPlanId > 0;
}
}
if (flag)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Class_Plan_ViewModel.BeiKeStatus),1},
};
class_PlanRepository.Update(fileds, new WhereHelper(nameof(RB_Class_Plan_ViewModel.ClassPlanId), item.ClassPlanId));
}
foreach (var itemDetails in item.LessonPlanDetailsList) foreach (var itemDetails in item.LessonPlanDetailsList)
{ {
itemDetails.LessonPlanId = LessonPlanId; itemDetails.LessonPlanId = LessonPlanId;
...@@ -1947,6 +1969,14 @@ namespace Edu.Module.Course ...@@ -1947,6 +1969,14 @@ namespace Edu.Module.Course
flag = ClassLessonPlanRepository.Update(fileds, new WhereHelper(nameof(RB_Class_LessonPlan_ViewModel.LessonPlanId), item.LessonPlanId)); flag = ClassLessonPlanRepository.Update(fileds, new WhereHelper(nameof(RB_Class_LessonPlan_ViewModel.LessonPlanId), item.LessonPlanId));
} }
} }
if (flag)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Class_Plan_ViewModel.FanKuiStatus),1},
};
class_PlanRepository.Update(fileds, new WhereHelper(nameof(RB_Class_Plan_ViewModel.ClassPlanId), model.LessonPlanList.FirstOrDefault().ClassPlanId));
}
} }
return flag; return flag;
} }
...@@ -2983,11 +3013,12 @@ namespace Edu.Module.Course ...@@ -2983,11 +3013,12 @@ namespace Edu.Module.Course
item.RoomName, item.RoomName,
item.TeacherName, item.TeacherName,
item.TotalPlanNum, item.TotalPlanNum,
ClassDate = item.ClassDate.ToString("yyyy-MM-dd"),
item.Ranks, item.Ranks,
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)?.Select(qitem => new { qitem.GuestName }) : visitorList?.Where(qitem => qitem.ReserveClassId == item.ClassTimeId)?.Select(qitem => new { GuestName = qitem.VisitorName }),
}); });
} }
...@@ -3055,6 +3086,7 @@ namespace Edu.Module.Course ...@@ -3055,6 +3086,7 @@ namespace Edu.Module.Course
#region 教师-我的班级 #region 教师-我的班级
/// <summary> /// <summary>
/// 获取班级分页列表 /// 获取班级分页列表
...@@ -3067,19 +3099,24 @@ namespace Edu.Module.Course ...@@ -3067,19 +3099,24 @@ namespace Edu.Module.Course
/// <returns></returns> /// <returns></returns>
public List<RB_Class_ViewModel> GetTeacherClassPageList(int pageIndex, int pageSize, out long rowsCount, RB_Class_ViewModel query, bool isGetStepPrice = false) public List<RB_Class_ViewModel> GetTeacherClassPageList(int pageIndex, int pageSize, out long rowsCount, RB_Class_ViewModel query, bool isGetStepPrice = false)
{ {
var list = classRepository.GetTeacherClassPageList(pageIndex, pageSize, out rowsCount, query); var list = classRepository.GetClassPageListRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
var classTimeList = new List<RB_Class_Time_ViewModel>(); var classTimeList = new List<RB_Class_Time_ViewModel>();
// var classOrderList = new List<RB_Order_ViewModel>(); // var classOrderList = new List<RB_Order_ViewModel>();
var stepPriceList = new List<RB_Class_StepPrice_ViewModel>(); var stepPriceList = new List<RB_Class_StepPrice_ViewModel>();
var otherCourseList = new List<RB_Class_Course_Extend>(); var otherCourseList = new List<RB_Class_Course_Extend>();
var maxPlanDateList = new List<RB_Class_Plan_ViewModel>();
string ids = string.Join(",", list.Select(qitem => qitem.ClassId)); string ids = string.Join(",", list.Select(qitem => qitem.ClassId));
if (!string.IsNullOrEmpty(ids)) if (!string.IsNullOrEmpty(ids))
{ {
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 });
maxPlanDateList = class_PlanRepository.GetClassPlanMaxDataRepository(new RB_Class_Plan_ViewModel()
{
QClassIds = ids
});
} }
if (isGetStepPrice) if (isGetStepPrice)
{ {
...@@ -3089,6 +3126,8 @@ namespace Edu.Module.Course ...@@ -3089,6 +3126,8 @@ namespace Edu.Module.Course
//课程计划上课日期 //课程计划上课日期
foreach (var item in list) foreach (var item in list)
{ {
var finish = maxPlanDateList?.Where(qitem => qitem.ClassId == item.ClassId)?.FirstOrDefault()?.ClassDate;
item.FinishTimeStr = Common.ConvertHelper.FormatDate(finish);
item.NewPlanDateTime = classTimeList?.Where(qitem => qitem.ClassId == item.ClassId)?.FirstOrDefault()?.NewPlanDateTime; item.NewPlanDateTime = classTimeList?.Where(qitem => qitem.ClassId == item.ClassId)?.FirstOrDefault()?.NewPlanDateTime;
if (isGetStepPrice) if (isGetStepPrice)
......
using Edu.Model.ViewModel.EduTask; using Edu.Model.Entity.EduTask;
using Edu.Model.ViewModel.EduTask;
using Edu.Repository.EduTask; using Edu.Repository.EduTask;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using VT.FW.AOP.CustomerAttribute;
using VT.FW.DB; using VT.FW.DB;
namespace Edu.Module.EduTask namespace Edu.Module.EduTask
...@@ -12,6 +14,11 @@ namespace Edu.Module.EduTask ...@@ -12,6 +14,11 @@ namespace Edu.Module.EduTask
/// </summary> /// </summary>
public class ChangeClassPlanModule public class ChangeClassPlanModule
{ {
/// <summary>
/// 教务单据仓储层对象
/// </summary>
private readonly RB_Education_ReceiptRepository education_ReceiptRepository = new RB_Education_ReceiptRepository();
/// <summary> /// <summary>
/// 调课计划仓储层对象 /// 调课计划仓储层对象
/// </summary> /// </summary>
...@@ -32,7 +39,8 @@ namespace Edu.Module.EduTask ...@@ -32,7 +39,8 @@ namespace Edu.Module.EduTask
/// 新增修改调课计划 /// 新增修改调课计划
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public bool SetChangeClassPlanModule(RB_Change_ClassPlan_ViewModel extModel) [TransactionCallHandler]
public virtual bool SetChangeClassPlanModule(RB_Change_ClassPlan_ViewModel extModel)
{ {
bool flag = false; bool flag = false;
if (extModel.Id > 0) if (extModel.Id > 0)
...@@ -53,6 +61,24 @@ namespace Edu.Module.EduTask ...@@ -53,6 +61,24 @@ namespace Edu.Module.EduTask
var newId = change_ClassPlanRepository.Insert(extModel); var newId = change_ClassPlanRepository.Insert(extModel);
extModel.Id = newId; extModel.Id = newId;
flag = newId > 0; flag = newId > 0;
if (flag)
{
var educationReceipt = new RB_Education_Receipt()
{
Id=0,
Title="调课申请",
ReceiptType= Common.Enum.Finance.ReceiptTypeEnum.ChangeClass,
RelationId=newId,
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.Finance.WFRrocessStatus.NotAudit
};
flag= education_ReceiptRepository.SetEducationReceiptRepository(educationReceipt);
}
} }
return flag; return flag;
} }
......
...@@ -41,6 +41,28 @@ namespace Edu.Module.System ...@@ -41,6 +41,28 @@ namespace Edu.Module.System
return holidayRepository.GetDayhList(NowDay); return holidayRepository.GetDayhList(NowDay);
} }
/// <summary>
/// 判断某一个时间段是否在节假日里
/// </summary>
/// <param name="NowDay"></param>
/// <returns></returns>
public List<RB_System_Holiday> GetExistHoliday(string startTime, string endTime)
{
return holidayRepository.GetExistHoliday(startTime, endTime);
}
/// <summary>
/// 获取节假日详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public RB_System_Holiday GetEntity(object id)
{
return holidayRepository.GetEntity(id);
}
/// <summary> /// <summary>
/// 新增/修改节假日 /// 新增/修改节假日
/// </summary> /// </summary>
......
...@@ -48,6 +48,18 @@ WHERE 1=1 ...@@ -48,6 +48,18 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0} in({1}) ", nameof(RB_Class_ViewModel.ClassId), query.Q_ClassIds); builder.AppendFormat(" AND A.{0} in({1}) ", nameof(RB_Class_ViewModel.ClassId), query.Q_ClassIds);
} }
if (query.School_Id > -1)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.School_Id), query.School_Id);
}
if (query.Teacher_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Teacher_Id), query.Teacher_Id);
}
if (!string.IsNullOrEmpty(query.MoreStatus))
{
builder.AppendFormat(" AND A.{0} in({1}) ", nameof(RB_Class_ViewModel.ClassStatus), query.MoreStatus);
}
//查询未报满的班级 //查询未报满的班级
if (query.IsQuerySurplus == 1) if (query.IsQuerySurplus == 1)
{ {
...@@ -189,12 +201,14 @@ WHERE 1=1 ...@@ -189,12 +201,14 @@ WHERE 1=1
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.*,B.CourseName,C.AssistName,IFNULL(C.AssistIcon,'') AS AssistIcon,D.TeacherName,IFNULL(D.TeacherHead,'') AS TeacherHead SELECT A.*,B.CourseName,C.AssistName,IFNULL(C.AssistIcon,'') AS AssistIcon,D.TeacherName,IFNULL(D.TeacherHead,'') AS TeacherHead
,E.SName AS SchoolName,IFNULL(F.RoomName,'') AS RoomName ,E.SName AS SchoolName,IFNULL(F.RoomName,'') AS RoomName,plan.TotalPlanNum,ySplan.UsePlanNum
FROM rb_class AS A LEFT JOIN rb_course AS B ON A.CouseId=B.CourseId FROM rb_class AS A LEFT JOIN rb_course AS B ON A.CouseId=B.CourseId
LEFT JOIN rb_assist AS C ON A.Assist_Id=C.AId LEFT JOIN rb_assist AS C ON A.Assist_Id=C.AId
LEFT JOIN rb_teacher AS D ON A.Teacher_Id=D.TId LEFT JOIN rb_teacher AS D ON A.Teacher_Id=D.TId
LEFT JOIN rb_school AS E ON A.School_Id=E.SId LEFT JOIN rb_school AS E ON A.School_Id=E.SId
LEFT JOIN rb_class_room AS F ON A.ClassRoomId=F.RoomId LEFT JOIN rb_class_room AS F ON A.ClassRoomId=F.RoomId
LEFT JOIN ((SELECT ClassId,COUNT(*) AS TotalPlanNum FROM rb_class_plan where `Status`=0 GROUP BY ClassId)) as plan on plan.ClassId=a.ClassId
LEFT JOIN ((SELECT ClassId,COUNT(*) AS UsePlanNum FROM rb_class_plan where `Status`=0 and DATE_FORMAT(ClassDate,'%Y-%m-%d') <=DATE_FORMAT(NOW(),'%Y-%m-%d') GROUP BY ClassId)) as ySplan on ySplan.ClassId=a.ClassId
WHERE 1=1 WHERE 1=1
"); ");
if (query != null) if (query != null)
...@@ -249,7 +263,7 @@ WHERE 1=1 ...@@ -249,7 +263,7 @@ WHERE 1=1
} }
if (query.Teacher_Id > 0) if (query.Teacher_Id > 0)
{ {
builder.AppendFormat(" AND D.{0}<>{1} ", nameof(RB_Teacher_ViewModel.TId), query.Teacher_Id); builder.AppendFormat(" AND D.{0}={1} ", nameof(RB_Teacher_ViewModel.TId), query.Teacher_Id);
} }
} }
return GetPage<RB_Class_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList(); return GetPage<RB_Class_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
...@@ -509,87 +523,6 @@ where a.`Status`=0 and a.IsSubscribe=1 and ClassStatus in(1,2)"); ...@@ -509,87 +523,6 @@ where a.`Status`=0 and a.IsSubscribe=1 and ClassStatus in(1,2)");
} }
#region 教师-我的班级
/// <summary>
/// 获取班级分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Class_ViewModel> GetTeacherClassPageList(int pageIndex, int pageSize, out long rowsCount, RB_Class_ViewModel query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT plan.TotalPlanNum,ySplan.UsePlanNum,A.*,B.CourseName,C.AssistName,IFNULL(C.AssistIcon,'') AS AssistIcon,D.TeacherName,IFNULL(D.TeacherHead,'') AS TeacherHead
,E.SName AS SchoolName,IFNULL(F.RoomName,'') AS RoomName
FROM rb_class AS A LEFT JOIN rb_course AS B ON A.CouseId=B.CourseId
LEFT JOIN rb_assist AS C ON A.Assist_Id=C.AId
LEFT JOIN rb_teacher AS D ON A.Teacher_Id=D.TId
LEFT JOIN rb_school AS E ON A.School_Id=E.SId
LEFT JOIN rb_class_room AS F ON A.ClassRoomId=F.RoomId
LEFT JOIN ((SELECT ClassId,COUNT(*) as TotalPlanNum from rb_class_plan where `Status`=0 GROUP BY ClassId)) as plan on plan.ClassId=a.ClassId
LEFT JOIN ((SELECT ClassId,COUNT(*) as UsePlanNum from rb_class_plan where `Status`=0 and DATE_FORMAT(ClassDate,'%Y-%m-%d') <=DATE_FORMAT(NOW(),'%Y-%m-%d') GROUP BY ClassId)) as ySplan on ySplan.ClassId=a.ClassId
WHERE 1=1 ");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.School_Id), query.School_Id);
}
if (query.Status >= 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Status), (int)query.Status);
}
if (query.ClassStatus > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.ClassStatus), (int)query.ClassStatus);
}
if (!string.IsNullOrWhiteSpace(query.ClassName))
{
builder.AppendFormat(" AND A.{0} LIKE @ClassName ", nameof(RB_Class_ViewModel.ClassName));
parameters.Add("ClassName", "%" + query.ClassName.Trim() + "%");
}
if (!string.IsNullOrWhiteSpace(query.CourseName))
{
builder.AppendFormat(" AND B.{0} LIKE @CourseName ", nameof(RB_Course_ViewModel.CourseName));
parameters.Add("CourseName", "%" + query.CourseName.Trim() + "%");
}
if (!string.IsNullOrWhiteSpace(query.AssistName))
{
builder.AppendFormat(" AND C.{0} LIKE @AssistName ", nameof(RB_Assist_ViewModel.AssistName));
parameters.Add("AssistName", "%" + query.AssistName.Trim() + "%");
}
if (!string.IsNullOrWhiteSpace(query.TeacherName))
{
builder.AppendFormat(" AND D.{0} LIKE @TeacherName ", nameof(RB_Teacher_ViewModel.TeacherName));
parameters.Add("TeacherName", "%" + query.TeacherName.Trim() + "%");
}
if (!string.IsNullOrEmpty(query.StartTime))
{
builder.AppendFormat(" AND A.{0}>='{1}' ", nameof(RB_Class_ViewModel.OpenTime), query.StartTime);
}
if (!string.IsNullOrEmpty(query.EndTime))
{
builder.AppendFormat(" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Class_ViewModel.OpenTime), query.EndTime);
}
if (query.OldClassId > 0)
{
builder.AppendFormat(" AND A.{0}<>{1} ", nameof(RB_Class_ViewModel.ClassId), query.OldClassId);
}
if (query.Teacher_Id > 0)
{
builder.AppendFormat(" AND D.{0}={1} ", nameof(RB_Teacher_ViewModel.TId), query.Teacher_Id);
}
}
return GetPage<RB_Class_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
#endregion
} }
} }
\ No newline at end of file
...@@ -493,7 +493,7 @@ ORDER BY p.ClassDate ASC ...@@ -493,7 +493,7 @@ ORDER BY p.ClassDate ASC
} }
if (StudentId > 0) if (StudentId > 0)
{ {
where += $@" and t2.StudentId ={StudentId}"; where += $@" and t2.Id ={StudentId}";
} }
if (!string.IsNullOrEmpty(contractNo)) if (!string.IsNullOrEmpty(contractNo))
{ {
......
...@@ -58,7 +58,7 @@ WHERE 1=1 ...@@ -58,7 +58,7 @@ WHERE 1=1
} }
if (!string.IsNullOrEmpty(query.StartTime)) if (!string.IsNullOrEmpty(query.StartTime))
{ {
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y/%m')>='{1}' ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.StartTime); builder.AppendFormat(" AND A.{0}>='{1}' ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.StartTime);
} }
if (!string.IsNullOrEmpty(query.EndTime)) if (!string.IsNullOrEmpty(query.EndTime))
{ {
...@@ -289,6 +289,37 @@ where a.`Status`=0 and c.ClassStatus in(2,3) and c.`Status`=0"); ...@@ -289,6 +289,37 @@ where a.`Status`=0 and c.ClassStatus in(2,3) and c.`Status`=0");
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList(); return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
} }
/// <summary>
/// 获取班级最后一次上课日期
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetClassPlanMaxDataRepository(RB_Class_Plan_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.ClassId,MAX(A.ClassDate) AS ClassDate
FROM rb_class_plan AS A
WHERE 1=1 ");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Group_Id), query.Group_Id);
}
if (query.ClassId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
}
if (!string.IsNullOrEmpty(query.QClassIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Class_Plan_ViewModel.ClassId), query.QClassIds);
}
}
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
}
/// <summary> /// <summary>
...@@ -370,16 +401,18 @@ WHERE p.`Status`=0 AND p.Group_Id={group_Id} AND p.ClassId ={classId} ...@@ -370,16 +401,18 @@ WHERE p.`Status`=0 AND p.Group_Id={group_Id} AND p.ClassId ={classId}
public List<RB_Class_Plan_ViewModel> GetTeacherPlanListRepository(RB_Class_Plan_ViewModel query) public List<RB_Class_Plan_ViewModel> GetTeacherPlanListRepository(RB_Class_Plan_ViewModel query)
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
//builder.AppendFormat(@" builder.AppendFormat(@"
// SELECT A.*,class.ClassName,lp.LessonPlanNum,lps.LessonPlanSummaryNum,IFNULL(B.RoomName,'') AS RoomName,IFNULL(T.TeacherName,'') AS TeacherName,IFNULL(T.TeacherHead,'') AS UserIcon SELECT * from (SELECT
// FROM RB_Class_Plan AS A LEFT JOIN rb_class_room AS B ON A.ClassRoomId=B.RoomId (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,
// LEFT JOIN rb_class as class on a.ClassId=class.ClassId A.*,class.ClassName,lp.LessonPlanNum,lps.LessonPlanSummaryNum,IFNULL(B.RoomName,'') AS RoomName,IFNULL(T.TeacherName,'') AS TeacherName,IFNULL(T.TeacherHead,'') AS UserIcon
// LEFT JOIN rb_teacher AS T ON A.TeacherId=T.TId FROM RB_Class_Plan AS A LEFT JOIN rb_class_room AS B ON A.ClassRoomId=B.RoomId
// 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 rb_class as class on a.ClassId=class.ClassId
//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 rb_teacher AS T ON A.TeacherId=T.TId
//WHERE 1=1 and class.ClassStatus=2 and t.`Status`=0 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
// builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)DateStateEnum.Normal); WHERE 1=1 and class.ClassStatus=2 and t.`Status`=0 and a.`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);
if (query != null) if (query != null)
{ {
if (query.ClassId > 0) if (query.ClassId > 0)
...@@ -408,19 +441,19 @@ WHERE p.`Status`=0 AND p.Group_Id={group_Id} AND p.ClassId ={classId} ...@@ -408,19 +441,19 @@ WHERE p.`Status`=0 AND p.Group_Id={group_Id} AND p.ClassId ={classId}
} }
if (!string.IsNullOrEmpty(query.QMonth)) if (!string.IsNullOrEmpty(query.QMonth))
{ {
builder.AppendFormat(" AND DATE_FORMAT(A.{0},''%y/%m'')= DATE_FORMAT(''{1}-01'',''%y/%m'') ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.QMonth); builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y/%m')= DATE_FORMAT('{1}-01','%y/%m') ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.QMonth);
} }
if (!string.IsNullOrEmpty(query.StartTime)) if (!string.IsNullOrEmpty(query.StartTime))
{ {
builder.AppendFormat(" AND DATE_FORMAT(A.{0},''%y-%m-%d'')>=DATE_FORMAT(''{1}'',''%y-%m-%d'') ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.StartTime); builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y-%m-%d')>=DATE_FORMAT('{1}','%y-%m-%d') ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.StartTime);
} }
if (!string.IsNullOrEmpty(query.EndTime)) if (!string.IsNullOrEmpty(query.EndTime))
{ {
builder.AppendFormat(" AND DATE_FORMAT(A.{0},''%y-%m-%d'')<=DATE_FORMAT(''{1}'',''%y-%m-%d'') ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.EndTime); builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y-%m-%d')<=DATE_FORMAT('{1}','%y-%m-%d') ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.EndTime);
} }
} }
// return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList(); return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
//// string sql = $@" //// string sql = $@"
////SELECT * from (SELECT IF ////SELECT * from (SELECT IF
...@@ -442,8 +475,8 @@ WHERE p.`Status`=0 AND p.Group_Id={group_Id} AND p.ClassId ={classId} ...@@ -442,8 +475,8 @@ WHERE p.`Status`=0 AND p.Group_Id={group_Id} AND p.ClassId ={classId}
////( SELECT @rank := 0, @class := 0, @score := '2020-01-01', @colum := 0 ) r ////( SELECT @rank := 0, @class := 0, @score := '2020-01-01', @colum := 0 ) r
////WHERE 1=1 and class.ClassStatus=2 and t.`Status`=0 and a.`Status`=0 ORDER BY a.ClassId,a.ClassDate) as a where 1=1 {builder.ToString()} "; ////WHERE 1=1 and class.ClassStatus=2 and t.`Status`=0 and a.`Status`=0 ORDER BY a.ClassId,a.ClassDate) as a where 1=1 {builder.ToString()} ";
string sql = $@"CALL proc_GetClassPlanRank('{builder.ToString()}')"; // string sql = $@"CALL proc_GetClassPlanRank('{builder.ToString()}')";
return Get<RB_Class_Plan_ViewModel>(sql).ToList(); // return Get<RB_Class_Plan_ViewModel>(sql).ToList();
} }
......
...@@ -5,6 +5,7 @@ using System.Collections.Generic; ...@@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.Text; using System.Text;
using System.Linq; using System.Linq;
using VT.FW.DB.Dapper; using VT.FW.DB.Dapper;
using VT.FW.DB;
namespace Edu.Repository.EduTask namespace Edu.Repository.EduTask
{ {
...@@ -44,5 +45,32 @@ WHERE 1=1 ...@@ -44,5 +45,32 @@ WHERE 1=1
} }
return GetPage<RB_Education_Receipt_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList(); return GetPage<RB_Education_Receipt_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
} }
/// <summary>
/// 新增修改教务单据
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetEducationReceiptRepository(RB_Education_Receipt model)
{
bool flag = false;
if (model.Id > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Education_Receipt.UpdateBy),model.UpdateBy },
{nameof(RB_Education_Receipt.UpdateTime),model.UpdateTime },
};
flag = base.Update(fileds, new WhereHelper(nameof(RB_Education_Receipt.Id),model.Id));
}
else
{
var newId = base.Insert(model);
model.Id = newId;
flag = newId > 0;
}
return flag;
}
} }
} }
...@@ -6,7 +6,7 @@ using Edu.Model.Entity.System; ...@@ -6,7 +6,7 @@ using Edu.Model.Entity.System;
namespace Edu.Repository.System namespace Edu.Repository.System
{ {
public class RB_System_HolidayRepository:BaseRepository<RB_System_Holiday> public class RB_System_HolidayRepository : BaseRepository<RB_System_Holiday>
{ {
/// <summary> /// <summary>
/// 表名称 /// 表名称
...@@ -34,6 +34,20 @@ namespace Edu.Repository.System ...@@ -34,6 +34,20 @@ namespace Edu.Repository.System
sb.AppendFormat(" AND A.{0}={1} ", nameof(RB_System_Holiday.HolidayId), model.HolidayId); sb.AppendFormat(" AND A.{0}={1} ", nameof(RB_System_Holiday.HolidayId), model.HolidayId);
} }
if (model.Group_Id > 0)
{
sb.AppendFormat(" AND A.{0}={1} ", nameof(RB_System_Holiday.Group_Id), model.Group_Id);
}
if (model.StartTime.HasValue)
{
sb.AppendFormat(" AND DATE_FORMAT(A.{0}, '%y/%m/%d') >= DATE_FORMAT('{1}', '%y/%m/%d') ", nameof(RB_System_Holiday.StartTime), model.StartTime.Value.ToString("yyyy-MM-dd"));
}
if (model.EndTime.HasValue)
{
sb.AppendFormat(" AND DATE_FORMAT(A.{0}, '%y/%m/%d') <= DATE_FORMAT('{1}', '%y/%m/%d') ", nameof(RB_System_Holiday.StartTime), model.EndTime.Value.ToString("yyyy-MM-dd"));
}
if (model.Group_Id > 0) if (model.Group_Id > 0)
{ {
sb.AppendFormat(" AND A.{0}={1} ", nameof(RB_System_Holiday.Group_Id), model.Group_Id); sb.AppendFormat(" AND A.{0}={1} ", nameof(RB_System_Holiday.Group_Id), model.Group_Id);
...@@ -60,5 +74,26 @@ namespace Edu.Repository.System ...@@ -60,5 +74,26 @@ namespace Edu.Repository.System
return Get<RB_System_Holiday>(sql).ToList(); return Get<RB_System_Holiday>(sql).ToList();
} }
/// <summary>
/// 判断某一个时间段是否在节假日里
/// </summary>
/// <param name="NowDay"></param>
/// <returns></returns>
public List<RB_System_Holiday> GetExistHoliday(string startTime, string endTime)
{
string sql = $@"SELECT * FROM RB_System_Holiday WHERE `Status` = 0 and
(( DATE_FORMAT(StartTime, '%y/%m/%d') <= DATE_FORMAT('{startTime}', '%y/%m/%d')
AND DATE_FORMAT(EndTime, '%y/%m/%d') >= DATE_FORMAT('{startTime}', '%y/%m/%d'))
or ( DATE_FORMAT(StartTime, '%y/%m/%d') <= DATE_FORMAT('{endTime}', '%y/%m/%d')
AND DATE_FORMAT(EndTime, '%y/%m/%d') >= DATE_FORMAT('{endTime}', '%y/%m/%d'))
or (DATE_FORMAT(EndTime, '%y/%m/%d') <= DATE_FORMAT('{endTime}', '%y/%m/%d'))
) ";
return Get<RB_System_Holiday>(sql).ToList();
}
} }
} }
...@@ -67,6 +67,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -67,6 +67,7 @@ namespace Edu.WebApi.Controllers.Course
item.ClassName, item.ClassName,
item.School_Id, item.School_Id,
item.SchoolName, item.SchoolName,
item.CouseId,
item.CourseName, item.CourseName,
item.Teacher_Id, item.Teacher_Id,
item.TeacherName, item.TeacherName,
...@@ -79,7 +80,8 @@ namespace Edu.WebApi.Controllers.Course ...@@ -79,7 +80,8 @@ namespace Edu.WebApi.Controllers.Course
item.ClassStatus, item.ClassStatus,
item.Status, item.Status,
item.OtherCourseList, item.OtherCourseList,
item.ClassNo item.ClassNo,
item.FinishTimeStr
}); });
} }
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
...@@ -124,13 +126,18 @@ namespace Edu.WebApi.Controllers.Course ...@@ -124,13 +126,18 @@ namespace Edu.WebApi.Controllers.Course
int IsAddDefault = base.ParmJObj.GetInt("IsAddDefault"); int IsAddDefault = base.ParmJObj.GetInt("IsAddDefault");
var query = new RB_Class_ViewModel() var query = new RB_Class_ViewModel()
{ {
CouseId = base.ParmJObj.GetInt("CourseId"), CouseId = base.ParmJObj.GetInt("CourseId",0),
IsQuerySurplus = base.ParmJObj.GetInt("IsQuerySurplus"), IsQuerySurplus = base.ParmJObj.GetInt("IsQuerySurplus"),
School_Id = base.ParmJObj.GetInt("SchoolId",-1),
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.Group_Id = base.UserInfo.Group_Id; query.Group_Id = base.UserInfo.Group_Id;
query.School_Id = base.UserInfo.School_Id; //if (query.School_Id == -1)
//{
// query.School_Id = base.UserInfo.School_Id;
//}
var list = classModule.GetClassListModule(query); var list = classModule.GetClassListModule(query);
List<object> result = new List<object>(); List<object> result = new List<object>();
...@@ -1701,11 +1708,11 @@ namespace Edu.WebApi.Controllers.Course ...@@ -1701,11 +1708,11 @@ namespace Edu.WebApi.Controllers.Course
foreach (var item in plan.Where(x => x.TeacherId == itemGroup.Key.TeacherId && x.ClassId == itemGroup.Key.ClassId)) foreach (var item in plan.Where(x => x.TeacherId == itemGroup.Key.TeacherId && x.ClassId == itemGroup.Key.ClassId))
{ {
if (plan.Where(x => x.LessonPlanNum > 0).Count() < plan.Count() && plan.Where(x => x.LessonPlanNum > 0).Count() > 0) if (plan.Where(x => x.BeiKeStatus > 0).Count() < plan.Count() && plan.Where(x => x.BeiKeStatus > 0).Count() > 0)
{ {
IsLessonStatus = 1; IsLessonStatus = 1;
} }
else if (plan.Where(x => x.LessonPlanNum > 0).Count() == plan.Count()) else if (plan.Where(x => x.BeiKeStatus > 0).Count() == plan.Count())
{ {
IsLessonStatus = 2; IsLessonStatus = 2;
} }
...@@ -1717,11 +1724,11 @@ namespace Edu.WebApi.Controllers.Course ...@@ -1717,11 +1724,11 @@ namespace Edu.WebApi.Controllers.Course
foreach (var itemTime in item.PlanTimeList) foreach (var itemTime in item.PlanTimeList)
{ {
int IsPlanLessonStatus = 0;//0-未备课,1-部分,2-全部 int IsPlanLessonStatus = 0;//0-未备课,1-部分,2-全部
if (plan.Where(x => x.LessonPlanNum > 0 && x.ClassPlanId == itemTime.ClassPlanId).Count() < plan.Where(x => x.ClassPlanId == itemTime.ClassPlanId).Count() && plan.Where(x => x.LessonPlanNum > 0 && x.ClassPlanId == itemTime.ClassPlanId).Count() > 0) if (plan.Where(x => x.BeiKeStatus > 0 && x.ClassPlanId == itemTime.ClassPlanId).Count() < plan.Where(x => x.ClassPlanId == itemTime.ClassPlanId).Count() && plan.Where(x => x.BeiKeStatus > 0 && x.ClassPlanId == itemTime.ClassPlanId).Count() > 0)
{ {
IsPlanLessonStatus = 1; IsPlanLessonStatus = 1;
} }
else if (plan.Where(x => x.LessonPlanNum > 0 && x.ClassPlanId == itemTime.ClassPlanId).Count() == plan.Where(x => x.ClassPlanId == itemTime.ClassPlanId).Count()) else if (plan.Where(x => x.BeiKeStatus > 0 && x.ClassPlanId == itemTime.ClassPlanId).Count() == plan.Where(x => x.ClassPlanId == itemTime.ClassPlanId).Count())
{ {
IsPlanLessonStatus = 2; IsPlanLessonStatus = 2;
} }
...@@ -1779,8 +1786,8 @@ namespace Edu.WebApi.Controllers.Course ...@@ -1779,8 +1786,8 @@ namespace Edu.WebApi.Controllers.Course
planListResult.Add(new planListResult.Add(new
{ {
LessonPlanNum = plan.Where(x => x.ClassId == itemGroup.Key.ClassId && x.TeacherId == itemGroup.Key.TeacherId).FirstOrDefault()?.LessonPlanNum ?? 0, LessonPlanNum = plan.Where(x => x.ClassId == itemGroup.Key.ClassId && x.TeacherId == itemGroup.Key.TeacherId).FirstOrDefault()?.BeiKeStatus ?? 0,
LessonPlanSummaryNum = plan.Where(x => x.ClassId == itemGroup.Key.ClassId && x.TeacherId == itemGroup.Key.TeacherId).FirstOrDefault()?.LessonPlanSummaryNum ?? 0, LessonPlanSummaryNum = plan.Where(x => x.ClassId == itemGroup.Key.ClassId && x.TeacherId == itemGroup.Key.TeacherId).FirstOrDefault()?.FanKuiStatus ?? 0,
Ranks = plan.Where(x => x.ClassId == itemGroup.Key.ClassId && x.TeacherId == itemGroup.Key.TeacherId).FirstOrDefault()?.Ranks ?? -1, Ranks = plan.Where(x => x.ClassId == itemGroup.Key.ClassId && x.TeacherId == itemGroup.Key.TeacherId).FirstOrDefault()?.Ranks ?? -1,
School_Id = plan.Where(x => x.ClassId == itemGroup.Key.ClassId && x.TeacherId == itemGroup.Key.TeacherId).FirstOrDefault()?.School_Id ?? -1, School_Id = plan.Where(x => x.ClassId == itemGroup.Key.ClassId && x.TeacherId == itemGroup.Key.TeacherId).FirstOrDefault()?.School_Id ?? -1,
ClassPlanId = plan.Where(x => x.ClassId == itemGroup.Key.ClassId && x.TeacherId == itemGroup.Key.TeacherId).FirstOrDefault()?.ClassPlanId ?? -1, ClassPlanId = plan.Where(x => x.ClassId == itemGroup.Key.ClassId && x.TeacherId == itemGroup.Key.TeacherId).FirstOrDefault()?.ClassPlanId ?? -1,
......
...@@ -69,6 +69,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -69,6 +69,7 @@ namespace Edu.WebApi.Controllers.Course
x.ClassName, x.ClassName,
x.ClassNo, x.ClassNo,
x.CourseName, x.CourseName,
x.CouseId,
x.CourseFeature, x.CourseFeature,
x.ClassHours, x.ClassHours,
x.TeacherName, x.TeacherName,
......
...@@ -52,7 +52,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -52,7 +52,7 @@ namespace Edu.WebApi.Controllers.Course
}; };
query.Group_Id = base.UserInfo.Group_Id; query.Group_Id = base.UserInfo.Group_Id;
List<object> result = new List<object>(); List<object> result = new List<object>();
var list = classModule.GetTeacherClassPageList(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query); var list = classModule.GetClassPageListModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list) foreach (var item in list)
{ {
if (item.CreateBy > 0) if (item.CreateBy > 0)
...@@ -81,7 +81,9 @@ namespace Edu.WebApi.Controllers.Course ...@@ -81,7 +81,9 @@ namespace Edu.WebApi.Controllers.Course
item.ClassStatus, item.ClassStatus,
item.Status, item.Status,
item.OtherCourseList, item.OtherCourseList,
item.ClassNo item.ClassNo,
item.CouseId,
item.FinishTimeStr,
}); });
} }
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
...@@ -234,7 +236,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -234,7 +236,7 @@ namespace Edu.WebApi.Controllers.Course
{ {
if (item.EnterID > 0) if (item.EnterID > 0)
{ {
item.EnterName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? ""; item.EnterName = UserReidsCache.GetUserLoginInfo(item.EnterID)?.AccountName ?? "";
} }
result.Add(new result.Add(new
{ {
......
using Edu.Common.API;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.EduTask;
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 ChangePlanController : BaseController
{
/// <summary>
/// 调课处理类对象
/// </summary>
private readonly ChangeClassPlanModule changeClassPlanModule = AOP.AOPHelper.CreateAOPObject<ChangeClassPlanModule>();
/// <summary>
/// 新增修改班级调课
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetChangeClassPlan()
{
var model = new RB_Change_ClassPlan_ViewModel()
{
Id=base.ParmJObj.GetInt("Id"),
ClassId=base.ParmJObj.GetInt("ClassId"),
CourseId=base.ParmJObj.GetInt("CourseId"),
ChangeType=base.ParmJObj.GetInt("ChangeType"),
MoveType=base.ParmJObj.GetInt("MoveType"),
SourceData=base.ParmJObj.GetStringValue("SourceData"),
TargetData=base.ParmJObj.GetStringValue("TargetData"),
};
model.Group_Id = base.UserInfo.Group_Id;
model.School_Id = base.UserInfo.School_Id;
model.CreateBy = base.UserInfo.Id;
model.CreateTime = DateTime.Now;
model.UpdateBy = base.UserInfo.Id;
model.UpdateTime = DateTime.Now;
bool flag = changeClassPlanModule.SetChangeClassPlanModule(model);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
}
}
using Edu.Common.API;
using Edu.Model.ViewModel.EduTask;
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 EducationReceiptController : BaseController
{
/// <summary>
/// 教务单据处理类对象
/// </summary>
private readonly EducationReceiptModule educationReceiptModule = AOP.AOPHelper.CreateAOPObject<EducationReceiptModule>();
/// <summary>
/// 获取教务单据分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetEducationReceiptPage()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new EducationReceiptQuery()
{
Group_Id = base.UserInfo.Group_Id,
};
var list = educationReceiptModule.GetEducationReceiptPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
pageModel.PageData = list;
pageModel.Count = rowsCount;
return ApiResult.Success(data: pageModel);
}
}
}
...@@ -72,5 +72,50 @@ namespace Edu.WebApi.Controllers.Public ...@@ -72,5 +72,50 @@ namespace Edu.WebApi.Controllers.Public
var flag = basicFlowModule.SetFlowModule(extModel); var flag = basicFlowModule.SetFlowModule(extModel);
return flag ? ApiResult.Success(data: extModel) : ApiResult.Failed(); return flag ? ApiResult.Success(data: extModel) : ApiResult.Failed();
} }
/// <summary>
/// 获取调课流程
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetChangeClassFlow()
{
var FlowId = base.ParmJObj.GetInt("FlowId");
var flowModel = basicFlowModule.GetFlowModule(FlowId);
return ApiResult.Success(data: flowModel);
}
/// <summary>
/// 新增修改调课流程
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetChangeClassFlow()
{
var extModel = new RB_Flow_ViewModel()
{
FlowId = base.ParmJObj.GetInt("FlowId"),
FlowName = base.ParmJObj.GetStringValue("FlowName"),
Group_Id = base.UserInfo.Group_Id,
CreateBy = base.UserInfo.Id,
CreateTime = DateTime.Now,
Status = Common.Enum.DateStateEnum.Normal,
UpdateBy = base.UserInfo.Id,
UpdateTime = DateTime.Now,
};
if (!string.IsNullOrEmpty(base.ParmJObj.GetStringValue("FlowNodeList")))
{
try
{
extModel.FlowNodeList = Common.Plugin.JsonHelper.DeserializeObject<List<RB_Flow_Node_ViewModel>>(base.ParmJObj.GetStringValue("FlowNodeList"));
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "SetChangeClassFlow_FlowNodeList");
}
}
var flag = basicFlowModule.SetFlowModule(extModel);
return flag ? ApiResult.Success(data: extModel) : ApiResult.Failed();
}
} }
} }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Edu.Common.API;
using Edu.Common.Plugin;
using Edu.Model.CacheModel;
using Edu.Model.Entity.System;
using Edu.Module.System;
using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
namespace Edu.WebApi.Controllers.Public
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class HolidayController : BaseController
{
/// <summary>
/// 节假日处理类对象
/// </summary>
private readonly HolidayModule holidayModule = new HolidayModule();
/// <summary>
/// 班级处理类对象
/// </summary>
private readonly Module.Course.ClassModule classModule = new Module.Course.ClassModule();
#region 节假日管理
/// <summary>
/// 新增修改广告基础信息
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public ApiResult SetHoliday()
{
UserInfo userInfo = base.UserInfo;
var startDate = base.ParmJObj.GetStringValue("StartTime");
var endDate = base.ParmJObj.GetStringValue("EndTime");
if (string.IsNullOrEmpty(startDate))
{
return ApiResult.Failed("节假日开始时间不能为空");
}
if (string.IsNullOrEmpty(endDate))
{
return ApiResult.Failed("节假日结束时间不能为空");
}
RB_System_Holiday dmodel = new RB_System_Holiday
{
DayType = base.ParmJObj.GetInt("DayType", 0),
StartTime = Convert.ToDateTime(startDate),
EndTime = Convert.ToDateTime(endDate)
};
if (dmodel.StartTime > dmodel.EndTime)
{
return ApiResult.Failed("节假日开始时间不能大于结束时间");
}
//先判断日期是否已存在
var oldList = holidayModule.GetExistHoliday(startDate, endDate);
if (oldList != null && oldList.Any(x => x.HolidayId != dmodel.HolidayId))
{
return ApiResult.Failed("节假日时间范围重合");
}
if (dmodel.HolidayId == 0)
{
dmodel.CreateDate = System.DateTime.Now;
dmodel.Status = 0;
dmodel.Group_Id = userInfo.Group_Id;
dmodel.School_Id = userInfo.School_Id;
}
bool flag = holidayModule.SetHoliday(dmodel);
if (flag)
{
if (dmodel.DayType == 1)//判断节假日是否有排课计划
{
var planList = classModule.GetClassPlanList_V3(new Model.ViewModel.Course.RB_Class_Plan_ViewModel
{
Group_Id = userInfo.Group_Id,
StartTime = dmodel.StartTime.HasValue ? dmodel.StartTime.Value.ToString("yyyy-MM-dd 00:00:00") : "",
EndTime = dmodel.EndTime.HasValue ? dmodel.EndTime.Value.ToString("yyyy-MM-dd 00:00:00") : ""
});
if (planList != null && planList.Any())
{
return ApiResult.Success("班级:" + string.Join(",", planList.Select(x => x.ClassName)) + "存在排课");
}
}
return ApiResult.Success();
}
else
{
return ApiResult.Failed();
}
}
/// <summary>
/// 删除节假日
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public ApiResult DelHoliday()
{
var HolidayId = base.ParmJObj.GetInt("HolidayId");
if (HolidayId <= 0)
{
return ApiResult.ParamIsNull();
}
var flag = holidayModule.DelHoliday(HolidayId);
if (flag)
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed();
}
}
/// <summary>
/// 获取节假日列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public ApiResult GetHolidayList()
{
UserInfo userInfo = base.UserInfo;
ResultPageModel pmodel = JsonConvert.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var startDate = base.ParmJObj.GetStringValue("StartTime");
var endDate = base.ParmJObj.GetStringValue("EndTime");
RB_System_Holiday dmodel = new RB_System_Holiday
{
DayType = base.ParmJObj.GetInt("DayType", 0)
};
try
{
if (!string.IsNullOrWhiteSpace(startDate))
{
dmodel.StartTime = Convert.ToDateTime(startDate);
}
if (!string.IsNullOrWhiteSpace(endDate))
{
dmodel.EndTime = Convert.ToDateTime(endDate);
}
}
catch (Exception ex)
{
}
List<RB_System_Holiday> list = holidayModule.GetPageList(pmodel.PageIndex, pmodel.PageSize, dmodel, out long count);
pmodel.Count = Convert.ToInt32(count.ToString());
pmodel.PageData = list.Select(x => new
{
x.HolidayId,
StartTime = x.StartTime.HasValue ? x.StartTime.Value.ToString("yyyy-MM-dd") : "",
EndTime = x.EndTime.HasValue ? x.EndTime.Value.ToString("yyyy-MM-dd") : "",
x.DayType
});
return ApiResult.Success("", pmodel);
}
/// <summary>
/// 获取节假日详情
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public ApiResult GetHolidayInfo()
{
int HolidayId = base.ParmJObj.GetInt("HolidayId", 0);
if (HolidayId <= 0)
{
return ApiResult.ParamIsNull();
}
var model = holidayModule.GetEntity(HolidayId);
if (model != null)
{
var obj = new
{
model.HolidayId,
StartTime = model.StartTime.HasValue ? model.StartTime.Value.ToString("yyyy-MM-dd") : "",
EndTime = model.EndTime.HasValue ? model.EndTime.Value.ToString("yyyy-MM-dd") : "",
model.DayType
};
return ApiResult.Success("请求成功!", obj);
}
else
{
return ApiResult.Failed("请求失败,数据不存在!");
}
}
#endregion
}
}
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
<ProjectReference Include="..\Edu.Module.Advertising\Edu.Module.Advertising.csproj" /> <ProjectReference Include="..\Edu.Module.Advertising\Edu.Module.Advertising.csproj" />
<ProjectReference Include="..\Edu.Module.Course\Edu.Module.Course.csproj" /> <ProjectReference Include="..\Edu.Module.Course\Edu.Module.Course.csproj" />
<ProjectReference Include="..\Edu.Module.Duty\Edu.Module.Duty.csproj" /> <ProjectReference Include="..\Edu.Module.Duty\Edu.Module.Duty.csproj" />
<ProjectReference Include="..\Edu.Module.EduTask\Edu.Module.EduTask.csproj" />
<ProjectReference Include="..\Edu.Module.Finance\Edu.Module.Finance.csproj" /> <ProjectReference Include="..\Edu.Module.Finance\Edu.Module.Finance.csproj" />
<ProjectReference Include="..\Edu.Module.OKR\Edu.Module.OKR.csproj" /> <ProjectReference Include="..\Edu.Module.OKR\Edu.Module.OKR.csproj" />
<ProjectReference Include="..\Edu.Module.Public\Edu.Module.Public.csproj" /> <ProjectReference Include="..\Edu.Module.Public\Edu.Module.Public.csproj" />
......
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