任务表,增加字段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:
# 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
password: 1qaz!@#$
password: sa123456
# 从库数据源
slave:
# 从数据源开关/默认关闭

View File

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

View File

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

View File

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

View File

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

View File

@ -167,6 +167,8 @@ public class SignPatientTaskVo {
@ApiModelProperty(value = "患者宣教阅读或问卷提交的时间")
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 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
-- when count(p.manage_route_node_id) = 0 then 0
-- else

View File

@ -82,13 +82,14 @@
<result property="officialNodeExecuteResultStatus" column="official_node_execute_result_status"/>
<result property="appletNodeExecuteResultStatus" column="applet_node_execute_result_status"/>
<result property="nodeFinishDate" column="node_finish_date"/>
<result property="nodeFinishStatus" column="node_finish_status"/>
<result property="taskIdExt" column="task_id_ext"/>
<result property="dialStatus" column="dial_status"/>
<result property="sn" column="sn"/>
</resultMap>
<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>
<select id="selectSignPatientManageRouteNodeList" parameterType="com.xinelu.manage.dto.signpatientmanageroutenode.SignPatientManageRouteNodeDto" resultMap="SignPatientManageRouteNodeResult">
@ -796,6 +797,9 @@
</if>
<if test="nodeFinishDate != null">node_finish_date =
#{nodeFinishDate},
</if>
<if test="nodeFinishStatus != null">node_finish_status =
#{nodeFinishStatus},
</if>
<if test="taskIdExt != null">task_id_ext =
#{taskIdExt},

View File

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

View File

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

View File

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