Commit 1327d0e8 authored by 黄奎's avatar 黄奎

新增班级日志实体类

parent 681fb74b
using Edu.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Common.Enum.Course
{
/// <summary>
/// 日志类型枚举
/// </summary>
public enum ClassLogTypeEnum
{
/// <summary>
/// 新增学员
/// </summary>
[EnumField("新增学员")]
AddStudent = 1,
}
}
......@@ -45,5 +45,10 @@ namespace Edu.Model.Entity.Course
/// 学校编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 教师编号
/// </summary>
public int TeacherId { get; set; }
}
}
\ No newline at end of file
using Edu.Common.Enum.Course;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.Log
{
/// <summary>
/// 班级日志实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Class_Log
{
/// <summary>
/// 日志编号
/// </summary>
public int CLogId { get; set; }
/// <summary>
/// 日志类型(1-新增学员)
/// </summary>
public ClassLogTypeEnum LogType { get; set; }
/// <summary>
/// 日志内容
/// </summary>
public string LogContent { get; set; }
/// <summary>
/// 班级编号
/// </summary>
public int ClassId { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 校区编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}
}
using Edu.Model.Entity.Log;
namespace Edu.Model.ViewModel.Course
{
/// <summary>
/// 班级日志视图实体类
/// </summary>
public class RB_Class_Log_ViewModel : RB_Class_Log
{
/// <summary>
/// 创建时间字符串
/// </summary>
public string CreateTimeStr { get { return Common.ConvertHelper.FormatTime(this.CreateTime); } }
/// <summary>
/// 创建人
/// </summary>
public string CreateByName { get; set; }
}
}
......@@ -17,5 +17,20 @@ namespace Edu.Model.ViewModel.Course
///班级计划上课日期的上课时间表
/// </summary>
public List<RB_Class_Time_ViewModel> PlanTimeList { get; set; }
/// <summary>
/// 查询月份
/// </summary>
public string QMonth { get; set; }
/// <summary>
/// 教室名称
/// </summary>
public string RoomName { get; set; }
/// <summary>
/// 讲师姓名
/// </summary>
public string TeacherName { get; set; }
}
}
......@@ -83,5 +83,10 @@ namespace Edu.Model.ViewModel.Course
/// 默认上课时间
/// </summary>
public List<RB_Class_Time_ViewModel> DefaultPlanTimeList { get; set; }
/// <summary>
/// 月份
/// </summary>
public string QMonth { get; set; }
}
}
\ No newline at end of file
......@@ -33,6 +33,16 @@ namespace Edu.Module.Course
/// </summary>
private readonly RB_Class_StepPriceRepository class_StepPriceRepository = new RB_Class_StepPriceRepository();
/// <summary>
/// 订单学员仓储层对象
/// </summary>
private readonly RB_Order_GuestRepository order_GuestRepository = new RB_Order_GuestRepository();
/// <summary>
/// 课程仓储层对象
/// </summary>
private readonly RB_CourseRepository courseRepository = new RB_CourseRepository();
/// <summary>
/// 获取班级列表
/// </summary>
......@@ -53,7 +63,7 @@ namespace Edu.Module.Course
/// <returns></returns>
public List<RB_Class_ViewModel> GetClassPageListModule(int pageIndex, int pageSize, out long rowsCount, RB_Class_ViewModel query)
{
var list= classRepository.GetClassPageListRepository(pageIndex, pageSize, out rowsCount, query);
var list = classRepository.GetClassPageListRepository(pageIndex, pageSize, out rowsCount, query);
return list;
}
......@@ -110,13 +120,13 @@ namespace Edu.Module.Course
{ nameof(RB_Class_ViewModel.OutRemark),model.OutRemark},
{ nameof(RB_Class_ViewModel.CompleteProgress),model.CompleteProgress},
};
flag= classRepository.Update(fileds, new WhereHelper(nameof(RB_Class_ViewModel.ClassId), model.ClassId));
flag = classRepository.Update(fileds, new WhereHelper(nameof(RB_Class_ViewModel.ClassId), model.ClassId));
}
else
{
var newId = classRepository.Insert(model);
model.ClassId = newId;
flag =newId > 0;
flag = newId > 0;
}
#region 阶梯报价
......@@ -222,7 +232,8 @@ namespace Edu.Module.Course
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
break;
......@@ -237,7 +248,8 @@ namespace Edu.Module.Course
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
break;
......@@ -252,7 +264,8 @@ namespace Edu.Module.Course
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
break;
......@@ -267,7 +280,8 @@ namespace Edu.Module.Course
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
break;
......@@ -282,7 +296,8 @@ namespace Edu.Module.Course
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
break;
......@@ -297,7 +312,8 @@ namespace Edu.Module.Course
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
break;
......@@ -312,7 +328,8 @@ namespace Edu.Module.Course
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
break;
......@@ -335,11 +352,12 @@ namespace Edu.Module.Course
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
}
break;
break;
//固定日期排课
case Common.Enum.Course.ClassStyleEnum.FixedDate:
{
......@@ -353,7 +371,8 @@ namespace Edu.Module.Course
ClassRoomId = model.ClassRoomId,
Group_Id = model.Group_Id,
School_Id = model.School_Id,
PlanTimeList = defaultPlanTimeList
PlanTimeList = defaultPlanTimeList,
TeacherId = model.Teacher_Id,
});
}
}
......@@ -393,8 +412,8 @@ namespace Edu.Module.Course
/// <returns></returns>
public RB_Class_ViewModel GetClassModule(object ClassId)
{
var extModel= classRepository.GetEntity<RB_Class_ViewModel>(ClassId);
if (extModel != null && extModel.ClassId>0)
var extModel = classRepository.GetEntity<RB_Class_ViewModel>(ClassId);
if (extModel != null && extModel.ClassId > 0)
{
//课程梯度价格
extModel.ClassStepPriceList = class_StepPriceRepository.GetClassStepPriceListRepository(new RB_Class_StepPrice_ViewModel() { ClassId = extModel.ClassId })?.ToList() ?? new List<RB_Class_StepPrice_ViewModel>();
......@@ -426,5 +445,128 @@ namespace Edu.Module.Course
};
return classRepository.Update(fileds, new WhereHelper(nameof(RB_Class_ViewModel.ClassId), ClassId));
}
/// <summary>
/// 获取班级计划列表
/// </summary>
/// <param name="classId">班级编号</param>
/// <param name="monthStr">月份</param>
/// <returns></returns>
public object GetClassPlanModule(int classId, string monthStr)
{
List<object> list = new List<object>();
var timeList = new List<RB_Class_Time_ViewModel>();
var planList = class_PlanRepository.GetClassPlanListRepository(new RB_Class_Plan_ViewModel() { ClassId = classId, QMonth = monthStr })?.OrderBy(qitem => qitem.ClassDate);
if (planList != null && planList.Count() > 0)
{
string Ids = string.Join(",", planList.Select(qitem => qitem.ClassPlanId));
if (!string.IsNullOrEmpty(Ids))
{
timeList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel() { QClassPlanIds = Ids });
}
foreach (var item in planList)
{
item.PlanTimeList = timeList?.Where(qitem => qitem.ClassPlanId == item.ClassPlanId)?.ToList();
list.Add(new
{
item.ClassPlanId,
item.ClassId,
item.ClassDate,
ClassDateStr = Common.ConvertHelper.FormatDate(item.ClassDate),
item.ClassRoomId,
item.RoomName,
item.TeacherId,
item.TeacherName,
TimeList = item?.PlanTimeList?.Select(qitem => new { qitem.ClassTimeId, qitem.StartTime, qitem.EndTime })?.OrderBy(qitem => qitem.StartTime)
});
}
}
return list;
}
/// <summary>
/// 根据计划编号删除上课计划
/// </summary>
/// <param name="ClassPlanId"></param>
/// <returns></returns>
public bool RemoveClassPlanModule(int ClassPlanId)
{
return class_PlanRepository.DeleteOne(new WhereHelper(nameof(RB_Class_Plan_ViewModel.ClassPlanId), ClassPlanId));
}
/// <summary>
/// 新增修改班级上课计划
/// </summary>
/// <param name="extModel"></param>
/// <returns></returns>
public virtual bool SetClassPlanModule(RB_Class_Plan_ViewModel extModel)
{
bool flag;
if (extModel.ClassPlanId > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Class_Plan_ViewModel.ClassRoomId),extModel.ClassRoomId }
};
flag = class_PlanRepository.Update(fileds, new WhereHelper(nameof(RB_Class_Plan_ViewModel.ClassPlanId), extModel.ClassPlanId));
if (extModel.PlanTimeList != null && extModel.PlanTimeList.Count > 0)
{
foreach (var item in extModel.PlanTimeList)
{
flag = class_TimeRepository.Update(item);
}
}
}
else
{
var newId = class_PlanRepository.Insert(extModel);
extModel.ClassPlanId = newId;
flag = newId > 0;
if (extModel.PlanTimeList != null && extModel.PlanTimeList.Count > 0)
{
foreach (var item in extModel.PlanTimeList)
{
flag = class_TimeRepository.Insert(item) > 0;
}
}
}
return flag;
}
/// <summary>
/// 获取班级学员列表
/// </summary>
/// <param name="classId">班级编号</param>
/// <returns></returns>
public object GetClassStudentListModule(int classId)
{
List<object> list = new List<object>();
var orderStudentList = order_GuestRepository.GetList(new RB_Order_Guest_ViewModel()
{
ClassId = classId
});
var classModel = GetClassModule(classId);
var courseModel = courseRepository.GetEntity((classModel?.CouseId ?? 0));
if (orderStudentList != null && orderStudentList.Count > 0)
{
foreach (var item in orderStudentList)
{
list.Add(new
{
item.Id,
SexStr = item.Sex == 1 ? "男" : "女",
item.GuestName,
item.Age,
CreateTimeStr=Common.ConvertHelper.FormatTime( item.CreateTime),
item.Mobile,
item.OrderId,
ClassHours= classModel?.ClassHours??0,
IsRenew=courseModel?.IsRenew??0
});
}
}
return list;
}
}
}
......@@ -226,33 +226,33 @@ namespace Edu.Module.User
var list = managerModule.GetManagerListModule(new RB_Manager_ViewModel { Group_Id = extModel.Group_Id, MTel = extModel.EmployeeTel });
if (extModel.AccountId == 0)
{
flag = list.Count() > 0 ? true : false;
flag = list.Count() > 0;
}
else
{
flag = list.Where(x => x.MId != extModel.AccountId).Count() > 0 ? true : false;
flag = list.Where(x => x.MId != extModel.AccountId).Count() > 0;
}
break;
case Common.Enum.User.AccountTypeEnum.Teacher:
var teacherList = teacherModule.GetTeacherListModule(new RB_Teacher_ViewModel { Group_Id = extModel.Group_Id, TeacherTel = extModel.EmployeeTel });
if (extModel.AccountId == 0)
{
flag = teacherList.Count() > 0 ? true : false;
flag = teacherList.Count() > 0;
}
else
{
flag = teacherList.Where(x => x.TId != extModel.AccountId).Count() > 0 ? true : false;
flag = teacherList.Where(x => x.TId != extModel.AccountId).Count() > 0;
}
break;
case Common.Enum.User.AccountTypeEnum.Assist:
var assistList = assistModule.GetAssistListModule(new RB_Assist_ViewModel { Group_Id = extModel.Group_Id, AssistTel = extModel.EmployeeTel });
if (extModel.AccountId == 0)
{
flag = assistList.Count() > 0 ? true : false;
flag = assistList.Count() > 0;
}
else
{
flag = assistList.Where(x => x.AId != extModel.AccountId).Count() > 0 ? true : false;
flag = assistList.Where(x => x.AId != extModel.AccountId).Count() > 0;
}
break;
}
......
using Edu.Model.Entity.Course;
using Edu.Common.Enum;
using Edu.Model.Entity.Course;
using Edu.Model.ViewModel.Course;
using System.Collections.Generic;
using System.Linq;
......@@ -21,19 +22,25 @@ namespace Edu.Repository.Course
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT *
FROM RB_Class_Plan
SELECT A.*,IFNULL(B.RoomName,'') AS RoomName,IFNULL(T.TeacherName,'') AS TeacherName
FROM RB_Class_Plan AS A LEFT JOIN rb_class_room AS B ON A.ClassRoomId=B.RoomId
LEFT JOIN rb_teacher AS T ON A.TeacherId=T.TId
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.ClassId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
}
if (!string.IsNullOrEmpty(query.QClassIds))
{
builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Class_Plan_ViewModel.ClassId), query.QClassIds);
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Class_Plan_ViewModel.ClassId), query.QClassIds);
}
if (!string.IsNullOrEmpty(query.QMonth))
{
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y/%m')= DATE_FORMAT('{1}','%y/%m') ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.QMonth);
}
}
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
......
using Edu.Common.Enum.Course;
using Edu.Model.Entity.Log;
using Edu.Model.ViewModel.Course;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Log
{
/// <summary>
/// 班级日志仓储层
/// </summary>
public class RB_Class_LogRepository : BaseRepository<RB_Class_Log>
{
/// <summary>
/// 获取班级日志分页列表
/// </summary>
/// <param name="pageIndex">当前页</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowsCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Class_Log_ViewModel> GetClassLogPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Class_Log_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT *
FROM RB_Class_Log
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Class_Log_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Class_Log_ViewModel.School_Id), query.School_Id);
}
if (query.ClassId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Class_Log_ViewModel.ClassId), query.ClassId);
}
}
return GetPage<RB_Class_Log_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
/// <summary>
/// 新增班级日志
/// </summary>
/// <param name="logType">日志类型</param>
/// <param name="LogContent">日志内容</param>
/// <param name="ClassId">班级编号</param>
/// <param name="Group_Id">集团编号</param>
/// <param name="School_Id">校区编号</param>
/// <param name="CreateBy">创建人</param>
/// <returns></returns>
public bool AddClassLogRepository(ClassLogTypeEnum logType, string LogContent, int ClassId, int Group_Id, int School_Id, int CreateBy)
{
var model = new RB_Class_Log()
{
LogType = logType,
LogContent = LogContent,
ClassId = ClassId,
Group_Id = Group_Id,
School_Id = School_Id,
CreateBy = CreateBy
};
return base.Insert(model) > 0;
}
}
}
\ No newline at end of file
......@@ -188,6 +188,81 @@ namespace Edu.WebApi.Controllers.Course
var flag = classModule.RemoveClassModule(ClassId);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
#endregion
#region 上课计划
/// <summary>
/// 获取上课计划
/// </summary>
/// <returns></returns>
public ApiResult GetClassPlan()
{
var query = new RB_Class_ViewModel()
{
ClassId = base.ParmJObj.GetInt("ClassId"),
QMonth=base.ParmJObj.GetStringValue("QMonth"),
};
var data = classModule.GetClassPlanModule(query.ClassId, query.QMonth);
return ApiResult.Success(data: data);
}
/// <summary>
/// 删除上课计划
/// </summary>
/// <returns></returns>
public ApiResult RemoveClassPlan()
{
var ClassPlanId = base.ParmJObj.GetInt("ClassPlanId");
var flag = classModule.RemoveClassPlanModule(ClassPlanId);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 新增修改班级计划
/// </summary>
/// <returns></returns>
public ApiResult SetClassPlan()
{
var extModel = new RB_Class_Plan_ViewModel()
{
ClassPlanId=base.ParmJObj.GetInt("ClassPlanId"),
ClassId=base.ParmJObj.GetInt("ClassId"),
ClassDate=base.ParmJObj.GetDateTime("ClassDate"),
Status= Common.Enum.DateStateEnum.Normal,
ClassRoomId=base.ParmJObj.GetInt("ClassRoomId"),
TeacherId=base.ParmJObj.GetInt("TeacherId"),
Group_Id=base.UserInfo.Group_Id,
};
extModel.School_Id = classModule.GetClassModule(extModel.ClassId)?.School_Id ?? 0;
try
{
extModel.PlanTimeList = Common.Plugin.JsonHelper.DeserializeObject<List<RB_Class_Time_ViewModel>>(base.ParmJObj.GetStringValue("PlanTimeList"));
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "SetClassPlan_PlanTimeList");
}
var flag = classModule.SetClassPlanModule(extModel);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
#endregion
#region 学员列表
/// <summary>
/// 获取学员列表
/// </summary>
/// <returns></returns>
public ApiResult GetClassStudent()
{
var classId = base.ParmJObj.GetInt("ClassId");
var data = classModule.GetClassStudentListModule(classId);
return ApiResult.Success(data: data);
}
#endregion
#region 枚举相关列表
......
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