Commit 6ed9a120 authored by liudong1993's avatar liudong1993

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

parents 7bffa680 45879014
......@@ -20,6 +20,11 @@ namespace Edu.Model.ViewModel.EduTask
/// 调整新数据信息
/// </summary>
public List<ChangePlanItem> NewChangePlanItemList { get; set; }
/// <summary>
/// 全局修改上课时间
/// </summary>
public AllChangePlanItem AllChangePlanModel { get; set; }
}
public class ChangePlanItem
......@@ -51,4 +56,100 @@ namespace Edu.Model.ViewModel.EduTask
}
/// <summary>
/// 全局调课修改
/// </summary>
public class AllChangePlanItem
{
/// <summary>
/// 总课时
/// </summary>
public decimal ClassHours { get; set; }
/// <summary>
/// 课时分钟数
/// </summary>
public int ClassHourMinute { get; set; }
/// <summary>
/// 开课时间
/// </summary>
public string OpenTimeStr { get; set; }
/// <summary>
/// 老师编号
/// </summary>
public int TeacherId { get; set; }
/// <summary>
/// 教室编号
/// </summary>
public int ClassRoomId { get; set; }
/// 选中的周几/或日期数组
/// </summary>
public List<string> WeekDayList { get; set; }
/// <summary>
///班级计划默认上课时间
/// </summary>
public List<ClassTimeItem> DefaultTimeList { get; set; }
/// <summary>
/// 默认选中的日期、周
/// </summary>
public string DateJson { get; set; }
/// <summary>
/// 排课方式(1-周,2-月,3-固定日期,4-约课)
/// </summary>
public Common.Enum.Course.ClassStyleEnum ClassStyle { get; set; }
/// <summary>
/// 默认时间字符串JSON
/// </summary>
public string DefaultTimeJson { get; set; }
}
///<summary>
/// 上课时间配置项
/// </summary>
public class ClassTimeItem
{
/// <summary>
/// 上课日期【ClassStyle:1-周(1,2...);2和3(具体日期);4(暂无)】
/// </summary>
public List<string> DateList { get; set; }
/// <summary>
/// 具体上课时间
/// </summary>
public List<TimeItem> TimeList { get; set; }
}
/// <summary>
/// 上课时间对象
/// </summary>
public class TimeItem
{
/// <summary>
/// 开始时间
/// </summary>
public string StartTime { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public string EndTime { get; set; }
/// <summary>
/// 消耗课时
/// </summary>
public decimal TimeHour { get; set; }
}
}
......@@ -155,7 +155,7 @@ namespace Edu.Module.Course
/// <returns></returns>
public List<RB_Class_ViewModel> GetClassListModule(RB_Class_ViewModel query)
{
var list= classRepository.GetClassListRepository(query);
var list = classRepository.GetClassListRepository(query);
if (list != null && list.Count > 0)
{
string classIds = string.Join(",", list.Select(qitem => qitem.ClassId));
......@@ -187,7 +187,7 @@ namespace Edu.Module.Course
{
foreach (var sItem in tempPlanList)
{
sItem.PlanTimeList=timeList?.Where(qitem => qitem.ClassId == item.ClassId && qitem.ClassPlanId == sItem.ClassPlanId)?.OrderBy(qitem => qitem.StartTime)?.ToList()??new List<RB_Class_Time_ViewModel> ();
sItem.PlanTimeList = timeList?.Where(qitem => qitem.ClassId == item.ClassId && qitem.ClassPlanId == sItem.ClassPlanId)?.OrderBy(qitem => qitem.StartTime)?.ToList() ?? new List<RB_Class_Time_ViewModel>();
}
}
item.ClassPlanList = tempPlanList ?? new List<RB_Class_Plan_ViewModel>();
......@@ -1878,7 +1878,7 @@ namespace Edu.Module.Course
{
LessonPlanId = ClassLessonPlanRepository.Insert(item);
flag = LessonPlanId > 0;
}
if (flag)
{
......@@ -2264,6 +2264,15 @@ namespace Edu.Module.Course
return classHours;
}
/// <summary>
/// 班级签到完成学习分钟数以及课时
/// </summary>
/// <param name="classIds">班级编号</param>
/// <returns></returns>
public List<GuestFinishMinute_ViewModel> GetClassFinishMinutesRepository(string classIds)
{
return classCheckRepository.GetClassFinishMinutesRepository(classIds);
}
/// <summary>
/// 更新课堂随拍
......
......@@ -100,5 +100,18 @@ namespace Edu.Module.System
return holidayRepository.Update(fileds, new WhereHelper(nameof(HolidayId), HolidayId));
}
/// <summary>
///批量新增节假日
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetHoliday(List<RB_System_Holiday> list)
{
return holidayRepository.InsertBatch(list);
}
}
}
......@@ -182,9 +182,9 @@ WHERE A.`Status`=0 ");
}
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.ClassId,SUM(A.FinishMinutes) AS FinishMinutes FROM
SELECT A.ClassId,SUM(A.FinishMinutes) AS FinishMinutes,SUM(A.CurrentDeductionHours) AS FinishClassHours FROM
(
SELECT A.ClassId,A.ClassDate,B.ClassPlanId,C.ClassTimeId
SELECT A.ClassId,A.ClassDate,B.ClassPlanId,C.ClassTimeId,a.CurrentDeductionHours
,TIMESTAMPDIFF(MINUTE,(DATE_FORMAT(CONCAT('2021-01-01 ',C.StartTime,':00'),'%Y-%m-%d %H:%i')),(DATE_FORMAT(CONCAT('2021-01-01 ',C.EndTime,':00'), '%Y-%m-%d %H:%i'))) AS FinishMinutes
FROM rb_class_check AS A INNER JOIN rb_class_plan AS B ON A.ClassId=B.ClassId AND A.ClassDate=B.ClassDate AND B.`Status`=0
INNER JOIN rb_class_time AS C ON B.ClassPlanId=C.ClassPlanId
......
......@@ -114,9 +114,11 @@ WHERE 1=1
/// <returns></returns>
public int CheckStudentMakeUpExistsRepository(RB_Student_Makeup model)
{
List<WhereHelper> whereHelpers = new List<WhereHelper>();
whereHelpers.Add(new WhereHelper(nameof(RB_Student_Makeup.ClassCheckId), model.ClassCheckId));
whereHelpers.Add(new WhereHelper(nameof(RB_Student_Makeup.OrderGuestId), model.OrderGuestId));
List<WhereHelper> whereHelpers = new List<WhereHelper>
{
new WhereHelper(nameof(RB_Student_Makeup.ClassCheckId), model.ClassCheckId),
new WhereHelper(nameof(RB_Student_Makeup.OrderGuestId), model.OrderGuestId)
};
return base.Exists("Id", whereHelpers);
}
}
......
......@@ -4,6 +4,8 @@ using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using Edu.Common.Enum.Course;
using System.Threading.Tasks;
namespace Edu.Repository.EduTask
{
......@@ -87,11 +89,12 @@ WHERE 1=1
{//更新信息
string logContent = "";
StringBuilder builder = new StringBuilder();
List<ChangePlanItem> oldChangePlanItemList = new List<ChangePlanItem>();
List<ChangePlanItem> newChangePlanItemList = new List<ChangePlanItem>();
List<Model.Entity.Log.RB_Class_Log> classLogList = new List<Model.Entity.Log.RB_Class_Log>();
if (model.ChangeType == 1)//1.调课
if (model.MoveType == 1)//固定日期
{
List<ChangePlanItem> oldChangePlanItemList = new List<ChangePlanItem>();
List<ChangePlanItem> newChangePlanItemList = new List<ChangePlanItem>();
//原数据
if (!string.IsNullOrWhiteSpace(model.SourceData))
{
......@@ -102,105 +105,412 @@ WHERE 1=1
{
newChangePlanItemList = Common.Plugin.JsonHelper.DeserializeObject<List<ChangePlanItem>>(model.TargetData);
}
foreach (var item in oldChangePlanItemList)
if (model.ChangeType == 1)//1.调课
{
var newChangePlanItemModel = newChangePlanItemList.Where(x => x.ClassPlanId == item.ClassPlanId).FirstOrDefault();
if (item.ClassDate != newChangePlanItemModel.ClassDate)
{
logContent += string.Format("日期由【{0}】修改为【{1}】.", Common.ConvertHelper.FormatDate(item.ClassDate), Common.ConvertHelper.FormatDate(newChangePlanItemModel.ClassDate));
builder.AppendFormat(" update RB_Class_Plan SET ClassDate='{0}' where ClassPlanId ={1};", newChangePlanItemModel.ClassDate, item.ClassPlanId);
}
foreach (var itemTime in newChangePlanItemModel.PlanTimeList)
foreach (var item in oldChangePlanItemList)
{
var oldTimeModel = item.PlanTimeList.Where(x => x.ClassTimeId == itemTime.ClassTimeId).FirstOrDefault();
if (oldTimeModel != null && oldTimeModel.ClassTimeId > 0)
var newChangePlanItemModel = newChangePlanItemList.Where(x => x.ClassPlanId == item.ClassPlanId).FirstOrDefault();
if (item.ClassDate != newChangePlanItemModel.ClassDate)
{
if (oldTimeModel.StartTime != itemTime.StartTime)
{
logContent += string.Format("{0}上课开始时间由【{1}】修改为【{2}】.", Common.ConvertHelper.FormatDate(newChangePlanItemModel.ClassDate), oldTimeModel.StartTime, itemTime.EndTime);
}
if (oldTimeModel.EndTime != itemTime.EndTime)
{
logContent += string.Format("{0}上课结束时间由【{1}】修改为【{2}】.", Common.ConvertHelper.FormatDate(newChangePlanItemModel.ClassDate), oldTimeModel.EndTime, itemTime.EndTime);
}
if (oldTimeModel.StartTime != itemTime.StartTime || oldTimeModel.EndTime != itemTime.EndTime)
logContent += string.Format("日期由【{0}】修改为【{1}】.", Common.ConvertHelper.FormatDate(item.ClassDate), Common.ConvertHelper.FormatDate(newChangePlanItemModel.ClassDate));
builder.AppendFormat(" update RB_Class_Plan SET ClassDate='{0}' where ClassPlanId ={1};", newChangePlanItemModel.ClassDate, item.ClassPlanId);
}
foreach (var itemTime in newChangePlanItemModel.PlanTimeList)
{
var oldTimeModel = item.PlanTimeList.Where(x => x.ClassTimeId == itemTime.ClassTimeId).FirstOrDefault();
if (oldTimeModel != null && oldTimeModel.ClassTimeId > 0)
{
builder.AppendFormat(" update rb_class_time SET StartTime='{0}' ,EndTime='{1}' where ClassTimeId ={2};", itemTime.StartTime, itemTime.EndTime, itemTime.ClassTimeId);
if (oldTimeModel.StartTime != itemTime.StartTime)
{
logContent += string.Format("{0}上课开始时间由【{1}】修改为【{2}】.", Common.ConvertHelper.FormatDate(newChangePlanItemModel.ClassDate), oldTimeModel.StartTime, itemTime.EndTime);
}
if (oldTimeModel.EndTime != itemTime.EndTime)
{
logContent += string.Format("{0}上课结束时间由【{1}】修改为【{2}】.", Common.ConvertHelper.FormatDate(newChangePlanItemModel.ClassDate), oldTimeModel.EndTime, itemTime.EndTime);
}
if (oldTimeModel.StartTime != itemTime.StartTime || oldTimeModel.EndTime != itemTime.EndTime)
{
builder.AppendFormat(" update rb_class_time SET StartTime='{0}' ,EndTime='{1}' where ClassTimeId ={2};", itemTime.StartTime, itemTime.EndTime, itemTime.ClassTimeId);
}
}
}
}
}
}
else if (model.ChangeType == 2 || model.ChangeType == 3)//更新老师或者更新教室
{
if (model.ChangeType == 2)
else if (model.ChangeType == 2 || model.ChangeType == 3)//更新老师或者更新教室
{
builder.AppendFormat(" update RB_Class_Plan SET TeacherId={0} where ClassPlanId in(1)", newChangePlanItemList.FirstOrDefault().TeacherId, string.Join(",", oldChangePlanItemList.Select(x => x.TeacherId)));
string tIds = string.Join(",", oldChangePlanItemList.Select(x => x.TeacherId)) + "," + newChangePlanItemList.FirstOrDefault().TeacherId;
var teacherList = teacherRepository.GetTeacherListRepository(new Model.ViewModel.User.RB_Teacher_ViewModel() { QTIds = tIds });
foreach (var item in oldChangePlanItemList)
if (model.ChangeType == 2)
{
builder.AppendFormat(" update RB_Class_Plan SET TeacherId={0} where ClassPlanId in(1)", newChangePlanItemList.FirstOrDefault().TeacherId, string.Join(",", oldChangePlanItemList.Select(x => x.TeacherId)));
string tIds = string.Join(",", oldChangePlanItemList.Select(x => x.TeacherId)) + "," + newChangePlanItemList.FirstOrDefault().TeacherId;
var teacherList = teacherRepository.GetTeacherListRepository(new Model.ViewModel.User.RB_Teacher_ViewModel() { QTIds = tIds });
foreach (var item in oldChangePlanItemList)
{
logContent += string.Format(Common.ConvertHelper.FormatDate(item.ClassDate) + "的讲师由【{0}】修改为【{1}】.",
(teacherList?.Where(qitem => qitem.TId == item.TeacherId)?.FirstOrDefault()?.TeacherName ?? ""),
(teacherList?.Where(qitem => qitem.TId == newChangePlanItemList.FirstOrDefault().TeacherId)?.FirstOrDefault()?.TeacherName ?? "")
);
logContent += string.Format(Common.ConvertHelper.FormatDate(item.ClassDate) + "的讲师由【{0}】修改为【{1}】.",
(teacherList?.Where(qitem => qitem.TId == item.TeacherId)?.FirstOrDefault()?.TeacherName ?? ""),
(teacherList?.Where(qitem => qitem.TId == newChangePlanItemList.FirstOrDefault().TeacherId)?.FirstOrDefault()?.TeacherName ?? "")
);
}
}
else if (model.ChangeType == 3)
{
builder.AppendFormat(" update RB_Class_Plan SET ClassRoomId={0} where ClassPlanId in(1)", newChangePlanItemList.FirstOrDefault().ClassRoomId, string.Join(",", oldChangePlanItemList.Select(x => x.ClassRoomId)));
string roomIds = string.Join(",", oldChangePlanItemList.Select(x => x.ClassRoomId)) + "," + newChangePlanItemList.FirstOrDefault().ClassRoomId;
var roomList = class_RoomRepository.GetClassRoomListRepository(new Edu.Model.ViewModel.Course.RB_Class_Room_ViewModel() { QRoomIds = roomIds });
foreach (var item in oldChangePlanItemList)
{
logContent += string.Format(Common.ConvertHelper.FormatDate(item.ClassDate) + "的教室由【{0}】修改为【{1}】.",
(roomList?.Where(qitem => qitem.RoomId == item.ClassRoomId)?.FirstOrDefault()?.RoomName ?? ""),
(roomList?.Where(qitem => qitem.RoomId == newChangePlanItemList.FirstOrDefault().ClassRoomId)?.FirstOrDefault()?.RoomName ?? "")
);
}
}
}
else if (model.ChangeType == 3)
else if (model.ChangeType == 4)//取消课程
{
builder.AppendFormat(" update RB_Class_Plan SET ClassRoomId={0} where ClassPlanId in(1)", newChangePlanItemList.FirstOrDefault().ClassRoomId, string.Join(",", oldChangePlanItemList.Select(x => x.ClassRoomId)));
string roomIds = string.Join(",", oldChangePlanItemList.Select(x => x.ClassRoomId)) + "," + newChangePlanItemList.FirstOrDefault().ClassRoomId;
var roomList = class_RoomRepository.GetClassRoomListRepository(new Edu.Model.ViewModel.Course.RB_Class_Room_ViewModel() { QRoomIds = roomIds });
var oldPlanList = class_TimeRepository.GetClassTimeListRepository(new Edu.Model.ViewModel.Course.RB_Class_Time_ViewModel()
{
ClassId = model.ClassId,
QClassPlanIds = string.Join(",", oldChangePlanItemList.Select(x => x.ClassPlanId)),
});
List<int> deletePlanList = new List<int>();
List<int> deletePlanTimeList = new List<int>();
foreach (var item in oldPlanList.GroupBy(x => x.ClassPlanId))
{
var tempPlanTimeList = oldPlanList.Where(x => x.ClassPlanId == item.Key);
var oldPlanTimeModel = oldChangePlanItemList.Where(x => x.ClassPlanId == item.Key).FirstOrDefault();
if (tempPlanTimeList.Count() == oldPlanTimeModel.PlanTimeList.Count())
{
deletePlanList.Add(item.Key);
}
deletePlanTimeList.AddRange(oldPlanTimeModel.PlanTimeList.Select(x => x.ClassTimeId));
}
foreach (var item in oldChangePlanItemList)
{
logContent += string.Format(Common.ConvertHelper.FormatDate(item.ClassDate) + "的教室由【{0}】修改为【{1}】.",
(roomList?.Where(qitem => qitem.RoomId == item.ClassRoomId)?.FirstOrDefault()?.RoomName ?? ""),
(roomList?.Where(qitem => qitem.RoomId == newChangePlanItemList.FirstOrDefault().ClassRoomId)?.FirstOrDefault()?.RoomName ?? "")
);
foreach (var itemTime in item.PlanTimeList)
{
logContent += string.Format("删除{0}上课时间【{1} - {2}】.", Common.ConvertHelper.FormatDate(item.ClassDate), itemTime.StartTime, itemTime.EndTime);
}
}
if (deletePlanList != null && deletePlanList.Any())
{
builder.AppendFormat(" update RB_Class_Plan SET Status=1 where ClassPlanId in(0);", string.Join(",", deletePlanList.Select(x => x)));
}
if (deletePlanTimeList != null && deletePlanTimeList.Any())
{
builder.AppendFormat(" DELETE FROM rb_class_time where classtimeId in(0);", string.Join(",", deletePlanTimeList.Select(x => x)));
}
}
}
else if (model.ChangeType == 4)//取消课程
{
var oldPlanList = class_TimeRepository.GetClassTimeListRepository(new Edu.Model.ViewModel.Course.RB_Class_Time_ViewModel()
else
{//全局修改
AllChangePlanItem allChangePlanModel = new AllChangePlanItem();
//目标数据
if (!string.IsNullOrWhiteSpace(model.TargetData))
{
ClassId = model.ClassId,
QClassPlanIds = string.Join(",", oldChangePlanItemList.Select(x => x.ClassPlanId)),
});
List<int> deletePlanList = new List<int>();
List<int> deletePlanTimeList = new List<int>();
foreach (var item in oldPlanList.GroupBy(x => x.ClassPlanId))
allChangePlanModel = Common.Plugin.JsonHelper.DeserializeObject<AllChangePlanItem>(model.TargetData);
}
if (model.ChangeType == 1)
{
var tempPlanTimeList = oldPlanList.Where(x => x.ClassPlanId == item.Key);
var oldPlanTimeModel = oldChangePlanItemList.Where(x => x.ClassPlanId == item.Key).FirstOrDefault();
if (tempPlanTimeList.Count() == oldPlanTimeModel.PlanTimeList.Count())
var oldPlanList = class_PlanRepository.GetClassPlanListRepository(new Edu.Model.ViewModel.Course.RB_Class_Plan_ViewModel()
{
deletePlanList.Add(item.Key);
ClassId = model.ClassId,
StartTime = model.CreateTime.ToString("yyyy-MM-dd 00:00:00")
});
#region 班级计划
//默认上课时间
var defaultPlanTimeList = new List<ClassTimeItem>();
var BasicMinutes = allChangePlanModel.ClassHourMinute;
foreach (var tItem in allChangePlanModel.DefaultTimeList)
{
ClassTimeItem tModel = new ClassTimeItem()
{
DateList = new List<string>(),
TimeList = new List<TimeItem>()
};
tModel.DateList = tItem.DateList;
foreach (var subItem in tItem.TimeList)
{
var startDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + subItem.StartTime + ":00");
var endDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + subItem.EndTime + ":00");
TimeSpan span = endDate.Subtract(startDate);
var timeModel = new TimeItem()
{
StartTime = subItem.StartTime,
EndTime = subItem.EndTime,
TimeHour = subItem.TimeHour,
};
if (timeModel.TimeHour <= 0)
{
timeModel.TimeHour = Convert.ToDecimal(span.TotalMinutes / BasicMinutes);
}
tModel.TimeList.Add(timeModel);
defaultPlanTimeList.Add(tModel);
}
}
deletePlanTimeList.AddRange(oldPlanTimeModel.PlanTimeList.Select(x => x.ClassTimeId));
}
foreach (var item in oldChangePlanItemList)
{
foreach (var itemTime in item.PlanTimeList)
//班级上课计划列表
List<Model.ViewModel.Course.RB_Class_Plan_ViewModel> classPlanList = new List<Model.ViewModel.Course.RB_Class_Plan_ViewModel>();
if (allChangePlanModel.ClassHours > 0)
{
logContent += string.Format("删除{0}上课时间【{1} - {2}】.", Common.ConvertHelper.FormatDate(item.ClassDate), itemTime.StartTime, itemTime.EndTime);
var srartDate = Convert.ToDateTime(allChangePlanModel.OpenTimeStr);
//按周排课和按月排课
if (allChangePlanModel.ClassStyle == ClassStyleEnum.Week || allChangePlanModel.ClassStyle == ClassStyleEnum.Month)
{
int i = 0;
decimal totalHours = 0;
while (allChangePlanModel.ClassHours > totalHours)
{
var newDate = srartDate.AddDays(i);
foreach (var item in allChangePlanModel.WeekDayList)
{
var planModel = new Model.ViewModel.Course.RB_Class_Plan_ViewModel()
{
ClassId = model.ClassId,
ClassPlanId = 0,
ClassRoomId = allChangePlanModel.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = new List<Model.ViewModel.Course.RB_Class_Time_ViewModel>(),
TeacherId = allChangePlanModel.TeacherId,
ClassDate = newDate
};
if (allChangePlanModel.ClassStyle == ClassStyleEnum.Week)
{
switch (item)
{
case "1":
if (newDate.DayOfWeek == DayOfWeek.Monday)
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, allChangePlanModel.ClassHourMinute, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
break;
case "2":
if (newDate.DayOfWeek == DayOfWeek.Tuesday)
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, allChangePlanModel.ClassHourMinute, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
break;
case "3":
if (newDate.DayOfWeek == DayOfWeek.Wednesday)
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, allChangePlanModel.ClassHourMinute, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
break;
case "4":
if (newDate.DayOfWeek == DayOfWeek.Thursday)
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, allChangePlanModel.ClassHourMinute, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
break;
case "5":
if (newDate.DayOfWeek == DayOfWeek.Friday)
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, allChangePlanModel.ClassHourMinute, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
break;
case "6":
if (newDate.DayOfWeek == DayOfWeek.Saturday)
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, allChangePlanModel.ClassHourMinute, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
break;
case "7":
if (newDate.DayOfWeek == DayOfWeek.Sunday)
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, allChangePlanModel.ClassHourMinute, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
break;
}
}
else if (allChangePlanModel.ClassStyle == ClassStyleEnum.Month)
{
if (newDate.Day == Convert.ToInt32(item))
{
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
var dayHours = CalcDayClassHoursModule(timeList, planModel.PlanTimeList, allChangePlanModel.ClassHourMinute, BasicMinutes);
totalHours += dayHours;
classPlanList.Add(planModel);
}
}
}
}
i++;
}
}
//固定日期
else if (allChangePlanModel.ClassStyle == ClassStyleEnum.FixedDate)
{
foreach (var item in allChangePlanModel.WeekDayList)
{
var planModel = new Model.ViewModel.Course.RB_Class_Plan_ViewModel()
{
ClassId = model.ClassId,
ClassPlanId = 0,
ClassRoomId = allChangePlanModel.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = new List<Model.ViewModel.Course.RB_Class_Time_ViewModel>(),
TeacherId = allChangePlanModel.TeacherId,
ClassDate = Convert.ToDateTime(item)
};
var timeList = defaultPlanTimeList.Where(qitem => qitem.DateList.Contains(item))?.FirstOrDefault()?.TimeList;
if (timeList != null && timeList.Count > 0)
{
CalcDayClassHoursModule(timeList, planModel.PlanTimeList, allChangePlanModel.ClassHourMinute, BasicMinutes);
classPlanList.Add(planModel);
}
}
}
//约课
else
{
}
}
Task.Run(() =>
{
if (oldPlanList != null && oldPlanList.Any())//删除剩余的排课日期和时间
{
string ids = string.Join(",", oldPlanList.Select(qitem => qitem.ClassPlanId));
if (!string.IsNullOrEmpty(ids))
{
flag = class_TimeRepository.DeleteClassTimeByPlanIdsRepository(ids);
if (flag)
{
flag = class_PlanRepository.DeleteClassPlanRepository(ids);
}
}
}
if (classPlanList != null && classPlanList.Any())
{
foreach (var item in classPlanList)
{
if (!class_PlanRepository.CheckExistsRepository(item))
{
//添加班级上课计划
var newClassPlanId = class_PlanRepository.Insert(item);
flag = newClassPlanId > 0;
if (item.PlanTimeList != null && item.PlanTimeList.Any() && newClassPlanId > 0)
{
foreach (var subItem in item.PlanTimeList)
{
subItem.ClassTimeId = 0;
subItem.ClassPlanId = newClassPlanId;
subItem.ClassId = model.ClassId;
subItem.Group_Id = model.Group_Id;
subItem.School_Id = model.School_Id;
//添加班级上课计划的上课时间
class_TimeRepository.Insert(subItem);
}
}
}
}
if (flag)
{
classLogRepository.AddClassLogRepository(
new Model.Entity.Log.RB_Class_Log()
{
LogType = Common.Enum.Course.ClassLogTypeEnum.Class,
LogContent = "从" + allChangePlanModel.OpenTimeStr + "开始" + (Common.Plugin.EnumHelper.ToName(allChangePlanModel.ClassStyle)),
ClassId = model.ClassId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
CreateBy = model.CreateBy
});
}
}
});
#endregion
}
if (deletePlanList != null && deletePlanList.Any())
else if (model.ChangeType == 2 || model.ChangeType == 3)
{
builder.AppendFormat(" update RB_Class_Plan SET Status=1 where ClassPlanId in(0);", string.Join(",", deletePlanList.Select(x => x)));
if (model.ChangeType == 2)
{
builder.AppendFormat(" update RB_Class_Plan SET TeacherId={0} where DATE_FORMAT(ClassDate,'%Y-%m-%d')>=DATE_FORMAT('{1}','%Y-%m-%d')", allChangePlanModel.TeacherId, model.CreateTime);
string tIds = allChangePlanModel.TeacherId.ToString();
var teacherList = teacherRepository.GetTeacherListRepository(new Model.ViewModel.User.RB_Teacher_ViewModel() { QTIds = tIds });
logContent += string.Format("全局将讲师修改为【{0}】.", (teacherList?.Where(qitem => qitem.TId == allChangePlanModel.TeacherId)?.FirstOrDefault()?.TeacherName ?? ""));
}
else if (model.ChangeType == 3)
{
builder.AppendFormat(" update RB_Class_Plan SET ClassRoomId={0} where DATE_FORMAT(ClassDate,'%Y-%m-%d')>=DATE_FORMAT('{1}','%Y-%m-%d')", allChangePlanModel.ClassRoomId, model.CreateTime);
string roomIds = allChangePlanModel.ClassRoomId.ToString();
var roomList = class_RoomRepository.GetClassRoomListRepository(new Edu.Model.ViewModel.Course.RB_Class_Room_ViewModel() { QRoomIds = roomIds });
logContent += string.Format("全局将教室修改为【{0}】.", (roomList?.Where(qitem => qitem.RoomId == allChangePlanModel.ClassRoomId)?.FirstOrDefault()?.RoomName ?? ""));
}
}
if (deletePlanTimeList != null && deletePlanTimeList.Any())
else if (model.ChangeType == 4)
{
builder.AppendFormat(" DELETE FROM rb_class_time where classtimeId in(0)", string.Join(",", deletePlanTimeList.Select(x => x)));
var oldPlanList = class_PlanRepository.GetClassPlanListRepository(new Edu.Model.ViewModel.Course.RB_Class_Plan_ViewModel()
{
ClassId = model.ClassId,
StartTime = model.CreateTime.ToString("yyyy-MM-dd 00:00:00")
});
if (oldPlanList != null && oldPlanList.Any())//删除剩余的排课日期和时间
{
if (oldPlanList != null && oldPlanList.Any())
{
builder.AppendFormat(" update RB_Class_Plan SET Status=1 where ClassPlanId in(0);", string.Join(",", oldPlanList.Select(x => x.ClassPlanId)));
builder.AppendFormat(" DELETE FROM rb_class_time where ClassPlanId in(0);", string.Join(",", oldPlanList.Select(x => x.ClassPlanId)));
}
}
}
}
if (!string.IsNullOrWhiteSpace(builder.ToString()))
{
flag = class_PlanRepository.Execute(builder.ToString()) > 0;
}
flag = class_PlanRepository.Execute(builder.ToString()) > 0;
if (!string.IsNullOrEmpty(logContent) && flag)
{
classLogRepository.AddClassLogRepository(
......@@ -217,5 +527,48 @@ WHERE 1=1
}
return flag;
}
/// <summary>
/// 计算每天课时
/// </summary>
/// <param name="timeList"></param>
/// <param name="classTimeList"></param>
/// <param name="model"></param>
/// <returns></returns>
private decimal CalcDayClassHoursModule(List<TimeItem> timeList, List<Model.ViewModel.Course.RB_Class_Time_ViewModel> classTimeList, int ClassHourMinute, int BasicMinutes)
{
decimal dayClassHours = 0;
decimal dayMinutes = 0;
foreach (var sItem in timeList)
{
var timeModel = new Model.ViewModel.Course.RB_Class_Time_ViewModel()
{
StartTime = sItem.StartTime,
EndTime = sItem.EndTime,
TimeHour = sItem.TimeHour,
};
classTimeList.Add(timeModel);
var startDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + sItem.StartTime + ":00");
var endDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + sItem.EndTime + ":00");
TimeSpan span = endDate.Subtract(startDate);
if (span.TotalMinutes > 0)
{
dayMinutes += Convert.ToDecimal(span.TotalMinutes);
}
}
if (ClassHourMinute > 0)
{
dayClassHours = dayMinutes / ClassHourMinute;
}
else
{
dayClassHours = dayMinutes / BasicMinutes;
}
return dayClassHours;
}
}
}
......@@ -60,7 +60,7 @@ namespace Edu.Repository.EduTask
{
var parameters = new DynamicParameters();
string isSpecNode = "";
if (query.Conditon == Common.Enum.Course.EduReceiptConditionEnum.WaitAgree)
if (query.Conditon == Common.Enum.Course.EduReceiptConditionEnum.WaitAgree)
{
isSpecNode = string.Format(",IFNULL((SELECT SpecialNode FROM rb_Education_relevance WHERE Id IN(SELECT BackrelevanceId FROM rb_education_record WHERE ConditionId=A.Id AND AuditStatus=1 AND AuditEmId={0})),0) AS SpecialNode ", query.CreateBy);
}
......@@ -69,13 +69,17 @@ namespace Edu.Repository.EduTask
SELECT A.* {0}
FROM RB_Education_Receipt AS A
WHERE 1=1
",isSpecNode);
", isSpecNode);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(@" AND A.{0}={1} ", nameof(RB_Education_Receipt_ViewModel.Group_Id), query.Group_Id);
}
if (!string.IsNullOrEmpty(query.QIds))
{
builder.AppendFormat(@" AND A.{0}IN({1}) ", nameof(RB_Education_Receipt_ViewModel.Id), query.QIds);
}
if (!string.IsNullOrEmpty(query.Title))
{
builder.AppendFormat(@" AND A.{0} LIKE @Title ", nameof(RB_Education_Receipt_ViewModel.Title));
......@@ -98,7 +102,7 @@ WHERE 1=1
switch (query.Conditon)
{
//待我审批
case Common.Enum.Course.EduReceiptConditionEnum.WaitAgree:
case Common.Enum.Course.EduReceiptConditionEnum.WaitAgree:
builder.AppendFormat(" AND EXISTS (SELECT 1 FROM rb_education_record WHERE ConditionId=A.Id AND AuditStatus=1 AND AuditEmId={0}) ", query.CreateBy);
break;
//已审批的
......@@ -213,8 +217,8 @@ WHERE 1=1
//系统角色
else if (subItem.AuditType == Common.Enum.User.WFTAuditTypeEnum.Post)
{
var postIds= GetPostIdsRepository(model.Group_Id, subItem.PostType.ToString());
if (postIds!=null && postIds.Count>0)
var postIds = GetPostIdsRepository(model.Group_Id, subItem.PostType.ToString());
if (postIds != null && postIds.Count > 0)
{
AuditedId += string.Join(",", postIds) + ",";
subItem.PostUserIds = string.Join(",", postIds);
......@@ -231,9 +235,9 @@ WHERE 1=1
AuditType = item.FlowAduitList[0].AuditType,
OriginalAuditId = 0,
RoleOrInitiator = 0,
PostIds ="",
PostIds = "",
UserIds = "",
SysPostIds="",
SysPostIds = "",
ToAuditId = AuditedId.TrimEnd(','),
Sort = item.SortNum,
SpecialNode = item.FlowAduitList[0].IsSpecNode,
......@@ -382,13 +386,13 @@ WHERE 1=1
/// <returns></returns>
public List<int> GetPostIdsRepository(int GroupId, string PostId)
{
List<int> result = new List<int> ();
List<int> result = new List<int>();
var list = accountRepository.GetAccountListExtRepository(new Model.ViewModel.User.RB_Account_ViewModel()
{
Group_Id = GroupId,
QPostIds = PostId
});
if (list!=null &&list.Count > 0)
if (list != null && list.Count > 0)
{
foreach (var item in list)
{
......
......@@ -127,12 +127,12 @@ namespace Edu.WebApi.Controllers.Course
int IsAddDefault = base.ParmJObj.GetInt("IsAddDefault");
var query = new RB_Class_ViewModel()
{
CouseId = base.ParmJObj.GetInt("CourseId",0),
CouseId = base.ParmJObj.GetInt("CourseId", 0),
IsQuerySurplus = base.ParmJObj.GetInt("IsQuerySurplus"),
School_Id = base.ParmJObj.GetInt("SchoolId",-1),
MoreStatus=base.ParmJObj.GetStringValue("MoreStatus"),
Teacher_Id=base.ParmJObj.GetInt("Teacher_Id"),
IsQuerySurplusPlan=base.ParmJObj.GetInt("IsQuerySurplusPlan")
School_Id = base.ParmJObj.GetInt("SchoolId", -1),
MoreStatus = base.ParmJObj.GetStringValue("MoreStatus"),
Teacher_Id = base.ParmJObj.GetInt("Teacher_Id"),
IsQuerySurplusPlan = base.ParmJObj.GetInt("IsQuerySurplusPlan")
};
query.Group_Id = base.UserInfo.Group_Id;
//if (query.School_Id == -1)
......@@ -157,7 +157,7 @@ namespace Edu.WebApi.Controllers.Course
subItem.RoomName,
subItem.TeacherId,
subItem.TeacherName,
TimeList = subItem?.PlanTimeList?.Select(qitem => new { qitem.StartTime, qitem.EndTime, qitem.TimeHour })
TimeList = subItem?.PlanTimeList?.Select(qitem => new { qitem.ClassTimeId, qitem.StartTime, qitem.EndTime, qitem.TimeHour })
};
planList.Add(subObj);
}
......@@ -1414,7 +1414,7 @@ namespace Edu.WebApi.Controllers.Course
#region 追加章节信息
var hours = classModule.GetCurrentPlanStudyHoursRepository(model.ClassPlanId)+1;
var hours = classModule.GetCurrentPlanStudyHoursRepository(model.ClassPlanId) + 1;
if (hours != -1)
{
var classObj = classModule.GetClassModule(model.ClassId);
......
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;
......@@ -27,7 +29,10 @@ namespace Edu.WebApi.Controllers.EduTask
/// </summary>
private readonly ChangeClassPlanModule changeClassPlanModule = AOP.AOPHelper.CreateAOPObject<ChangeClassPlanModule>();
/// <summary>
/// 班级处理类对象
/// </summary>
private readonly ClassModule classModule = AOP.AOPHelper.CreateAOPObject<ClassModule>();
/// <summary>
/// 新增修改班级调课
/// </summary>
......@@ -42,31 +47,226 @@ namespace Edu.WebApi.Controllers.EduTask
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"),
};
var classModel = classModule.GetClassModule(model.ClassId);
try
{
model.OldChangePlanItemList = Common.Plugin.JsonHelper.DeserializeObject<List<ChangePlanItem>>(base.ParmJObj.GetStringValue("OldChangePlanItemList"));
model.NewChangePlanItemList = Common.Plugin.JsonHelper.DeserializeObject<List<ChangePlanItem>>(base.ParmJObj.GetStringValue("NewChangePlanItemList"));
if (model.MoveType == 1)
{
model.OldChangePlanItemList = Common.Plugin.JsonHelper.DeserializeObject<List<ChangePlanItem>>(base.ParmJObj.GetStringValue("OldChangePlanItemList"));
model.NewChangePlanItemList = Common.Plugin.JsonHelper.DeserializeObject<List<ChangePlanItem>>(base.ParmJObj.GetStringValue("NewChangePlanItemList"));
}
else
{
model.AllChangePlanModel = Common.Plugin.JsonHelper.DeserializeObject<AllChangePlanItem>(base.ParmJObj.GetStringValue("AllChangePlanItem"));
}
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "SetChangeClassPlan");
}
if (model.ChangeType == 1)//调课
if (model.MoveType == 1)//固定日期
{
if (model.OldChangePlanItemList.Count() != model.NewChangePlanItemList.Count())
if (model.ChangeType == 1)//调课
{
if (model.OldChangePlanItemList.Count() != model.NewChangePlanItemList.Count())
{
return ApiResult.Failed("排课原次数与现有次数不一致");
}
foreach (var item in model.OldChangePlanItemList)
{
var newChangePlanModel = model.NewChangePlanItemList.Where(x => x.ClassPlanId == item.ClassPlanId).FirstOrDefault();
if (item.PlanTimeList.Count() != newChangePlanModel.PlanTimeList.Count())
{
return ApiResult.Failed(item.ClassDate.ToString("yyyy-MM-dd") + "号的排课原课时数与现有课时数不一致");
}
}
}
else if (model.ChangeType == 2)
{
if (model.NewChangePlanItemList == null || !model.NewChangePlanItemList.Any() || model.NewChangePlanItemList.FirstOrDefault()?.TeacherId == 0)
{
return ApiResult.Failed("请选择老师");
}
}
else if (model.ChangeType == 3)
{
if (model.NewChangePlanItemList == null || !model.NewChangePlanItemList.Any() || model.NewChangePlanItemList.FirstOrDefault()?.ClassRoomId == 0)
{
return ApiResult.Failed("请选择教室");
}
}
}
else //全局修改
{
if (model.ChangeType == 1)
{
//排课方式
try
{
// string WeekDayListStr = model.AllChangePlanModel.WeekDayList; // base.ParmJObj.GetStringValue("WeekDayList");
switch (model.AllChangePlanModel.ClassStyle)
{
//按周排课
case ClassStyleEnum.Week:
if (model.AllChangePlanModel.WeekDayList != null && model.AllChangePlanModel.WeekDayList.Any())
{
// model.AllChangePlanModel.WeekDayList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(WeekDayListStr);
model.AllChangePlanModel.DateJson = Common.Plugin.JsonHelper.Serialize(model.AllChangePlanModel.WeekDayList);
}
else
{
model.AllChangePlanModel.DateJson = "";
}
break;
//固定日期排课
case ClassStyleEnum.FixedDate:
if (model.AllChangePlanModel.WeekDayList != null && model.AllChangePlanModel.WeekDayList.Any())
{
// model.AllChangePlanModel.WeekDayList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(WeekDayListStr);
model.AllChangePlanModel.DateJson = Common.Plugin.JsonHelper.Serialize(model.AllChangePlanModel.WeekDayList);
}
else
{
model.AllChangePlanModel.DateJson = "";
}
break;
//按月排课
case ClassStyleEnum.Month:
if (model.AllChangePlanModel.WeekDayList != null && model.AllChangePlanModel.WeekDayList.Any())
{
// model.AllChangePlanModel.WeekDayList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(WeekDayListStr);
model.AllChangePlanModel.DateJson = Common.Plugin.JsonHelper.Serialize(model.AllChangePlanModel.WeekDayList);
}
else
{
model.AllChangePlanModel.DateJson = "";
}
break;
//网约课
case ClassStyleEnum.OnLine:
model.AllChangePlanModel.DateJson = "";
break;
}
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "SetChangeClassPlan");
}
//try
//{
// string DefaultPlanTimeListStr = base.ParmJObj.GetStringValue("DefaultPlanTimeList");
// if (!string.IsNullOrEmpty(DefaultPlanTimeListStr))
// {
// model.AllChangePlanModel.DefaultTimeList = Common.Plugin.JsonHelper.DeserializeObject<List<Edu.Model.ViewModel.EduTask.ClassTimeItem>>(DefaultPlanTimeListStr);
// }
// else
// {
// return ApiResult.Failed("请输入上课时间");
// }
//}
//catch (Exception ex)
//{
// Common.Plugin.LogHelper.Write(ex, "SetClass_DefaultPlanTimeList");
//}
List<string> dayList = new List<string>();
if (model.AllChangePlanModel.DefaultTimeList != null && model.AllChangePlanModel.DefaultTimeList.Count > 0)
{
foreach (var rootItem in model.AllChangePlanModel.DefaultTimeList)
{
if (rootItem.DateList == null || (rootItem.DateList != null && rootItem.DateList.Count == 0))
{
return ApiResult.ParamIsNull(message: "请选择日期/周");
}
if (rootItem.DateList != null && rootItem.DateList.Count > 0)
{
dayList.AddRange(rootItem.DateList);
}
foreach (var item in rootItem.TimeList)
{
string message = "";
if (!Common.ConvertHelper.IsTime(item.StartTime + ":00"))
{
message = "【" + item.StartTime + "】格式不正确!(参考格式为 00:00)";
}
if (!Common.ConvertHelper.IsTime(item.EndTime + ":00"))
{
if (!string.IsNullOrEmpty(message))
{
message += ",";
}
message += "【" + item.EndTime + "】格式不正确!(参考格式为 00:00)";
}
var startDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + item.StartTime + ":00");
var endDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + item.EndTime + ":00");
TimeSpan span = endDate.Subtract(startDate);
if (item.TimeHour <= 0)
{
item.TimeHour = Convert.ToDecimal(span.TotalMinutes / classModule.GetBasicMinutesModule(model.Group_Id));
}
if (!string.IsNullOrEmpty(message))
{
return ApiResult.ParamIsNull(message: message);
}
}
}
var tempList = dayList.GroupBy(qitem => new { qitem }).Where(g => g.Count() > 1).Select(qitem => new { qitem.Key.qitem });
string message2 = "";
foreach (var sItem in tempList)
{
message2 += "," + sItem.qitem;
}
if (!string.IsNullOrEmpty(message2))
{
string tempStr = "";
if (model.AllChangePlanModel.ClassStyle == ClassStyleEnum.Week)
{
tempStr = "每周";
}
if (model.AllChangePlanModel.ClassStyle == ClassStyleEnum.Month)
{
tempStr = "每月";
}
if (model.AllChangePlanModel.ClassStyle == ClassStyleEnum.FixedDate)
{
tempStr = "固定日期";
}
return ApiResult.ParamIsNull(message: "学习时间段" + (tempStr) + message2.TrimStart(',') + "重复!");
}
model.AllChangePlanModel.DefaultTimeJson = Common.Plugin.JsonHelper.Serialize(model.AllChangePlanModel.DefaultTimeList);
}
else
{
return ApiResult.Failed("请输入排课信息");
}
if (classModel != null && classModel.ClassId > 0)
{ //获取课时分钟数
model.AllChangePlanModel.ClassHourMinute = classModel?.ClassHourMinute ?? 0;
//获取剩余总课时
model.AllChangePlanModel.ClassHours = (Convert.ToDecimal(classModel.ClassHours) - (classModule.GetClassFinishMinutesRepository(model.ClassId.ToString()).FirstOrDefault()?.FinishClassHours ?? 0));
model.AllChangePlanModel.TeacherId = classModel.Teacher_Id;
model.AllChangePlanModel.ClassRoomId = classModel.ClassRoomId;
}
else
{
return ApiResult.Failed("班级信息不存在");
}
}
else if (model.ChangeType == 2)
{
return ApiResult.Failed("排课原次数与现有次数不一致");
if (model.AllChangePlanModel == null || model.AllChangePlanModel.TeacherId == 0)
{
return ApiResult.Failed("请选择老师");
}
}
foreach (var item in model.OldChangePlanItemList)
else if (model.ChangeType == 3)
{
var newChangePlanModel = model.NewChangePlanItemList.Where(x => x.ClassPlanId == item.ClassPlanId).FirstOrDefault();
if (item.PlanTimeList.Count() != newChangePlanModel.PlanTimeList.Count())
if (model.AllChangePlanModel == null || model.AllChangePlanModel.ClassRoomId == 0)
{
return ApiResult.Failed(item.ClassDate.ToString("yyyy-MM-dd") + "号的排课原课时数与现有课时数不一致");
return ApiResult.Failed("请选择教室");
}
}
}
......@@ -78,21 +278,34 @@ namespace Edu.WebApi.Controllers.EduTask
{
model.SourceData = "";
}
if (model.NewChangePlanItemList != null && model.NewChangePlanItemList.Any())
if (model.MoveType == 2)//全局并且是调课的时候赋值
{
model.TargetData = JsonHelper.Serialize(model.NewChangePlanItemList);
if (model.AllChangePlanModel != null)
{
model.TargetData = JsonHelper.Serialize(model.AllChangePlanModel);
}
else
{
model.TargetData = "";
}
}
else
{
model.TargetData = "";
if (model.NewChangePlanItemList != null && model.NewChangePlanItemList.Any())
{
model.TargetData = JsonHelper.Serialize(model.NewChangePlanItemList);
}
else
{
model.TargetData = "";
}
}
if (model.Id == 0)
{
model.CreateBy = base.UserInfo.Id;
model.CreateTime = DateTime.Now;
model.Group_Id = base.UserInfo.Group_Id;
model.School_Id = base.UserInfo.School_Id;
model.School_Id = classModel.School_Id;
}
model.UpdateBy = base.UserInfo.Id;
model.UpdateTime = DateTime.Now;
......
......@@ -45,6 +45,11 @@ namespace Edu.WebApi.Controllers.EduTask
ReceiptType = base.ParmJObj.GetInt("ReceiptType"),
Title = base.ParmJObj.GetStringValue("Title"),
};
var id = base.ParmJObj.GetInt("Id");
if (id > 0)
{
query.QIds = id.ToString();
}
query.CreateBy = base.UserInfo.Id;
var list = educationReceiptModule.GetEducationReceiptPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
pageModel.PageData = list;
......
......@@ -12,6 +12,7 @@ using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace Edu.WebApi.Controllers.Public
{
......@@ -205,6 +206,28 @@ namespace Edu.WebApi.Controllers.Public
return ApiResult.Failed("请求失败,数据不存在!");
}
}
/// <summary>
/// 批量新增节假日
/// </summary>
/// <returns></returns>
public ApiResult InsertHoliday()
{
//SetHoliday
string apiResult = Common.Plugin.HttpHelper.HttpGet("http://timor.tech/api/holiday/year/2020/");
JObject parmsJob = JObject.Parse(apiResult);
string resultCode = parmsJob.GetStringValue("code");
string holidayList = parmsJob.GetStringValue("holiday");
return ApiResult.Success("");
}
#endregion
}
......
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