public async Task <IActionResult> GetConsumerQuestionnairesPageList([FromBody] GetConsumerQuestionnairesPageListRequestDto request) { var healthBiz = new HealthBiz(); return(Success(await healthBiz.GetConsumerQuestionnairesPageList(request))); }
public async Task <IActionResult> GetConsumerQuestionnairesPageLisAsync(GetConsumerQuestionnairesPageListRequestDto requestDto) { var result = await new QuestionnaireResultBiz().GetConsumerQuestionnairesPageListAsync(requestDto); return(Success(result)); }
/// <summary> /// 获取会员问卷列表 /// </summary> /// <param name="requestDto"></param> /// <returns></returns> public async Task <GetConsumerQuestionnairesPageListResponseDto> GetConsumerQuestionnairesPageList(GetConsumerQuestionnairesPageListRequestDto requestDto) { var sqlWhere = string.Empty; if (!string.IsNullOrEmpty(requestDto.Name)) { sqlWhere = "AND q.questionnaire_name LIKE @Name"; requestDto.Name = $"%{requestDto.Name}%"; } var sqlSort = string.Empty; var sortCriterias = requestDto.SortCriterias; if (sortCriterias != null && sortCriterias.Count > 0) { var removeDuplicates = new List <string>(); foreach (var fieldCriteria in sortCriterias) { if (!fieldCriteria.Exist()) { continue; } if (removeDuplicates.Contains(fieldCriteria.Field)) { continue; } removeDuplicates.Add(fieldCriteria.Field); if (fieldCriteria.IsFill()) { //已填写 if (fieldCriteria.SortOrder == SortOrder.DESC) { sqlSort = $@"{sqlSort} qr.fill_status desc,qr.last_updated_date desc,"; } else { sqlSort = $"{sqlSort} qr.fill_status asc, q.issuing_date desc,"; } } else if (fieldCriteria.IsCommented()) { //已评论 if (fieldCriteria.SortOrder == SortOrder.DESC) { sqlSort = $@"{sqlSort} qr.commented desc, qr.fill_status desc, qr.last_updated_date desc,"; } else { sqlSort = $@"{sqlSort} qr.fill_status desc,qr.last_updated_date desc,"; } } } if (!string.IsNullOrEmpty(sqlSort)) { sqlSort = $"ORDER BY {sqlSort.TrimEnd(',')}"; } } var sql = $@"SELECT qr.result_guid as ResultGuid, q.questionnaire_guid as QuestionnaireGuid, q.questionnaire_name as `Name`, q.issuing_date as IssuingDate, qr.fill_status as FillStatus, qr.commented as CommentedStatus FROM t_questionnaire_result as qr INNER JOIN `t_questionnaire` as q ON qr.questionnaire_guid = q.questionnaire_guid WHERE qr.user_guid = @UserGuid {sqlWhere} "; if (!string.IsNullOrEmpty(sqlSort)) { sql = $"{sql} {sqlSort}"; } else { sql = $@"{sql} ORDER BY CASE WHEN qr.fill_status = 0 THEN q.issuing_date ELSE qr.last_updated_date END DESC"; } return(await MySqlHelper.QueryByPageAsync <GetConsumerQuestionnairesPageListRequestDto, GetConsumerQuestionnairesPageListResponseDto, GetQuestionnaireItem>(sql, requestDto)); }
/// <summary> /// 获取某一个问卷下消费者答题结果分页列表 /// </summary> /// <param name="requestDto"></param> /// <returns></returns> public async Task <GetConsumerQuestionnairesPageListResponseDto> GetConsumerQuestionnairesPageListAsync(GetConsumerQuestionnairesPageListRequestDto requestDto) { var sqlWhere = string.Empty; if (requestDto.FillStatus != null) { sqlWhere = "and a.fill_status=@FillStatus"; } if (requestDto.Commented != null) { sqlWhere = $"{sqlWhere} and a.commented=@Commented"; } var sql = $@"SELECT a.result_guid, b.user_name, b.phone, CASE WHEN b.birthday IS NULL THEN NULL ELSE TIMESTAMPDIFF( YEAR, date( b.birthday ), date( NOW())) END AS age , a.fill_status, a.commented FROM t_questionnaire_result a INNER JOIN t_utility_user b ON a.user_guid = b.user_guid WHERE a.questionnaire_guid = @QuestionnaireGuid {sqlWhere} order by a.fill_status desc ,a.commented" ; var result = await MySqlHelper.QueryByPageAsync <GetConsumerQuestionnairesPageListRequestDto, GetConsumerQuestionnairesPageListResponseDto, GetConsumerQuestionnairesPageListItemDto>(sql, requestDto); return(result); }