增加路由批量计划时间,任务计划时间,任务执行类型相关处理
This commit is contained in:
parent
cc338442dc
commit
a04040e9b8
@ -20,9 +20,15 @@ public enum RouteCheckStatusEnum {
|
||||
* 不同意
|
||||
*/
|
||||
DISAGREE("DISAGREE"),
|
||||
|
||||
/**
|
||||
* 未审核
|
||||
*/
|
||||
UNAUDITED("UNAUDITED"),
|
||||
;
|
||||
final private String info;
|
||||
|
||||
|
||||
RouteCheckStatusEnum(String info) {
|
||||
this.info = info;
|
||||
}
|
||||
|
||||
@ -129,11 +129,11 @@ public class SignPatientManageRoute extends BaseEntity {
|
||||
@Excel(name = "任务执行类型(批量还是单个执行,'批量任务:BATCH_TASK,单个实时拔打任务:ACTUAL_TIME_TASK')")
|
||||
private String taskExcuteType;
|
||||
|
||||
/** 任务计划执行时间,格式:YYYY-MM-DD HH:mm */
|
||||
@ApiModelProperty(value = "任务计划执行时间,格式:YYYY-MM-DD HH:mm")
|
||||
@JsonFormat(pattern = "YYYY-MM-DD HH:mm")
|
||||
@Excel(name = "任务计划执行时间,格式:YYYY-MM-DD HH:mm", width = 30, dateFormat = "YYYY-MM-DD HH:mm")
|
||||
private LocalDateTime planTime;
|
||||
/** 任务计划执行时间,格式:YYYY-MM-dd HH:mm:ss */
|
||||
@ApiModelProperty(value = "任务计划执行时间,格式:YYYY-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "YYYY-MM-dd HH:mm:ss")
|
||||
@Excel(name = "任务计划执行时间,格式:YYYY-MM-dd HH:mm:ss", width = 30, dateFormat = "YYYY-MM-dd HH:mm:ss")
|
||||
private LocalDateTime routePlanTime;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -55,11 +55,11 @@ public class SignPatientManageRouteNode extends BaseEntity {
|
||||
@Excel(name = "任务执行类型(批量还是单个执行,'批量任务:BATCH_TASK,单个实时拔打任务:ACTUAL_TIME_TASK')")
|
||||
private String taskExcuteType;
|
||||
|
||||
/** 任务计划执行时间,格式:YYYY-MM-DD HH:mm */
|
||||
@ApiModelProperty(value = "任务计划执行时间,格式:YYYY-MM-DD HH:mm")
|
||||
@JsonFormat(pattern = "YYYY-MM-DD HH:mm")
|
||||
@Excel(name = "任务计划执行时间,格式:YYYY-MM-DD HH:mm", width = 30, dateFormat = "YYYY-MM-DD HH:mm")
|
||||
private LocalDateTime planTime;
|
||||
/** 任务计划执行时间,格式:YYYY-MM-dd HH:mm */
|
||||
@ApiModelProperty(value = "任务计划执行时间,格式:YYYY-MM-dd HH:mm")
|
||||
@JsonFormat(pattern = "YYYY-MM-dd HH:mm")
|
||||
@Excel(name = "任务计划执行时间,格式:YYYY-MM-dd HH:mm:ss", width = 30, dateFormat = "YYYY-MM-dd HH:mm:ss")
|
||||
private LocalDateTime nodePlanTime;
|
||||
|
||||
|
||||
/** 管理路径节点时间,时间单位为:天 */
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.xinelu.manage.dto.manualfollowup;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xinelu.common.annotation.Excel;
|
||||
import com.xinelu.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
@ -84,4 +85,11 @@ public class ManualFollowUpDTO extends BaseEntity {
|
||||
*/
|
||||
@ApiModelProperty(value = "AI:自动 或 COMMON:手动")
|
||||
private String phoneDialMethod;
|
||||
|
||||
/** 任务执行类型(批量还是单个执行) */
|
||||
@ApiModelProperty(value = "任务执行类型(批量还是单个执行,'批量任务:BATCH_TASK,单个实时拔打任务:ACTUAL_TIME_TASK')")
|
||||
private String taskExcuteType;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -205,6 +205,15 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
|
||||
if (insertBatchCount < 0) {
|
||||
return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!");
|
||||
}
|
||||
//更新 签约记录的 审核状态为 未审核 zyk 20241204
|
||||
SignPatientRecord signPatientRecord = new SignPatientRecord();
|
||||
signPatientRecord.setRouteCheckStatus(RouteCheckStatusEnum.UNAUDITED.getInfo());
|
||||
signPatientRecord.setId(signPatientManageRoute.getSignPatientRecordId());
|
||||
int updateRecord = signPatientRecordMapper.updateByPrimaryKeySelective(signPatientRecord);
|
||||
if (updateRecord < 0) {
|
||||
return AjaxResult.error("修改签约患者管理任务路径失败!请联系管理员!");
|
||||
}
|
||||
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
@ -232,6 +241,7 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
|
||||
if (updateCount < 0) {
|
||||
return AjaxResult.error("修改签约患者管理任务路径失败!请联系管理员!");
|
||||
}
|
||||
|
||||
List<SignPatientManageRouteNode> routeNodeList = signPatientManageRoute.getRouteNodeList();
|
||||
for (SignPatientManageRouteNode signPatientManageRouteNode : routeNodeList) {
|
||||
signPatientManageRouteNode.setManageRouteId(signPatientManageRoute.getSignPatientManageRouteId());
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.xinelu.manage.vo.manualfollowup;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xinelu.common.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
@ -157,4 +158,14 @@ public class ManualFollowUpVO {
|
||||
*/
|
||||
@ApiModelProperty(value = "生成通话录音唯一标识,可通过该标识,获取录音")
|
||||
private String ctUUID;
|
||||
|
||||
/** 任务执行类型(批量还是单个执行) */
|
||||
@ApiModelProperty(value = "任务执行类型(批量还是单个执行,'批量任务:BATCH_TASK,单个实时拔打任务:ACTUAL_TIME_TASK')")
|
||||
private String taskExcuteType;
|
||||
|
||||
/** 任务计划执行时间,格式:YYYY-MM-dd HH:mm */
|
||||
@ApiModelProperty(value = "任务计划执行时间,格式:YYYY-MM-dd HH:mm")
|
||||
@JsonFormat(pattern = "YYYY-MM-dd HH:mm")
|
||||
private LocalDateTime nodePlanTime;
|
||||
|
||||
}
|
||||
|
||||
@ -5,6 +5,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xinelu.common.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import lombok.Data;
|
||||
|
||||
@ -39,6 +41,20 @@ public class SignPatientManageRouteNodeInfoVo {
|
||||
@Excel(name = "管理路径节点时间,时间单位为:天")
|
||||
private Integer routeNodeDay;
|
||||
|
||||
/** 任务执行类型(批量还是单个执行) */
|
||||
@ApiModelProperty(value = "任务执行类型(批量还是单个执行,'批量任务:BATCH_TASK,单个实时拔打任务:ACTUAL_TIME_TASK')")
|
||||
@Excel(name = "任务执行类型(批量还是单个执行,'批量任务:BATCH_TASK,单个实时拔打任务:ACTUAL_TIME_TASK')")
|
||||
private String taskExcuteType;
|
||||
|
||||
/** 任务计划执行时间,格式:YYYY-MM-dd HH:mm */
|
||||
@ApiModelProperty(value = "任务计划执行时间,格式:YYYY-MM-dd HH:mm")
|
||||
@JsonFormat(pattern = "YYYY-MM-dd HH:mm")
|
||||
@Excel(name = "任务计划执行时间,格式:YYYY-MM-dd HH:mm:ss", width = 30, dateFormat = "YYYY-MM-dd HH:mm:ss")
|
||||
private LocalDateTime nodePlanTime;
|
||||
|
||||
|
||||
|
||||
|
||||
/** 任务类型,电话外呼:PHONE_OUTBOUND,问卷量表:QUESTIONNAIRE_SCALE,宣教文章:PROPAGANDA_ARTICLE,文字提醒:TEXT_REMIND,人工随访:ARTIFICIAL_FOLLOW_UP */
|
||||
@ApiModelProperty(value = "任务类型,电话外呼:PHONE_OUTBOUND,问卷量表:QUESTIONNAIRE_SCALE,宣教文章:PROPAGANDA_ARTICLE,文字提醒:TEXT_REMIND,人工随访:ARTIFICIAL_FOLLOW_UP")
|
||||
@Excel(name = "任务类型,电话外呼:PHONE_OUTBOUND,问卷量表:QUESTIONNAIRE_SCALE,宣教文章:PROPAGANDA_ARTICLE,文字提醒:TEXT_REMIND,人工随访:ARTIFICIAL_FOLLOW_UP")
|
||||
|
||||
@ -24,6 +24,7 @@
|
||||
<result property="suitRange" column="suit_range"/>
|
||||
<result property="routeSort" column="route_sort"/>
|
||||
<result property="routeRemark" column="route_remark"/>
|
||||
<result property="routePlanTime" column="route_plan_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
@ -51,6 +52,7 @@
|
||||
<result property="suitRange" column="suit_range"/>
|
||||
<result property="routeSort" column="route_sort"/>
|
||||
<result property="routeRemark" column="route_remark"/>
|
||||
<result property="routePlanTime" column="route_plan_time"/>
|
||||
<collection property="routeNodeList" javaType="java.util.List"
|
||||
resultMap="SignPatientManageRouteNodeResult"/>
|
||||
<collection property="triggerConditionList" javaType="java.util.List"
|
||||
@ -63,6 +65,8 @@
|
||||
<result property="manageRouteName" column="manage_route_name"/>
|
||||
<result property="routeNodeName" column="route_node_name"/>
|
||||
<result property="routeNodeDay" column="route_node_day"/>
|
||||
<result property="taskExcuteType" column="task_excute_type"/>
|
||||
<result property="routePlanTime" column="route_plan_time"/>
|
||||
<result property="taskType" column="task_type"/>
|
||||
<result property="taskStatus" column="task_status"/>
|
||||
<result property="taskSubdivision" column="task_subdivision"/>
|
||||
@ -128,7 +132,7 @@
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectSignPatientManageRouteVo">
|
||||
select id, sign_patient_record_id, patient_id, patient_name, department_id, department_name, service_package_id, package_name, disease_type_id, disease_type_name, route_id, parent_route_id, route_name, task_create_type, version, route_classify, suit_range, route_sort, route_remark, create_by, create_time, update_by, update_time from sign_patient_manage_route
|
||||
select id, sign_patient_record_id, patient_id, patient_name, department_id, department_name, service_package_id, package_name, disease_type_id, disease_type_name, route_id, parent_route_id, route_name, task_create_type, version, route_classify, suit_range, route_sort, route_remark, route_plan_time,create_by, create_time, update_by, update_time from sign_patient_manage_route
|
||||
</sql>
|
||||
|
||||
<select id="selectSignPatientManageRouteList" parameterType="com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute" resultMap="SignPatientManageRouteResult">
|
||||
@ -191,6 +195,9 @@
|
||||
<if test="routeRemark != null and routeRemark != ''">
|
||||
and route_remark = #{routeRemark}
|
||||
</if>
|
||||
<if test="routePlanTime != null and routePlanTime != ''">
|
||||
and route_plan_time = #{routePlanTime}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
@ -221,11 +228,14 @@
|
||||
spmr.suit_range,
|
||||
spmr.route_sort,
|
||||
spmr.route_remark,
|
||||
spmr.route_plan_time,
|
||||
spmrn.id,
|
||||
spmrn.manage_route_id,
|
||||
spmrn.manage_route_name,
|
||||
spmrn.route_node_name,
|
||||
spmrn.route_node_day,
|
||||
spmrn.task_excute_type,
|
||||
spmrn.node_plan_time,
|
||||
spmrn.task_type,
|
||||
spmrn.task_status,
|
||||
spmrn.task_subdivision,
|
||||
@ -328,6 +338,8 @@
|
||||
spmrn.route_node_name AS 'routeNodeName',
|
||||
spmrn.route_node_day,
|
||||
spmrn.task_node_type,
|
||||
spmrn.task_excute_type,
|
||||
spmrn.node_plan_time,
|
||||
CASE
|
||||
WHEN spmrn.task_node_type = 'PHONE_OUTBOUND' THEN spmrn.phone_template_name
|
||||
WHEN spmrn.task_node_type = 'QUESTIONNAIRE_SCALE' THEN spmrn.questionnaire_name
|
||||
@ -403,6 +415,14 @@
|
||||
<if test="phoneDialMethod != null">
|
||||
AND spmrn.phone_dial_method = #{phoneDialMethod}
|
||||
</if>
|
||||
-- 如果是单个执行类型,应考虑默认为空时,按单个任务处理
|
||||
<if test="taskExcuteType != null and taskExcuteType = 'ACTUAL_TIME_TASK'">
|
||||
and (spmrn.task_excute_type = #{taskExcuteType} or spmrn.task_excute_type is null or spmrn.task_excute_type='')
|
||||
</if>
|
||||
-- 批量任务处理时,直接按条件查询
|
||||
<if test="taskExcuteType != null and taskExcuteType = 'BATCH_TASK'">
|
||||
and spmrn.task_excute_type = #{taskExcuteType}
|
||||
</if>
|
||||
|
||||
<!-- 数据范围过滤 -->
|
||||
${params.dataScope}
|
||||
@ -474,6 +494,8 @@
|
||||
</if>
|
||||
<if test="routeRemark != null">route_remark,
|
||||
</if>
|
||||
<if test="routePlanTime != null">route_plan_time,
|
||||
</if>
|
||||
<if test="createBy != null">create_by,
|
||||
</if>
|
||||
<if test="createTime != null">create_time,
|
||||
@ -520,6 +542,8 @@
|
||||
</if>
|
||||
<if test="routeRemark != null">#{routeRemark},
|
||||
</if>
|
||||
<if test="routePlanTime != null">#{route_plan_time},
|
||||
</if>
|
||||
<if test="createBy != null">#{createBy},
|
||||
</if>
|
||||
<if test="createTime != null">#{createTime},
|
||||
@ -588,6 +612,9 @@
|
||||
<if test="routeRemark != null">route_remark =
|
||||
#{routeRemark},
|
||||
</if>
|
||||
<if test="routePlanTime != null">route_plan_time =
|
||||
#{routePlanTime},
|
||||
</if>
|
||||
<if test="createBy != null">create_by =
|
||||
#{createBy},
|
||||
</if>
|
||||
@ -625,6 +652,8 @@
|
||||
spmrn.route_node_day,
|
||||
spmrn.script_info_id,
|
||||
spmrn.phone_template_id,
|
||||
|
||||
|
||||
spmrn.phone_template_name,
|
||||
spmrn.phone_node_content,
|
||||
spmrn.phone_redial_times,
|
||||
|
||||
@ -135,9 +135,11 @@
|
||||
route_node_id = #{routeNodeId}
|
||||
</foreach>
|
||||
</if>
|
||||
-- 如果是单个执行类型,应考虑默认为空时,按单个任务处理
|
||||
<if test="taskExcuteType != null and taskExcuteType = 'ACTUAL_TIME_TASK'">
|
||||
and (task_excute_type = #{taskExcuteType} or task_excute_type is null or task_excute_type='')
|
||||
</if>
|
||||
-- 批量任务处理时,直接按条件查询
|
||||
<if test="taskExcuteType != null and taskExcuteType = 'BATCH_TASK'">
|
||||
and task_excute_type = #{taskExcuteType}
|
||||
</if>
|
||||
@ -235,8 +237,13 @@
|
||||
</if>
|
||||
<if test="routeNodeDay != null">route_node_day,
|
||||
</if>
|
||||
<if test="taskExcuteType != null">task_excute_type,
|
||||
</if>
|
||||
<if test="nodePlanTime != null">node_plan_time,
|
||||
</if>
|
||||
<if test="taskType != null">task_type,
|
||||
</if>
|
||||
|
||||
<if test="taskStatus != null">task_status,
|
||||
</if>
|
||||
<if test="taskSubdivision != null">task_subdivision,
|
||||
@ -381,6 +388,10 @@
|
||||
</if>
|
||||
<if test="routeNodeDay != null">#{routeNodeDay},
|
||||
</if>
|
||||
<if test="taskExcuteType != null">#{taskExcuteType},
|
||||
</if>
|
||||
<if test="nodePlanTime != null">#{nodePlanTime},
|
||||
</if>
|
||||
<if test="taskType != null">#{taskType},
|
||||
</if>
|
||||
<if test="taskStatus != null">#{taskStatus},
|
||||
@ -518,7 +529,7 @@
|
||||
</trim>
|
||||
</insert>
|
||||
<insert id="insertBatch">
|
||||
insert into sign_patient_manage_route_node(manage_route_id, manage_route_name, route_node_id, route_node_name, route_node_day, task_type, task_status, task_subdivision, task_node_type, second_classify_describe,
|
||||
insert into sign_patient_manage_route_node(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,
|
||||
@ -527,7 +538,7 @@
|
||||
route_handle_id, route_handle_person, route_link, text_remind_content,node_content, del_flag, create_by, create_time, update_by, update_time,phone_dial_method,follow_template_id, follow_template_name, task_id_ext)
|
||||
values
|
||||
<foreach collection="nodeList" item="item" separator=",">
|
||||
(#{item.manageRouteId},#{item.manageRouteName},#{item.routeNodeId},#{item.routeNodeName},#{item.routeNodeDay},#{item.taskType},#{item.taskStatus},#{item.taskSubdivision},#{item.taskNodeType},#{item.secondClassifyDescribe},
|
||||
(#{item.manageRouteId},#{item.manageRouteName},#{item.routeNodeId},#{item.routeNodeName},#{item.routeNodeDay},#{item.taskExcuteType},#{item.nodePlanTime},#{item.taskType},#{item.taskStatus},#{item.taskSubdivision},#{item.taskNodeType},#{item.secondClassifyDescribe},
|
||||
#{item.executeTime},#{item.phonePushSign},#{item.scriptInfoId},#{item.robotPublishId},#{item.phoneTemplateId},#{item.phoneTemplateName},#{item.phoneNodeContent},#{item.phoneResultJson},#{item.phoneRedialTimes},#{item.phoneTimeInterval},#{item.phoneMessageRemind},#{item.phoneMessageTemplateId},
|
||||
#{item.phoneMessageTemplateName},#{item.phoneMessageTemplateContent},
|
||||
#{item.questionInfoId},#{item.questionnaireName},#{item.questionnaireContent},#{item.questionExpirationDate},#{item.propagandaInfoId},#{item.propagandaTitle},#{item.propagandaContent},#{item.messagePushSign},
|
||||
@ -556,6 +567,12 @@
|
||||
<if test="routeNodeDay != null">route_node_day =
|
||||
#{routeNodeDay},
|
||||
</if>
|
||||
<if test="taskExcuteType != null">task_excute_type =
|
||||
#{taskExcuteType},
|
||||
</if>
|
||||
<if test="nodePlanTime != null">node_plan_time =
|
||||
#{nodePlanTime},
|
||||
</if>
|
||||
<if test="taskType != null">task_type =
|
||||
#{taskType},
|
||||
</if>
|
||||
|
||||
@ -453,7 +453,7 @@
|
||||
</if>
|
||||
<choose>
|
||||
<when test="routeCheckStatus != null and routeCheckStatus == 'UNAUDITED'.toString()">
|
||||
and (sign.route_check_status is null or sign.portait_check_status is null)
|
||||
and (sign.route_check_status is null or sign.portait_check_status is null or sign.route_check_status = #{routeCheckStatus} or sign.portait_check_status = #{routeCheckStatus})
|
||||
</when>
|
||||
<when test="routeCheckStatus != null and routeCheckStatus == 'AGREE'.toString()">
|
||||
and sign.route_check_status = #{routeCheckStatus} and sign.portait_check_status = #{routeCheckStatus}
|
||||
|
||||
@ -200,8 +200,8 @@ public class UploadRobotPublishTask {
|
||||
nodeList.forEach(node -> {
|
||||
LocalDateTime executeTime ;
|
||||
//如果有计划执行时间,则直接获取
|
||||
if(node.getPlanTime()!=null)
|
||||
{ executeTime = node.getPlanTime(); }
|
||||
if(node.getNodePlanTime()!=null)
|
||||
{ executeTime = node.getNodePlanTime(); }
|
||||
// 否则 ,则根据诊后/院后 第几天 计算
|
||||
else {
|
||||
SignPatientManageRoute signPatientManageRoute = signPatientManageRouteMapper.selectSignPatientManageRouteById(node.getManageRouteId());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user