コード例 #1
0
        /// <summary>
        ///     分页查询
        /// </summary>
        /// <param name="paging">分页参数</param>
        /// <returns></returns>
        public async Task <PagedResults <SystemUserOutput> > PagingUserQuery(SystemUserPagingInput paging)
        {
            if (paging.DataSql.IsNullOrEmpty())
            {
                return(new PagedResults <SystemUserOutput>());
            }
            var data = await _userInfoRepository.PagingUserQuery(paging);

            var allOrgs = (await _organizationLogic.GetAllEnumerableAsync()).ToList();

            foreach (var user in data.Data)
            {
                var organization = allOrgs.FirstOrDefault(w => w.OrganizationId == user.OrganizationId);
                if (organization != null && !organization.ParentIds.IsNullOrEmpty())
                {
                    foreach (var parent in organization.ParentIds.Split(','))
                    {
                        //查找上级
                        var dicinfo = allOrgs.FirstOrDefault(w => w.OrganizationId.ToString() == parent);
                        if (dicinfo != null)
                        {
                            user.OrganizationNames += dicinfo.Name + ">";
                        }
                    }
                    if (!user.OrganizationNames.IsNullOrEmpty())
                    {
                        user.OrganizationNames = user.OrganizationNames.TrimEnd('>');
                    }
                }
            }
            return(data);
        }
コード例 #2
0
        public FileResult ExportExcel(SystemUserPagingInput paging)
        {
            ExcelReportDto excelReportDto = new ExcelReportDto()
            {
                TemplatePath     = Server.MapPath("/") + "Templates/System/User/用户导出模版.xlsx",
                DownTemplatePath = "用户信息" + string.Format("{0:yyyyMMddHHmmssffff}", DateTime.Now) + ".xlsx",
                Title            = "用户信息.xlsx"
            };

            _userInfoLogic.ReportExcelUserQuery(paging, excelReportDto);
            return(File(new FileStream(excelReportDto.DownPath, FileMode.Open), "application/octet-stream", Server.UrlEncode(excelReportDto.Title)));
        }
コード例 #3
0
        /// <summary>
        ///     复杂查询分页方式
        /// </summary>
        /// <param name="paging">查询参数</param>
        /// <returns>分页</returns>
        public Task <PagedResults <SystemUserOutput> > PagingUserQuery(SystemUserPagingInput paging)
        {
            StringBuilder sql = new StringBuilder(2000);

            if (paging.PrivilegeMaster == EnumPrivilegeMaster.组织机构)
            {
                sql.Append(
                    string.Format(@"SELECT {1}, @rowNumber, @recordCount 
                                FROM [System_UserInfo] u 
                                LEFT JOIN System_PermissionUser pu ON pu.PrivilegeMasterUserId=u.UserId  
                                @where  AND pu.PrivilegeMaster='{0}' AND u.IsAdmin='false' ", (int)paging.PrivilegeMaster, paging.FiledSql));
            }
            else
            {
                sql.Append(
                    string.Format(@"SELECT u.UserId,
                                       u.Code,
                                       u.Name,
                                       u.Mobile,
                                       u.FirstVisitTime,
                                       u.LastVisitTime,
                                       u.IsFreeze,
                                       u.Remark,
                                       u.State,
                                       u.CreateTime,
                                       u.CreateUserName,
                                       u.UpdateTime,
                                       u.UpdateUserName,

                                --组织机构名称
                                (SELECT Name FROM dbo.System_Organization org WHERE 
                                org.OrganizationId=(SELECT PrivilegeMasterValue FROM dbo.System_PermissionUser 
                                WHERE PrivilegeMaster=1 AND PrivilegeMasterUserId=u.UserId))
                                OrganizationName, 

                                --组织机构Id
                                (SELECT OrganizationId FROM dbo.System_Organization org WHERE 
                                org.OrganizationId=(SELECT PrivilegeMasterValue FROM dbo.System_PermissionUser 
                                WHERE PrivilegeMaster=1 AND PrivilegeMasterUserId=u.UserId)) OrganizationId,
                                @rowNumber, @recordCount 
                                FROM [System_UserInfo] u 
                                LEFT JOIN System_PermissionUser pu ON pu.PrivilegeMasterUserId=u.UserId  
                                @where  AND pu.PrivilegeMaster='{0}' AND u.IsAdmin='false' AND pu.PrivilegeMasterValue='{1}' ", (int)paging.PrivilegeMaster,
                                  paging.PrivilegeMasterValue));
            }
            if (!paging.DataSql.IsNullOrEmpty())
            {
                sql.Append(string.Format(" AND {0}", paging.DataSql));
            }
            //获取对应字段信息并进行对应替换
            return(PagingQueryAsync <SystemUserOutput>(sql.ToString(), paging));
        }
コード例 #4
0
        /// <summary>
        ///     Excel导出方式
        /// </summary>
        /// <param name="paging">查询参数</param>
        /// <param name="excelReportDto"></param>
        /// <returns></returns>
        public async Task <OperateStatus> ReportExcelUserQuery(SystemUserPagingInput paging,
                                                               ExcelReportDto excelReportDto)
        {
            var operateStatus = new OperateStatus();

            try
            {
                //组装数据
                IList <SystemUserOutput> dtos = (await _userInfoRepository.PagingUserQuery(paging)).Data.ToList();
                var tables = new Dictionary <string, DataTable>(StringComparer.OrdinalIgnoreCase);
                //组装需要导出数据
                var dt = new DataTable("User");
                dt.Columns.Add("Num");
                dt.Columns.Add("Code");
                dt.Columns.Add("Name");
                dt.Columns.Add("OrganizationName");
                dt.Columns.Add("Mobile");
                dt.Columns.Add("IsFreeze");
                dt.Columns.Add("CreatTime");
                dt.Columns.Add("FirstVisitTime");
                dt.Columns.Add("LastVisitTime");
                dt.Columns.Add("Remark");
                var num = 1;
                if (dtos.Any())
                {
                    foreach (var dto in dtos)
                    {
                        var row = dt.NewRow();
                        dt.Rows.Add(row);
                        row[0] = num;
                        row[1] = dto.Code;
                        row[2] = dto.Name;
                        row[3] = dto.OrganizationName;
                        row[4] = dto.Mobile;
                        row[5] = dto.IsFreeze ? "是" : "否";
                        row[7] = dto.FirstVisitTime;
                        row[8] = dto.LastVisitTime;
                        row[9] = dto.Remark;
                        num++;
                    }
                }
                tables.Add(dt.TableName, dt);
                OpenXmlExcel.ExportExcel(excelReportDto.TemplatePath, excelReportDto.DownPath, tables);
                operateStatus.ResultSign = ResultSign.Successful;
            }
            catch (Exception)
            {
                operateStatus.ResultSign = ResultSign.Error;
            }
            return(operateStatus);
        }
コード例 #5
0
        public async Task <JsonResult> GetPagingUser(SystemUserPagingInput paging)
        {
            #region 获取权限控制器信息
            SystemPermissionSqlInput input = new SystemPermissionSqlInput
            {
                PrincipalUser             = _currentUser,
                EnumPermissionRoteConvert = EnumPermissionRoteConvert.人员数据权限
            };
            paging.DataSql = await _permissionLogic.GetDataPermissionSql(input);

            #endregion
            var users = await _userInfoLogic.PagingUserQuery(paging);

            return(JsonForGridPaging(users));
        }
コード例 #6
0
        public async Task <JsonResult> GetPagingUser(SystemUserPagingInput paging)
        {
            #region 获取权限控制器信息
            SystemPermissionSqlInput input = new SystemPermissionSqlInput()
            {
                PrincipalUser             = CurrentUser,
                EnumPermissionRoteConvert = EnumPermissionRoteConvert.用户字段数据权限
            };
            paging.FiledSql = await _permissionLogic.GetFieldPermissionSql(input);

            paging.DataSql = await _permissionLogic.GetDataPermissionSql(input);

            #endregion
            paging.PrivilegeMaster = EnumPrivilegeMaster.组织机构;
            var users = await _userInfoLogic.PagingUserQuery(paging);

            return(JsonForGridPaging(users));
        }
コード例 #7
0
        /// <summary>
        ///     Excel导出方式
        /// </summary>
        /// <param name="paging">查询参数</param>
        /// <param name="excelReportDto"></param>
        /// <returns></returns>
        public async Task <OperateStatus> ReportExcelUserQuery(SystemUserPagingInput paging,
                                                               ExcelReportDto excelReportDto)
        {
            var operateStatus = new OperateStatus();

            try
            {
                //组装数据
                IList <SystemUserOutput> dtos = (await _userInfoRepository.PagingUserQuery(paging)).Data.ToList();
                var tables = new Dictionary <string, DataTable>(StringComparer.OrdinalIgnoreCase);
                //组装需要导出数据

                operateStatus.ResultSign = ResultSign.Successful;
            }
            catch (Exception)
            {
                operateStatus.ResultSign = ResultSign.Error;
            }
            return(operateStatus);
        }
コード例 #8
0
        /// <summary>
        ///     复杂查询分页方式
        /// </summary>
        /// <param name="paging">查询参数</param>
        /// <returns>分页</returns>
        public Task <PagedResults <SystemUserOutput> > PagingUserQuery(SystemUserPagingInput paging)
        {
            StringBuilder sql = new StringBuilder(2000);

            sql.Append(
                string.Format(@"SELECT u.UserId,u.OrganizationId,u.Code,u.Name,u.Mobile,u.Email,u.LastVisitTime,u.IsFreeze,u.Remark,u.Status,u.CreateTime,u.CreateUserName,u.UpdateTime,u.UpdateUserName,org.Name OrganizationName,
                                @rowNumber, @recordCount 
                                FROM [System_UserInfo] u 
                                LEFT JOIN System_PermissionUser pu ON pu.PrivilegeMasterUserId=u.UserId
                                LEFT JOIN System_Organization org on org.OrganizationId=u.OrganizationId
                                @where  AND pu.PrivilegeMaster='{0}' AND u.IsAdmin='false' ", paging.PrivilegeMaster.GetHashCode()));
            if (paging.PrivilegeMasterValue != null)
            {
                switch (paging.PrivilegeMaster)
                {
                case EnumPrivilegeMaster.组织机构:
                    sql.Append(@" AND " + paging.DataSql + "");
                    break;
                }
            }
            return(PagingQueryAsync <SystemUserOutput>(sql.ToString(), paging));
        }
コード例 #9
0
ファイル: GroupController.cs プロジェクト: woshisunzewei/EIP
 public async Task <JsonResult> GetPagingUser(SystemUserPagingInput paging)
 {
     paging.PrivilegeMaster = EnumPrivilegeMaster.岗位;
     return(JsonForGridPaging(await _userInfoLogic.PagingUserQuery(paging)));
 }
コード例 #10
0
 /// <summary>
 ///     分页查询
 /// </summary>
 /// <param name="paging">分页参数</param>
 /// <returns></returns>
 public async Task <PagedResults <SystemUserOutput> > PagingUserQuery(SystemUserPagingInput paging)
 {
     return(await _userInfoRepository.PagingUserQuery(paging));
 }