Commit 82707095 authored by 吴春's avatar 吴春

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

parents 2da3c2c5 fd3c08dd
using Edu.Model.Entity.EduTask;
using Edu.Model.ViewModel.Course;
using System;
using System.Collections.Generic;
using System.Text;
......@@ -133,7 +134,6 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary>
public class AllChangePlanItem
{
/// <summary>
/// 总课时
/// </summary>
......@@ -178,49 +178,9 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary>
public List<ClassTimeItem> DefaultTimeList { get; set; }
/// <summary>
/// 排课方式(1-周,2-月,3-固定日期,4-约课)
/// </summary>
public Common.Enum.Course.ClassStyleEnum ClassStyle { 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; }
}
}
This diff is collapsed.
This diff is collapsed.
......@@ -76,10 +76,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Room_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Room_ViewModel.School_Id), query.School_Id);
}
//if (query.School_Id > 0)
//{
// builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Room_ViewModel.School_Id), query.School_Id);
//}
if (!string.IsNullOrEmpty(query.RoomName))
{
builder.AppendFormat(" AND A.{0} LIKE @RoomName ", nameof(RB_Class_Room_ViewModel.RoomName));
......
......@@ -6,6 +6,7 @@ using System.Text;
using System.Linq;
using Edu.Common.Enum.Course;
using System.Threading.Tasks;
using Edu.Model.ViewModel.Course;
namespace Edu.Repository.EduTask
{
......@@ -180,9 +181,7 @@ WHERE 1=1
);
}
}
}
else if (model.ChangeType == 4)//取消课程
{
var oldPlanList = class_TimeRepository.GetClassTimeListRepository(new Edu.Model.ViewModel.Course.RB_Class_Time_ViewModel()
......@@ -211,11 +210,11 @@ WHERE 1=1
}
if (deletePlanList != null && deletePlanList.Any())
{
builder.AppendFormat(" update RB_Class_Plan SET Status=1 where ClassPlanId in({0});", string.Join(",", deletePlanList.Select(x => x)));
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)));
builder.AppendFormat(" DELETE FROM rb_class_time WHERE classtimeId IN({0});", string.Join(",", deletePlanTimeList.Select(x => x)));
}
}
}
......@@ -268,7 +267,7 @@ WHERE 1=1
}
//班级上课计划列表
List<Model.ViewModel.Course.RB_Class_Plan_ViewModel> classPlanList = new List<Model.ViewModel.Course.RB_Class_Plan_ViewModel>();
List<RB_Class_Plan_ViewModel> classPlanList = new List<RB_Class_Plan_ViewModel>();
if (allChangePlanModel.ClassHours > 0)
{
var srartDate = Convert.ToDateTime(allChangePlanModel.OpenTimeStr);
......@@ -282,14 +281,14 @@ WHERE 1=1
var newDate = srartDate.AddDays(i);
foreach (var item in allChangePlanModel.WeekDayList)
{
var planModel = new Model.ViewModel.Course.RB_Class_Plan_ViewModel()
var planModel = new 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>(),
PlanTimeList = new List<RB_Class_Time_ViewModel>(),
TeacherId = allChangePlanModel.TeacherId,
ClassDate = newDate
};
......@@ -405,14 +404,14 @@ WHERE 1=1
{
foreach (var item in allChangePlanModel.WeekDayList)
{
var planModel = new Model.ViewModel.Course.RB_Class_Plan_ViewModel()
var planModel = new 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>(),
PlanTimeList = new List<RB_Class_Time_ViewModel>(),
TeacherId = allChangePlanModel.TeacherId,
ClassDate = Convert.ToDateTime(item)
};
......@@ -433,7 +432,6 @@ WHERE 1=1
Task.Run(() =>
{
if (oldPlanList != null && oldPlanList.Any())//删除剩余的排课日期和时间
{
string ids = string.Join(",", oldPlanList.Select(qitem => qitem.ClassPlanId));
......@@ -491,14 +489,14 @@ WHERE 1=1
{
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.TakeEffectTime.Value.ToString("yyyy-MM-dd"));
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.TakeEffectTime.Value.ToString("yyyy-MM-dd"));
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.TakeEffectTime.Value.ToString("yyyy-MM-dd"));
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.TakeEffectTime.Value.ToString("yyyy-MM-dd"));
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 ?? ""));
......@@ -506,7 +504,7 @@ WHERE 1=1
}
else if (model.ChangeType == 4)
{
var oldPlanList = class_PlanRepository.GetClassPlanListRepository(new Edu.Model.ViewModel.Course.RB_Class_Plan_ViewModel()
var oldPlanList = class_PlanRepository.GetClassPlanListRepository(new RB_Class_Plan_ViewModel()
{
ClassId = model.ClassId,
StartTime = model.TakeEffectTime.Value.ToString("yyyy-MM-dd")
......@@ -515,8 +513,8 @@ WHERE 1=1
{
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)));
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)));
}
}
}
......@@ -531,7 +529,7 @@ WHERE 1=1
classLogRepository.AddClassLogRepository(
new Model.Entity.Log.RB_Class_Log()
{
LogType = Common.Enum.Course.ClassLogTypeEnum.Class,
LogType = ClassLogTypeEnum.Class,
LogContent = logContent,
ClassId = model.ClassId,
Group_Id = model.Group_Id,
......@@ -551,13 +549,13 @@ WHERE 1=1
/// <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)
private decimal CalcDayClassHoursModule(List<TimeItem> timeList, List<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()
var timeModel = new RB_Class_Time_ViewModel()
{
StartTime = sItem.StartTime,
EndTime = sItem.EndTime,
......@@ -584,6 +582,5 @@ WHERE 1=1
}
return dayClassHours;
}
}
}
}
\ No newline at end of file
......@@ -40,10 +40,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Account_ViewModel.AccountType), (int)query.AccountType);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Account_ViewModel.School_Id), query.School_Id);
}
//if (query.School_Id > 0)
//{
// builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Account_ViewModel.School_Id), query.School_Id);
//}
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(RB_Account_ViewModel.Group_Id), query.Group_Id);
......
......@@ -49,21 +49,18 @@ namespace Edu.WebApi.Controllers.EduTask
MoveType = base.ParmJObj.GetInt("MoveType"),
Remarks = base.ParmJObj.GetStringValue("Remarks")
};
if (model.ClassId <= 0)
{
return ApiResult.ParamIsNull(message: "请选择要调整的班级!");
}
var classModel = classModule.GetClassModule(model.ClassId);
string receiptFile = string.Empty;
try
{
List<string> receiptFileList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(base.ParmJObj.GetStringValue("ReceiptFileList"));
List<string> receiptFileList = JsonHelper.DeserializeObject<List<string>>(base.ParmJObj.GetStringValue("ReceiptFileList"));
if (receiptFileList == null || !receiptFileList.Any())
{
receiptFile = "";
//return ApiResult.Failed("附件必须上传");
}
else
{
......@@ -71,8 +68,8 @@ namespace Edu.WebApi.Controllers.EduTask
}
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"));
model.OldChangePlanItemList = JsonHelper.DeserializeObject<List<ChangePlanItem>>(base.ParmJObj.GetStringValue("OldChangePlanItemList"));
model.NewChangePlanItemList = JsonHelper.DeserializeObject<List<ChangePlanItem>>(base.ParmJObj.GetStringValue("NewChangePlanItemList"));
}
else
{
......@@ -85,7 +82,6 @@ namespace Edu.WebApi.Controllers.EduTask
}
model.TakeEffectTime = Convert.ToDateTime(takeEffectTime);
}
model.AllChangePlanModel = Common.Plugin.JsonHelper.DeserializeObject<AllChangePlanItem>(base.ParmJObj.GetStringValue("AllChangePlanItem"));
}
}
......@@ -93,7 +89,9 @@ namespace Edu.WebApi.Controllers.EduTask
{
Common.Plugin.LogHelper.Write(ex, "SetChangeClassPlan");
}
if (model.MoveType == 1)//固定日期
List<TimeItem> timeList = new List<TimeItem>();
//固定日期
if (model.MoveType == 1)
{
if (model.ChangeType == 1)//调课
{
......@@ -101,6 +99,7 @@ namespace Edu.WebApi.Controllers.EduTask
{
return ApiResult.Failed("排课原次数与现有次数不一致");
}
}
else if (model.ChangeType == 2)
{
......@@ -116,8 +115,31 @@ namespace Edu.WebApi.Controllers.EduTask
return ApiResult.Failed("请选择教室");
}
}
//固定日期上课计划验证冲突
timeList = new List<TimeItem>();
foreach (var item in model.NewChangePlanItemList)
{
foreach (var subItem in item.PlanTimeList)
{
timeList.Add(new TimeItem
{
StartTime = Common.ConvertHelper.FormatDate(item.ClassDate) + " " + subItem.StartTime + ":00",
EndTime = Common.ConvertHelper.FormatDate(item.ClassDate) + " " + subItem.EndTime + ":00",
});
}
}
if (timeList != null && timeList.Count > 0)
{
//var objList = changeClassPlanModule.GetRepeatListModule(model.ClassId, model.NewChangePlanItemList, timeList);
//if (objList != null && objList.Count > 0)
//{
// return ApiResult.Failed("存在上课计划冲突的数据!", data: objList);
//}
}
}
else //全局修改
//全局修改
else
{
if (model.ChangeType == 1)
{
......@@ -203,6 +225,11 @@ namespace Edu.WebApi.Controllers.EduTask
{
return ApiResult.Failed("班级信息不存在");
}
//var dateList = changeClassPlanModule.GetAllDateAndTimeRepeatListModule(model.ClassId, model.AllChangePlanModel,base.UserInfo);
//if (dateList != null && dateList.Count > 0)
//{
// return ApiResult.Failed("存在上课计划冲突的数据!", data: dateList);
//}
}
else if (model.ChangeType == 2)
{
......@@ -210,6 +237,11 @@ namespace Edu.WebApi.Controllers.EduTask
{
return ApiResult.Failed("请选择老师");
}
//var teacherlist = changeClassPlanModule.GetAllRepeatListModule(model.ClassId, Common.ConvertHelper.FormatDate(model.TakeEffectTime), TeacherId: model.AllChangePlanModel.TeacherId);
//if (teacherlist != null && teacherlist.Count > 0)
//{
// return ApiResult.Failed("存在上课计划冲突的数据!", data: teacherlist);
//}
}
else if (model.ChangeType == 3)
{
......@@ -217,6 +249,11 @@ namespace Edu.WebApi.Controllers.EduTask
{
return ApiResult.Failed("请选择教室");
}
//var classroomlist = changeClassPlanModule.GetAllRepeatListModule(model.ClassId, Common.ConvertHelper.FormatDate(model.TakeEffectTime), ClassRoomId: model.AllChangePlanModel.ClassRoomId);
//if (classroomlist != null && classroomlist.Count > 0)
//{
// return ApiResult.Failed("存在上课计划冲突的数据!", data: classroomlist);
//}
}
}
if (model.OldChangePlanItemList != null && model.OldChangePlanItemList.Any())
......
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