/// <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); }
/// <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())); }
public async Task <JsonResult> GetPostByOrganizationId(SystemPostGetByOrganizationId input) { return(JsonForGridLoadOnce(await _postLogic.GetPostByOrganizationId(input))); }