public string GetUserList(string pRequest) { var rd = new APIResponse <GetUserRD>(); var rdData = new GetUserRD(); var rp = pRequest.DeserializeJSONTo <APIRequest <GetUserRP> >(); if (rp.Parameters == null) { throw new ArgumentException(); } if (rp.Parameters != null) { rp.Parameters.Validate(); } var loggingSessionInfo = new LoggingSessionManager().CurrentSession; try { //获取普通员工employee角色标识 string roleId = string.Empty; var appSysService = new AppSysService(loggingSessionInfo); RoleModel list = new RoleModel(); string key = "D8C5FF6041AA4EA19D83F924DBF56F93"; list = appSysService.GetRolesByAppSysId(key, 1000, 0, "", "", ""); foreach (var item in list.RoleInfoList) { if (item.Role_Code.ToLower() == "employee") { roleId = item.Role_Id; break; } } if (string.IsNullOrEmpty(roleId) || roleId == "") { throw new APIException("employee的roleId未获取到") { ErrorCode = 103 } } ; T_UserBLL userBll = new T_UserBLL(loggingSessionInfo); //string typeID = System.Configuration.ConfigurationManager.AppSettings["TypeID"].ToString(); int totalPage = 0; QueryUserEntity entity = new QueryUserEntity(); entity.QUserName = rp.Parameters.Keyword; entity.QUnitID = rp.Parameters.UnitID; entity.QJobFunctionID = rp.Parameters.JobFunctionID; entity.QRoleID = roleId; DataTable dTable = userBll.GetUserList(rp.Parameters.UserID, rp.Parameters.PageIndex, rp.Parameters.PageSize, out totalPage, entity); //排序 DataView dv = dTable.DefaultView; string sort = string.IsNullOrEmpty(rp.Parameters.sort) ? "UserEmail asc" : rp.Parameters.sort; sort = "UserStatus desc," + sort; dv.Sort = sort; DataTable dt2 = dv.ToTable(); dTable = dt2; if (dTable != null) { rdData.UserList = DataTableToObject.ConvertToList <UserInfo>(dTable); } rdData.TotalPage = totalPage; rd.Data = rdData; rd.ResultCode = 0; } catch (Exception ex) { rd.ResultCode = 103; rd.Message = ex.Message; } return(rd.ToJSON()); }
/// <summary> /// 获取用户列表 /// </summary> /// <param name="pUserId"></param> /// <param name="pPageIndex"></param> /// <param name="pPageSize"></param> /// <param name="totalPage"></param> /// <returns></returns> public DataTable GetUserList(string pUserId, int pPageIndex, int pPageSize, out int totalPage, QueryUserEntity entity) { return(this._currentDAO.GetUserList(pUserId, pPageIndex, pPageSize, out totalPage, entity)); }
public string ExportStaff(string pRequest) { var rd = new APIResponse <ExportStaffRD>(); var rdData = new ExportStaffRD(); var rp = pRequest.DeserializeJSONTo <APIRequest <ExportStaffRP> >(); if (rp.Parameters == null) { throw new ArgumentException(); } if (rp.Parameters != null) { rp.Parameters.Validate(); } var loggingSessionInfo = new LoggingSessionManager().CurrentSession; try { //获取普通员工employee角色标识 string roleId = string.Empty; var appSysService = new AppSysService(loggingSessionInfo); RoleModel list = new RoleModel(); string key = "D8C5FF6041AA4EA19D83F924DBF56F93"; list = appSysService.GetRolesByAppSysId(key, 1000, 0, "", "", ""); foreach (var item in list.RoleInfoList) { if (item.Role_Code.ToLower() == "employee") { roleId = item.Role_Id; break; } } if (string.IsNullOrEmpty(roleId) || roleId == "") { throw new APIException("employee的roleId未获取到") { ErrorCode = 103 } } ; rp.Parameters.ExportType = rp.Parameters.ExportType.ToLower(); //所有页 if (rp.Parameters.ExportType == "allpage") { rp.Parameters.PageIndex = 0; rp.Parameters.PageSize = 5000; } //数据获取 T_UserBLL userBll = new T_UserBLL(loggingSessionInfo); int totalPage = 0; QueryUserEntity entity = new QueryUserEntity(); entity.QUserName = rp.Parameters.Keyword; entity.QUnitID = rp.Parameters.UnitID; entity.QJobFunctionID = rp.Parameters.JobFunctionID; entity.QRoleID = roleId; DataTable dTable = userBll.GetUserList(rp.Parameters.UserID, rp.Parameters.PageIndex, rp.Parameters.PageSize, out totalPage, entity); //过滤选择的员工 if (rp.Parameters.ExportType == "select") { string[] ids = rp.Parameters.StaffIds.Split(','); string strIds = "'',"; for (int i = 0; i < ids.Length; i++) { strIds += "'" + ids[i] + "',"; } strIds = strIds.Substring(0, strIds.Length - 1); DataRow[] drs = dTable.Select("UserID in (" + strIds + ")"); DataTable d = dTable.Clone(); foreach (var item in drs) { d.ImportRow(item); } dTable = d; } else if (rp.Parameters.ExportType == "noselect") { dTable = dTable.Clone(); } //排序 DataView dv = dTable.DefaultView; string sort = string.IsNullOrEmpty(rp.Parameters.sort) ? "UserEmail asc" : rp.Parameters.sort; sort = "UserStatus desc," + sort; dv.Sort = sort; DataTable dt2 = dv.ToTable(); dTable = dt2; //表格标题设置 DataTable lastTable = dTable.DefaultView.ToTable(false, "UserCode", "UserName", "UserNameEn", "UserEmail", "UserGenderT", "UserBirthday", "UserTelephone", "UserCellphone", "DeptName", "JobFuncName", "UserStatusDesc"); //重置标题名称 lastTable.Columns["UserCode"].ColumnName = "用户编码"; lastTable.Columns["UserName"].ColumnName = "姓名"; lastTable.Columns["UserNameEn"].ColumnName = "英文名"; lastTable.Columns["UserEmail"].ColumnName = "邮箱"; lastTable.Columns["UserGenderT"].ColumnName = "性别"; lastTable.Columns["UserBirthday"].ColumnName = "生日"; lastTable.Columns["UserTelephone"].ColumnName = "手机"; lastTable.Columns["UserCellphone"].ColumnName = "电话"; lastTable.Columns["DeptName"].ColumnName = "部门"; lastTable.Columns["JobFuncName"].ColumnName = "职务"; lastTable.Columns["UserStatusDesc"].ColumnName = "状态"; //数据获取 Workbook wb = DataTableExporter.WriteXLS(lastTable, 0); string savePath = HttpContext.Current.Server.MapPath(@"~/File/Excel"); if (!System.IO.Directory.Exists(savePath)) { System.IO.Directory.CreateDirectory(savePath); } savePath = savePath + "\\企信员工-" + lastTable.TableName + ".xls"; wb.Save(savePath);//保存Excel文件 new ExcelCommon().OutPutExcel(HttpContext.Current, savePath); HttpContext.Current.Response.End(); rd.ResultCode = 0; } catch (Exception ex) { rd.ResultCode = 103; rd.Message = ex.Message; } return(rd.ToJSON()); }