/// <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))); }
/// <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); }