外呼记录查询条件修改
This commit is contained in:
parent
e68836950c
commit
4c9a214935
@ -19,6 +19,11 @@ public enum QuestionTypeEnum {
|
|||||||
* 满意度问卷
|
* 满意度问卷
|
||||||
*/
|
*/
|
||||||
SATISFACTION_QUESTIONNAIRE("SATISFACTION_QUESTIONNAIRE"),
|
SATISFACTION_QUESTIONNAIRE("SATISFACTION_QUESTIONNAIRE"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 反馈填空题
|
||||||
|
*/
|
||||||
|
FEEDBACK_BLANKS_SUBJECT("FEEDBACK_BLANKS_SUBJECT"),
|
||||||
;
|
;
|
||||||
|
|
||||||
final private String info;
|
final private String info;
|
||||||
|
|||||||
@ -64,4 +64,29 @@ public class UploadRobotPublishRecordDto {
|
|||||||
* 任务节点类型,PHONE_OUTBOUND:电话外呼;QUESTIONNAIRE_SCALE:问卷量表
|
* 任务节点类型,PHONE_OUTBOUND:电话外呼;QUESTIONNAIRE_SCALE:问卷量表
|
||||||
*/
|
*/
|
||||||
private String taskNodeType;
|
private String taskNodeType;
|
||||||
}
|
|
||||||
|
/**
|
||||||
|
* 节点任务执行状态,已执行:EXECUTED,未执行:UNEXECUTED
|
||||||
|
*/
|
||||||
|
private String nodeExecuteStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务执行类型(批量还是单个执行)
|
||||||
|
*/
|
||||||
|
private String taskExcuteType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入流水号
|
||||||
|
*/
|
||||||
|
private String sn;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 整个问卷中是否包含不满意项;DISCONTENTED:不满意;CONTENTED:满意;默认CONTENTED;
|
||||||
|
*/
|
||||||
|
private String contentedFlag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 题目类型
|
||||||
|
*/
|
||||||
|
private String questionType;
|
||||||
|
}
|
||||||
@ -13,12 +13,7 @@ import com.xinelu.common.constant.TemplateTypeConstants;
|
|||||||
import com.xinelu.common.constant.TriggerConditionOperatorConstants;
|
import com.xinelu.common.constant.TriggerConditionOperatorConstants;
|
||||||
import com.xinelu.common.constant.TriggerLogicConstants;
|
import com.xinelu.common.constant.TriggerLogicConstants;
|
||||||
import com.xinelu.common.constant.VisitMethodConstants;
|
import com.xinelu.common.constant.VisitMethodConstants;
|
||||||
import com.xinelu.common.enums.MessageStatusEnum;
|
import com.xinelu.common.enums.*;
|
||||||
import com.xinelu.common.enums.NodeExecuteResultStatusEnum;
|
|
||||||
import com.xinelu.common.enums.NodeExecuteStatusEnum;
|
|
||||||
import com.xinelu.common.enums.PhoneDialMethodEnum;
|
|
||||||
import com.xinelu.common.enums.RouteCheckStatusEnum;
|
|
||||||
import com.xinelu.common.enums.RouteNodeNameEnum;
|
|
||||||
import com.xinelu.common.exception.ServiceException;
|
import com.xinelu.common.exception.ServiceException;
|
||||||
import com.xinelu.common.utils.SecurityUtils;
|
import com.xinelu.common.utils.SecurityUtils;
|
||||||
import com.xinelu.common.utils.StringUtils;
|
import com.xinelu.common.utils.StringUtils;
|
||||||
@ -1410,6 +1405,9 @@ public class SignPatientManageRouteNodeServiceImpl implements ISignPatientManage
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<UploadRobotPublishRecordVo> uploadRobotPublishRecord(UploadRobotPublishRecordDto uploadRobotPublishRecordDto) {
|
public List<UploadRobotPublishRecordVo> uploadRobotPublishRecord(UploadRobotPublishRecordDto uploadRobotPublishRecordDto) {
|
||||||
|
if (Objects.nonNull(uploadRobotPublishRecordDto)){
|
||||||
|
uploadRobotPublishRecordDto.setQuestionType(QuestionTypeEnum.FEEDBACK_BLANKS_SUBJECT.getInfo());
|
||||||
|
}
|
||||||
return signPatientManageRouteNodeMapper.selectTaskContented(uploadRobotPublishRecordDto);
|
return signPatientManageRouteNodeMapper.selectTaskContented(uploadRobotPublishRecordDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -88,47 +88,64 @@ public class UploadRobotPublishRecordVo {
|
|||||||
private String mainDiagnosis;
|
private String mainDiagnosis;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 冗余:整个问卷中是否包含不满意项;DISCONTENTED:不满意;CONTENTED:满意;默认CONTENTED;
|
* 问卷中不满意项;DISCONTENTED:不满意;CONTENTED:满意;默认CONTENTED;
|
||||||
* 2024/12/2
|
|
||||||
*/
|
*/
|
||||||
|
@ApiModelProperty(value = "问卷中不满意项")
|
||||||
@Excel(name = "调查结果")
|
@Excel(name = "调查结果")
|
||||||
private String contentedFlag;
|
private String contentedFlag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 调查分数
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "调查分数")
|
@ApiModelProperty(value = "调查分数")
|
||||||
@Excel(name = "调查分数")
|
@Excel(name = "调查分数")
|
||||||
private BigDecimal SurveyScore;
|
private BigDecimal SurveyScore;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 反馈意见
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "反馈意见")
|
@ApiModelProperty(value = "反馈意见")
|
||||||
@Excel(name = "反馈意见")
|
@Excel(name = "反馈意见")
|
||||||
private String feedbackMessage;
|
private String fillBlanksAnswer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 随访状态
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "随访状态")
|
@ApiModelProperty(value = "随访状态")
|
||||||
@Excel(name = "随访状态")
|
@Excel(name = "随访状态")
|
||||||
private String followUpStatus;
|
private String followUpStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 随访人
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "随访人")
|
@ApiModelProperty(value = "随访人")
|
||||||
@Excel(name = "随访人")
|
@Excel(name = "随访人")
|
||||||
private String followUpPerson;
|
private String phoneDialMethod;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 冗余:整个问卷中是否包含异常项;REMARKABLE:异常的;ROUTINE:正常的;默认ROUTINE
|
* 问卷异常项;REMARKABLE:异常的;ROUTINE:正常的;默认ROUTINE
|
||||||
* 2024/12/2
|
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(name = "异常项")
|
@ApiModelProperty(name = "异常项")
|
||||||
private String remarkableFlag;
|
private String remarkableFlag;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 执行时间,格式:HH:mm
|
* 执行时间
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "执行时间,格式:yyyy-MM-dd HH:mm:ss")
|
@ApiModelProperty(value = "执行时间,格式:yyyy-MM-dd")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
@Excel(name = "随访时间", width = 30, dateFormat = "yyyy-MM-dd")
|
@Excel(name = "随访时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
private LocalDateTime nodePlanTime;
|
private LocalDateTime nodePlanTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 抽样人
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "抽样人")
|
@ApiModelProperty(value = "抽样人")
|
||||||
@Excel(name = "抽样人")
|
@Excel(name = "抽样人")
|
||||||
private String samplingPersonnel;
|
private String samplingPersonnel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 抽样时间
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "抽样时间")
|
@ApiModelProperty(value = "抽样时间")
|
||||||
@Excel(name = "抽样时间")
|
@Excel(name = "抽样时间")
|
||||||
private String SampleTime;
|
private String SampleTime;
|
||||||
@ -166,22 +183,51 @@ public class UploadRobotPublishRecordVo {
|
|||||||
@ApiModelProperty(value = "任务节点类型")
|
@ApiModelProperty(value = "任务节点类型")
|
||||||
private String taskNodeType;
|
private String taskNodeType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 路径节点id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "路径节点id")
|
||||||
|
private Long manageRouteNodeId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电话拨通情况;SUCCESS:成功;FAILURE:失败;EXPIRED:超期自动作废(如超期一周);NULL或空字符串:缺省值,表示未执行;
|
* 电话拨通情况;SUCCESS:成功;FAILURE:失败;EXPIRED:超期自动作废(如超期一周);NULL或空字符串:缺省值,表示未执行;
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "电话拨通情况")
|
@ApiModelProperty(value = "电话拨通情况")
|
||||||
private String phoneNodeExecuteResultStatus;
|
private String phoneNodeExecuteResultStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拨打状态
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "拨打状态:DIALED,已拨打:NODIALED:未拨打;默认NULL表示未拨打")
|
@ApiModelProperty(value = "拨打状态:DIALED,已拨打:NODIALED:未拨打;默认NULL表示未拨打")
|
||||||
private String dialStatus;
|
private String dialStatus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 问卷关联话术id
|
* 问卷关联话术id
|
||||||
*/
|
*/
|
||||||
|
@ApiModelProperty(value = "问卷关联话术id")
|
||||||
private Long scriptTemplateId;
|
private Long scriptTemplateId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 问卷关联话术名称 (展示 : 话术名称)
|
* 问卷关联话术名称
|
||||||
*/
|
*/
|
||||||
|
@ApiModelProperty(value = "问卷关联话术名称")
|
||||||
private String scriptTemplateName;
|
private String scriptTemplateName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务执行类型(批量还是单个执行)
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "任务执行类型(批量还是单个执行,'批量任务:BATCH_TASK,单个实时拔打任务:ACTUAL_TIME_TASK')")
|
||||||
|
private String taskExcuteType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入流水号
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "导入流水号")
|
||||||
|
private String sn;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 患者问卷提交结果信息表id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "患者问卷提交结果信息表id")
|
||||||
|
private Long taskExecuteRecordId;
|
||||||
}
|
}
|
||||||
@ -1087,6 +1087,7 @@
|
|||||||
<select id="selectTaskContented"
|
<select id="selectTaskContented"
|
||||||
resultType="com.xinelu.manage.vo.signpatientmanageroutenode.UploadRobotPublishRecordVo">
|
resultType="com.xinelu.manage.vo.signpatientmanageroutenode.UploadRobotPublishRecordVo">
|
||||||
SELECT
|
SELECT
|
||||||
|
spmrn.id manageRouteNodeId,
|
||||||
spmrn.manage_route_name,
|
spmrn.manage_route_name,
|
||||||
spmrn.task_node_type,
|
spmrn.task_node_type,
|
||||||
spmrn.dial_status,
|
spmrn.dial_status,
|
||||||
@ -1094,6 +1095,9 @@
|
|||||||
spmrn.questionnaire_name,
|
spmrn.questionnaire_name,
|
||||||
spmrn.node_execute_status,
|
spmrn.node_execute_status,
|
||||||
spmrn.node_plan_time,
|
spmrn.node_plan_time,
|
||||||
|
spmrn.task_excute_type,
|
||||||
|
spmrn.sn,
|
||||||
|
spmrn.phone_node_execute_result_status,
|
||||||
CASE
|
CASE
|
||||||
WHEN spmrn.node_execute_status = 'EXECUTED' THEN '已随访'
|
WHEN spmrn.node_execute_status = 'EXECUTED' THEN '已随访'
|
||||||
WHEN spmrn.node_execute_status = 'UNEXECUTED' THEN '未随访'
|
WHEN spmrn.node_execute_status = 'UNEXECUTED' THEN '未随访'
|
||||||
@ -1101,14 +1105,16 @@
|
|||||||
CASE
|
CASE
|
||||||
WHEN spmrn.phone_dial_method = 'AI' THEN 'AI'
|
WHEN spmrn.phone_dial_method = 'AI' THEN 'AI'
|
||||||
WHEN spmrn.phone_dial_method = 'COMMON' THEN spmrn.route_handle_person
|
WHEN spmrn.phone_dial_method = 'COMMON' THEN spmrn.route_handle_person
|
||||||
END AS followUpPerson,
|
END AS phoneDialMethod,
|
||||||
spmrn.create_by AS samplingPersonnel,
|
spmrn.create_by AS samplingPersonnel,
|
||||||
spmrn.create_time AS SampleTime,
|
spmrn.create_time AS SampleTime,
|
||||||
CASE
|
CASE
|
||||||
WHEN pqsr.contented_flag = 'DISCONTENTED' THEN '不满意'
|
WHEN pqsr.contented_flag = 'DISCONTENTED' THEN '不满意'
|
||||||
WHEN pqsr.contented_flag = 'CONTENTED' THEN '满意'
|
WHEN pqsr.contented_flag = 'CONTENTED' THEN '满意'
|
||||||
END AS contentedFlag,
|
END AS contentedFlag,
|
||||||
|
pqsr.task_execute_record_id,
|
||||||
pqsr.remarkable_flag,
|
pqsr.remarkable_flag,
|
||||||
|
pqsr.id,
|
||||||
pi.patient_phone,
|
pi.patient_phone,
|
||||||
pi.patient_name,
|
pi.patient_name,
|
||||||
pi.id AS patientId,
|
pi.id AS patientId,
|
||||||
@ -1127,7 +1133,9 @@
|
|||||||
CASE
|
CASE
|
||||||
WHEN spmrn.task_node_type = 'PHONE_OUTBOUND' THEN si.script_name
|
WHEN spmrn.task_node_type = 'PHONE_OUTBOUND' THEN si.script_name
|
||||||
WHEN spmrn.task_node_type = 'QUESTIONNAIRE_SCALE' THEN qi.script_name
|
WHEN spmrn.task_node_type = 'QUESTIONNAIRE_SCALE' THEN qi.script_name
|
||||||
END AS scriptTemplateName
|
END AS scriptTemplateName,
|
||||||
|
(select fill_blanks_answer from patient_question_subject_result
|
||||||
|
where question_submit_result_id = pqsr.id and question_type = #{questionType}) fillBlanksAnswer
|
||||||
FROM sign_patient_manage_route_node spmrn
|
FROM sign_patient_manage_route_node spmrn
|
||||||
LEFT JOIN sign_patient_manage_route spmr ON spmr.id = spmrn.manage_route_id
|
LEFT JOIN sign_patient_manage_route spmr ON spmr.id = spmrn.manage_route_id
|
||||||
LEFT JOIN patient_question_submit_result pqsr ON pqsr.manage_route_node_id = spmrn.id
|
LEFT JOIN patient_question_submit_result pqsr ON pqsr.manage_route_node_id = spmrn.id
|
||||||
@ -1164,6 +1172,18 @@
|
|||||||
<if test="endTime != null"><!-- 结束时间检索 -->
|
<if test="endTime != null"><!-- 结束时间检索 -->
|
||||||
AND date_format(spmrn.node_plan_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')
|
AND date_format(spmrn.node_plan_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')
|
||||||
</if>
|
</if>
|
||||||
|
<if test="nodeExecuteStatus != null and nodeExecuteStatus != ''">
|
||||||
|
and spmrn.node_execute_status = #{nodeExecuteStatus}
|
||||||
|
</if>
|
||||||
|
<if test="taskExcuteType != null and taskExcuteType != ''">
|
||||||
|
and spmrn.task_excute_type = #{taskExcuteType}
|
||||||
|
</if>
|
||||||
|
<if test="sn != null and sn != ''">
|
||||||
|
and spmrn.sn = #{sn}
|
||||||
|
</if>
|
||||||
|
<if test="contentedFlag != null and contentedFlag != ''">
|
||||||
|
and spmrn.contented_flag = #{contentedFlag}
|
||||||
|
</if>
|
||||||
ORDER BY spmrn.create_time DESC
|
ORDER BY spmrn.create_time DESC
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user