小程序消息修改

This commit is contained in:
zhangheng 2024-07-10 17:26:22 +08:00
parent 15ae7531d6
commit 40b960951e
6 changed files with 72 additions and 34 deletions

View File

@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
/**
* 小程序首页Controller
@ -35,11 +36,11 @@ public class HomePageController extends BaseController {
}
/**
* 获取话术信息详细信息
* 获取话术信息详细信息(随访)
*/
@GetMapping("/selectScriptInfo")
public AjaxResult selectScriptInfo(Long templateId) {
return AjaxResult.success(homePageService.selectScriptInfo(templateId));
public AjaxResult selectScriptInfo(Long patientTaskExecuteRecordId) {
return AjaxResult.success(homePageService.selectScriptInfo(patientTaskExecuteRecordId));
}
/**
@ -51,15 +52,18 @@ public class HomePageController extends BaseController {
}
/**
* 问卷记录信息
* 问卷记录信息消息记录
*/
@GetMapping("/selectQuestionSubmit")
public AjaxResult selectQuestionSubmit(Long patientQuestionSubmitResultId, Long patientTaskExecuteRecordId) {
if (Objects.isNull(patientQuestionSubmitResultId) && Objects.isNull(patientTaskExecuteRecordId)) {
return AjaxResult.error("请选择记录信息!");
}
return homePageService.selectQuestionSubmit(patientQuestionSubmitResultId, patientTaskExecuteRecordId);
}
/**
* 问卷提交
* 问卷提交消息记录
*/
@PostMapping("/updateTaskExecuteRecord")
public AjaxResult updatePatientTaskExecuteRecord(@RequestBody PatientQuestionSubmitResultDTO dto) {
@ -85,7 +89,7 @@ public class HomePageController extends BaseController {
}
/**
* 消息通知列表
* 消息通知列表消息记录
*/
@GetMapping("/messageNotification")
public AjaxResult selectSignPatientManageRouteNode(Long residentId) {
@ -93,7 +97,7 @@ public class HomePageController extends BaseController {
}
/**
* 消息推送内容
* 消息推送内容消息记录
*/
@GetMapping("/selectMessageContent")
public AjaxResult selectMessageContent(Long manageRouteNodeId) {
@ -101,7 +105,7 @@ public class HomePageController extends BaseController {
}
/**
* 修改消息状态
* 修改消息状态消息记录
*/
@PostMapping("/updateMessageStatus")
public AjaxResult updateMessageStatus(@RequestBody SignPatientManageRouteNode signPatientManageRouteNode) {

View File

@ -1,6 +1,7 @@
package com.xinelu.mobile.mapper.homepage;
import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord;
import com.xinelu.manage.vo.signpatientmanageroute.PhonePush;
import com.xinelu.mobile.vo.homepage.MessageTabulationVO;
import com.xinelu.mobile.vo.myfollowup.MyFollowUpVO;
import com.xinelu.mobile.vo.satisfactionquestionnaire.SatisfactionQuestionnaire;
@ -67,8 +68,6 @@ public interface HomePageMapper {
*/
int updateNodeExecuteStatusByIds(@Param("signPatientManageRouteNodeIds") List<Long> signPatientManageRouteNodeIds);
PatientTaskExecuteRecord selectPatientTaskExecuteRecordByManageRouteNodeId(Long manageRouteNodeId);
/**
* 查询个人任务消息
*
@ -78,5 +77,16 @@ public interface HomePageMapper {
*/
List<MessageTabulationVO> selectManageRouteByResidentId(@Param("residentId") Long residentId, @Param("nodeExecuteStatus") String nodeExecuteStatus);
/**
* 查询患者管理任务执行记录表
*
* @param manageRouteNodeId id
* @return PatientTaskExecuteRecord
*/
PatientTaskExecuteRecord selectPatientManageRouteByManageRouteNodeId(Long manageRouteNodeId);
/**
* 话术类型代办处理详情
*/
PhonePush selectPhoneNodeContent(Long patientTaskExecuteRecordId);
}

View File

@ -3,9 +3,9 @@ package com.xinelu.mobile.service.homepage;
import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.core.page.TableDataInfo;
import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord;
import com.xinelu.manage.domain.scriptInfo.ScriptInfo;
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO;
import com.xinelu.manage.vo.signpatientmanageroute.PhonePush;
import com.xinelu.mobile.vo.myfollowup.MyFollowUpVO;
import java.util.List;
@ -23,10 +23,10 @@ public interface HomePageService {
/**
* 查询话术信息
*
* @param templateId 话术信息主键
* @param patientTaskExecuteRecordId 话术信息主键
* @return 话术信息
*/
ScriptInfo selectScriptInfo(Long templateId);
PhonePush selectScriptInfo(Long patientTaskExecuteRecordId);
/**
* 问卷信息

View File

@ -13,7 +13,6 @@ import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmi
import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord;
import com.xinelu.manage.domain.questioninfo.QuestionInfo;
import com.xinelu.manage.domain.questionsubject.QuestionSubject;
import com.xinelu.manage.domain.scriptInfo.ScriptInfo;
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
import com.xinelu.manage.dto.patientquestionoptionresult.PatientQuestionOptionResultDTO;
import com.xinelu.manage.dto.patientquestionsubjectresult.PatientQuestionSubjectResultDTO;
@ -32,6 +31,7 @@ import com.xinelu.manage.vo.propagandainfo.PropagandaMaterialsVo;
import com.xinelu.manage.vo.questionInfo.QuestionVO;
import com.xinelu.manage.vo.questionsubject.QuestionSubjectVO;
import com.xinelu.manage.vo.questionsubjectoption.QuestionSubjectOptionVO;
import com.xinelu.manage.vo.signpatientmanageroute.PhonePush;
import com.xinelu.mobile.mapper.homepage.HomePageMapper;
import com.xinelu.mobile.service.homepage.HomePageService;
import com.xinelu.mobile.vo.homepage.MessageContentVO;
@ -91,7 +91,7 @@ public class HomePageServiceImpl implements HomePageService {
*/
@Override
public TableDataInfo myFollowUp(MyFollowUpVO myFollowUp) {
myFollowUp.setRouteNodeName(RouteNodeNameEnum.AFTER_DISCHARGE.getInfo());
myFollowUp.setNodeExecuteStatus(NodeExecuteStatusEnum.EXECUTED.getInfo());
List<MyFollowUpVO> myFollowUpList = homePageMapper.selectManageRouteNode(myFollowUp);
int total = myFollowUpList.size();
if (CollectionUtils.isEmpty(myFollowUpList)) {
@ -101,7 +101,7 @@ public class HomePageServiceImpl implements HomePageService {
if (Objects.nonNull(myFollowUpVO) && Objects.nonNull(myFollowUpVO.getDischargeTime())) {
myFollowUpVO.setFollowDate(myFollowUpVO.getDischargeTime().plusDays(myFollowUpVO.getRouteNodeDay()));
}
myFollowUpVO.setFollowName("出院后第" + myFollowUpVO.getRouteNodeDay() + "");
myFollowUpVO.setFollowName(myFollowUpVO.getManageRouteNodeName() + myFollowUpVO.getRouteNodeDay() + "");
}
myFollowUpList.sort(Comparator.comparing(MyFollowUpVO::getFollowDate).reversed());
//处理上面查询的list集合
@ -118,12 +118,12 @@ public class HomePageServiceImpl implements HomePageService {
/**
* 查询话术信息
*
* @param templateId 话术信息主键
* @param patientTaskExecuteRecordId 话术信息主键
* @return 话术信息
*/
@Override
public ScriptInfo selectScriptInfo(Long templateId) {
return scriptInfoMapper.selectScriptInfoById(templateId);
public PhonePush selectScriptInfo(Long patientTaskExecuteRecordId) {
return homePageMapper.selectPhoneNodeContent(patientTaskExecuteRecordId);
}
/**
@ -341,8 +341,13 @@ public class HomePageServiceImpl implements HomePageService {
//副文本塞值
if (!TaskContentEnum.PROPAGANDA_ARTICLE.getInfo().equals(signPatientManageRouteNode.getTaskType()) && !TaskContentEnum.QUESTIONNAIRE_SCALE.getInfo().equals(signPatientManageRouteNode.getTaskType()) && !TaskContentEnum.ARTIFICIAL_FOLLOW_UP.getInfo().equals(signPatientManageRouteNode.getTaskType())) {
messageContentVO.setTaskType(TaskContentEnum.TEXT_REMIND.getInfo());
if (StringUtils.isNotBlank(signPatientManageRouteNode.getNodeContent())) {
messageContentVO.setNodeContent(signPatientManageRouteNode.getNodeContent());
}
if (StringUtils.isNotBlank(signPatientManageRouteNode.getTextRemindContent())) {
messageContentVO.setNodeContent(signPatientManageRouteNode.getTextRemindContent());
}
}
return AjaxResult.success(messageContentVO);
}

View File

@ -24,6 +24,8 @@ public class MyFollowUpVO {
private String manageRouteNodeName;
private String nodeExecuteStatus;
/**
* 用户id
*/

View File

@ -20,21 +20,23 @@
IF(pter.id is NULL,0,1) sign,
CASE
WHEN spmrn.task_type = 'PHONE_OUTBOUND' THEN spmrn.phone_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
FROM patient_info pi
LEFT JOIN sign_patient_manage_route spmr ON spmr.patient_id = pi.id
LEFT JOIN sign_patient_manage_route_node spmrn ON spmrn.manage_route_id = spmr.id
FROM sign_patient_manage_route_node spmrn
LEFT JOIN sign_patient_manage_route spmr ON spmrn.manage_route_id = spmr.id
LEFT JOIN patient_info pi ON spmr.id = pi.id
LEFT JOIN patient_task_execute_record pter ON pter.manage_route_node_id = spmrn.id
<where>
spmrn.task_type in('PHONE_OUTBOUND','QUESTIONNAIRE_SCALE','ARTIFICIAL_FOLLOW_UP')
spmrn.task_type in('PHONE_OUTBOUND','ARTIFICIAL_FOLLOW_UP')
<if test="residentId != null ">
and pi.resident_id = #{residentId}
</if>
<if test="routeNodeName != null and routeNodeName != ''">
and spmrn.route_node_name = #{routeNodeName}
</if>
<if test="nodeExecuteStatus != null and nodeExecuteStatus != ''">
and spmrn.node_execute_status = #{nodeExecuteStatus}
</if>
</where>
</select>
@ -149,13 +151,6 @@
</foreach>
</update>
<select id="selectPatientTaskExecuteRecordByManageRouteNodeId"
resultType="com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord">
select *
from patient_task_execute_record
where manage_route_node_id = #{manageRouteNodeId}
</select>
<select id="selectManageRouteByResidentId"
resultType="com.xinelu.mobile.vo.homepage.MessageTabulationVO">
select spmrn.id manageRouteNodeId,
@ -192,4 +187,26 @@
LEFT JOIN sign_patient_manage_route spmr ON spmr.id = spmrn.manage_route_id
where spmrn.id = #{manageRouteNodeId}
</select>
<select id="selectPhoneNodeContent"
resultType="com.xinelu.manage.vo.signpatientmanageroute.PhonePush">
select spmrn.route_node_name,
spmrn.phone_push_sign,
spmrn.route_node_day,
spmrn.phone_id,
spmrn.phone_template_id,
spmrn.phone_template_name,
spmrn.phone_redial_times,
spmrn.phone_time_interval,
spmrn.phone_message_remind,
spmrn.phone_connect_status,
spmrn.route_handle_remark,
spmrn.phone_message_template_id,
spmrn.phone_message_template_name,
spmrn.phone_node_content
from patient_task_execute_record pter
LEFT JOIN sign_patient_manage_route_node spmrn ON pter.manage_route_node_id = spmrn.id
LEFT JOIN sign_patient_manage_route spmr ON spmr.id = pter.manage_route_id
where pter.id = #{patientTaskExecuteRecordId}
</select>
</mapper>