Commit ce217226 authored by 吴春's avatar 吴春

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

parents b2464cd7 55bc8006
...@@ -10,6 +10,64 @@ namespace Edu.Model.ViewModel.EduTask ...@@ -10,6 +10,64 @@ namespace Edu.Model.ViewModel.EduTask
/// </summary> /// </summary>
public class RB_Change_ClassPlan_ViewModel : RB_Change_ClassPlan public class RB_Change_ClassPlan_ViewModel : RB_Change_ClassPlan
{ {
/// <summary>
/// 调课计划编号
/// </summary>
public string Q_Change_ClassPlan_Ids { get; set; }
/// <summary>
/// 班级名称
/// </summary>
public string ClassName { get; set; }
/// <summary>
/// 调动类型字符串
/// </summary>
public string ChangeTypeStr
{
get
{
string str = "";
if (this.ChangeType == 1)
{
str = "课程";
}
else if (this.ChangeType == 2)
{
str = "老师";
}
else if (this.ChangeType == 3)
{
str = "教室";
}
else if (this.ChangeType == 4)
{
str = "取消课程";
}
return str;
}
}
/// <summary>
/// 调动选项字符串
/// </summary>
public string MoveTypeStr
{
get
{
string str = "";
if (this.MoveType == 1)
{
str = "固定日期";
}
else if (this.MoveType == 2)
{
str = "全局调整";
}
return str;
}
}
/// <summary> /// <summary>
/// 调整原数据信息 /// 调整原数据信息
/// </summary> /// </summary>
......
...@@ -7,6 +7,7 @@ using Edu.Model.ViewModel.Course; ...@@ -7,6 +7,7 @@ using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.Reserve; using Edu.Model.ViewModel.Reserve;
using Edu.Model.ViewModel.User; using Edu.Model.ViewModel.User;
using Edu.Repository.Course; using Edu.Repository.Course;
using Edu.Repository.Finance;
using Edu.Repository.Log; using Edu.Repository.Log;
using Edu.Repository.Reserve; using Edu.Repository.Reserve;
using Edu.Repository.User; using Edu.Repository.User;
...@@ -96,6 +97,10 @@ namespace Edu.Module.Course ...@@ -96,6 +97,10 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
private readonly RB_Class_ConfigRepository class_ConfigRepository = new RB_Class_ConfigRepository(); private readonly RB_Class_ConfigRepository class_ConfigRepository = new RB_Class_ConfigRepository();
/// <summary>
/// 教育月结轧账
/// </summary>
private readonly RB_RollingAccountRepository rollingAccountRepository = new RB_RollingAccountRepository();
/// <summary> /// <summary>
/// 课程基础配置 /// 课程基础配置
...@@ -3170,5 +3175,29 @@ namespace Edu.Module.Course ...@@ -3170,5 +3175,29 @@ namespace Edu.Module.Course
} }
#endregion #endregion
#region 财务轧账
/// <summary>
/// 验证是否可以修改签到数据
/// </summary>
/// <param name="monthStr"></param>
/// <param name="schoolId"></param>
/// <param name="group_Id"></param>
/// <returns></returns>
public string ValidateClassCheckFinance(string monthStr, int schoolId, int group_Id)
{
var ralist = rollingAccountRepository.GetList(new Model.ViewModel.Finance.RB_RollingAccount_Extend() { GroupId = group_Id, Month = monthStr, State = 1 });
if (ralist.Any())
{
if (ralist.Where(x => x.SchoolIds == "-1" || ("," + x.SchoolIds + ",").Contains("," + schoolId + ",")).Any())
{
return "该单据所在交易日期已关帐,无法修改签到数据";
}
}
return "";
}
#endregion
} }
} }
...@@ -54,6 +54,11 @@ namespace Edu.Module.EduTask ...@@ -54,6 +54,11 @@ namespace Edu.Module.EduTask
/// </summary> /// </summary>
private readonly RB_Student_BackClassRepository student_BackClassRepository = new RB_Student_BackClassRepository(); private readonly RB_Student_BackClassRepository student_BackClassRepository = new RB_Student_BackClassRepository();
/// <summary>
/// 调课仓储层对象
/// </summary>
private readonly RB_Change_ClassPlanRepository change_ClassPlanRepository = new RB_Change_ClassPlanRepository();
/// <summary> /// <summary>
/// 获取教务单据分页列表 /// 获取教务单据分页列表
/// </summary> /// </summary>
...@@ -70,6 +75,8 @@ namespace Edu.Module.EduTask ...@@ -70,6 +75,8 @@ namespace Edu.Module.EduTask
{ {
//退课详情 //退课详情
List<RB_Student_BackClass_ViewModel> backClassLisit = new List<RB_Student_BackClass_ViewModel>(); List<RB_Student_BackClass_ViewModel> backClassLisit = new List<RB_Student_BackClass_ViewModel>();
//调课申请
List<RB_Change_ClassPlan_ViewModel> changeClassList = new List<RB_Change_ClassPlan_ViewModel>();
var groupList = list.GroupBy(qitem => new { qitem.ReceiptType }).Select(qitem => new { qitem.Key.ReceiptType }); var groupList = list.GroupBy(qitem => new { qitem.ReceiptType }).Select(qitem => new { qitem.Key.ReceiptType });
foreach (var subItem in groupList) foreach (var subItem in groupList)
{ {
...@@ -81,15 +88,29 @@ namespace Edu.Module.EduTask ...@@ -81,15 +88,29 @@ namespace Edu.Module.EduTask
QBackIds = backIds QBackIds = backIds
}); });
} }
if (subItem.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.ChangeClass)
{
string changeIds = string.Join(",", list.Where(qitem => qitem.ReceiptType == subItem.ReceiptType).Select(qitem => qitem.RelationId));
changeClassList = change_ClassPlanRepository.GetChangeClassPlanListRepository(new RB_Change_ClassPlan_ViewModel()
{
Q_Change_ClassPlan_Ids = changeIds
});
}
} }
foreach (var item in list) foreach (var item in list)
{ {
object DataObj = new object(); object DataObj = new object();
//退课
if (item.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.BackClass) if (item.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.BackClass)
{ {
DataObj = backClassLisit?.Where(qitem => qitem.BackId == item.RelationId)?.FirstOrDefault(); DataObj = backClassLisit?.Where(qitem => qitem.BackId == item.RelationId)?.FirstOrDefault();
} }
//调课
if (item.ReceiptType == Common.Enum.Finance.ReceiptTypeEnum.ChangeClass)
{
DataObj = changeClassList.Where(qitem => qitem.Id == item.RelationId)?.FirstOrDefault();
}
var obj = new var obj = new
{ {
item.Id, item.Id,
......
...@@ -60,8 +60,12 @@ WHERE 1=1 ...@@ -60,8 +60,12 @@ WHERE 1=1
/// <returns></returns> /// <returns></returns>
public int GetClassMinutesRepository(int classId) public int GetClassMinutesRepository(int classId)
{ {
var BasicMinutes = classRepository.GetEntity(classId)?.ClassHourMinute ?? 45; var classMinutes= classRepository.GetEntity(classId)?.ClassHourMinute ?? 0;
return BasicMinutes; if (classMinutes <= 0)
{
classMinutes = 45;
}
return classMinutes;
} }
} }
} }
...@@ -50,13 +50,16 @@ namespace Edu.Repository.EduTask ...@@ -50,13 +50,16 @@ namespace Edu.Repository.EduTask
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.* SELECT A.*,IFNULL(B.ClassName,'') AS ClassName
FROM RB_Change_ClassPlan AS A FROM RB_Change_ClassPlan AS A LEFT JOIN rb_class AS B ON A.ClassId=B.ClassId
WHERE 1=1 WHERE 1=1
"); ");
if (query != null) if (query != null)
{ {
if (!string.IsNullOrEmpty(query.Q_Change_ClassPlan_Ids))
{
builder.AppendFormat(@" AND A.{0} IN ({1}) ", nameof(RB_Change_ClassPlan_ViewModel.Id), query.Q_Change_ClassPlan_Ids);
}
} }
return Get<RB_Change_ClassPlan_ViewModel>(builder.ToString()).ToList(); return Get<RB_Change_ClassPlan_ViewModel>(builder.ToString()).ToList();
} }
......
...@@ -800,12 +800,13 @@ namespace Edu.WebApi.Controllers.Course ...@@ -800,12 +800,13 @@ namespace Edu.WebApi.Controllers.Course
}); });
} }
} }
var classMinutes = classModule.GetClassMinutesModule(classId);
return ApiResult.Success(data: new return ApiResult.Success(data: new
{ {
data.TeacherName, data.TeacherName,
data.RoomName, data.RoomName,
TotalHour = Convert.ToDecimal(totalMinutes / 60.0), TotalHour = Convert.ToDecimal(totalMinutes / 60.0),
ClassNum = Convert.ToInt32(totalMinutes / classModule.GetClassMinutesModule(classId)), ClassNum = Convert.ToInt32(totalMinutes / classMinutes),
DefaultMinutes = totalMinutes, DefaultMinutes = totalMinutes,
ClassDate = data.ClassDate.ToString("yyyy-MM-dd"), ClassDate = data.ClassDate.ToString("yyyy-MM-dd"),
GuestList = guestList GuestList = guestList
...@@ -912,6 +913,15 @@ namespace Edu.WebApi.Controllers.Course ...@@ -912,6 +913,15 @@ namespace Edu.WebApi.Controllers.Course
{ {
return ApiResult.ParamIsNull(message: "请选择签到学员!"); return ApiResult.ParamIsNull(message: "请选择签到学员!");
} }
#region 验证是否已轧账
string MonthStr = list.FirstOrDefault().ClassDate.ToString("yyyy-MM");
int schoolId = list.FirstOrDefault().School_Id;
string ValidateMsg = classModule.ValidateClassCheckFinance(MonthStr, schoolId, base.UserInfo.Group_Id);
if (ValidateMsg != "") {
return ApiResult.Failed(ValidateMsg);
}
#endregion
//获取班级的学员信息 //获取班级的学员信息
var orderGuestList = classModule.GetOrderGuestListModule(new RB_Order_Guest_ViewModel { Group_Id = base.UserInfo.Group_Id, ClassId = list.FirstOrDefault().ClassId, QEffectStatus = 1 }); var orderGuestList = classModule.GetOrderGuestListModule(new RB_Order_Guest_ViewModel { Group_Id = base.UserInfo.Group_Id, ClassId = list.FirstOrDefault().ClassId, QEffectStatus = 1 });
if (list.Count() != orderGuestList.Where(x => x.GuestState == 1).Count()) if (list.Count() != orderGuestList.Where(x => x.GuestState == 1).Count())
......
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