任务表,增加字段node_finish_status,相关业务代码修改

This commit is contained in:
zhuangyuanke 2024-12-20 15:53:10 +08:00
parent 5876973e23
commit 52ba71ad96
11 changed files with 46 additions and 13 deletions

View File

@ -7,9 +7,10 @@ spring:
# 主库数据源 # 主库数据源
master: master:
# url: jdbc:mysql://192.168.16.64:3306/post-discharge?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true # url: jdbc:mysql://192.168.16.64:3306/post-discharge?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true
url: jdbc:mysql://182.92.166.109:8000/post-discharge?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true url: jdbc:mysql://127.0.0.1:3306/post-discharge?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true
# url: jdbc:mysql://182.92.166.109:8000/post-discharge?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true
username: root username: root
password: 1qaz!@#$ password: sa123456
# 从库数据源 # 从库数据源
slave: slave:
# 从数据源开关/默认关闭 # 从数据源开关/默认关闭

View File

@ -419,6 +419,9 @@ public class SignPatientManageRouteNode extends BaseEntity {
@Excel(name = "患者宣教阅读或问卷提交的时间") @Excel(name = "患者宣教阅读或问卷提交的时间")
private LocalDateTime nodeFinishDate; private LocalDateTime nodeFinishDate;
@ApiModelProperty(value = "问卷提交情况SUCCESS已提交FAILURE失败EXPIRED超期自动作废如超期一周NULL或空字符串缺省值表示未执行")
private String nodeFinishStatus;
@ApiModelProperty(value = "第三方返回的任务ID") @ApiModelProperty(value = "第三方返回的任务ID")
private String taskIdExt; private String taskIdExt;

View File

@ -331,11 +331,9 @@ public class AIOBServiceImpl implements IAIOBService {
if (ObjectUtils.isNotEmpty(signPatientManageRouteNode)) { if (ObjectUtils.isNotEmpty(signPatientManageRouteNode)) {
// 标记任务执行状态 // 标记任务执行状态
signPatientManageRouteNode.setNodeExecuteStatus(NodeExecuteStatusEnum.EXECUTED.getInfo()); signPatientManageRouteNode.setNodeExecuteStatus(NodeExecuteStatusEnum.EXECUTED.getInfo());
// 问卷设置任务完成时间
if (StringUtils.equals(TaskNodeTypeEnum.QUESTIONNAIRE_SCALE.getInfo(), signPatientManageRouteNode.getTaskNodeType())) {
signPatientManageRouteNode.setNodeFinishDate(LocalDateTime.now());
}
//接通状态1-已接通 0-未接通 //接通状态1-已接通 0-未接通
//如果未接通
if (data.getEndType() != null && data.getEndType() == 0) { if (data.getEndType() != null && data.getEndType() == 0) {
// 设置电话拨通情况 // 设置电话拨通情况
signPatientManageRouteNode.setPhoneNodeExecuteResultStatus(NodeExecuteResultStatusEnum.FAILURE.getInfo()); signPatientManageRouteNode.setPhoneNodeExecuteResultStatus(NodeExecuteResultStatusEnum.FAILURE.getInfo());
@ -358,11 +356,24 @@ public class AIOBServiceImpl implements IAIOBService {
// 重拨 // 重拨
needRedial = true; needRedial = true;
} }
//如果不需要重拨则设置完成时间,问卷提交失败
else
{
// 问卷设置任务完成时间
if (StringUtils.equals(TaskNodeTypeEnum.QUESTIONNAIRE_SCALE.getInfo(), signPatientManageRouteNode.getTaskNodeType())) {
signPatientManageRouteNode.setNodeFinishDate(LocalDateTime.now());
signPatientManageRouteNode.setNodeFinishStatus(NodeExecuteResultStatusEnum.FAILURE.getInfo());
}
}
} }
} else { } else {
signPatientManageRouteNode.setPhoneNodeExecuteResultStatus(NodeExecuteResultStatusEnum.SUCCESS.getInfo()); signPatientManageRouteNode.setPhoneNodeExecuteResultStatus(NodeExecuteResultStatusEnum.SUCCESS.getInfo());
// 问卷设置任务完成时间,问卷提交成功
if (StringUtils.equals(TaskNodeTypeEnum.QUESTIONNAIRE_SCALE.getInfo(), signPatientManageRouteNode.getTaskNodeType())) {
signPatientManageRouteNode.setNodeFinishDate(LocalDateTime.now());
signPatientManageRouteNode.setNodeFinishStatus(NodeExecuteResultStatusEnum.SUCCESS.getInfo());
}
if (StringUtils.equals(PhoneMessageRemindConstants.CONNECTED_SEND_MESSAGE, signPatientManageRouteNode.getPhoneMessageRemind())) { if (StringUtils.equals(PhoneMessageRemindConstants.CONNECTED_SEND_MESSAGE, signPatientManageRouteNode.getPhoneMessageRemind())) {
// 发送短信 // 发送短信
needSendSms = true; needSendSms = true;

View File

@ -1068,6 +1068,7 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
} }
if (dto.getTaskNodeType().equals(TaskContentEnum.QUESTIONNAIRE_SCALE.getInfo())) { if (dto.getTaskNodeType().equals(TaskContentEnum.QUESTIONNAIRE_SCALE.getInfo())) {
signPatientManageRouteNode.setNodeFinishDate(time); signPatientManageRouteNode.setNodeFinishDate(time);
signPatientManageRouteNode.setNodeFinishStatus(NodeExecuteResultStatusEnum.SUCCESS.getInfo());
} }
signPatientManageRouteNode.setRouteHandleRemark(dto.getRouteHandleRemark()); signPatientManageRouteNode.setRouteHandleRemark(dto.getRouteHandleRemark());
signPatientManageRouteNode.setRouteHandleId(dto.getRouteHandleId()); signPatientManageRouteNode.setRouteHandleId(dto.getRouteHandleId());

View File

@ -194,6 +194,9 @@ public class PatientInfoVo {
@ApiModelProperty(value = "患者宣教阅读或问卷提交的时间") @ApiModelProperty(value = "患者宣教阅读或问卷提交的时间")
private LocalDateTime nodeFinishDate; private LocalDateTime nodeFinishDate;
/** 患者问卷提交的状态 */
@ApiModelProperty(value = "患者问卷提交的状态")
private LocalDateTime nodeFinishStatus;
/** /**
* 管理路径节点名称 * 管理路径节点名称
*/ */
@ -214,9 +217,10 @@ public class PatientInfoVo {
*/ */
private LocalDateTime executeDateTime; private LocalDateTime executeDateTime;
//2024-12-20 zyk注释掉同新定义的字段重名导致冲突
/** 节点任务完成状态已完成EXECUTED未完成UNEXECUTED */ /** 节点任务完成状态已完成EXECUTED未完成UNEXECUTED */
@ApiModelProperty(value = "节点任务执行状态已执行EXECUTED未执行UNEXECUTED") // @ApiModelProperty(value = "节点任务执行状态已执行EXECUTED未执行UNEXECUTED")
private String nodeFinishStatus; // private String nodeFinishStatus;
/** /**
* 任务总数 * 任务总数

View File

@ -167,6 +167,8 @@ public class SignPatientTaskVo {
@ApiModelProperty(value = "患者宣教阅读或问卷提交的时间") @ApiModelProperty(value = "患者宣教阅读或问卷提交的时间")
private LocalDateTime nodeFinishDate; private LocalDateTime nodeFinishDate;
@ApiModelProperty(value = "患者问卷提交状态")
private LocalDateTime nodeFinishStatus;
/** /**
* 任务状态 * 任务状态
*/ */

View File

@ -258,7 +258,10 @@
left join sign_patient_record sign on p.sign_patient_record_id = sign.id left join sign_patient_record sign on p.sign_patient_record_id = sign.id
left join patient_task_statistics pts on p.id = pts.patient_id left join patient_task_statistics pts on p.id = pts.patient_id
-- select p.*, count(p.manage_route_node_id) as taskNum, SUM(p.task_finish_status) as taskFinishNum, SUM(p.task_execute_status) as taskExecuteNum, -- select p.*, count(p.manage_route_node_
--
--
-- id) as taskNum, SUM(p.task_finish_status) as taskFinishNum, SUM(p.task_execute_status) as taskExecuteNum,
-- case -- case
-- when count(p.manage_route_node_id) = 0 then 0 -- when count(p.manage_route_node_id) = 0 then 0
-- else -- else

View File

@ -82,13 +82,14 @@
<result property="officialNodeExecuteResultStatus" column="official_node_execute_result_status"/> <result property="officialNodeExecuteResultStatus" column="official_node_execute_result_status"/>
<result property="appletNodeExecuteResultStatus" column="applet_node_execute_result_status"/> <result property="appletNodeExecuteResultStatus" column="applet_node_execute_result_status"/>
<result property="nodeFinishDate" column="node_finish_date"/> <result property="nodeFinishDate" column="node_finish_date"/>
<result property="nodeFinishStatus" column="node_finish_status"/>
<result property="taskIdExt" column="task_id_ext"/> <result property="taskIdExt" column="task_id_ext"/>
<result property="dialStatus" column="dial_status"/> <result property="dialStatus" column="dial_status"/>
<result property="sn" column="sn"/> <result property="sn" column="sn"/>
</resultMap> </resultMap>
<sql id="selectSignPatientManageRouteNodeVo"> <sql id="selectSignPatientManageRouteNodeVo">
select id, manage_route_id, manage_route_name, route_node_id, route_node_name, route_node_day, task_excute_type,node_plan_time,task_type, task_status, task_subdivision, task_node_type, second_classify_describe, execute_time, phone_push_sign, script_info_id, robot_publish_id, phone_template_id, phone_template_name, phone_node_content,phone_result_json, phone_redial_times, phone_time_interval, phone_message_remind, phone_message_template_id, phone_message_template_name,phone_message_template_content,question_info_id, questionnaire_name, questionnaire_content, question_expiration_date, propaganda_info_id, propaganda_title, propaganda_content, message_push_sign, message_template_id, message_template_code, message_template_name, message_preview, message_node_content, official_push_sign, official_template_id, official_template_code, official_template_name, official_remind_content, official_node_content, follow_template_id, follow_template_name, applet_push_sign, applet_template_id, applet_template_code, applet_template_name, applet_remind_content, applet_prompt_description, applet_node_content, route_check_status, route_check_person, route_check_date, route_check_remark, route_node_remark, node_execute_status, route_handle_remark, route_handle_id, route_handle_person, route_link,text_remind_content, node_content,message_status, del_flag, create_by, create_time, update_by, update_time, phone_dial_method, phone_node_execute_result_status, message_node_execute_result_status, official_node_execute_result_status, applet_node_execute_result_status, node_finish_date, task_id_ext,dial_status,sn from sign_patient_manage_route_node select id, manage_route_id, manage_route_name, route_node_id, route_node_name, route_node_day, task_excute_type,node_plan_time,task_type, task_status, task_subdivision, task_node_type, second_classify_describe, execute_time, phone_push_sign, script_info_id, robot_publish_id, phone_template_id, phone_template_name, phone_node_content,phone_result_json, phone_redial_times, phone_time_interval, phone_message_remind, phone_message_template_id, phone_message_template_name,phone_message_template_content,question_info_id, questionnaire_name, questionnaire_content, question_expiration_date, propaganda_info_id, propaganda_title, propaganda_content, message_push_sign, message_template_id, message_template_code, message_template_name, message_preview, message_node_content, official_push_sign, official_template_id, official_template_code, official_template_name, official_remind_content, official_node_content, follow_template_id, follow_template_name, applet_push_sign, applet_template_id, applet_template_code, applet_template_name, applet_remind_content, applet_prompt_description, applet_node_content, route_check_status, route_check_person, route_check_date, route_check_remark, route_node_remark, node_execute_status, route_handle_remark, route_handle_id, route_handle_person, route_link,text_remind_content, node_content,message_status, del_flag, create_by, create_time, update_by, update_time, phone_dial_method, phone_node_execute_result_status, message_node_execute_result_status, official_node_execute_result_status, applet_node_execute_result_status, node_finish_date,node_finish_status, task_id_ext,dial_status,sn from sign_patient_manage_route_node
</sql> </sql>
<select id="selectSignPatientManageRouteNodeList" parameterType="com.xinelu.manage.dto.signpatientmanageroutenode.SignPatientManageRouteNodeDto" resultMap="SignPatientManageRouteNodeResult"> <select id="selectSignPatientManageRouteNodeList" parameterType="com.xinelu.manage.dto.signpatientmanageroutenode.SignPatientManageRouteNodeDto" resultMap="SignPatientManageRouteNodeResult">
@ -796,6 +797,9 @@
</if> </if>
<if test="nodeFinishDate != null">node_finish_date = <if test="nodeFinishDate != null">node_finish_date =
#{nodeFinishDate}, #{nodeFinishDate},
</if>
<if test="nodeFinishStatus != null">node_finish_status =
#{nodeFinishStatus},
</if> </if>
<if test="taskIdExt != null">task_id_ext = <if test="taskIdExt != null">task_id_ext =
#{taskIdExt}, #{taskIdExt},

View File

@ -278,6 +278,7 @@ public class HomePageServiceImpl implements HomePageService {
signPatientManageRouteNode.setId(dto.getManageRouteNodeId()); signPatientManageRouteNode.setId(dto.getManageRouteNodeId());
signPatientManageRouteNode.setNodeFinishDate(time); signPatientManageRouteNode.setNodeFinishDate(time);
signPatientManageRouteNode.setRouteCheckDate(time); signPatientManageRouteNode.setRouteCheckDate(time);
signPatientManageRouteNode.setNodeFinishStatus(NodeExecuteResultStatusEnum.SUCCESS.getInfo());
signPatientManageRouteNode.setRouteHandleId(dto.getPatientId()); signPatientManageRouteNode.setRouteHandleId(dto.getPatientId());
signPatientManageRouteNode.setRouteHandlePerson(dto.getRouteHandlePerson()); signPatientManageRouteNode.setRouteHandlePerson(dto.getRouteHandlePerson());
if (signPatientManageRouteNodeMapper.updateSignPatientManageRouteNode(signPatientManageRouteNode) < 0) { if (signPatientManageRouteNodeMapper.updateSignPatientManageRouteNode(signPatientManageRouteNode) < 0) {
@ -468,4 +469,4 @@ public class HomePageServiceImpl implements HomePageService {
patientTaskStatisticsService.updateNumByManageRouteNodeId(manageRouteNodeId, TaskStatisticsTypeConstants.TASK_FINISH_NUM, 1); patientTaskStatisticsService.updateNumByManageRouteNodeId(manageRouteNodeId, TaskStatisticsTypeConstants.TASK_FINISH_NUM, 1);
return AjaxResult.success(); return AjaxResult.success();
} }
} }

View File

@ -64,4 +64,6 @@ public class MessageTabulationVO {
private String manageRouteNodeName; private String manageRouteNodeName;
private String nodeFinishDate; private String nodeFinishDate;
private String nodeFinishStatus;
} }

View File

@ -163,6 +163,7 @@
pter.id patientTaskExecuteRecordId, pter.id patientTaskExecuteRecordId,
spmrn.task_node_type, spmrn.task_node_type,
spmrn.node_finish_date, spmrn.node_finish_date,
spmrn.node_finish_status,
CASE CASE
WHEN spmrn.task_node_type = 'QUESTIONNAIRE_SCALE' THEN spmrn.questionnaire_name WHEN spmrn.task_node_type = 'QUESTIONNAIRE_SCALE' THEN spmrn.questionnaire_name
WHEN spmrn.task_node_type = 'PROPAGANDA_ARTICLE' THEN spmrn.propaganda_title WHEN spmrn.task_node_type = 'PROPAGANDA_ARTICLE' THEN spmrn.propaganda_title
@ -231,4 +232,4 @@
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
where spmrn.id = #{manageRouteNodeId} where spmrn.id = #{manageRouteNodeId}
</select> </select>
</mapper> </mapper>