/// <summary>
        ///     查询归属某组织下的组信息
        /// </summary>
        /// <param name="input">组织机构Id</param>
        /// <returns>组信息</returns>
        public Task <IEnumerable <SystemGroupOutput> > GetGroupByOrganizationId(SystemGroupGetGroupByOrganizationIdInput input)
        {
            var sql = new StringBuilder();

            sql.Append(
                @"SELECT gr.GroupId,gr.Name,gr.BelongTo,gr.BelongToUserId,gr.[State],gr.IsFreeze,gr.OrderNo,gr.Remark,gr.CreateTime,gr.CreateUserName,gr.UpdateTime,gr.UpdateUserName,org.OrganizationId,org.Name OrganizationName
                         FROM System_Group gr LEFT JOIN System_Organization org ON org.OrganizationId=gr.OrganizationId WHERE 1=1 ");
            if (!input.Id.IsNullOrEmptyGuid())
            {
                sql.Append("  gr.OrganizationId=@orgId");
            }
            sql.Append(input.Sql);
            sql.Append(" ORDER BY gr.OrganizationId");
            return(SqlMapperUtil.SqlWithParams <SystemGroupOutput>(sql.ToString(), new { orgId = input.Id }));
        }
 public async Task <JsonResult> GetGroupByOrganizationId(SystemGroupGetGroupByOrganizationIdInput input)
 {
     return(JsonForGridLoadOnce(await _groupLogic.GetGroupByOrganizationId(input)));
 }
Example #3
0
        /// <summary>
        ///     根据组织机构获取组信息
        /// </summary>
        /// <param name="input">组织机构</param>
        /// <returns></returns>
        public async Task <IEnumerable <SystemGroupOutput> > GetGroupByOrganizationId(SystemGroupGetGroupByOrganizationIdInput input)
        {
            var groups  = (await _groupRepository.GetGroupByOrganizationId(input)).ToList();
            var allOrgs = (await _organizationRepository.FindAllAsync()).ToList();

            foreach (var group in groups)
            {
                group.BelongToName = EnumUtil.GetName(typeof(EnumGroupBelongTo), group.BelongTo);
                var organization = allOrgs.FirstOrDefault(w => w.OrganizationId == group.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)
                        {
                            group.OrganizationNames += dicinfo.Name + ">";
                        }
                    }
                    if (!group.OrganizationNames.IsNullOrEmpty())
                    {
                        group.OrganizationNames = group.OrganizationNames.TrimEnd('>');
                    }
                }
            }
            return(groups);
        }