人工随访处理

This commit is contained in:
zhangheng 2024-06-17 16:01:01 +08:00
parent 10a2bb36f5
commit d5c6fde48f
4 changed files with 71 additions and 3 deletions

View File

@ -0,0 +1,24 @@
package com.xinelu.common.enums;
import lombok.Getter;
@Getter
public enum PhoneConnectStatusEnum {
/**
* 已接通
*/
CONNECTED("CONNECTED"),
/**
* 未接通
*/
NOTCONNECTED("NOTCONNECTED"),
;
final private String info;
PhoneConnectStatusEnum(String info) {
this.info = info;
}
}

View File

@ -0,0 +1,34 @@
package com.xinelu.common.enums;
import lombok.Getter;
@Getter
public enum PhoneMessageRemindEnum {
/**
* 不发送短信
*/
NOT_SEND_MESSAGE("NOT_SEND_MESSAGE"),
/**
* 未接通发短信
*/
NOT_CONNECTED_SEND_MESSAGE("NOT_CONNECTED_SEND_MESSAGE"),
/**
* 接通后发短信
*/
CONNECTED_SEND_MESSAGE("CONNECTED_SEND_MESSAGE"),
/**
* 所有人发短信
*/
EVERYONE_SEND_MESSAGE("EVERYONE_SEND_MESSAGE"),
;
final private String info;
PhoneMessageRemindEnum(String info) {
this.info = info;
}
}

View File

@ -33,6 +33,9 @@ public class PatientQuestionSubmitResultDTO extends PatientQuestionSubmitResult
@ApiModelProperty(value = "电话是否接通已接通CONNECTED未接通:NOTCONNECTED") @ApiModelProperty(value = "电话是否接通已接通CONNECTED未接通:NOTCONNECTED")
private String phoneConnectStatus; private String phoneConnectStatus;
@ApiModelProperty(value = "电话短信提醒不发送短信NOT_SEND_MESSAGE未接通发短信NOT_CONNECTED_SEND_MESSAGE接通后发短信CONNECTED_SEND_MESSAGE所有人发短信EVERYONE_SEND_MESSAGE")
private String phoneMessageRemind;
@ApiModelProperty(value = "患者就诊记录基本信息表id") @ApiModelProperty(value = "患者就诊记录基本信息表id")
private Long visitRecordId; private Long visitRecordId;

View File

@ -2,9 +2,7 @@ package com.xinelu.manage.service.signpatientmanageroute.impl;
import com.xinelu.common.constant.TaskCreateTypeConstant; import com.xinelu.common.constant.TaskCreateTypeConstant;
import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.enums.NodeExecuteStatusEnum; import com.xinelu.common.enums.*;
import com.xinelu.common.enums.TaskContentEnum;
import com.xinelu.common.enums.TaskCreateTypeEnum;
import com.xinelu.common.exception.ServiceException; import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.utils.AgeUtil; import com.xinelu.common.utils.AgeUtil;
import com.xinelu.common.utils.SecurityUtils; import com.xinelu.common.utils.SecurityUtils;
@ -28,6 +26,7 @@ import com.xinelu.manage.mapper.signpatientmanageroute.SignPatientManageRouteMap
import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper; import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper;
import com.xinelu.manage.mapper.signroutetriggercondition.SignRouteTriggerConditionMapper; import com.xinelu.manage.mapper.signroutetriggercondition.SignRouteTriggerConditionMapper;
import com.xinelu.manage.service.signpatientmanageroute.ISignPatientManageRouteService; import com.xinelu.manage.service.signpatientmanageroute.ISignPatientManageRouteService;
import com.xinelu.manage.service.signpatientmanageroutenode.ISignPatientManageRouteNodeService;
import com.xinelu.manage.vo.manualfollowup.ManualFollowPatientVO; import com.xinelu.manage.vo.manualfollowup.ManualFollowPatientVO;
import com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO; import com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO;
import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO; import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO;
@ -67,6 +66,8 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
private PatientQuestionOptionResultMapper patientQuestionOptionResultMapper; private PatientQuestionOptionResultMapper patientQuestionOptionResultMapper;
@Resource @Resource
private SignRouteTriggerConditionMapper signRouteTriggerConditionMapper; private SignRouteTriggerConditionMapper signRouteTriggerConditionMapper;
@Resource
private ISignPatientManageRouteNodeService iSignPatientManageRouteNodeService;
/** /**
* 查询签约患者管理任务路径 * 查询签约患者管理任务路径
@ -259,6 +260,12 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
updateSignPatientManageRouteNode(dto, routeHandlePerson, time); updateSignPatientManageRouteNode(dto, routeHandlePerson, time);
// 新增患者管理任务执行记录 // 新增患者管理任务执行记录
insertPatientTaskExecuteRecord(dto, routeHandlePerson, time); insertPatientTaskExecuteRecord(dto, routeHandlePerson, time);
// 发送短信
if (PhoneMessageRemindEnum.EVERYONE_SEND_MESSAGE.getInfo().equals(dto.getPhoneMessageRemind())
|| (PhoneConnectStatusEnum.CONNECTED.getInfo().equals(dto.getPhoneConnectStatus()) && PhoneMessageRemindEnum.CONNECTED_SEND_MESSAGE.getInfo().equals(dto.getPhoneMessageRemind()))
|| (PhoneConnectStatusEnum.NOTCONNECTED.getInfo().equals(dto.getPhoneConnectStatus()) && PhoneMessageRemindEnum.NOT_CONNECTED_SEND_MESSAGE.getInfo().equals(dto.getPhoneMessageRemind()))) {
iSignPatientManageRouteNodeService.generateTask(dto.getManageRouteNodeId(), dto.getTaskType());
}
} else { } else {
// 如果任务类型不是电话外呼,更新节点任务表,新增患者管理任务执行记录,新增问卷提交结果表题目表选项表 // 如果任务类型不是电话外呼,更新节点任务表,新增患者管理任务执行记录,新增问卷提交结果表题目表选项表
// 更新节点任务表 // 更新节点任务表