Commit a33cd68f authored by 黄奎's avatar 黄奎

方法统一

parent 176f2807
using Edu.Common.Enum.User;
using System;
namespace Edu.Model.ViewModel.User
{
/// <summary>
/// 后台员工管理实体类
/// </summary>
public class AdminEmp_ViewModel
{
/// <summary>
/// 表主键编号
/// </summary>
public int TabKeyId { get; set; }
/// <summary>
/// 头像
/// </summary>
public string EmployeeIcon { get; set; }
/// <summary>
/// 员工姓名
/// </summary>
public string EmployeeName { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 部门编号
/// </summary>
public int Dept_Id { get; set; }
/// <summary>
/// 岗位编号
/// </summary>
public int Post_Id { get; set; }
/// <summary>
/// 性别
/// </summary>
public int Sex { get; set; }
/// <summary>
/// 员工电话
/// </summary>
public string EmployeePhone { get; set; }
/// <summary>
/// 员工生日
/// </summary>
public DateTime BirthDate { get; set; }
/// <summary>
/// 学历
/// </summary>
public EducationEnum Education { get; set; }
/// <summary>
/// 在职状态
/// </summary>
public LeaveStatusEnum LeaveStatus { get; set; }
/// <summary>
/// 账号类型
/// </summary>
public AccountTypeEnum AccountType { get; set; }
/// <summary>
/// 账号
/// </summary>
public string Account { get; set; }
/// <summary>
/// 员工编号
/// </summary>
public int EmployeeId { get; set; }
/// <summary>
/// 离职时间
/// </summary>
public DateTime? LeaveTime { get; set; }
/// <summary>
/// 集团名称
/// </summary>
public string GroupName { get; set; }
/// <summary>
/// 校区名称
/// </summary>
public string SchoolName { get; set; }
/// <summary>
/// 部门名称
/// </summary>
public string DeptName { get; set; }
/// <summary>
/// 岗位名称
/// </summary>
public string PostName { get; set; }
/// <summary>
/// 行政备注
/// </summary>
public string Remarks { get; set; }
/// <summary>
/// 入职时间
/// </summary>
public DateTime EntryTime { get; set; }
/// <summary>
/// 入职开始时间
/// </summary>
public string StartEntryTime { get; set; }
/// <summary>
/// 入职结束时间
/// </summary>
public string EndEntryTime { get; set; }
/// <summary>
/// 开始离职时间
/// </summary>
public string StartLeaveTime { get; set; }
/// <summary>
/// 结束离职时间
/// </summary>
public string EndLeaveTime { get; set; }
/// <summary>
/// 开始生日日期
/// </summary>
public string StartBirthDate { get; set; }
/// <summary>
/// 结束生日日期
/// </summary>
public string EndBirthDate { get; set; }
/// <summary>
/// 是否近7日生日
/// </summary>
public int IsBirth { get; set; }
}
}
using System;
using Edu.Common.Enum.User;
using System;
using System.Collections.Generic;
using System.Text;
......@@ -73,5 +74,45 @@ namespace Edu.Model.ViewModel.User
/// 部门层级
/// </summary>
public int DeptTier { get; set; }
/// <summary>
/// 性别(0-男,1-女)
/// </summary>
public int Sex { get; set; }
/// <summary>
/// 出生日期
/// </summary>
public DateTime BirthDate { get; set; }
/// <summary>
/// 学历
/// </summary>
public EducationEnum Education { get; set; }
/// <summary>
/// 入职时间
/// </summary>
public DateTime EntryTime { get; set; }
/// <summary>
/// 地址
/// </summary>
public string Address { get; set; }
/// <summary>
/// 在职状态
/// </summary>
public LeaveStatusEnum LeaveStatus { get; set; }
/// <summary>
/// 离职时间
/// </summary>
public DateTime? LeaveTime { get; set; }
/// <summary>
/// 是否近7日生日
/// </summary>
public int IsBirth { get; set; }
}
}
......@@ -22,6 +22,11 @@ namespace Edu.Module.User
/// </summary>
private readonly RB_DepartmentRepository departmentRepository = new RB_DepartmentRepository();
/// <summary>
/// 管理者仓储层对象
/// </summary>
private readonly RB_ManagerRepository managerRepository = new RB_ManagerRepository();
/// <summary>
/// 获取员工列表【管理者、讲师、助教】
/// </summary>
......@@ -32,6 +37,19 @@ namespace Edu.Module.User
return accountRepository.GetEmployeeListRepository(query);
}
/// <summary>
/// 获取员工分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<Employee_ViewModel> GetEmployeePageListModule(int pageIndex, int pageSize, out long rowsCount, Employee_ViewModel query)
{
return accountRepository.GetEmployeePageListRepository(pageIndex, pageSize, out rowsCount, query);
}
/// <summary>
/// 根据员工部门获取员工列表
/// </summary>
......@@ -77,5 +95,15 @@ namespace Edu.Module.User
}
return employeeList;
}
/// <summary>
/// 根据编号获取员工信息
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public Employee_ViewModel GetEmployeeModule(int Id)
{
return accountRepository.GetEmployeeInfo(Id);
}
}
}
}
\ No newline at end of file
......@@ -53,28 +53,6 @@ namespace Edu.Module.User
return managerRepository.GetManagerListRepository(query);
}
/// <summary>
/// 员工分页列表(管理者、讲师、助教)
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<AdminEmp_ViewModel> GetAdminEmpPageListModule(int pageIndex, int pageSize, out long rowsCount, AdminEmp_ViewModel query)
{
var list = managerRepository.GetAdminEmpPageListRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0)
{
string postIds = string.Join(",", list.Where(qitem => qitem.Post_Id > 0).Select(qitem => qitem.Post_Id));
foreach (var item in list)
{
}
}
return list;
}
/// <summary>
/// 新增修改管理者
/// </summary>
......
......@@ -166,6 +166,37 @@ FROM
public List<Employee_ViewModel> GetEmployeeListRepository(Employee_ViewModel query)
{
DynamicParameters parameters = new DynamicParameters();
string sql = GetEmployeeSqlReposiroty(query, parameters);
var list = Get<Employee_ViewModel>(sql, parameters).ToList();
return list;
}
/// <summary>
/// 获取员工分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<Employee_ViewModel> GetEmployeePageListRepository(int pageIndex, int pageSize, out long rowsCount, Employee_ViewModel query)
{
rowsCount = 0;
DynamicParameters parameters = new DynamicParameters();
string sql = GetEmployeeSqlReposiroty(query, parameters);
var list = GetPage<Employee_ViewModel>(pageIndex, pageSize, out rowsCount, sql, parameters).ToList();
return list;
}
/// <summary>
/// 获取员工查询SQL
/// </summary>
/// <param name="query"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public string GetEmployeeSqlReposiroty(Employee_ViewModel query,DynamicParameters parameters)
{
StringBuilder where = new StringBuilder();
StringBuilder where2 = new StringBuilder();
if (query != null)
......@@ -228,19 +259,28 @@ FROM
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.Id,A.Account,A.Group_Id,A.School_Id,A.EmployeeName,IFNULL(G.GroupName,'') AS GroupName,IFNULL(s.SName,'') AS SchoolName
SELECT A.Id,A.Account,A.Group_Id,A.School_Id,A.EmployeeName,A.UserIcon,A.IDCard,A.Sex,A.Education,A.EntryTime,A.Address,A.BirthDate
,A.LeaveStatus,A.LeaveTime
,IFNULL(G.GroupName,'') AS GroupName,IFNULL(s.SName,'') AS SchoolName
,IFNULL(d.DeptId,0) AS Dept_Id,IFNULL(d.DeptName,'') AS DeptName,IFNULL(p.PostId,0) AS Post_Id, IFNULL(p.PostName,'') AS PostName
,(CASE WHEN CONCAT(DATE_FORMAT(now(),'%Y'),'-',DATE_FORMAT(BirthDate,'%m-%d')) >= DATE_FORMAT(now(),'%Y-%m-%d')
AND CONCAT(DATE_FORMAT(now(),'%Y'),'-',DATE_FORMAT(BirthDate,'%m-%d')) <= DATE_FORMAT(date_add(now(),INTERVAL 6 DAY),'%Y-%m-%d')
THEN 1
ELSE 0 END) IsBirth
FROM
(
SELECT A.*,IFNULL(B.MName,'') AS EmployeeName,B.MHead AS UserIcon,B.Dept_Id,B.Post_Id
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
,B.LeaveStatus,B.LeaveTime
FROM rb_account AS A INNER JOIN rb_manager AS B ON A.AccountId=B.MId AND A.AccountType=1
WHERE 1=1 {0}
UNION ALL
SELECT A.*,IFNULL(B.TeacherName,'') AS EmployeeName,B.TeacherIcon AS UserIcon,B.Dept_Id,B.Post_Id
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
,B.LeaveStatus,B.LeaveTime
FROM rb_account AS A INNER JOIN rb_teacher AS B ON A.AccountId=B.TId AND A.AccountType=2
WHERE 1=1 {0}
UNION ALL
SELECT A.*,IFNULL(B.AssistName,'') AS EmployeeName,B.AssistIcon AS UserIcon,B.Dept_Id,B.Post_Id
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
,B.LeaveStatus,B.LeaveTime
FROM rb_account AS A INNER JOIN rb_assist AS B ON A.AccountId=B.AId AND A.AccountType=3
WHERE 1=1 {0}
) AS A LEFT JOIN rb_group AS g ON A.Group_Id=g.GId
......@@ -248,9 +288,8 @@ FROM
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());
var list = Get<Employee_ViewModel>(builder.ToString(),parameters).ToList();
return list;
", where.ToString(), where2.ToString());
return builder.ToString();
}
/// <summary>
......@@ -258,14 +297,16 @@ WHERE 1=1 {1}
/// </summary>
/// <param name="EmpId"></param>
/// <returns></returns>
public Employee_ViewModel GetEmployeeInfo(int EmpId) {
public Employee_ViewModel GetEmployeeInfo(int EmpId)
{
DynamicParameters parameters = new DynamicParameters();
StringBuilder where = new StringBuilder();
where.AppendFormat(" AND A.{0}={1} ", nameof(Employee_ViewModel.Id), EmpId);
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.Id,A.Account,A.Group_Id,A.School_Id,A.EmployeeName,A.UserIcon,IFNULL(G.GroupName,'') AS GroupName,IFNULL(s.SName,'') AS SchoolName
SELECT A.Id,A.Account,A.Group_Id,A.School_Id,A.EmployeeName,A.UserIcon
,IFNULL(G.GroupName,'') AS GroupName,IFNULL(s.SName,'') AS SchoolName
,IFNULL(d.DeptId,0) AS Dept_Id,IFNULL(d.DeptName,'') AS DeptName,IFNULL(p.PostId,0) AS Post_Id, IFNULL(p.PostName,'') AS PostName
FROM
(
......
......@@ -55,96 +55,5 @@ WHERE 1=1
return Get<RB_Manager_ViewModel>(builder.ToString(), parameters).ToList();
}
/// <summary>
/// 员工分页列表(管理者、讲师、助教)
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<AdminEmp_ViewModel> GetAdminEmpPageListRepository(int pageIndex, int pageSize, out long rowsCount, AdminEmp_ViewModel query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.* ,IFNULL(G.GroupName,'') AS GroupName,IFNULL(s.SName,'') AS SchoolName
,IFNULL(d.DeptName,'') AS DeptName,IFNULL(p.PostName,'') AS PostName
, (CASE WHEN CONCAT(DATE_FORMAT(now(),'%Y'),'-',DATE_FORMAT(BirthDate,'%m-%d')) >= DATE_FORMAT(now(),'%Y-%m-%d')
AND CONCAT(DATE_FORMAT(now(),'%Y'),'-',DATE_FORMAT(BirthDate,'%m-%d')) <= DATE_FORMAT(date_add(now(),INTERVAL 6 DAY),'%Y-%m-%d')
THEN 1
ELSE 0 END) IsBirth
FROM
(
SELECT A.MId AS TabKeyId,A.MName AS EmployeeName,A.School_Id,A.Group_Id,A.Dept_Id,A.Post_Id,IFNULL(A.Sex,0) AS Sex,A.MTel AS EmployeePhone,A.BirthDate,A.Education,A.LeaveStatus,A.LeaveTime
, 1 AS AccountType,IFNULL(B.Account,'') AS Account,IFNULL(B.Id,0) AS EmployeeId,A.MHead AS EmployeeIcon,A.EntryTime
FROM rb_manager AS A LEFT JOIN rb_account AS B ON A.MId=B.AccountId AND B.AccountType=1
UNION ALL
SELECT A.TId AS TabKeyId,A.TeacherName AS EmployeeName,A.School_Id,A.Group_Id,A.Dept_Id,A.Post_Id,IFNULL(A.Sex,0) AS Sex,A.TeacherTel AS EmployeePhone,A.BirthDate,A.Education,A.LeaveStatus,A.LeaveTime
,2 AS AccountType,IFNULL(B.Account,'') AS Account,IFNULL(B.Id,0) AS EmployeeId,A.TeacherHead AS EmployeeIcon,A.EntryTime
FROM rb_teacher AS A LEFT JOIN rb_account AS B ON A.TId=B.AccountId AND B.AccountType=2
UNION ALL
SELECT A.AId AS TabKeyId,A.AssistName AS EmployeeName,A.School_Id,A.Group_Id,A.Dept_Id,A.Post_Id,IFNULL(A.Sex,0) AS Sex,A.AssistTel AS EmployeePhone,A.BirthDate,A.Education,A.LeaveStatus,A.LeaveTime
,3 AS AccountType,IFNULL(B.Account,'') AS Account,IFNULL(B.Id,0) AS EmployeeId,A.AssistIcon AS EmployeeIcon,A.EntryTime
FROM rb_assist AS A LEFT JOIN rb_account AS B ON A.AId=B.AccountId AND B.AccountType=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
");
if (query != null)
{
if (!string.IsNullOrWhiteSpace(query.EmployeeName))
{
builder.AppendFormat(" AND (a.{0} LIKE @MName OR A.Account LIKE @MName) ", nameof(AdminEmp_ViewModel.EmployeeName));
parameters.Add("MName", "%" + query.EmployeeName.Trim() + "%");
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(AdminEmp_ViewModel.School_Id), query.School_Id);
}
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(AdminEmp_ViewModel.Group_Id), query.Group_Id);
}
if (query.Dept_Id > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(AdminEmp_ViewModel.Dept_Id), query.Dept_Id);
}
if (query.Post_Id > 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(AdminEmp_ViewModel.Post_Id), query.Post_Id);
}
if (query.LeaveStatus >= 0)
{
builder.AppendFormat(" AND a.{0}={1} ", nameof(AdminEmp_ViewModel.LeaveStatus), (int)query.LeaveStatus);
}
if (!string.IsNullOrEmpty(query.StartEntryTime))
{
builder.AppendFormat(" AND a.{0}>='{1}' ", nameof(AdminEmp_ViewModel.EntryTime), query.StartEntryTime);
}
if (!string.IsNullOrEmpty(query.EndEntryTime))
{
builder.AppendFormat(" AND a.{0}<='{1} 23:59:59' ", nameof(AdminEmp_ViewModel.EntryTime), query.EndEntryTime);
}
if (!string.IsNullOrEmpty(query.StartLeaveTime))
{
builder.AppendFormat(" AND a.{0}>='{1}' ", nameof(AdminEmp_ViewModel.LeaveTime), query.StartLeaveTime);
}
if (!string.IsNullOrEmpty(query.EndLeaveTime))
{
builder.AppendFormat(" AND a.{0}<='{1} 23:59:59' ", nameof(AdminEmp_ViewModel.LeaveTime), query.EndLeaveTime);
}
if (!string.IsNullOrEmpty(query.StartBirthDate) && !string.IsNullOrEmpty(query.EndBirthDate))
{
builder.AppendFormat(@"AND (
CONCAT(DATE_FORMAT(now(),'%Y'),'-',DATE_FORMAT(BirthDate,'%m-%d')) >= '{0}'
AND CONCAT(DATE_FORMAT(now(),'%Y'),'-',DATE_FORMAT(BirthDate,'%m-%d')) <= '{1}'
)",query.StartBirthDate,query.EndBirthDate);
}
}
return GetPage<AdminEmp_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
}
}
\ No newline at end of file
......@@ -71,6 +71,7 @@ namespace Edu.WebApi.Controllers.User
/// </summary>
private readonly EmployeeModule employeeModule = new EmployeeModule();
#region 用户账户管理
/// <summary>
......@@ -623,15 +624,14 @@ namespace Edu.WebApi.Controllers.User
public ApiResult GetManagerPageList()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = Common.Plugin.JsonHelper.DeserializeObject<AdminEmp_ViewModel>(RequestParm.Msg.ToString());
var query = Common.Plugin.JsonHelper.DeserializeObject<Employee_ViewModel>(RequestParm.Msg.ToString());
query.Group_Id = base.UserInfo.Group_Id;
//query.School_Id = base.UserInfo.School_Id;
var list = managerModule.GetAdminEmpPageListModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
var list = employeeModule.GetEmployeePageListModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
pageModel.Count = rowsCount;
pageModel.PageData = list.Select(qitem => new
{
qitem.TabKeyId,
qitem.EmployeeIcon,
qitem.Id,
qitem.UserIcon,
qitem.EmployeeName,
qitem.SchoolName,
qitem.DeptName,
......@@ -640,7 +640,6 @@ namespace Edu.WebApi.Controllers.User
BirthDate = Common.ConvertHelper.FormatDate(qitem.BirthDate),
Education = qitem.Education.ToName(),
LeaveStatus = qitem.LeaveStatus.ToName(),
qitem.EmployeeId,
qitem.Account,
qitem.AccountType,
qitem.IsBirth,
......@@ -685,10 +684,10 @@ namespace Edu.WebApi.Controllers.User
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetManager()
public ApiResult GetEmployee()
{
var MId = base.ParmJObj.GetInt("MId", 0);
var extModel = managerModule.GetManagerModule(MId);
var Id = base.ParmJObj.GetInt("Id", 0);
var extModel = employeeModule.GetEmployeeModule(Id);
return ApiResult.Success(data: extModel);
}
......
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