コード例 #1
0
        /// <summary>
        ///     根据组织机构获取岗位信息
        /// </summary>
        /// <param name="input">组织机构Id</param>
        /// <returns></returns>
        public async Task <IEnumerable <SystemPostOutput> > GetPostByOrganizationId(SystemPostGetByOrganizationId input)
        {
            var data    = (await _postRepository.GetPostByOrganizationId(input)).ToList();
            var allOrgs = (await _organizationRepository.FindAllAsync()).ToList();

            foreach (var user in 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
        /// <summary>
        ///     查询归属某组织下的岗位信息
        /// </summary>
        /// <param name="input">组织机构PostId</param>
        /// <returns>岗位信息</returns>
        public Task <IEnumerable <SystemPostOutput> > GetPostByOrganizationId(SystemPostGetByOrganizationId input)
        {
            var sql = new StringBuilder();

            sql.Append(
                @"SELECT post.*,org.OrganizationId,org.Name OrganizationName
                         FROM System_Post post LEFT JOIN System_Organization org ON org.OrganizationId=post.OrganizationId WHERE 1=1");
            if (input != null && !input.Id.IsNullOrEmptyGuid())
            {
                sql.Append(@" AND post.OrganizationId in(
                select org.OrganizationId from System_Organization org where org.ParentIds  like '" + (input.Id + ",").Replace(",", @"\,") + "%" + "' escape '\\' OR OrganizationId = '" + input.Id + "') ");
            }
            if (input != null)
            {
                sql.Append(input.Sql);
            }
            sql.Append(" ORDER BY post.OrganizationId");
            return(SqlMapperUtil.SqlWithParams <SystemPostOutput>(sql.ToString()));
        }
コード例 #3
0
 public async Task <JsonResult> GetPostByOrganizationId(SystemPostGetByOrganizationId input)
 {
     return(JsonForGridLoadOnce(await _postLogic.GetPostByOrganizationId(input)));
 }