Commit 938f5867 authored by liudong1993's avatar liudong1993

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

parents 09f20608 dec38835
......@@ -41,15 +41,26 @@ namespace Edu.Common.Enum.Course
public enum ClassStatusEnum
{
/// <summary>
/// 未开班
/// </summary>
[EnumField("未开班")]
NonOpenClass =1,
/// <学习中>
/// 开课中
/// </summary>
[EnumField("开课中")]
OpenClass =1,
[EnumField("学习中")]
StudyIng =2,
/// <summary>
/// 结课
/// </summary>
[EnumField("结课")]
EndClass = 3,
/// <summary>
/// 节课
/// 取消
/// </summary>
[EnumField("节课")]
CloseClass = 2,
[EnumField("取消")]
CancelClass = 4,
}
}
......@@ -136,5 +136,20 @@ namespace Edu.Model.Entity.Course
/// 班级状态
/// </summary>
public ClassStatusEnum ClassStatus { get; set; }
/// <summary>
/// 对内备注
/// </summary>
public string InnerRemark { get; set; }
/// <summary>
/// 对外备注
/// </summary>
public string OutRemark { get; set; }
/// <summary>
/// 完成进度
/// </summary>
public string CompleteProgress { get; set; }
}
}
......@@ -35,5 +35,15 @@ namespace Edu.Model.Entity.Course
/// 教室编号
/// </summary>
public int ClassRoomId { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
}
}
\ No newline at end of file
......@@ -20,7 +20,7 @@ namespace Edu.Model.Entity.Course
/// <summary>
/// 人数
/// </summary>
public int? PersionNum { get; set; }
public int PersionNum { get; set; }
/// <summary>
/// 价格
......@@ -31,5 +31,15 @@ namespace Edu.Model.Entity.Course
/// 课程编号
/// </summary>
public int ClassId { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
}
}
......@@ -15,6 +15,11 @@ namespace Edu.Model.Entity.Course
/// </summary>
public int ClassTimeId { get; set; }
/// <summary>
/// 班级编号
/// </summary>
public int ClassId { get; set; }
/// <summary>
/// 上课计划编号
/// </summary>
......@@ -29,5 +34,15 @@ namespace Edu.Model.Entity.Course
/// 上课结束时间
/// </summary>
public string EndTime { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
}
}
using Edu.Model.Entity.Course;
using System.Collections.Generic;
namespace Edu.Model.ViewModel.Course
{
......@@ -11,5 +12,10 @@ namespace Edu.Model.ViewModel.Course
/// 班级编号【查询使用,逗号分隔】
/// </summary>
public string QClassIds { get; set; }
/// <summary>
///班级计划上课日期的上课时间表
/// </summary>
public List<RB_Class_Time_ViewModel> PlanTimeList { get; set; }
}
}
using Edu.Model.Entity.Course;
using Edu.Common.Plugin;
using Edu.Model.Entity.Course;
namespace Edu.Model.ViewModel.Course
{
......@@ -7,6 +8,34 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public class RB_Class_Room_ViewModel : RB_Class_Room
{
/// <summary>
/// 创建人
/// </summary>
public string CreateByName { get; set; }
/// <summary>
/// 修改人
/// </summary>
public string UpdateByName { get; set; }
/// <summary>
/// 校区名称
/// </summary>
public string SchoolName { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public string CreateTimeStr { get { return Common.ConvertHelper.FormatTime(this.CreateTime); } }
/// <summary>
/// 更新时间
/// </summary>
public string UpdateTimeStr { get { return Common.ConvertHelper.FormatTime(this.UpdateTime); } }
/// <summary>
/// 状态字符串
/// </summary>
public string StatusStr { get { return this.Status.ToName(); } }
}
}
......@@ -11,5 +11,10 @@ namespace Edu.Model.ViewModel.Course
/// 计划编号【查询使用,逗号分隔】
/// </summary>
public string QClassPlanIds { get; set; }
/// <summary>
/// 班级编号【查询使用,逗号分隔】
/// </summary>
public string QClassIds { get; set; }
}
}
\ No newline at end of file
......@@ -55,18 +55,23 @@ namespace Edu.Model.ViewModel.Course
public string TeacherHead { get; set; }
/// <summary>
/// 学员数量
/// 报名学员数量
/// </summary>
public int StudentCount { get; set; }
public int OrderStudentCount { get; set; }
/// <summary>
/// 作业数量
/// 学习名称
/// </summary>
public int JobCount { get; set; }
public string SchoolName { get; set; }
/// <summary>
/// 班级阶梯价列表
/// </summary>
public List<RB_Class_StepPrice_ViewModel> ClassStepPriceList { get; set; }
/// <summary>
/// 班级上课计划列表
/// </summary>
public List<RB_Class_Plan_ViewModel> ClassPlanList { get; set; }
}
}
\ No newline at end of file
......@@ -33,6 +33,11 @@ namespace Edu.Model.ViewModel.User
/// </summary>
public int IsCompany { get; set; }
/// <summary>
/// 数据类型(1-部门,2-员工)
/// </summary>
public int DataType { get; set; }
/// <summary>
/// 下级部门列表
......
......@@ -2,6 +2,7 @@
using Edu.Model.ViewModel.Course;
using Edu.Repository.Course;
using System.Collections.Generic;
using System.Linq;
using VT.FW.DB;
namespace Edu.Module.Course
......@@ -16,6 +17,21 @@ namespace Edu.Module.Course
/// </summary>
private readonly RB_ClassRepository classRepository = new RB_ClassRepository();
/// <summary>
/// 班级上课计划仓储层对象
/// </summary>
private readonly RB_Class_PlanRepository class_PlanRepository = new RB_Class_PlanRepository();
/// <summary>
/// 班级上课计划上课时间仓储层对象
/// </summary>
private readonly RB_Class_TimeRepository class_TimeRepository = new RB_Class_TimeRepository();
/// <summary>
/// 班级价格仓储层对象
/// </summary>
private readonly RB_Class_StepPriceRepository class_StepPriceRepository = new RB_Class_StepPriceRepository();
/// <summary>
/// 获取班级列表
/// </summary>
......@@ -36,7 +52,8 @@ namespace Edu.Module.Course
/// <returns></returns>
public List<RB_Class_ViewModel> GetClassPageListModule(int pageIndex, int pageSize, out long rowsCount, RB_Class_ViewModel query)
{
return classRepository.GetClassPageListRepository(pageIndex, pageSize, out rowsCount, query);
var list= classRepository.GetClassPageListRepository(pageIndex, pageSize, out rowsCount, query);
return list;
}
/// <summary>
......@@ -88,6 +105,9 @@ namespace Edu.Module.Course
{ nameof(RB_Class_ViewModel.ClassHours),model.ClassHours},
{ nameof(RB_Class_ViewModel.ClassStyle),model.ClassStyle},
{ nameof(RB_Class_ViewModel.ClassStatus),model.ClassStatus},
{ nameof(RB_Class_ViewModel.InnerRemark),model.InnerRemark},
{ 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));
}
......@@ -97,7 +117,44 @@ namespace Edu.Module.Course
model.ClassId = newId;
flag =newId > 0;
}
//删除班级计划
class_PlanRepository.DeleteClassPlanRepository(model.ClassId);
class_TimeRepository.DeleteClassTimeRepository(model.ClassId);
if (model.ClassPlanList != null && model.ClassPlanList.Count > 0)
{
foreach (var item in model.ClassPlanList)
{
item.ClassId = model.ClassId;
item.ClassPlanId = 0;
item.Group_Id = model.Group_Id;
item.School_Id = model.School_Id;
//添加班级上课计划
var newClassPlanId = class_PlanRepository.Insert(item);
if (item.PlanTimeList != null && item.PlanTimeList.Count > 0)
{
foreach (var subItem in item.PlanTimeList)
{
subItem.ClassTimeId = 0;
subItem.ClassId = model.ClassId;
subItem.ClassPlanId = newClassPlanId;
subItem.Group_Id = model.Group_Id;
subItem.School_Id = model.School_Id;
//添加班级上课计划的上课时间
class_TimeRepository.Insert(subItem);
}
}
}
}
class_StepPriceRepository.DeleteClassStepPriceRepository(model.ClassId);
if (model.ClassStepPriceList != null && model.ClassStepPriceList.Count > 0)
{
foreach (var item in model.ClassStepPriceList)
{
item.ClassStepPriceId = 0;
item.ClassId = model.ClassId;
class_StepPriceRepository.Insert(item);
}
}
return flag;
}
......@@ -108,7 +165,24 @@ namespace Edu.Module.Course
/// <returns></returns>
public RB_Class_ViewModel GetClassModule(object ClassId)
{
return classRepository.GetEntity<RB_Class_ViewModel>(ClassId);
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>();
//课程计划上课日期
extModel.ClassPlanList = class_PlanRepository.GetClassPlanListRepository(new RB_Class_Plan_ViewModel() { ClassId = extModel.ClassId })?.ToList() ?? new List<RB_Class_Plan_ViewModel>();
//班级上课计划时间列表
var timeList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel() { ClassId = extModel.ClassId })?.ToList() ?? new List<RB_Class_Time_ViewModel>();
if (extModel.ClassPlanList != null && extModel.ClassPlanList.Count > 0 && timeList != null && timeList.Count > 0)
{
foreach (var item in extModel.ClassPlanList)
{
item.PlanTimeList = timeList?.Where(qitem => qitem.ClassPlanId == item.ClassPlanId)?.ToList() ?? new List<RB_Class_Time_ViewModel>();
}
}
}
return extModel;
}
/// <summary>
......
using Edu.Model.ViewModel.Course;
using Edu.Common.Enum;
using Edu.Model.ViewModel.Course;
using Edu.Repository.Course;
using System;
using System.Collections.Generic;
......@@ -8,12 +9,12 @@ using VT.FW.DB;
namespace Edu.Module.Course
{
/// <summary>
/// 教管理处理类
/// 教管理处理类
/// </summary>
public class ClassRoomModule
{
/// <summary>
/// 教管理仓储层对象
/// 教管理仓储层对象
/// </summary>
private readonly RB_Class_RoomRepository class_RoomRepository = new RB_Class_RoomRepository();
......@@ -53,6 +54,9 @@ namespace Edu.Module.Course
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Class_Room_ViewModel.RoomName),extModel.RoomName },
{nameof(RB_Class_Room_ViewModel.UpdateBy),extModel.UpdateBy },
{nameof(RB_Class_Room_ViewModel.UpdateTime),extModel.UpdateTime },
{nameof(RB_Class_Room_ViewModel.School_Id),extModel.School_Id },
};
flag = class_RoomRepository.Update(fileds, new WhereHelper(nameof(RB_Class_Room_ViewModel.RoomId), extModel.RoomId));
}
......@@ -64,5 +68,31 @@ namespace Edu.Module.Course
}
return flag;
}
/// <summary>
/// 根据班级编号获取教室详细信息
/// </summary>
/// <param name="RoomId"></param>
/// <returns></returns>
public RB_Class_Room_ViewModel GetClassRoomModule(object RoomId)
{
return class_RoomRepository.GetEntity<RB_Class_Room_ViewModel>(RoomId);
}
/// <summary>
/// 删除教室
/// </summary>
/// <param name="RoomId"></param>
/// <param name="Status">状态</param>
/// <returns></returns>
public bool RemoveClassRoomModule(object RoomId,int Status)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{ nameof(RB_Class_Room_ViewModel.Status),Status},
};
return class_RoomRepository.Update(fileds, new WhereHelper(nameof(RB_Class_Room_ViewModel.RoomId), RoomId));
}
}
}
......@@ -145,14 +145,26 @@ namespace Edu.Module.User
{
deptList = new List<RB_Department_ViewModel>();
}
if(isQueryEmployee)
if (isQueryEmployee)
{
empList = accountRepository.GetEmployeeListRepository(new Employee_ViewModel()
{
empList= accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { Group_Id = query.Group_Id });
Group_Id = query.Group_Id,
School_Id = query.School_Id
});
}
if (deptList != null && deptList.Count > 0)
{
var firstList = deptList.Where(qitem => qitem.ParentId == 0 && qitem.School_Id==0).ToList();
var firstList = new List<RB_Department_ViewModel>();
if (query.School_Id == 0)
{
firstList = deptList.Where(qitem => qitem.ParentId == 0 && qitem.School_Id == 0).ToList();
}
else
{
var minParentId = deptList.Where(qitem => qitem.School_Id == query.School_Id).Min(qitem => qitem.ParentId);
firstList = deptList.Where(qitem => qitem.ParentId == minParentId && qitem.School_Id == query.School_Id).ToList();
}
if (firstList != null && firstList.Count > 0)
{
foreach (var fItem in firstList)
......@@ -164,9 +176,9 @@ namespace Edu.Module.User
ParentId = fItem.ParentId,
ChildList = new List<DepartmentTree_ViewModel>(),
School_Id = fItem.School_Id,
IsCompany = fItem.IsCompany
IsCompany = fItem.IsCompany,
DataType=1,
};
#region 添加员工信息
if (isQueryEmployee)
{
......@@ -181,14 +193,18 @@ namespace Edu.Module.User
DeptName = eItem.EmployeeName,
ParentId = 0,
ChildList = new List<DepartmentTree_ViewModel>(),
School_Id=eItem.School_Id
School_Id = eItem.School_Id,
DataType = 2,
});
}
}
}
#endregion
tModel.ChildList = GetDeptTreeList(fItem.DeptId, deptList, empList: empList);
var childList = GetDeptTreeList(fItem.DeptId, deptList, empList: empList);
if (childList != null && childList.Count > 0)
{
tModel.ChildList.AddRange(childList);
}
list.Add(tModel);
}
}
......@@ -215,7 +231,8 @@ namespace Edu.Module.User
ParentId = item.ParentId,
ChildList = new List<DepartmentTree_ViewModel>(),
School_Id=item.School_Id,
IsCompany = item.IsCompany
IsCompany = item.IsCompany,
DataType = 1,
};
#region 添加员工信息
if (empList != null && empList.Count > 0)
......@@ -231,14 +248,18 @@ namespace Edu.Module.User
DeptName = eItem.EmployeeName,
ParentId = 0,
School_Id=eItem.School_Id,
ChildList = new List<DepartmentTree_ViewModel>()
ChildList = new List<DepartmentTree_ViewModel>(),
DataType = 2,
});
}
}
}
#endregion
model.ChildList = GetDeptTreeList(item.DeptId, sourceList);
var childList= GetDeptTreeList(item.DeptId, sourceList);
if (childList != null && childList.Count > 0)
{
model.ChildList.AddRange(childList);
}
treeList.Add(model);
}
return treeList;
......
......@@ -115,7 +115,14 @@ namespace Edu.Module.User
/// <returns></returns>
public Employee_ViewModel GetEmployeeModule(int Id, int AccountId, int AccountType)
{
return accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { Id = Id, AccountId = AccountId, AccountType = (Common.Enum.User.AccountTypeEnum)AccountType })?.FirstOrDefault();
Employee_ViewModel model = new Employee_ViewModel();
var list = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { Id = Id, AccountId = AccountId, AccountType = (Common.Enum.User.AccountTypeEnum)AccountType });
if (list != null && list.Any())
{
model = list.Where(x => (int)x.AccountType == AccountType)?.FirstOrDefault();
}
return model;
}
/// <summary>
......
......@@ -51,17 +51,31 @@ WHERE 1=1
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,B.CourseName,C.AssistName,IFNULL(C.AssistIcon,'') AS AssistIcon,D.TeacherName,IFNULL(D.TeacherHead,'') AS TeacherHead
,E.SName AS SchoolName
FROM rb_class AS A LEFT JOIN rb_course AS B ON A.CouseId=B.CourseId
LEFT JOIN rb_assist AS C ON A.Assist_Id=C.AId
LEFT JOIN rb_teacher AS D ON A.Teacher_Id=D.TId
LEFT JOIN rb_school AS E ON A.School_Id=E.SId
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Group_Id),query.Group_Id);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.School_Id), query.School_Id);
}
if (query.Status >=0 )
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.Status), (int)query.Status);
}
if (query.ClassStatus > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.ClassStatus), (int)query.ClassStatus);
}
if (!string.IsNullOrWhiteSpace(query.ClassName))
{
builder.AppendFormat(" AND A.{0} LIKE @ClassName ", nameof(RB_Class_ViewModel.ClassName));
......@@ -85,6 +99,5 @@ WHERE 1=1
}
return GetPage<RB_Class_ViewModel>(pageIndex,pageSize,out rowsCount,builder.ToString(),parameters).ToList();
}
}
}
......@@ -37,5 +37,15 @@ WHERE 1=1
}
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 根据班级编号删除班级上课计划
/// </summary>
/// <param name="ClassId"></param>
/// <returns></returns>
public bool DeleteClassPlanRepository(int ClassId)
{
return base.DeleteOne(new VT.FW.DB.WhereHelper(nameof(RB_Class_Plan_ViewModel.ClassId), ClassId));
}
}
}
......@@ -26,8 +26,8 @@ namespace Edu.Repository.Course
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Class_Room AS A
SELECT A.*,B.SName AS SchoolName
FROM RB_Class_Room AS A LEFT JOIN rb_school AS B ON A.School_Id=B.SId
WHERE 1=1
");
if (query != null)
......@@ -40,6 +40,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Room_ViewModel.School_Id), query.School_Id);
}
if (query.Status >=0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Room_ViewModel.Status), (int)query.Status);
}
if (!string.IsNullOrEmpty(query.RoomName))
{
builder.AppendFormat(" AND A.{0} LIKE @RoomName ", nameof(RB_Class_Room_ViewModel.RoomName));
......
......@@ -39,5 +39,15 @@ WHERE 1=1
}
return Get<RB_Class_StepPrice_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 根据班级编号删除班级阶梯价格
/// </summary>
/// <param name="ClassId">班级编号</param>
/// <returns></returns>
public bool DeleteClassStepPriceRepository(int ClassId)
{
return base.DeleteOne(new VT.FW.DB.WhereHelper(nameof(RB_Class_StepPrice_ViewModel.ClassId), ClassId));
}
}
}
......@@ -10,7 +10,7 @@ namespace Edu.Repository.Course
/// <summary>
/// 班级上课时间仓储层
/// </summary>
public class RB_Class_TimeRepository:BaseRepository<RB_Class_Time>
public class RB_Class_TimeRepository : BaseRepository<RB_Class_Time>
{
/// <summary>
/// 获取班级上课时间列表
......@@ -35,8 +35,26 @@ WHERE 1=1
{
builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Class_Time_ViewModel.ClassPlanId), query.QClassPlanIds);
}
if (query.ClassId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Class_Time_ViewModel.ClassId), query.ClassId);
}
if (!string.IsNullOrEmpty(query.QClassIds))
{
builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Class_Time_ViewModel.ClassId), query.QClassIds);
}
}
return Get<RB_Class_Time_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 根据班级编号删除班级上课时间
/// </summary>
/// <param name="ClassId">班级编号</param>
/// <returns></returns>
public bool DeleteClassTimeRepository(int ClassId)
{
return base.DeleteOne(new VT.FW.DB.WhereHelper(nameof(RB_Class_Time_ViewModel.ClassId), ClassId));
}
}
}
......@@ -197,40 +197,46 @@ FROM
{
StringBuilder where = new StringBuilder();
StringBuilder where2 = new StringBuilder();
StringBuilder wheremanager = new StringBuilder();
StringBuilder whereteacher = new StringBuilder();
StringBuilder whereassist = new StringBuilder();
if (query != null)
{
if (query.Group_Id > 0)
{
where.AppendFormat(" AND A.{0}={1} ", nameof(Employee_ViewModel.Group_Id), query.Group_Id);
where.AppendFormat(" AND B.{0}={1} ", nameof(Employee_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
{
where.AppendFormat(" AND A.{0}={1} ", nameof(Employee_ViewModel.School_Id), query.School_Id);
where.AppendFormat(" AND B.{0}={1} ", nameof(Employee_ViewModel.School_Id), query.School_Id);
}
if (!string.IsNullOrWhiteSpace(query.Account))
{
where.AppendFormat(" AND A.{0}='{1}' ", nameof(Employee_ViewModel.Account), query.Account.Trim());
}
if (query.AccountType > 0)
{
where.AppendFormat(" AND A.{0}={1} ", nameof(Employee_ViewModel.AccountType), (int)query.AccountType);
}
if (query.Id > 0)
{
where.AppendFormat(" AND A.{0}={1} ", nameof(Employee_ViewModel.Id), query.Id);
}
//if (query.Id > 0)
//{
// where.AppendFormat(" AND A.{0}={1} ", nameof(Employee_ViewModel.Id), query.Id);
//}
if (!string.IsNullOrEmpty(query.QIds))
{
where.AppendFormat(" AND A.{0} IN({1}) ", nameof(Employee_ViewModel.Id), query.QIds);
}
if (query.AccountId > 0)
{
where.AppendFormat(" AND A.{0}={1} ", nameof(Employee_ViewModel.AccountId), query.AccountId);
wheremanager.AppendFormat(" AND b.{0}={1} ", nameof(RB_Manager_ViewModel.MId), query.AccountId);
whereteacher.AppendFormat(" AND b.{0}={1} ", nameof(RB_Teacher_ViewModel.TId), query.AccountId);
whereassist.AppendFormat(" AND b.{0}={1} ", nameof(RB_Assist_ViewModel.AId), query.AccountId);
}
if (query.Post_Id > 0)
{
where.AppendFormat(" AND B.{0}={1} ", nameof(Employee_ViewModel.Post_Id), query.Post_Id);
}
if (query.LeaveStatus > 0)
{
where.AppendFormat(" AND B.{0}={1} ", nameof(Employee_ViewModel.LeaveStatus), (int)query.LeaveStatus);
}
if (!string.IsNullOrEmpty(query.QPostIds))
{
where.AppendFormat(" AND B.{0} IN({1}) ", nameof(Employee_ViewModel.Post_Id), query.QPostIds);
......@@ -270,14 +276,23 @@ FROM
{
where.AppendFormat(" AND b.{0}<='{1} 23:59:59' ", nameof(Employee_ViewModel.LeaveTime), query.EndLeaveTime);
}
if (!string.IsNullOrEmpty(query.StartBirthDate) && !string.IsNullOrEmpty(query.EndBirthDate))
if (!string.IsNullOrEmpty(query.StartBirthDate))
{
where.AppendFormat(@"AND (
CONCAT(DATE_FORMAT(now(),'%Y'),'-',DATE_FORMAT(b.BirthDate,'%m-%d')) >= '{0}'
AND CONCAT(DATE_FORMAT(now(),'%Y'),'-',DATE_FORMAT(b.BirthDate,'%m-%d')) <= '{1}'
)", query.StartBirthDate, query.EndBirthDate);
where.AppendFormat($@" AND STR_TO_DATE(CONCAT(DATE_FORMAT(now(),'%Y'),'-',DATE_FORMAT(b.BirthDate,'%m-%d')), '%Y-%m-%d') >= DATE_FORMAT('{query.StartBirthDate}' , '%Y-%m-%d') ");
}
if (!string.IsNullOrEmpty(query.EndBirthDate))
{
where.AppendFormat($@" AND STR_TO_DATE( CONCAT(DATE_FORMAT(now(),'%Y'),'-',DATE_FORMAT(b.BirthDate,'%m-%d')), '%Y-%m-%d') <= DATE_FORMAT('{query.EndBirthDate}' , '%Y-%m-%d') ");
}
//if (!string.IsNullOrEmpty(query.StartBirthDate) && !string.IsNullOrEmpty(query.EndBirthDate))
//{
// //OR前面是不跨年,OR后面是跨年
// where.AppendFormat(@"AND (
// (CONCAT(DATE_FORMAT(now(),'%Y'),'-',DATE_FORMAT(b.BirthDate,'%m-%d')) BETWEEN '{0}' AND '{1}')
// OR (CONCAT(YEAR(NOW())+1, '-',DATE_FORMAT(b.BirthDate,'%m-%d')) BETWEEN '{0}' AND '{1}')
// )", query.StartBirthDate, query.EndBirthDate);
//}
}
StringBuilder builder = new StringBuilder();
......@@ -292,26 +307,32 @@ SELECT A.Id,A.Account,A.AccountId,A.Group_Id,A.School_Id,A.EmployeeName,A.UserIc
ELSE 0 END) IsBirth
FROM
(
SELECT A.*,IFNULL(B.MName,'') AS EmployeeName,B.MHead AS UserIcon,B.Dept_Id,B.Post_Id,B.IDCard,B.Sex,B.Education,B.EntryTime,B.Address,B.BirthDate
SELECT A.Id,A.Account,A.`Password`, 1 as AccountType,B.MId as AccountId,
A.CreateBy,A.CreateTime,A.UpdateBy,A.UpdateTime,A.Group_Id,A.`Status`,A.AnnualLeaveDay,
b.School_Id,IFNULL(B.MName,'') AS EmployeeName,B.MHead AS UserIcon,B.Dept_Id,B.Post_Id,B.IDCard,B.Sex,B.Education,B.EntryTime,B.Address,B.BirthDate
,B.LeaveStatus,B.LeaveTime,B.MTel AS EmployeeTel
FROM rb_account AS A INNER JOIN rb_manager AS B ON A.AccountId=B.MId AND A.AccountType=1
WHERE 1=1 {0}
FROM rb_manager AS B LEFT JOIN rb_account AS A ON A.AccountId=B.MId AND A.AccountType=1
WHERE 1=1 {0} {1}
UNION ALL
SELECT A.*,IFNULL(B.TeacherName,'') AS EmployeeName,B.TeacherIcon AS UserIcon,B.Dept_Id,B.Post_Id,B.IDCard,B.Sex,B.Education,B.EntryTime,B.Address,B.BirthDate
SELECT A.Id,A.Account,A.`Password`, 2 as AccountType,B.TId as AccountId,
A.CreateBy,A.CreateTime,A.UpdateBy,A.UpdateTime,A.Group_Id,A.`Status`,A.AnnualLeaveDay,
b.School_Id,IFNULL(B.TeacherName,'') AS EmployeeName,B.TeacherIcon AS UserIcon,B.Dept_Id,B.Post_Id,B.IDCard,B.Sex,B.Education,B.EntryTime,B.Address,B.BirthDate
,B.LeaveStatus,B.LeaveTime,B.TeacherTel AS EmployeeTel
FROM rb_account AS A INNER JOIN rb_teacher AS B ON A.AccountId=B.TId AND A.AccountType=2
WHERE 1=1 {0}
FROM rb_teacher AS B LEFT JOIN rb_account AS A ON A.AccountId=B.TId AND A.AccountType=2
WHERE 1=1 {0} {2}
UNION ALL
SELECT A.*,IFNULL(B.AssistName,'') AS EmployeeName,B.AssistIcon AS UserIcon,B.Dept_Id,B.Post_Id,B.IDCard,B.Sex,B.Education,B.EntryTime,B.Address,B.BirthDate
SELECT A.Id,A.Account,A.`Password`, 3 as AccountType,B.AId as AccountId,
A.CreateBy,A.CreateTime,A.UpdateBy,A.UpdateTime,A.Group_Id,A.`Status`,A.AnnualLeaveDay,
b.School_Id,IFNULL(B.AssistName,'') AS EmployeeName,B.AssistIcon AS UserIcon,B.Dept_Id,B.Post_Id,B.IDCard,B.Sex,B.Education,B.EntryTime,B.Address,B.BirthDate
,B.LeaveStatus,B.LeaveTime,B.AssistTel AS EmployeeTel
FROM rb_account AS A INNER JOIN rb_assist AS B ON A.AccountId=B.AId AND A.AccountType=3
WHERE 1=1 {0}
FROM rb_assist AS B LEFT JOIN rb_account AS A ON A.AccountId=B.AId AND A.AccountType=3
WHERE 1=1 {0} {3}
) AS A LEFT JOIN rb_group AS g ON A.Group_Id=g.GId
LEFT JOIN rb_school AS s ON A.School_Id=s.SId
LEFT JOIN rb_department AS d ON A.Dept_Id=d.DeptId
LEFT JOIN rb_post AS p ON A.Post_Id=p.PostId
WHERE 1=1 {1}
", where.ToString(), where2.ToString());
WHERE 1=1 {4}
", where.ToString(), wheremanager.ToString(), whereteacher.ToString(), whereassist.ToString(), where2.ToString());
return builder.ToString();
}
......
using System;
using System.Collections.Generic;
using System.Linq;
using Edu.Cache.User;
using Edu.Common.API;
using Edu.Common.Enum.Course;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Course;
using Edu.Module.Course;
......@@ -19,7 +22,7 @@ namespace Edu.WebApi.Controllers.Course
/// <summary>
/// 班级处理类对象
/// </summary>
private readonly ClassModule classModule = new ClassModule();
private readonly ClassModule classModule = AOP.AOPHelper.CreateAOPObject<ClassModule>();
#region 班级管理
/// <summary>
......@@ -30,9 +33,17 @@ namespace Edu.WebApi.Controllers.Course
public ApiResult GetClassPageList()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = Common.Plugin.JsonHelper.DeserializeObject<RB_Class_ViewModel>(RequestParm.Msg.ToString());
var query = new RB_Class_ViewModel()
{
ClassName = base.ParmJObj.GetStringValue("ClassName"),
ClassStatus = (ClassStatusEnum)base.ParmJObj.GetInt("ClassStatus"),
Teacher_Id = base.ParmJObj.GetInt("Teacher_Id"),
CouseId = base.ParmJObj.GetInt("CouseId"),
School_Id = base.ParmJObj.GetInt("School_Id")
};
query.Group_Id = base.UserInfo.Group_Id;
query.School_Id = base.UserInfo.School_Id;
//query.School_Id = base.UserInfo.School_Id;
List<object> result = new List<object>();
var list = classModule.GetClassPageListModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
{
......@@ -44,9 +55,22 @@ namespace Edu.WebApi.Controllers.Course
{
item.UpdateByName = UserReidsCache.GetUserLoginInfo(item.UpdateBy)?.AccountName ?? "";
}
result.Add(new
{
item.ClassId,
item.ClassName,
item.SchoolName,
item.CourseName,
item.TeacherName,
item.ClassPersion,
item.OrderStudentCount,
OpenTime = Common.ConvertHelper.FormatDate(item.OpenTime),
item.CompleteProgress,
ClassStatusStr = item.ClassStatus.ToName(),
});
}
pageModel.Count = rowsCount;
pageModel.PageData = list;
pageModel.PageData = result;
return ApiResult.Success(data: pageModel);
}
......@@ -106,5 +130,26 @@ namespace Edu.WebApi.Controllers.Course
return flag ? ApiResult.Success() : ApiResult.Failed();
}
#endregion
#region 枚举相关列表
/// <summary>
/// 获取班级状态列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetClassStatusList()
{
var list = Common.Plugin.EnumHelper.EnumToList(typeof(ClassStatusEnum));
if (list != null)
{
list.Insert(0, new EnumItem()
{
Id = 0,
Name = "不限"
});
}
return ApiResult.Success(data: list);
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Edu.Cache.User;
using Edu.Common.API;
using Edu.Common.Enum;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Course;
using Edu.Module.Course;
using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
namespace Edu.WebApi.Controllers.Course
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class ClassRoomController : BaseController
{
/// <summary>
/// 教室处理类对象
/// </summary>
private readonly ClassRoomModule classRoomModule = new ClassRoomModule();
#region 教室管理
/// <summary>
/// 获取教室页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetClassRoomPageList()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Class_Room_ViewModel()
{
Group_Id = base.UserInfo.Group_Id,
School_Id = base.ParmJObj.GetInt("School_Id"),
RoomName = base.ParmJObj.GetStringValue("RoomName"),
Status = (DateStateEnum)base.ParmJObj.GetInt("Status"),
};
var list = classRoomModule.GetClassRoomPageListModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
{
if (item.CreateBy > 0)
{
item.CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
}
if (item.UpdateBy > 0)
{
item.UpdateByName = UserReidsCache.GetUserLoginInfo(item.UpdateBy)?.AccountName ?? "";
}
}
pageModel.Count = rowsCount;
pageModel.PageData = list;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 获取教室列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetClassRoomList()
{
var query = new RB_Class_Room_ViewModel()
{
Group_Id = base.UserInfo.Group_Id,
School_Id = base.ParmJObj.GetInt("School_Id"),
RoomName = base.ParmJObj.GetStringValue("RoomName")
};
var list = classRoomModule.GetClassRoomListRepository(query);
return ApiResult.Success(data: list);
}
/// <summary>
/// 添加修改教室
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetClassRoom()
{
var extModel = Common.Plugin.JsonHelper.DeserializeObject<RB_Class_Room_ViewModel>(RequestParm.Msg.ToString());
extModel.CreateTime = DateTime.Now;
extModel.CreateBy = UserInfo.Id;
extModel.UpdateBy = UserInfo.Id;
extModel.UpdateTime = DateTime.Now;
extModel.Group_Id = this.UserInfo.Group_Id;
bool flag = classRoomModule.SetClassRoomModule(extModel);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary>
/// 获取教室实体
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetClassRoom()
{
var RoomId = base.ParmJObj.GetInt("RoomId", 0);
var extModel = classRoomModule.GetClassRoomModule(RoomId);
return ApiResult.Success(data: extModel);
}
/// <summary>
/// 删除教室
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult RemoveClassRoom()
{
var RoomId = base.ParmJObj.GetInt("RoomId", 0);
var Status = base.ParmJObj.GetInt("Status");
var flag = classRoomModule.RemoveClassRoomModule(RoomId, Status);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
#endregion
}
}
......@@ -628,14 +628,16 @@ namespace Edu.WebApi.Controllers.User
query.Group_Id = base.UserInfo.Group_Id;
var list = employeeModule.GetEmployeePageListModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
pageModel.Count = rowsCount;
pageModel.PageData = list.Select(qitem => new
pageModel.PageData = list.Select((qitem, i) => new
{
qitem.Id,
Id = i + 1,
// qitem.Id,
qitem.UserIcon,
qitem.EmployeeName,
qitem.SchoolName,
qitem.DeptName,
qitem.PostName,
qitem.EmployeeTel,
Sex = qitem.Sex == 0 ? "男" : "女",
BirthDate = Common.ConvertHelper.FormatDate(qitem.BirthDate),
Education = qitem.Education.ToName(),
......@@ -645,6 +647,9 @@ namespace Edu.WebApi.Controllers.User
qitem.AccountType,
qitem.IsBirth,
qitem.AccountId,
qitem.School_Id,
qitem.Group_Id,
qitem.Dept_Id,
});
return ApiResult.Success(data: pageModel);
}
......@@ -892,8 +897,11 @@ namespace Edu.WebApi.Controllers.User
[HttpPost]
public ApiResult GetDeptTree()
{
var query = Common.Plugin.JsonHelper.DeserializeObject<RB_Department_ViewModel>(RequestParm.Msg.ToString());
query.Group_Id = base.UserInfo.Group_Id;
var query = new RB_Department_ViewModel()
{
Group_Id = base.UserInfo.Group_Id,
School_Id = base.ParmJObj.GetInt("School_Id")
};
var list = departmentModule.GetDepartmentTreeModule(query);
return ApiResult.Success(data: list);
}
......@@ -1097,7 +1105,8 @@ namespace Edu.WebApi.Controllers.User
{
var query = new RB_Department_ViewModel()
{
Group_Id = base.ParmJObj.GetInt("Group_Id"),
Group_Id = base.UserInfo.Group_Id,
School_Id=base.ParmJObj.GetInt("School_Id")
};
var list = departmentModule.GetDepartmentTreeModule(query, isQueryEmployee: true);
return ApiResult.Success(data: list);
......
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