From a1a419cce44050c58e87107e29bc71b53584531f Mon Sep 17 00:00:00 2001
From: zhangheng <3226558941@qq.com>
Date: Fri, 28 Jun 2024 14:19:22 +0800
Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E5=8A=A8=E5=88=9B=E5=BB=BA=E4=BB=BB?=
=?UTF-8?q?=E5=8A=A1=E6=96=B0=E5=8A=A0=E5=AD=97=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../SignPatientManageRouteNode.java | 11 ++++++++
.../impl/ScriptInfoServiceImpl.java | 9 +++++++
...SignPatientManageRouteNodeServiceImpl.java | 4 +--
.../vo/manualfollowup/ManualFollowUpVO.java | 4 +++
.../SignPatientManageRouteMapper.xml | 6 +++--
.../SignPatientManageRouteNodeMapper.xml | 26 +++++++++++++++----
6 files changed, 51 insertions(+), 9 deletions(-)
diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/signpatientmanageroutenode/SignPatientManageRouteNode.java b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/signpatientmanageroutenode/SignPatientManageRouteNode.java
index bd522d96..248779b7 100644
--- a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/signpatientmanageroutenode/SignPatientManageRouteNode.java
+++ b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/signpatientmanageroutenode/SignPatientManageRouteNode.java
@@ -331,4 +331,15 @@ public class SignPatientManageRouteNode extends BaseEntity {
@ApiModelProperty(value = "AI:自动 或 COMMON:手动")
@Excel(name = "AI:自动 或 COMMON:手动")
private String phoneDialMethod;
+
+
+ /** 人工随访问卷模板表id */
+ @ApiModelProperty(value = "人工随访模板表id")
+ @Excel(name = "人工随访模板表id")
+ private Long followTemplateId;
+
+ /** 人工随访问卷模板名称 */
+ @ApiModelProperty(value = "人工随访模板名称")
+ @Excel(name = "人工随访模板名称")
+ private String followTemplateName;
}
diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/scriptInfo/impl/ScriptInfoServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/scriptInfo/impl/ScriptInfoServiceImpl.java
index b1b93466..ba7c5a48 100644
--- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/scriptInfo/impl/ScriptInfoServiceImpl.java
+++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/scriptInfo/impl/ScriptInfoServiceImpl.java
@@ -3,6 +3,7 @@ package com.xinelu.manage.service.scriptInfo.impl;
import com.xinelu.common.annotation.DataScope;
import com.xinelu.common.config.SystemBusinessConfig;
import com.xinelu.common.core.domain.AjaxResult;
+import com.xinelu.common.enums.ScriptStatusEnum;
import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.utils.SecurityUtils;
import com.xinelu.common.utils.file.FileUploadUtils;
@@ -89,6 +90,7 @@ public class ScriptInfoServiceImpl implements IScriptInfoService {
// 设置创建人与创建时间
scriptInfo.setCreateBy(SecurityUtils.getUsername());
scriptInfo.setCreateTime(LocalDateTime.now());
+ scriptInfo.setScriptStatus(ScriptStatusEnum.OFF_SHELF.getInfo());
scriptInfo.setScriptId(IdUtils.fastUUID());
return scriptInfoMapper.insertScriptInfo(scriptInfo);
}
@@ -102,6 +104,13 @@ public class ScriptInfoServiceImpl implements IScriptInfoService {
@Override
@Transactional(rollbackFor = Exception.class)
public int updateScriptInfo(ScriptInfo scriptInfo) {
+ ScriptInfo scriptInfo1 = scriptInfoMapper.selectScriptInfoById(scriptInfo.getId());
+ if (Objects.isNull(scriptInfo1)) {
+ throw new ServiceException("该话术名称已删除!");
+ }
+ if (ScriptStatusEnum.NORMAL.getInfo().equals(scriptInfo.getScriptStatus()) && Objects.isNull(scriptInfo1.getScriptFilePath())) {
+ throw new ServiceException("请生成话术图片后上架该话术!");
+ }
// 检查除当前记录之外是否存在同名的话术名称
if (scriptInfoMapper.countByScriptNameExcludingId(scriptInfo.getScriptName(), scriptInfo.getDepartmentId(), scriptInfo.getId(), scriptInfo.getCommonScriptName()) > 0) {
// 存在同名的通用话术名称,不能进行更新
diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/impl/SignPatientManageRouteNodeServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/impl/SignPatientManageRouteNodeServiceImpl.java
index 55001df9..201c43d2 100644
--- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/impl/SignPatientManageRouteNodeServiceImpl.java
+++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/impl/SignPatientManageRouteNodeServiceImpl.java
@@ -234,8 +234,8 @@ public class SignPatientManageRouteNodeServiceImpl implements ISignPatientManage
}
break;
case (TaskContentConstants.ARTIFICIAL_FOLLOW_UP): // 人工随访-返回问卷信息
- if (node.getPhoneTemplateId() != null) {
- QuestionVO questionVO = questionInfoService.selectQuestionInfoById(Long.valueOf(node.getPhoneTemplateId()));
+ if (node.getFollowTemplateId() != null) {
+ QuestionVO questionVO = questionInfoService.selectQuestionInfoById(node.getFollowTemplateId());
detailInfo = JSONObject.parseObject(JSONObject.toJSONString(questionVO));
}
break;
diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/manualfollowup/ManualFollowUpVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/manualfollowup/ManualFollowUpVO.java
index f15e1ad1..0a34c04c 100644
--- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/manualfollowup/ManualFollowUpVO.java
+++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/manualfollowup/ManualFollowUpVO.java
@@ -123,5 +123,9 @@ public class ManualFollowUpVO {
@ApiModelProperty(value = "任务处理信息")
private String routeHandleRemark;
+ @ApiModelProperty(value = "人工随访问卷模板表id")
+ private Long followTemplateId;
+ @ApiModelProperty(value = "电话话术表id")
+ private Long phoneId;
}
diff --git a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml
index 17dc40d2..fcd35ce1 100644
--- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml
+++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml
@@ -331,15 +331,17 @@
spmrn.route_node_name AS 'routeNodeName',
spmrn.task_type,
CASE
- WHEN spmrn.task_type = 'PHONE_OUTBOUND' THEN spmrn.phone_template_name
+ WHEN spmrn.task_type = 'PHONE_OUTBOUND' THEN COALESCE(spmrn.phone_template_name, spmrn.follow_template_name)
WHEN spmrn.task_type = 'QUESTIONNAIRE_SCALE' THEN spmrn.questionnaire_name
WHEN spmrn.task_type = 'ARTIFICIAL_FOLLOW_UP' THEN spmrn.follow_template_name
END AS 'templateName',
CASE
- WHEN spmrn.task_type = 'PHONE_OUTBOUND' THEN spmrn.phone_id
+ WHEN spmrn.task_type = 'PHONE_OUTBOUND' THEN COALESCE(spmrn.phone_id, spmrn.follow_template_id)
WHEN spmrn.task_type = 'QUESTIONNAIRE_SCALE' THEN spmrn.question_info_id
WHEN spmrn.task_type = 'ARTIFICIAL_FOLLOW_UP' THEN spmrn.follow_template_id
END AS 'templateId',
+ spmrn.phone_id,
+ spmrn.follow_template_id,
spmrn.node_execute_status,
spmrn.route_handle_remark
FROM
diff --git a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml
index 3870a9cc..25c6ebef 100644
--- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml
+++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml
@@ -50,6 +50,8 @@
+
+
@@ -72,7 +74,7 @@
- select id, manage_route_id, manage_route_name, route_node_id, route_node_name, route_node_day, task_type, task_status, task_subdivision, second_classify_describe, execute_time, phone_push_sign, phone_id, phone_template_id, phone_template_name, phone_node_content, 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_name, message_preview, message_node_content, official_push_sign, official_template_id, official_template_name, official_remind_content, official_node_content, applet_push_sign, applet_template_id, 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 from sign_patient_manage_route_node
+ select id, manage_route_id, manage_route_name, route_node_id, route_node_name, route_node_day, task_type, task_status, task_subdivision, second_classify_describe, execute_time, phone_push_sign, phone_id, phone_template_id, phone_template_name, phone_node_content, 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_name, message_preview, message_node_content, official_push_sign, official_template_id, official_template_name, official_remind_content, official_node_content, follow_template_id, follow_template_name, applet_push_sign, applet_template_id, 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 from sign_patient_manage_route_node