小程序满意度

This commit is contained in:
zhangheng 2024-04-29 15:12:23 +08:00
parent 5aa0e7b730
commit 190cab7e7e
4 changed files with 22 additions and 28 deletions

View File

@ -7,7 +7,6 @@ import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecor
import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO; import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO;
import com.xinelu.mobile.service.homepage.HomePageService; import com.xinelu.mobile.service.homepage.HomePageService;
import com.xinelu.mobile.vo.myfollowup.MyFollowUpVO; import com.xinelu.mobile.vo.myfollowup.MyFollowUpVO;
import com.xinelu.mobile.vo.satisfactionquestionnaire.SatisfactionQuestionnaire;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -81,8 +80,6 @@ public class HomePageController extends BaseController {
*/ */
@GetMapping("/satisfactionQuestionnaire") @GetMapping("/satisfactionQuestionnaire")
private TableDataInfo satisfactionQuestionnaire(Long residentId) { private TableDataInfo satisfactionQuestionnaire(Long residentId) {
startPage(); return homePageService.satisfactionQuestionnaire(residentId);
List<SatisfactionQuestionnaire> list = homePageService.satisfactionQuestionnaire(residentId);
return getDataTable(list);
} }
} }

View File

@ -66,5 +66,5 @@ public interface HomePageService {
* @param residentId 居民信息 * @param residentId 居民信息
* @return SatisfactionQuestionnaire * @return SatisfactionQuestionnaire
*/ */
List<SatisfactionQuestionnaire> satisfactionQuestionnaire(Long residentId); TableDataInfo satisfactionQuestionnaire(Long residentId);
} }

View File

@ -1,6 +1,5 @@
package com.xinelu.mobile.service.homepage.Impl; package com.xinelu.mobile.service.homepage.Impl;
import com.xinelu.common.constant.TaskCreateTypeConstant;
import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.core.page.TableDataInfo; import com.xinelu.common.core.page.TableDataInfo;
import com.xinelu.common.enums.NodeExecuteStatusEnum; import com.xinelu.common.enums.NodeExecuteStatusEnum;
@ -17,19 +16,16 @@ import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecor
import com.xinelu.manage.domain.questioninfo.QuestionInfo; import com.xinelu.manage.domain.questioninfo.QuestionInfo;
import com.xinelu.manage.domain.questionsubject.QuestionSubject; import com.xinelu.manage.domain.questionsubject.QuestionSubject;
import com.xinelu.manage.domain.scriptInfo.ScriptInfo; 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.patientquestionoptionresult.PatientQuestionOptionResultDTO;
import com.xinelu.manage.dto.patientquestionsubjectresult.PatientQuestionSubjectResultDTO; import com.xinelu.manage.dto.patientquestionsubjectresult.PatientQuestionSubjectResultDTO;
import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO; import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO;
import com.xinelu.manage.mapper.patientquestionoptionresult.PatientQuestionOptionResultMapper; import com.xinelu.manage.mapper.patientquestionoptionresult.PatientQuestionOptionResultMapper;
import com.xinelu.manage.mapper.patientquestionsubjectresult.PatientQuestionSubjectResultMapper; import com.xinelu.manage.mapper.patientquestionsubjectresult.PatientQuestionSubjectResultMapper;
import com.xinelu.manage.mapper.patientquestionsubmitresult.PatientQuestionSubmitResultMapper; import com.xinelu.manage.mapper.patientquestionsubmitresult.PatientQuestionSubmitResultMapper;
import com.xinelu.manage.mapper.patienttaskexecuterecord.PatientTaskExecuteRecordMapper;
import com.xinelu.manage.mapper.questioninfo.QuestionInfoMapper; import com.xinelu.manage.mapper.questioninfo.QuestionInfoMapper;
import com.xinelu.manage.mapper.questionsubject.QuestionSubjectMapper; import com.xinelu.manage.mapper.questionsubject.QuestionSubjectMapper;
import com.xinelu.manage.mapper.questionsubjectoption.QuestionSubjectOptionMapper; import com.xinelu.manage.mapper.questionsubjectoption.QuestionSubjectOptionMapper;
import com.xinelu.manage.mapper.scriptInfo.ScriptInfoMapper; import com.xinelu.manage.mapper.scriptInfo.ScriptInfoMapper;
import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper;
import com.xinelu.manage.vo.questionInfo.QuestionVO; import com.xinelu.manage.vo.questionInfo.QuestionVO;
import com.xinelu.manage.vo.questionsubject.QuestionSubjectVO; import com.xinelu.manage.vo.questionsubject.QuestionSubjectVO;
import com.xinelu.manage.vo.questionsubjectoption.QuestionSubjectOptionVO; import com.xinelu.manage.vo.questionsubjectoption.QuestionSubjectOptionVO;
@ -74,10 +70,6 @@ public class HomePageServiceImpl implements HomePageService {
private PatientQuestionSubjectResultMapper patientQuestionSubjectResultMapper; private PatientQuestionSubjectResultMapper patientQuestionSubjectResultMapper;
@Resource @Resource
private PatientQuestionOptionResultMapper patientQuestionOptionResultMapper; private PatientQuestionOptionResultMapper patientQuestionOptionResultMapper;
@Resource
private SignPatientManageRouteNodeMapper signPatientManageRouteNodeMapper;
@Resource
private PatientTaskExecuteRecordMapper patientTaskExecuteRecordMapper;
/** /**
* 我的随访列表 * 我的随访列表
@ -201,7 +193,7 @@ public class HomePageServiceImpl implements HomePageService {
if (patientQuestionSubjectResultMapper.saveQuestionSubjectList(patientQuestionSubjectResults) <= 0) { if (patientQuestionSubjectResultMapper.saveQuestionSubjectList(patientQuestionSubjectResults) <= 0) {
throw new ServiceException("新增患者问卷题目提交结果失败"); throw new ServiceException("新增患者问卷题目提交结果失败");
} }
if (CollectionUtils.isNotEmpty(patientQuestionOptionResults)) { if (CollectionUtils.isEmpty(patientQuestionOptionResults)) {
return AjaxResult.success(); return AjaxResult.success();
} }
// 初始化患者问卷题目选项提交结果 // 初始化患者问卷题目选项提交结果
@ -240,7 +232,16 @@ public class HomePageServiceImpl implements HomePageService {
* @return SatisfactionQuestionnaire * @return SatisfactionQuestionnaire
*/ */
@Override @Override
public List<SatisfactionQuestionnaire> satisfactionQuestionnaire(Long residentId) { public TableDataInfo satisfactionQuestionnaire(Long residentId) {
return homePageMapper.satisfactionQuestionnaireByResidentId(residentId, QuestionTypeEnum.SATISFACTION_QUESTIONNAIRE.getInfo(), QuestionnaireStatusEnum.PUBLISHED.getInfo()); pageServiceUtil.startPage();
List<SatisfactionQuestionnaire> satisfactionQuestionnaires = homePageMapper.satisfactionQuestionnaireByResidentId(residentId, QuestionTypeEnum.SATISFACTION_QUESTIONNAIRE.getInfo(), QuestionnaireStatusEnum.PUBLISHED.getInfo());
for (SatisfactionQuestionnaire satisfactionQuestionnaire : satisfactionQuestionnaires) {
if (Objects.isNull(satisfactionQuestionnaire.getPatientQuestionSubmitResultId())) {
satisfactionQuestionnaire.setSign("incomplete");
} else {
satisfactionQuestionnaire.setSign("completed");
}
}
return pageServiceUtil.getDataTable(satisfactionQuestionnaires);
} }
} }

View File

@ -67,23 +67,19 @@
<select id="satisfactionQuestionnaireByResidentId" <select id="satisfactionQuestionnaireByResidentId"
resultType="com.xinelu.mobile.vo.satisfactionquestionnaire.SatisfactionQuestionnaire"> resultType="com.xinelu.mobile.vo.satisfactionquestionnaire.SatisfactionQuestionnaire">
SELECT qi.id templateId, SELECT qi.id templateId,
qi.questionnaire_name, qi.questionnaire_name,
qi.create_time,
(SELECT id (SELECT id
FROM patient_question_submit_result FROM patient_question_submit_result
WHERE resident_id = #{residentId} WHERE resident_id = #{residentId}
AND question_info_id = templateId) patientQuestionSubmitResultId, AND question_info_id = qi.id) patientQuestionSubmitResultId,
pqsr.create_time executeTime, (SELECT create_time
pqsr.resident_id, FROM patient_question_submit_result
CASE WHERE id = patientQuestionSubmitResultId) executeTime
WHEN pqsr.resident_id IS NULL THEN 'incomplete'
WHEN pqsr.resident_id = #{residentId} THEN 'completed'
END AS sign
FROM question_info qi FROM question_info qi
LEFT JOIN patient_question_submit_result pqsr ON pqsr.question_info_id = qi.id
WHERE qi.question_type = #{questionType} WHERE qi.question_type = #{questionType}
and qi.questionnaire_status = #{questionnaireStatus} AND qi.questionnaire_status = #{questionnaireStatus}
GROUP BY qi.id ORDER BY qi.create_time DESC
ORDER BY pqsr.create_time DESC
</select> </select>
</mapper> </mapper>