Commit 059b18d3 authored by 吴春's avatar 吴春

提交代码

parent ea636e7f
......@@ -42,14 +42,11 @@ namespace Edu.Model.Entity.EduTask
/// </summary>
public string OrderGuestIds { get; set; }
/// <summary>
/// 计划id
/// </summary>
public int ClassPlanId { get; set; }
/// <summary>
/// 计划时间id
/// </summary>
public int ClassTimeId { get; set; }
public string ClassTimeIds { get; set; }
......
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.EduTask
{
/// <summary>
/// 临时上课邀请记录表
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Temporary_Invitation
{
/// <summary>
......@@ -48,7 +51,10 @@ namespace Edu.Model.Entity.EduTask
/// </summary>
public int OrderGuestId { get; set; }
/// <summary>
/// 状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 创建人
/// </summary>
......
......@@ -8,6 +8,11 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public class RB_Class_Plan_ViewModel : RB_Class_Plan
{
/// <summary>
/// 排课日期【查询使用,逗号分隔】
/// </summary>
public string QClassPlanIds { get; set; }
/// <summary>
/// 班级编号【查询使用,逗号分隔】
/// </summary>
......
......@@ -8,6 +8,11 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public class RB_Class_Time_ViewModel : RB_Class_Time
{
/// <summary>
/// 计划时间编号【查询使用,逗号分隔】
/// </summary>
public string QClassTimeIds { get; set; }
/// <summary>
/// 计划编号【查询使用,逗号分隔】
/// </summary>
......
......@@ -210,5 +210,14 @@ namespace Edu.Model.ViewModel.Course
/// 学校
/// </summary>
public string SchoolName { get; set; }
/// <summary>
/// 上课时间id
/// </summary>
public int ClassTimeId { get; set; }
/// <summary>
/// 上课计划id
/// </summary>
public int ClassPlanId { get; set; }
}
}
\ No newline at end of file
......@@ -44,10 +44,26 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary>
public string CourseName { get; set; }
/// <summary>
/// 学员信息
/// </summary>
public List<Course.RB_Order_Guest_ViewModel> OrderGuestList { get; set; }
/// <summary>
/// 上课信息
/// </summary>
public List<ClassPlanTime> ClassPlanTimeList { get; set; }
}
public class ClassPlanTime
{
/// <summary>
/// 上课日期
/// </summary>
public DateTime? ClassDate { get; set; }
public string ClassDate { get; set; }
/// <summary>
/// 上课开始时间
......@@ -62,12 +78,7 @@ namespace Edu.Model.ViewModel.EduTask
/// <summary>
/// 上课课时
/// </summary>
public int TimeHour { get; set; }
/// <summary>
/// 学员信息
/// </summary>
public List<Course.RB_Order_Guest_ViewModel> OrderGuestList { get; set; }
public decimal TimeHour { get; set; }
}
}
......@@ -10,6 +10,21 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary>
public class RB_Temporary_Invitation_ViewModel : RB_Temporary_Invitation
{
/// <summary>
/// 班级的ids
/// </summary>
public string ClassIds { get; set; }
/// <summary>
/// 上课时间ids
/// </summary>
public string ClassTimeIds { get; set; }
/// <summary>
/// 上课计划ids
/// </summary>
public string ClassPlanIds { get; set; }
}
}
This diff is collapsed.
......@@ -116,7 +116,8 @@ namespace Edu.Module.EduTask
//老师列表
List<RB_Teacher_ViewModel> teacherList = new List<RB_Teacher_ViewModel>();
//学生信息
List<RB_Order_Guest_ViewModel> orderGuestList = new List<RB_Order_Guest_ViewModel>();
List<RB_Order_Guest_ViewModel> orderGuestList = new List<RB_Order_Guest_ViewModel>(); //学生信息
List<RB_Order_Guest_ViewModel> orderGuestTempInvitationList = new List<RB_Order_Guest_ViewModel>();
//教室列表
List<RB_Class_Room_ViewModel> roomList = new List<RB_Class_Room_ViewModel>();
//班级上课计划列表
......@@ -268,25 +269,34 @@ namespace Edu.Module.EduTask
if (studentTempInvitationClassList != null && studentTempInvitationClassList.Any())
{
string orderGuestIds = string.Join(",", studentTempInvitationClassList.Select(x => x.OrderGuestIds));
orderGuestList = order_GuestRepository.GetStopingStudentPage(new RB_Order_Guest_ViewModel
if (!string.IsNullOrWhiteSpace(orderGuestIds))
{
orderGuestTempInvitationList = order_GuestRepository.GetStopingStudentPage(new RB_Order_Guest_ViewModel
{
OrderGuestIds = orderGuestIds
});
if (orderGuestList != null && orderGuestList.Any())
if (orderGuestTempInvitationList != null && orderGuestTempInvitationList.Any())
{
orderGuestList.ForEach(x => x.EnterName = x.EnterID > 0 ? (UserReidsCache.GetUserLoginInfo(x.EnterID)?.AccountName ?? "") : "");
foreach (var item in studentTempInvitationClassList)
orderGuestTempInvitationList.ForEach(x => x.EnterName = x.EnterID > 0 ? (UserReidsCache.GetUserLoginInfo(x.EnterID)?.AccountName ?? "") : "");
}
}
string classTimeIds = string.Join(",", studentTempInvitationClassList.Select(x => x.ClassTimeIds));
if (!string.IsNullOrWhiteSpace(classTimeIds))
{
item.OrderGuestList = new List<RB_Order_Guest_ViewModel>();
foreach (var itemOrderGuestId in item.OrderGuestIds.Split(","))
timeList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel { QClassTimeIds = classTimeIds });
if (timeList != null && timeList.Any())
{
if (!string.IsNullOrWhiteSpace(itemOrderGuestId))
string classPlanIds = string.Join(",", timeList.Select(x => x.ClassPlanId));
if (!string.IsNullOrWhiteSpace(classPlanIds))
{
item.OrderGuestList.AddRange(orderGuestList.Where(x => x.Id == Convert.ToInt32(itemOrderGuestId)));
}
planList = class_PlanRepository.GetClassPlanListRepository(new RB_Class_Plan_ViewModel { QClassPlanIds = classPlanIds });
}
}
}
}
}
......@@ -346,6 +356,43 @@ namespace Edu.Module.EduTask
{
DataObj = stopClassList?.Where(qitem => qitem.Id == item.RelationId)?.FirstOrDefault();
}
//临时上课邀请
if (item.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.InvitationClass)
{
var tempModel = studentTempInvitationClassList.Where(qitem => qitem.Id == item.RelationId)?.FirstOrDefault();
//tempModel.ClassDate = planList.Where(x => x.ClassPlanId == tempModel.ClassPlanId).FirstOrDefault()?.ClassDate.ToString("yyyy-MM-dd") ?? "";
//tempModel.StartTime = timeList.Where(x => x.ClassTimeId == tempModel.ClassTimeId).FirstOrDefault()?.StartTime ?? "";
//tempModel.EndTime = timeList.Where(x => x.ClassTimeId == tempModel.ClassTimeId).FirstOrDefault()?.EndTime ?? "";
//tempModel.TimeHour = timeList.Where(x => x.ClassTimeId == tempModel.ClassTimeId).FirstOrDefault()?.TimeHour ?? 0;
tempModel.ClassPlanTimeList = new List<ClassPlanTime>();
foreach (var itemClassTimeIds in tempModel.ClassTimeIds.Split(","))
{
if (!string.IsNullOrWhiteSpace(itemClassTimeIds))
{
var tempTimeModel = timeList.Where(x => x.ClassTimeId.ToString() == itemClassTimeIds).FirstOrDefault();
ClassPlanTime classPlanTimeModel = new ClassPlanTime()
{
StartTime = tempTimeModel?.StartTime ?? "",
EndTime = tempTimeModel?.EndTime ?? "",
TimeHour = tempTimeModel?.TimeHour ?? 0
};
classPlanTimeModel.ClassDate = planList.Where(x => x.ClassPlanId == tempTimeModel.ClassPlanId).FirstOrDefault()?.ClassDate.ToString("yyyy-MM-dd") ?? "";
tempModel.ClassPlanTimeList.Add(classPlanTimeModel);
}
}
tempModel.OrderGuestList = new List<RB_Order_Guest_ViewModel>();
foreach (var itemOrderGuestIds in tempModel.OrderGuestIds.Split(","))
{
if (!string.IsNullOrWhiteSpace(itemOrderGuestIds))
{
tempModel.OrderGuestList.AddRange(orderGuestTempInvitationList.Where(x => x.Id.ToString() == itemOrderGuestIds));
}
}
DataObj = tempModel;
}
//订单转班
if (item.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.OrderTransClass)
{
......@@ -1057,6 +1104,14 @@ namespace Edu.Module.EduTask
flag = student_StopClassRepository.UpdateStudentStopClass(receiptModel.Id, auditModel.AuditStatus);
}
}
//临时上课邀请
if (receiptModel.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.InvitationClass)
{
if (auditModel.AuditStatus == 2)
{
flag = student_TempInvitationRepository.UpdateStundetTempInvitation(receiptModel.Id);
}
}
return flag;
}
......@@ -1223,5 +1278,16 @@ namespace Edu.Module.EduTask
auditRelevance.ToAuditId = string.Join(",", empIds);
education_RelevanceRepository.Update(auditRelevance);
}
/// <summary>
/// 获取教务单据列表
/// </summary>
/// <param name="RelationIds"></param>
/// <returns></returns>
public List<RB_Education_Receipt_ViewModel> GetEducationReceiptList(string RelationIds)
{
return education_ReceiptRepository.GetEducationReceiptList(RelationIds);
}
}
}
......@@ -54,8 +54,7 @@ namespace Edu.Module.EduTask
{nameof(RB_Student_TempInvitation_ViewModel.OrderGuestIds),extModel.OrderGuestIds },
{nameof(RB_Student_TempInvitation_ViewModel.ClassId),extModel.ClassId },
{nameof(RB_Student_TempInvitation_ViewModel.CourseId),extModel.CourseId },
{nameof(RB_Student_TempInvitation_ViewModel.ClassPlanId),extModel.ClassPlanId },
{nameof(RB_Student_TempInvitation_ViewModel.ClassTimeId),extModel.ClassTimeId },
{nameof(RB_Student_TempInvitation_ViewModel.ClassTimeIds),extModel.ClassTimeIds },
{nameof(RB_Student_TempInvitation_ViewModel.TeacherId),extModel.TeacherId },
{nameof(RB_Student_TempInvitation_ViewModel.School_Id),extModel.School_Id},
{nameof(RB_Student_TempInvitation_ViewModel.UpdateBy),extModel.UpdateBy },
......
......@@ -48,6 +48,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.School_Id), query.School_Id);
}
if (!string.IsNullOrEmpty(query.QClassPlanIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Class_Plan_ViewModel.ClassPlanId), query.QClassPlanIds);
}
if (!string.IsNullOrEmpty(query.QClassIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Class_Plan_ViewModel.ClassId), query.QClassIds);
......
......@@ -39,6 +39,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Class_Time_ViewModel.ClassPlanId), query.QClassPlanIds);
}
if (!string.IsNullOrEmpty(query.QClassTimeIds))
{
builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Class_Time_ViewModel.ClassTimeId), query.QClassTimeIds);
}
if (query.ClassId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Class_Time_ViewModel.ClassId), query.ClassId);
......
......@@ -510,5 +510,74 @@ WHERE {where}";
return Get<RB_Order_Guest_ViewModel>(sql).ToList();
}
#region 临时上课邀请学生查询
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Order_Guest_ViewModel> GetTempInvitationGuest(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel demodel)
{
string where = $@" 1=1 and A.Status=0 and ti.Status=0 AND (B.IsChaBan=0 OR (B.IsChaBan=1 AND B.EffectStatus IN(1) ))";
if (demodel.Group_Id > 0)
{
where += $@" and A.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.ClassId > 0)
{
where += $@" and ti.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.ClassId)} ={demodel.ClassId}";
}
if (demodel.School_Id > 0)
{
where += $@" and Ati.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.School_Id)} ={demodel.School_Id}";
}
if (demodel.CourseId > 0)
{
where += $@" and ti.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.CourseId)} ={demodel.CourseId}";
}
if (demodel.ClassTimeId > 0)
{
where += $@" and ti.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.ClassTimeId)} ={demodel.ClassTimeId}";
}
//if (!string.IsNullOrEmpty(demodel.OrderIds))
//{
// where += $@" and A.{nameof(RB_Order_Guest_ViewModel.OrderId)} in({demodel.OrderIds})";
//}
if (!string.IsNullOrEmpty(demodel.ClassIds))
{
where += $@" and ti.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.ClassId)} in({demodel.ClassIds})";
}
if (!string.IsNullOrEmpty(demodel.ClassTimeIds))
{
where += $@" and ti.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.ClassTimeId)} in({demodel.ClassTimeIds})";
}
if (!string.IsNullOrEmpty(demodel.ClassPlanIds))
{
where += $@" and ti.{nameof(Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel.ClassPlanId)} in({demodel.ClassPlanIds})";
}
//if (!string.IsNullOrEmpty(demodel.GuestName))
//{
// where += $@" and A.{nameof(RB_Order_Guest_ViewModel.GuestName)} like '%{demodel.GuestName}%'";
//}
//if (demodel.GuestState > 0)
//{
// where += $@" and A.{nameof(RB_Order_Guest_ViewModel.GuestState)} ={demodel.GuestState}";
//}
string sql = $@"
SELECT A.Id,A.ContactMobile,a.GuestName,a.GuestState,a.Sex,a.Mobile,a.TotalHours,a.CompleteHours,a.MakeUpHours,a.ChangeEffectTime,a.ValidClassHours,ti.ClassId,IFNULL(B.IsChaBan,0) AS IsChaBan,IFNULL(B.StartClassHours,0) AS StartClassHours,IFNULL(C.CourseName,'') AS CourseName
,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId,B.IsRenewOrder,B.RenewOrderId,ti.ClassTimeId,ti.ClassPlanId
FROM RB_Order_Guest AS A
INNER JOIN rb_temporary_invitation as ti on ti.OrderGuestId=a.Id
LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId
LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1)
WHERE {where}";
return Get<RB_Order_Guest_ViewModel>(sql).ToList();
}
#endregion
}
}
......@@ -435,5 +435,27 @@ WHERE 1=1
}
return result;
}
/// <summary>
/// 获取教务单据列表
/// </summary>
/// <param name="RelationIds"></param>
/// <returns></returns>
public List<RB_Education_Receipt_ViewModel> GetEducationReceiptList(string RelationIds)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT A.* FROM RB_Education_Receipt AS A WHERE 1=1 ");
if (!string.IsNullOrEmpty(RelationIds))
{
builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Education_Receipt_ViewModel.RelationId), RelationIds);
}
builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_Education_Receipt_ViewModel.Id));
return Get<RB_Education_Receipt_ViewModel>(builder.ToString(), parameters).ToList();
}
}
}
......@@ -3,7 +3,9 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using Edu.Model.Entity.EduTask;
using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.EduTask;
using VT.FW.DB;
namespace Edu.Repository.EduTask
{
......@@ -16,8 +18,28 @@ namespace Edu.Repository.EduTask
/// 教务单据仓储层对象
/// </summary>
private readonly RB_Education_ReceiptRepository education_ReceiptRepository = new RB_Education_ReceiptRepository();
/// <summary>
/// 临时上课邀请记录
/// </summary>
private readonly RB_Temporary_InvitationRepository temporaryInvitationRepository = new RB_Temporary_InvitationRepository();
/// <summary>
/// 订单学员仓储层对象
/// </summary>
private readonly Course.RB_Order_GuestRepository order_GuestRepository = new Course.RB_Order_GuestRepository();
/// <summary>
/// 班级上课计划仓储层对象
/// </summary>
private readonly Course.RB_Class_PlanRepository class_PlanRepository = new Course.RB_Class_PlanRepository();
/// <summary>
/// 班级上课计划上课时间仓储层对象
/// </summary>
private readonly Course.RB_Class_TimeRepository class_TimeRepository = new Course.RB_Class_TimeRepository();
/// <summary>
/// 获取临时上课邀请申请列表
/// </summary>
......@@ -40,5 +62,94 @@ WHERE 1=1
}
return Get<RB_Student_TempInvitation_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 审核通过后更新临时上课记录表
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public bool UpdateStundetTempInvitation(object Id)
{
//查询当前调课信息
bool flag = false;
var receiptModel = education_ReceiptRepository.GetEntity(Id);
if (receiptModel == null || receiptModel.Id == 0)
{
return false;
}
if (receiptModel.ReceiptType != Common.Enum.Finance.ReceiptTypeEnum.InvitationClass)
{
return false;
}
var model = GetEntity(receiptModel.RelationId);
if (model == null || model.Id == 0)
{
return false;
}
else //更新学生的信息
{
//学生信息
List<RB_Order_Guest_ViewModel> orderGuestList = new List<RB_Order_Guest_ViewModel>();
//班级上课计划列表
List<RB_Class_Plan_ViewModel> planList = new List<RB_Class_Plan_ViewModel>();
//班级上课时间列表
List<RB_Class_Time_ViewModel> timeList = new List<RB_Class_Time_ViewModel>();
string orderGuestIds = model.OrderGuestIds;
if (!string.IsNullOrWhiteSpace(orderGuestIds))
{
orderGuestList = order_GuestRepository.GetStopingStudentPage(new RB_Order_Guest_ViewModel
{
OrderGuestIds = orderGuestIds
});
}
string classTimeIds = model.ClassTimeIds;
if (!string.IsNullOrWhiteSpace(classTimeIds))
{
timeList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel { QClassTimeIds = classTimeIds });
if (timeList != null && timeList.Any())
{
string classPlanIds = string.Join(",", timeList.Select(x => x.ClassPlanId));
if (!string.IsNullOrWhiteSpace(classPlanIds))
{
planList = class_PlanRepository.GetClassPlanListRepository(new RB_Class_Plan_ViewModel { QClassPlanIds = classPlanIds });
}
}
}
List<RB_Temporary_Invitation> tempInvitationList = new List<RB_Temporary_Invitation>();
foreach (var item in timeList)
{
foreach (var itemGuest in orderGuestList)
{
RB_Temporary_Invitation invitationModel = new RB_Temporary_Invitation()
{
Id = 0,
ClassId = model.ClassId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
CourseId = model.CourseId,
ClassPlanId = item.ClassPlanId,
ClassTimeId = item.ClassTimeId,
OrderGuestId = itemGuest.Id,
CreateBy = model.CreateBy,
CreateTime = DateTime.Now
};
tempInvitationList.Add(invitationModel);
}
}
if (tempInvitationList!=null&& tempInvitationList.Any())
{
flag = temporaryInvitationRepository.InsertBatch(tempInvitationList);
}
}
return flag;
}
}
}
......@@ -12,6 +12,40 @@ namespace Edu.Repository.EduTask
/// </summary>
public class RB_Temporary_InvitationRepository : BaseRepository<RB_Temporary_Invitation>
{
/// <summary>
/// 获取班级上课学生列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Temporary_Invitation> GetTemporaryInvitationListRepository(RB_Temporary_Invitation query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" SELECT * FROM RB_Temporary_Invitation WHERE 1=1 ");
if (query != null)
{
if (query.ClassPlanId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Temporary_Invitation.ClassPlanId), query.ClassPlanId);
}
if (query.ClassTimeId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Temporary_Invitation.ClassTimeId), query.ClassTimeId);
}
if (query.ClassId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Temporary_Invitation.ClassId), query.ClassId);
}
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Temporary_Invitation.Group_Id), query.Group_Id);
}
//if (query.School_Id > 0)
//{
// builder.AppendFormat(" AND {0}={1} ", nameof(RB_Temporary_Invitation.School_Id), query.School_Id);
//}
}
return Get<RB_Temporary_Invitation>(builder.ToString()).ToList();
}
}
}
......@@ -768,6 +768,10 @@ namespace Edu.WebApi.Controllers.Course
EndDate = data.ClassDate.ToString("yyyy-MM-dd HH:mm:ss"),
ClassTimeId = ClassTimeId,
});
//临时上课邀请学员查询
var tempGuestList = classModule.GetTempInvitationGuest(new Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel { Group_Id = base.UserInfo.Group_Id, School_Id = 0, ClassId = data.ClassId, ClassTimeId = ClassTimeId });
List<object> guestList = new List<object>();
foreach (var item in orderGuestList.Where(x => x.GuestState == 1 || x.GuestState == 6 || ((x.GuestState == 5 || x.GuestState == 7) && x.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.ChangeEffectTime)) >= data.ClassDate)))
{
......@@ -794,10 +798,42 @@ namespace Edu.WebApi.Controllers.Course
EffectTime = Common.ConvertHelper.FormatDate(item.EffectTime),
item.UpOrderId,
IsCheck = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.OrderGuestId == item.Id).FirstOrDefault()?.CheckStatus ?? -1 : -1,
StudyNum = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.OrderGuestId == item.Id).FirstOrDefault()?.StudyNum ?? 0 : 0
StudyNum = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.OrderGuestId == item.Id).FirstOrDefault()?.StudyNum ?? 0 : 0,
IsTemp=0,
});
}
}
foreach (var item in tempGuestList.Where(x => x.GuestState == 1 || x.GuestState == 6 || ((x.GuestState == 5 || x.GuestState == 7) && x.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.ChangeEffectTime)) >= data.ClassDate)))
{
if (item.IsChaBan == 0 || (item.IsChaBan == 1 && data.ClassDate >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(item.EffectTime))))
{
guestList.Add(new
{
UserIcon = "",
item.Id,
SexStr = item.Sex == 1 ? "男" : "女",
item.GuestName,
item.Age,
CreateTimeStr = Common.ConvertHelper.FormatTime(item.CreateTime),
item.Mobile,
item.OrderId,
item.CourseName,
item.CourseId,
item.TotalHours,
item.CompleteHours,
item.StartClassHours,
item.IsChaBan,
item.EffectStatus,
item.EffectStatusStr,
EffectTime = Common.ConvertHelper.FormatDate(item.EffectTime),
item.UpOrderId,
IsCheck = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.OrderGuestId == item.Id).FirstOrDefault()?.CheckStatus ?? -1 : -1,
StudyNum = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.OrderGuestId == item.Id).FirstOrDefault()?.StudyNum ?? 0 : 0,
IsTemp = 1,
});
}
}
var classMinutes = classModule.GetClassMinutesModule(classId);
return ApiResult.Success(data: new
{
......
......@@ -500,8 +500,19 @@ namespace Edu.WebApi.Controllers.Course
var orderGuestList = classModule.GetOrderGuestListModule(new RB_Order_Guest_ViewModel { Group_Id = base.UserInfo.Group_Id, School_Id = 0, ClassId = classModel.ClassId });
var checkLogList = classModule.GetClassCheckList(new RB_Class_Check_ViewModel { Group_Id = base.UserInfo.Group_Id, School_Id = -1, ClassId = classModel.ClassId, StartDate = timeModel.NewPlanDateTime, EndDate = timeModel.NewPlanDateTime });
foreach (var item in orderGuestList.Where(x => x.GuestState == 1 || x.GuestState == 6 || ((x.GuestState == 5||x.GuestState==7) && x.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.ChangeEffectTime)) >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(timeModel.NewPlanDateTime)))))
var tempOrderGuestList = classModule.GetTempInvitationGuest(new Model.ViewModel.EduTask.RB_Temporary_Invitation_ViewModel {ClassTimeId=ID ,ClassId=classModel.ClassId});
var allOrderGuestList = new List<RB_Order_Guest_ViewModel>();
allOrderGuestList.AddRange(orderGuestList.Where(x => x.GuestState == 1 || x.GuestState == 6 || ((x.GuestState == 5 || x.GuestState == 7) && x.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.ChangeEffectTime)) >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(timeModel.NewPlanDateTime)))));
var checkLogList = classModule.GetClassCheckList(new RB_Class_Check_ViewModel { ClassTimeId = ID, Group_Id = base.UserInfo.Group_Id, School_Id = -1, ClassId = classModel.ClassId });
if (tempOrderGuestList != null&& tempOrderGuestList.Any())
{
allOrderGuestList.AddRange(tempOrderGuestList.Where(x => x.GuestState == 1 || x.GuestState == 6 || ((x.GuestState == 5 || x.GuestState == 7) &&x.ClassTimeId==ID&&x.ClassId==classModel.ClassId && x.ChangeEffectTime.HasValue && Convert.ToDateTime(Common.ConvertHelper.FormatDate(x.ChangeEffectTime)) >= Convert.ToDateTime(Common.ConvertHelper.FormatDate(timeModel.NewPlanDateTime)))));
}
foreach (var item in allOrderGuestList)
{
item.IsCheck = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(y => y.OrderGuestId == item.Id).FirstOrDefault()?.CheckStatus ?? 2 : 2;
}
......@@ -515,7 +526,7 @@ namespace Edu.WebApi.Controllers.Course
ActualTime,//实际时间
AttendanceNum = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.CheckStatus == 0).Count() : 0,///出勤人数
timeModel.ClassStatus,//上课状态
GuestList = orderGuestList.OrderBy(x => x.IsCheck).Select(x => new
GuestList = allOrderGuestList.OrderBy(x => x.IsCheck).Select(x => new
{
x.GuestName,
x.Mobile,
......
......@@ -33,6 +33,12 @@ namespace Edu.WebApi.Controllers.EduTask
/// 班级处理类对象
/// </summary>
private readonly ClassModule classModule = AOP.AOPHelper.CreateAOPObject<ClassModule>();
///<summary>
/// 班级处理类对象
/// </summary>
private readonly EducationReceiptModule educationReceiptModule = AOP.AOPHelper.CreateAOPObject<EducationReceiptModule>();
/// <summary>
/// 新增修改班级调课
/// </summary>
......@@ -44,8 +50,7 @@ namespace Edu.WebApi.Controllers.EduTask
{
Id = base.ParmJObj.GetInt("Id"),
ClassId = base.ParmJObj.GetInt("ClassId"),
ClassTimeId = base.ParmJObj.GetInt("ClassTimeId"),
ClassPlanId = base.ParmJObj.GetInt("ClassPlanId"),
ClassTimeIds = base.ParmJObj.GetStringValue("ClassTimeIds"),
OrderGuestIds = base.ParmJObj.GetStringValue("OrderGuestIds"),
Remarks = base.ParmJObj.GetStringValue("Remarks")
};
......@@ -59,10 +64,38 @@ namespace Edu.WebApi.Controllers.EduTask
return ApiResult.Failed("请选择您要邀请上课的班级");
}
if (model.ClassPlanId == 0 || model.ClassTimeId == 0)
if (string.IsNullOrWhiteSpace(model.ClassTimeIds))
{
return ApiResult.Failed("请选择您要邀请的时间");
}
//判断之前是否有申请过,没有才添加
var studentTempIvvitationList = tempInvitationClassModule.GetTemporaryInvitationListRepository(new RB_Student_TempInvitation_ViewModel { ClassId = model.ClassId });
if (studentTempIvvitationList != null && studentTempIvvitationList.Any())
{
var timeList = model.ClassTimeIds.Split(",");
var orderGuestList = model.OrderGuestIds.Split(",");
var receiptList = educationReceiptModule.GetEducationReceiptList(string.Join(",", studentTempIvvitationList.Select(x => x.Id)));
foreach (var item in studentTempIvvitationList)
{
var receiptModel = receiptList.Where(x => x.RelationId == item.Id).FirstOrDefault();
var tempTimeList = item.ClassTimeIds.Split(",");
var tempOrderGuestList = item.OrderGuestIds.Split(",");
if (tempTimeList.Intersect(timeList).Count() > 0)
{
if (tempOrderGuestList.Intersect(orderGuestList).Count() > 0)
{
if (receiptModel != null && receiptModel.Id > 0 && (receiptModel.VerifyStatus == Common.Enum.EduTask.EduTaskRrocessStatus.AuditIng || receiptModel.VerifyStatus == Common.Enum.EduTask.EduTaskRrocessStatus.AuditThrough || receiptModel.VerifyStatus == Common.Enum.EduTask.EduTaskRrocessStatus.NotAudit || receiptModel.VerifyStatus == Common.Enum.EduTask.EduTaskRrocessStatus.OtherHaveAudit))
{
return ApiResult.Failed("学员不能重复邀请");
}
}
}
}
}
var classModel = classModule.GetClassModule(model.ClassId);
model.CourseId = classModel.CouseId;
model.TeacherId = classModel.Teacher_Id;
......
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