Commit c0824e36 authored by 黄奎's avatar 黄奎

约课相关调整

parent e31e717b
...@@ -109,5 +109,10 @@ namespace Edu.Model.Entity.Grade ...@@ -109,5 +109,10 @@ namespace Edu.Model.Entity.Grade
/// 是否计算老师课时费(1-计算,0-不计算) /// 是否计算老师课时费(1-计算,0-不计算)
/// </summary> /// </summary>
public int IsCalcTeacFee { get; set; } public int IsCalcTeacFee { get; set; }
/// <summary>
/// 签到备注
/// </summary>
public string CheckRemark { get; set; }
} }
} }
...@@ -137,6 +137,11 @@ namespace Edu.Model.ViewModel.Scroll ...@@ -137,6 +137,11 @@ namespace Edu.Model.ViewModel.Scroll
/// </summary> /// </summary>
public string TeacherName { get; set; } public string TeacherName { get; set; }
/// <summary>
/// 老师编号
/// </summary>
public int TeacherId { get; set; }
/// <summary> /// <summary>
/// 报名课程ID /// 报名课程ID
/// </summary> /// </summary>
......
...@@ -4228,7 +4228,11 @@ namespace Edu.Module.Course ...@@ -4228,7 +4228,11 @@ namespace Edu.Module.Course
qitem.LearnCourseName, qitem.LearnCourseName,
qitem.CourseGradeNo, qitem.CourseGradeNo,
FinishChapterNoName = chatperList?.FirstOrDefault(sItem => sItem.CourseId == qitem.LearnCourseId && sItem.ChapterNo == qitem.CourseChapterNo.ToString())?.ChapterName, FinishChapterNoName = chatperList?.FirstOrDefault(sItem => sItem.CourseId == qitem.LearnCourseId && sItem.ChapterNo == qitem.CourseChapterNo.ToString())?.ChapterName,
CourseChapterNoName = chatperList?.FirstOrDefault(sItem => sItem.CourseId == qitem.LearnCourseId && sItem.ChapterNo == qitem.CourseGradeNo.ToString())?.ChapterName CourseChapterNoName = chatperList?.FirstOrDefault(sItem => sItem.CourseId == qitem.LearnCourseId && sItem.ChapterNo == qitem.CourseGradeNo.ToString())?.ChapterName,
IsChecked = false,
qitem.IsCalcStuCheck,
qitem.State,
StateName = qitem.State.ToName(),
}), }),
AppointState = item.Where(x => x.State == CourseAppointStateEnum.WaitSure).Any() ? 1 : 2, AppointState = item.Where(x => x.State == CourseAppointStateEnum.WaitSure).Any() ? 1 : 2,
item.Key.ShiftSort, item.Key.ShiftSort,
......
...@@ -107,6 +107,7 @@ namespace Edu.Module.Course ...@@ -107,6 +107,7 @@ namespace Edu.Module.Course
foreach(var subItem in item.CourseItems) foreach(var subItem in item.CourseItems)
{ {
subItem.TeacherName = empList?.FirstOrDefault(qitem => qitem.Id == subItem.AccountId)?.AccountName ?? ""; subItem.TeacherName = empList?.FirstOrDefault(qitem => qitem.Id == subItem.AccountId)?.AccountName ?? "";
subItem.TeacherId = empList?.FirstOrDefault(qitem => qitem.Id == subItem.AccountId)?.AccountId ?? 0;
if (subItem.ClassRoomId > 0) if (subItem.ClassRoomId > 0)
{ {
subItem.RoomName = roomList?.FirstOrDefault(qitem => qitem.RoomId == subItem.ClassRoomId)?.RoomName ?? ""; subItem.RoomName = roomList?.FirstOrDefault(qitem => qitem.RoomId == subItem.ClassRoomId)?.RoomName ?? "";
......
...@@ -675,8 +675,7 @@ namespace Edu.Module.Course ...@@ -675,8 +675,7 @@ namespace Edu.Module.Course
var tempList = list.Where(qitem => qitem.State == Common.Enum.Course.CourseAppointStateEnum.WaitCourse || qitem.State == Common.Enum.Course.CourseAppointStateEnum.StuCheck)?.ToList(); var tempList = list.Where(qitem => qitem.State == Common.Enum.Course.CourseAppointStateEnum.WaitCourse || qitem.State == Common.Enum.Course.CourseAppointStateEnum.StuCheck)?.ToList();
if(tempList.Any()) if(tempList.Any())
{ {
class_CheckRepository.AppointStuCheckRepository(tempList); class_CheckRepository.AppointStuCheckRepository(tempList,1);
} }
} }
} }
......
...@@ -1759,7 +1759,7 @@ namespace Edu.Module.Course ...@@ -1759,7 +1759,7 @@ namespace Edu.Module.Course
var firstModel = list.FirstOrDefault(); var firstModel = list.FirstOrDefault();
if (list.Where(x => x.AppointType != 3).Count() < firstModel.ScrollMinNum) if (list.Where(x => x.AppointType != 3).Count() < firstModel.ScrollMinNum)
{ {
return "最小成班人数:" + firstModel.ScrollMinNum; //return "最小成班人数:" + firstModel.ScrollMinNum;
} }
var planList = class_PlanRepository.GetClassPlanListRepository(new RB_Class_Plan_ViewModel() var planList = class_PlanRepository.GetClassPlanListRepository(new RB_Class_Plan_ViewModel()
...@@ -2469,9 +2469,9 @@ namespace Edu.Module.Course ...@@ -2469,9 +2469,9 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
/// <param name="group_Id"></param> /// <param name="group_Id"></param>
/// <returns></returns> /// <returns></returns>
public List<RB_Student_OrderGuest_ViewModel> GetCanAppointmentStuList_V2(string stuName, int NextChapterGradeNo, int CourseGradeId, int SchoolId, int group_Id) public List<RB_Student_OrderGuest_ViewModel> GetCanAppointmentStuListModule_V2(string stuName, int NextChapterGradeNo, int CourseGradeId, int SchoolId, int group_Id)
{ {
var list = student_OrderGuestRepository.GetCanAppointmentStuList_V2(stuName, NextChapterGradeNo, CourseGradeId, SchoolId, group_Id); var list = student_OrderGuestRepository.GetCanAppointmentStuListRepository_V2(stuName, NextChapterGradeNo, CourseGradeId, SchoolId, group_Id);
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
string courseIds = string.Join(",", list.Select(qitem => qitem.CourseId).Distinct()); string courseIds = string.Join(",", list.Select(qitem => qitem.CourseId).Distinct());
...@@ -2803,7 +2803,7 @@ namespace Edu.Module.Course ...@@ -2803,7 +2803,7 @@ namespace Edu.Module.Course
{ {
List<RB_Scroll_Appointment_ViewModel> list = new List<RB_Scroll_Appointment_ViewModel>(); List<RB_Scroll_Appointment_ViewModel> list = new List<RB_Scroll_Appointment_ViewModel>();
list.Add(demodel); list.Add(demodel);
class_CheckRepository.AppointStuCheckRepository(list); class_CheckRepository.AppointStuCheckRepository(list,2);
} }
return flag ? "" : "出错了,请联系管理员"; return flag ? "" : "出错了,请联系管理员";
#endregion #endregion
...@@ -2824,8 +2824,8 @@ namespace Edu.Module.Course ...@@ -2824,8 +2824,8 @@ namespace Edu.Module.Course
//查询当日 所有的预约记录 //查询当日 所有的预约记录
var alllist = scroll_AppointmentRepository.GetAppointList(new RB_Scroll_Appointment_ViewModel() { Group_Id = userInfo.Group_Id, StartTime = date, EntTime = date, TeacherId = teacherId, ShiftSort = shiftSort }); var alllist = scroll_AppointmentRepository.GetAppointList(new RB_Scroll_Appointment_ViewModel() { Group_Id = userInfo.Group_Id, StartTime = date, EntTime = date, TeacherId = teacherId, ShiftSort = shiftSort });
var list = alllist.Where(x => appointList.Contains(x.Id)).ToList(); var list = alllist.Where(x => appointList.Contains(x.Id)).ToList();
//if (list.Count() != appointList.Count()) { return "取消数量对不上"; } if (list.Count() != appointList.Count()) { return "取消数量对不上"; }
//if (list.Where(x => x.State != Common.Enum.Course.CourseAppointStateEnum.WaitCourse && x.State != Common.Enum.Course.CourseAppointStateEnum.Coursed).Any()) { return "非已确认预约,无法取消"; } if (list.Where(x => x.State != Common.Enum.Course.CourseAppointStateEnum.WaitCourse && x.State != Common.Enum.Course.CourseAppointStateEnum.Coursed).Any()) { return "非已确认预约,无法取消"; }
#region 获取token 推送订阅消息 #region 获取token 推送订阅消息
string Appid = Config.JiaXiaoHeAppId; string Appid = Config.JiaXiaoHeAppId;
......
...@@ -1023,6 +1023,7 @@ WHERE 1=1 AND A.Status=0 {1} ", builderMakeUp.ToString(), builderWhere.ToString ...@@ -1023,6 +1023,7 @@ WHERE 1=1 AND A.Status=0 {1} ", builderMakeUp.ToString(), builderWhere.ToString
} }
else else
{ {
item.CheckRemark = "班课签到";
item.IsCalcTeacFee = 1; item.IsCalcTeacFee = 1;
item.CurrentDeductionHours = currentDeductionHours; item.CurrentDeductionHours = currentDeductionHours;
item.MakeUpStatus = 1; item.MakeUpStatus = 1;
...@@ -1338,8 +1339,9 @@ WHERE 1=1 AND A.Status=0 {1} ", builderMakeUp.ToString(), builderWhere.ToString ...@@ -1338,8 +1339,9 @@ WHERE 1=1 AND A.Status=0 {1} ", builderMakeUp.ToString(), builderWhere.ToString
/// 约课学员签到 /// 约课学员签到
/// </summary> /// </summary>
/// <param name="list"></param> /// <param name="list"></param>
/// <param name="checkType">1-定时任务自动签到,2-后台补录手动签到</param>
/// <returns></returns> /// <returns></returns>
public bool AppointStuCheckRepository(List<RB_Scroll_Appointment_ViewModel> list) public bool AppointStuCheckRepository(List<RB_Scroll_Appointment_ViewModel> list,int checkType)
{ {
bool flag = false; bool flag = false;
if (list.Any()) if (list.Any())
...@@ -1379,7 +1381,6 @@ WHERE 1=1 AND A.Status=0 {1} ", builderMakeUp.ToString(), builderWhere.ToString ...@@ -1379,7 +1381,6 @@ WHERE 1=1 AND A.Status=0 {1} ", builderMakeUp.ToString(), builderWhere.ToString
} }
if (gmodel != null) if (gmodel != null)
{ {
//ld 2022-03-08 修改为学员上课最大课时
Dictionary<string, object> keyValues1 = new Dictionary<string, object>(); Dictionary<string, object> keyValues1 = new Dictionary<string, object>();
var completeHours = guestOldFinishHours + clist.Sum(x => x.ClassHours); var completeHours = guestOldFinishHours + clist.Sum(x => x.ClassHours);
keyValues1.Add(nameof(Model.ViewModel.Sell.RB_Order_Guest_ViewModel.CourseChapterNo), item.ChapterNo); keyValues1.Add(nameof(Model.ViewModel.Sell.RB_Order_Guest_ViewModel.CourseChapterNo), item.ChapterNo);
...@@ -1437,7 +1438,16 @@ WHERE 1=1 AND A.Status=0 {1} ", builderMakeUp.ToString(), builderWhere.ToString ...@@ -1437,7 +1438,16 @@ WHERE 1=1 AND A.Status=0 {1} ", builderMakeUp.ToString(), builderWhere.ToString
IsAbsentHours = 0, IsAbsentHours = 0,
ClassTimeId = qitem.ClassTimeId, ClassTimeId = qitem.ClassTimeId,
IsCalcTeacFee = 1, IsCalcTeacFee = 1,
CheckRemark=""
}; };
if (checkType == 1)
{
checkModel.CheckRemark = "定时任务自动签到";
}
else
{
checkModel.CheckRemark = "后台补录手动签到";
}
if (item.State == Common.Enum.Course.CourseAppointStateEnum.StuCheck) if (item.State == Common.Enum.Course.CourseAppointStateEnum.StuCheck)
{ {
checkModel.IsCalcTeacFee = 0; checkModel.IsCalcTeacFee = 0;
......
...@@ -1001,7 +1001,7 @@ and og.TotalChapterNo > og.CourseChapterNo and (og.CourseChapterNo + 1 + IFNULL( ...@@ -1001,7 +1001,7 @@ and og.TotalChapterNo > og.CourseChapterNo and (og.CourseChapterNo + 1 + IFNULL(
/// </summary> /// </summary>
/// <param name="group_Id"></param> /// <param name="group_Id"></param>
/// <returns></returns> /// <returns></returns>
public List<RB_Student_OrderGuest_ViewModel> GetCanAppointmentStuList_V2(string stuName, int NextChapterGradeNo, int CourseGradeId, int SchoolId, int group_Id) public List<RB_Student_OrderGuest_ViewModel> GetCanAppointmentStuListRepository_V2(string stuName, int NextChapterGradeNo, int CourseGradeId, int SchoolId, int group_Id)
{ {
DynamicParameters parameters = new DynamicParameters(); DynamicParameters parameters = new DynamicParameters();
string sql = $@" string sql = $@"
......
...@@ -85,6 +85,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -85,6 +85,7 @@ namespace Edu.WebApi.Controllers.Course
qitem.AppointId, qitem.AppointId,
qitem.AccountId, qitem.AccountId,
qitem.ShiftSort, qitem.ShiftSort,
qitem.TeacherId,
})); }));
if (query.QCourseRate == Common.Enum.Course.CourseRateEnum.N5 if (query.QCourseRate == Common.Enum.Course.CourseRateEnum.N5
......
...@@ -740,7 +740,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -740,7 +740,7 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
} }
var list = scrollClassModule.GetCanAppointmentStuList_V2(StuName, NextCourseGradeNo, CourseGradeId, SchoolId, userInfo.Group_Id); var list = scrollClassModule.GetCanAppointmentStuListModule_V2(StuName, NextCourseGradeNo, CourseGradeId, SchoolId, userInfo.Group_Id);
return ApiResult.Success("", list.Select(x => new return ApiResult.Success("", list.Select(x => new
{ {
StuId = x.Student_Id, StuId = x.Student_Id,
...@@ -996,51 +996,51 @@ namespace Edu.WebApi.Controllers.Course ...@@ -996,51 +996,51 @@ namespace Edu.WebApi.Controllers.Course
public ApiResult CancelSureAppointment() public ApiResult CancelSureAppointment()
{ {
var userInfo = base.UserInfo; var userInfo = base.UserInfo;
//string AppointIds = base.ParmJObj.GetStringValue("AppointIds"); string AppointIds = base.ParmJObj.GetStringValue("AppointIds");
//int TeacherId = base.ParmJObj.GetInt("TeacherId", 0); int TeacherId = base.ParmJObj.GetInt("TeacherId", 0);
//string Date = base.ParmJObj.GetStringValue("Date"); string Date = base.ParmJObj.GetStringValue("Date");
//string ShiftSort = base.ParmJObj.GetStringValue("ShiftSort"); string ShiftSort = base.ParmJObj.GetStringValue("ShiftSort");
//if (string.IsNullOrEmpty(AppointIds) || TeacherId <= 0 || string.IsNullOrEmpty(Date) || string.IsNullOrEmpty(ShiftSort)) if (string.IsNullOrEmpty(AppointIds) || TeacherId <= 0 || string.IsNullOrEmpty(Date) || string.IsNullOrEmpty(ShiftSort))
//{
// return ApiResult.ParamIsNull();
//}
//string msg = scrollClassModule.CancelSureAppointmentModuleAsync(AppointIds, TeacherId, Date, ShiftSort, userInfo).Result;
//if (msg == "")
//{
// return ApiResult.Success();
//}
//else
//{
// return ApiResult.Failed(msg);
//}
CancelAppointmentModel model = new CancelAppointmentModel()
{
AccountId = base.ParmJObj.GetInt("AccountId", 0),
ShiftSort = base.ParmJObj.GetStringValue("ShiftSort"),
StuList = new List<StuAppointItem>(),
};
var Date = base.ParmJObj.GetStringValue("Date");
if (!string.IsNullOrEmpty(Date))
{ {
model.Date = Common.ConvertHelper.FormatDate(Convert.ToDateTime(Date)); return ApiResult.ParamIsNull();
} }
string StuListStr = base.ParmJObj.GetStringValue("ChooseStuList"); string msg = scrollClassModule.CancelSureAppointmentModuleAsync(AppointIds, TeacherId, Date, ShiftSort, userInfo).Result;
if (!string.IsNullOrEmpty(StuListStr)) if (msg == "")
{ {
JArray jarray = JArray.Parse(StuListStr); return ApiResult.Success();
foreach (var jItem in jarray)
{
JObject jobj = JObject.Parse(Common.Plugin.JsonHelper.Serialize(jItem));
model.StuList.Add(new StuAppointItem() { AppointId = jobj.GetInt("AppointId"), IsCalcStuCheck = jobj.GetInt("IsCalcStuCheck") });
}
} }
if (model.StuList.Count <= 0) else
{ {
return ApiResult.ParamIsNull(message: "请选择要取消的学员!"); return ApiResult.Failed(msg);
} }
bool flag = scrollClassModule.CancelSureAppointmentNewModule(model, userInfo, out string message);
return flag ? ApiResult.Success() : ApiResult.Failed(message: message); //CancelAppointmentModel model = new CancelAppointmentModel()
//{
// AccountId = base.ParmJObj.GetInt("AccountId", 0),
// ShiftSort = base.ParmJObj.GetStringValue("ShiftSort"),
// StuList = new List<StuAppointItem>(),
//};
//var Date = base.ParmJObj.GetStringValue("Date");
//if (!string.IsNullOrEmpty(Date))
//{
// model.Date = Common.ConvertHelper.FormatDate(Convert.ToDateTime(Date));
//}
//string StuListStr = base.ParmJObj.GetStringValue("ChooseStuList");
//if (!string.IsNullOrEmpty(StuListStr))
//{
// JArray jarray = JArray.Parse(StuListStr);
// foreach (var jItem in jarray)
// {
// JObject jobj = JObject.Parse(Common.Plugin.JsonHelper.Serialize(jItem));
// model.StuList.Add(new StuAppointItem() { AppointId = jobj.GetInt("AppointId"), IsCalcStuCheck = jobj.GetInt("IsCalcStuCheck") });
// }
//}
//if (model.StuList.Count <= 0)
//{
// return ApiResult.ParamIsNull(message: "请选择要取消的学员!");
//}
//bool flag = scrollClassModule.CancelSureAppointmentNewModule(model, userInfo, out string message);
//return flag ? ApiResult.Success() : ApiResult.Failed(message: message);
} }
/// <summary> /// <summary>
...@@ -1067,6 +1067,33 @@ namespace Edu.WebApi.Controllers.Course ...@@ -1067,6 +1067,33 @@ namespace Edu.WebApi.Controllers.Course
{ {
return ApiResult.Failed(msg); return ApiResult.Failed(msg);
} }
//CancelAppointmentModel model = new CancelAppointmentModel()
//{
// AccountId = base.ParmJObj.GetInt("AccountId", 0),
// ShiftSort = base.ParmJObj.GetStringValue("ShiftSort"),
// StuList = new List<StuAppointItem>(),
//};
//var Date = base.ParmJObj.GetStringValue("Date");
//if (!string.IsNullOrEmpty(Date))
//{
// model.Date = Common.ConvertHelper.FormatDate(Convert.ToDateTime(Date));
//}
//string StuListStr = base.ParmJObj.GetStringValue("ChooseStuList");
//if (!string.IsNullOrEmpty(StuListStr))
//{
// JArray jarray = JArray.Parse(StuListStr);
// foreach (var jItem in jarray)
// {
// JObject jobj = JObject.Parse(Common.Plugin.JsonHelper.Serialize(jItem));
// model.StuList.Add(new StuAppointItem() { AppointId = jobj.GetInt("AppointId"), IsCalcStuCheck = jobj.GetInt("IsCalcStuCheck") });
// }
//}
//if (model.StuList.Count <= 0)
//{
// return ApiResult.ParamIsNull(message: "请选择要取消的学员!");
//}
//bool flag = scrollClassModule.CancelSureAppointmentNewModule(model, userInfo, out string message);
//return flag ? ApiResult.Success() : ApiResult.Failed(message: message);
} }
......
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