问卷统计修改
This commit is contained in:
parent
16b28038b6
commit
b6eabdc247
@ -306,8 +306,14 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
||||
//查询问卷任务
|
||||
List<QuestionnaireTaskStatisticsVo> questionnaireTaskStatisticsVos = signPatientManageRouteNodeMapper.questionnaireTaskStatistics(questionnaireTaskStatisticsDto);
|
||||
//遍历计算比例
|
||||
List<QuestionnaireTaskVo> questionnaireTaskVos = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(questionnaireTaskStatisticsVos)){
|
||||
for (QuestionnaireTaskStatisticsVo questionnaireTaskStatisticsVo : questionnaireTaskStatisticsVos) {
|
||||
QuestionnaireTaskVo questionnaireTaskVo = new QuestionnaireTaskVo();
|
||||
questionnaireTaskVo.setQuestionInfoId(questionnaireTaskStatisticsVo.getQuestionInfoId());
|
||||
questionnaireTaskVo.setQuestionnaireName(questionnaireTaskStatisticsVo.getQuestionnaireName());
|
||||
questionnaireTaskVo.setCreateTime(questionnaireTaskStatisticsVo.getCreateTime());
|
||||
questionnaireTaskVos.add(questionnaireTaskVo);
|
||||
//除数不能为空或0
|
||||
if (CollectionUtils.isNotEmpty(questionnaireTaskStatisticsVo.getQuestionnaireTaskOptionStatisticsVos()) && Objects.nonNull(questionnaireTaskStatisticsVo.getTotal()) && questionnaireTaskStatisticsVo.getTotal() != 0){
|
||||
questionnaireTaskStatisticsVo.getQuestionnaireTaskOptionStatisticsVos()
|
||||
@ -318,8 +324,14 @@ public class StatisticsServiceImpl implements IStatisticsService {
|
||||
questionnaireTaskStatisticsVo.getQuestionnaireTaskOptionStatisticsVos().forEach(item -> item.setChoiceProportion(BigDecimal.ZERO));
|
||||
}
|
||||
}
|
||||
//组装第一层数据
|
||||
questionnaireTaskVos = questionnaireTaskVos.stream().distinct().collect(Collectors.toList());
|
||||
for (QuestionnaireTaskVo questionnaireTaskVo : questionnaireTaskVos) {
|
||||
List<QuestionnaireTaskStatisticsVo> collect = questionnaireTaskStatisticsVos.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getQuestionInfoId()) && questionnaireTaskVo.getQuestionInfoId().equals(item.getQuestionInfoId())).collect(Collectors.toList());
|
||||
questionnaireTaskVo.setQuestionnaireTaskStatisticsVos(collect);
|
||||
}
|
||||
}
|
||||
return AjaxResult.success(questionnaireTaskStatisticsVos);
|
||||
return AjaxResult.success(questionnaireTaskVos);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -1,9 +1,11 @@
|
||||
package com.xinelu.manage.vo.statistics;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -55,4 +57,16 @@ public class QuestionnaireTaskStatisticsVo {
|
||||
* 选项结合
|
||||
*/
|
||||
private List<QuestionnaireTaskOptionStatisticsVo> questionnaireTaskOptionStatisticsVos;
|
||||
|
||||
/**
|
||||
* 问卷标题(上层数据使用)
|
||||
*/
|
||||
@ApiModelProperty(value = "问卷标题")
|
||||
private String questionnaireName;
|
||||
|
||||
/**
|
||||
* 创建时间(上层数据使用)
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package com.xinelu.manage.vo.statistics;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description: 问卷任务统计返回值
|
||||
* @author: zh
|
||||
* @create: 2024-12-22
|
||||
**/
|
||||
@Data
|
||||
public class QuestionnaireTaskVo {
|
||||
|
||||
/**
|
||||
* 问卷表id
|
||||
*/
|
||||
@ApiModelProperty(value = "问卷表id")
|
||||
private Long questionInfoId;
|
||||
|
||||
/**
|
||||
* 问卷标题
|
||||
*/
|
||||
@ApiModelProperty(value = "问卷标题")
|
||||
private String questionnaireName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
List<QuestionnaireTaskStatisticsVo> questionnaireTaskStatisticsVos;
|
||||
}
|
||||
@ -94,6 +94,8 @@
|
||||
<result property="questionType" column="question_type"/>
|
||||
<result property="questionName" column="question_name"/>
|
||||
<result property="total" column="total"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="questionnaireName" column="questionnaire_name"/>
|
||||
<collection property="questionnaireTaskOptionStatisticsVos" javaType="java.util.List"
|
||||
resultMap="QuestionnaireTaskOptionStatisticsVoResult"/>
|
||||
</resultMap>
|
||||
@ -1225,6 +1227,8 @@
|
||||
resultType="com.xinelu.manage.vo.statistics.QuestionnaireTaskStatisticsVo"
|
||||
resultMap="QuestionnaireTaskStatisticsVoResult">
|
||||
select
|
||||
qi.create_time,
|
||||
qi.questionnaire_name,
|
||||
spmrn.question_info_id,
|
||||
pqsjr.question_subject_id,
|
||||
pqsjr.question_number,
|
||||
@ -1256,6 +1260,7 @@
|
||||
WHERE a.question_info_id = spmrn.question_info_id
|
||||
) total
|
||||
from sign_patient_manage_route_node spmrn
|
||||
left join question_info qi on spmrn.question_info_id = qi.id
|
||||
left join sign_patient_manage_route spmr on spmr.id = spmrn.manage_route_id
|
||||
left join patient_info p on spmr.patient_id = p.id
|
||||
left join patient_question_submit_result pqsbr on spmrn.id = pqsbr.manage_route_node_id
|
||||
@ -1280,6 +1285,7 @@
|
||||
or (date_format(p.discharge_time,'%y%m%d') >= date_format(#{visitStartTime}, '%y%m%d') and
|
||||
date_format(p.discharge_time,'%y%m%d') <= date_format(#{visitEndTime}, '%y%m%d')))
|
||||
</if>
|
||||
order by qi.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectTaskOptionContented"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user