using Edu.Common.Enum; using Edu.Model.Entity.User; using Edu.Model.ViewModel.User; using System.Collections.Generic; using System.Linq; using System.Text; using VT.FW.DB.Dapper; namespace Edu.Repository.User { /// /// 岗位管理仓储层 /// public class RB_PostRepository : BaseRepository { /// /// 获取岗位分页列表 /// /// /// /// /// /// public List GetPostPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Post_ViewModel query) { rowsCount = 0; DynamicParameters parameters = new DynamicParameters(); StringBuilder builder = new StringBuilder(); builder.AppendFormat(@" SELECT A.* FROM rb_post AS A WHERE 1=1 "); if (query != null) { if (query.Group_Id > 0) { builder.Append($" AND A.{nameof(RB_Post_ViewModel.Group_Id)}={query.Group_Id} "); } if (query.PostId > 0) { builder.Append($" AND A.{nameof(RB_Post_ViewModel.PostId)}={query.PostId} "); } if (!string.IsNullOrEmpty(query.PostName)) { builder.Append($" AND A.{nameof(RB_Post_ViewModel.PostName)} LIKE @PostName "); parameters.Add("PostName", "%" + query.PostName.Trim() + "%"); } if (query.Status != null && (int)query.Status > -1) { builder.Append($" AND A.{nameof(RB_Post_ViewModel.Status)}={(int)query.Status} "); } return GetPage(pageIndex, pageSize, out rowsCount, builder.ToString(),parameters).ToList(); } else { return new List(); } } /// /// 获取岗位列表 /// /// /// public List GetPostListRepository(RB_Post_ViewModel query) { DynamicParameters parameters = new DynamicParameters(); StringBuilder builder = new StringBuilder(); builder.AppendFormat(@" SELECT A.* FROM rb_post AS A WHERE 1=1 "); builder.Append($" AND A.{nameof(RB_Post_ViewModel.Status)}={(int)DateStateEnum.Normal} "); if (query != null) { if (query.Group_Id > 0) { builder.Append($" AND A.{nameof(RB_Post_ViewModel.Group_Id)}={query.Group_Id} "); } if (query.PostId > 0) { builder.Append($" AND A.{nameof(RB_Post_ViewModel.PostId)}={query.PostId} "); } if (!string.IsNullOrEmpty(query.QPostIds)) { builder.Append($" AND A.{nameof(RB_Post_ViewModel.PostId)} IN({query.QPostIds}) "); } if (!string.IsNullOrEmpty(query.PostName)) { builder.Append($" AND A.{nameof(RB_Post_ViewModel.PostName)} LIKE @PostName "); parameters.Add("PostName", "%" + query.PostName.Trim() + "%"); } return Get(builder.ToString(),parameters).ToList(); } else { return new List(); } } /// /// 获取部门岗位管理列表 /// /// /// public List GetPostListExtRepository(RB_Post_ViewModel query) { DynamicParameters parameters = new DynamicParameters(); StringBuilder builder = new StringBuilder(); builder.AppendFormat(@" SELECT A.*,B.Dept_Id FROM rb_post AS A INNER JOIN rb_department_post AS B ON A.PostId=B.PostId WHERE 1=1 "); builder.Append($" AND A.{nameof(RB_Post_ViewModel.Status)}={(int)DateStateEnum.Normal} "); if (query != null) { if (query.Group_Id > 0) { builder.Append($" AND A.{nameof(RB_Post_ViewModel.Group_Id)}={query.Group_Id} "); } if (query.PostId > 0) { builder.Append($" AND A.{nameof(RB_Post_ViewModel.PostId)}={query.PostId} "); } if (!string.IsNullOrEmpty(query.QPostIds)) { builder.Append($" AND A.{nameof(RB_Post_ViewModel.PostId)} IN({query.QPostIds}) "); } if (!string.IsNullOrEmpty(query.PostName)) { builder.Append($" AND A.{nameof(RB_Post_ViewModel.PostName)} LIKE @PostName "); parameters.Add("PostName", "%" + query.PostName.Trim() + "%"); } return Get(builder.ToString(), parameters).ToList(); } else { return new List(); } } /// /// 根据部门编号获取岗位列表 /// /// /// public List GetDeptPostListRepository(RB_Post_ViewModel query) { StringBuilder builder = new StringBuilder(); builder.AppendFormat(@" SELECT B.PostId,B.PostName FROM rb_department_post AS A INNER JOIN rb_post AS B ON A.PostId=B.PostId WHERE 1=1 "); if (query != null) { if (!string.IsNullOrEmpty(query.QDeptIds)) { builder.AppendFormat(@" AND A.Dept_Id IN({0}) ", query.QDeptIds); } } return Get(builder.ToString()).ToList(); } } }