/// <summary> /// 获取用户已选择的查询结果列信息 /// </summary> /// <param name="userId"></param> /// <param name="groupId">查询条件组id</param> /// <returns></returns> public List <QueryResultParaDto> GetResultParaSelect(long userId, long groupId) { var result = new List <QueryResultParaDto>(); sys_query_type_user queryUser = new sys_query_type_user_dal().GetQueryTypeUser(userId, groupId); if (queryUser == null) // 用户未修改查询结果列,使用默认值 { queryUser = new sys_query_type_user_dal().GetQueryTypeUser(0, groupId); } if (queryUser == null) { return(result); } // 获取显示结果列信息并按顺序填充 var list = new d_query_result_dal().FindListBySql($"SELECT * FROM d_query_result WHERE id IN ({queryUser.query_result_ids}) AND query_type_id={queryUser.query_type_id} "); string[] ids = queryUser.query_result_ids.Split(','); for (int i = 0; i < ids.Length; ++i) { long id = long.Parse(ids[i]); var col = list.Find(c => c.id == id); if (col == null) { continue; } AuthUrlDto url = null; if (!string.IsNullOrEmpty(col.link_url)) { url = GetAuthUrl(col.link_url); } QueryResultParaDto para = new QueryResultParaDto { id = id, name = col.col_comment, length = col.col_length, type = col.display_type_id, visible = col.is_visible, url = url }; result.Add(para); } return(result); }
private AuthUrlDto GetAuthUrl(string url) { AuthUrlDto dto = new AuthUrlDto(); int index = url.IndexOf('?'); if (index == -1) { dto.url = url; dto.parms = null; } else { dto.url = url.Substring(0, index); dto.parms = new List <UrlPara>(); var prms = url.Substring(index + 1).Split('&'); for (int i = 0; i <= prms.Length - 1; ++i) { UrlPara prm = new UrlPara(); prm.value = null; int valueIndex = prms[i].IndexOf('='); if (valueIndex == -1) { prm.name = prms[i]; } else { prm.name = prms[i].Substring(0, valueIndex); if (valueIndex < prms[i].Length - 1) { prm.value = prms[i].Substring(valueIndex + 1); } } dto.parms.Add(prm); } } return(dto); }