diff --git a/postdischarge-common/src/main/java/com/xinelu/common/enums/QuestionTypeEnum.java b/postdischarge-common/src/main/java/com/xinelu/common/enums/QuestionTypeEnum.java new file mode 100644 index 00000000..c9dda5bf --- /dev/null +++ b/postdischarge-common/src/main/java/com/xinelu/common/enums/QuestionTypeEnum.java @@ -0,0 +1,29 @@ +package com.xinelu.common.enums; + +import lombok.Getter; + +/** + * @Description 问卷类型 + * @Author zh + * @Date 2024-04-15 + */ +@Getter +public enum QuestionTypeEnum { + + /** + * 普通问卷 + */ + REGULAR_QUESTIONNAIRE("REGULAR_QUESTIONNAIRE"), + + /** + * 满意度问卷 + */ + SATISFACTION_QUESTIONNAIRE("SATISFACTION_QUESTIONNAIRE"), + ; + + final private String info; + + QuestionTypeEnum(String info) { + this.info = info; + } +} diff --git a/postdischarge-common/src/main/java/com/xinelu/common/enums/TaskCreateTypeEnum.java b/postdischarge-common/src/main/java/com/xinelu/common/enums/TaskCreateTypeEnum.java new file mode 100644 index 00000000..38f6f76c --- /dev/null +++ b/postdischarge-common/src/main/java/com/xinelu/common/enums/TaskCreateTypeEnum.java @@ -0,0 +1,29 @@ +package com.xinelu.common.enums; + +import lombok.Getter; + +/** + * @Description 任务创建类型 + * @Author zh + * @Date 2024-04-07 + */ +@Getter +public enum TaskCreateTypeEnum { + + /** + * 手动创建 + */ + MANUAL_CREATE("MANUAL_CREATE"), + + /** + * 自动匹配 + */ + MANUAL_MATCHE("MANUAL_MATCHE"), + ; + + final private String info; + + TaskCreateTypeEnum(String info) { + this.info = info; + } +} \ No newline at end of file diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/patientquestionsubmitresult/PatientQuestionSubmitResultController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/patientquestionsubmitresult/PatientQuestionSubmitResultController.java index 568e9899..4a0031c5 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/patientquestionsubmitresult/PatientQuestionSubmitResultController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/patientquestionsubmitresult/PatientQuestionSubmitResultController.java @@ -8,6 +8,7 @@ import com.xinelu.common.enums.BusinessType; import com.xinelu.common.utils.poi.ExcelUtil; import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult; import com.xinelu.manage.service.patientquestionsubmitresult.IPatientQuestionSubmitResultService; +import com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -88,4 +89,23 @@ public class PatientQuestionSubmitResultController extends BaseController { public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(patientQuestionSubmitResultService.deletePatientQuestionSubmitResultByIds(ids)); } + + /** + * 满意度调查问卷列表 + */ + @GetMapping("/satisfactionSurvey") + public TableDataInfo satisfactionSurvey(SatisfactionSurveyVO satisfactionSurvey) { + startPage(); + List list = patientQuestionSubmitResultService.satisfactionSurvey(satisfactionSurvey); + return getDataTable(list); + } + + /** + * 满意度调查问卷 + */ + @GetMapping("/selectQuestionnaireResult") + public AjaxResult selectQuestionnaireResult(Long patientQuestionSubmitResultId) { + return patientQuestionSubmitResultService.selectQuestionnaireResult(patientQuestionSubmitResultId); + + } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/questioninfo/QuestionInfoController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/questioninfo/QuestionInfoController.java index c52684f9..6fc11f5a 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/questioninfo/QuestionInfoController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/questioninfo/QuestionInfoController.java @@ -72,7 +72,7 @@ public class QuestionInfoController extends BaseController { @Log(title = "问卷基本信息", businessType = BusinessType.INSERT) @PostMapping("/add") public AjaxResult add(@RequestBody QuestionVO questionInfo) { - if (Objects.isNull(questionInfo) || StringUtils.isBlank(questionInfo.getQuestionnaireName())) { + if (Objects.isNull(questionInfo) || StringUtils.isBlank(questionInfo.getQuestionnaireName()) || StringUtils.isBlank(questionInfo.getQuestionType())) { return AjaxResult.error("请添加问卷信息!"); } return questionInfoService.insertQuestionInfo(questionInfo); @@ -85,6 +85,9 @@ public class QuestionInfoController extends BaseController { @Log(title = "问卷基本信息", businessType = BusinessType.UPDATE) @PostMapping("/edit") public AjaxResult edit(@RequestBody QuestionVO question) { + if (Objects.isNull(question) || StringUtils.isBlank(question.getQuestionnaireName()) || StringUtils.isBlank(question.getQuestionType())) { + return AjaxResult.error("请添加问卷信息!"); + } return questionInfoService.updateQuestionInfo(question); } @@ -94,8 +97,8 @@ public class QuestionInfoController extends BaseController { @PreAuthorize("@ss.hasPermi('system:question:remove')") @Log(title = "问卷基本信息", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long id) { - return toAjax(questionInfoService.deleteQuestionInfoById(id)); + public AjaxResult remove(@PathVariable Long ids) { + return toAjax(questionInfoService.deleteQuestionInfoById(ids)); } /** @@ -110,7 +113,7 @@ public class QuestionInfoController extends BaseController { * 科室问卷数量 */ @GetMapping("/departmentQuestionCount") - public AjaxResult departmentQuestionCount(String departmentName, String questionnaireStatus) { - return questionInfoService.departmentQuestionCount(departmentName, questionnaireStatus); + public AjaxResult departmentQuestionCount(String departmentName, String questionnaireStatus, String questionType) { + return questionInfoService.departmentQuestionCount(departmentName, questionnaireStatus, questionType); } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/questioninfo/QuestionInfo.java b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/questioninfo/QuestionInfo.java index 28bd2f82..89a66ff9 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/questioninfo/QuestionInfo.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/questioninfo/QuestionInfo.java @@ -123,6 +123,12 @@ public class QuestionInfo extends BaseEntity { @Excel(name = "问卷备注信息") private String questionnaireRemark; + /** + * 问卷类型,普通问卷:REGULAR_QUESTIONNAIRE,满意度问卷:SATISFACTION_QUESTIONNAIRE + */ + @ApiModelProperty(value = "问卷类型") + @Excel(name = "问卷类型") + private String questionType; @Override public String toString() { diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientquestionsubmitresult/PatientQuestionSubmitResultMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientquestionsubmitresult/PatientQuestionSubmitResultMapper.java index 14632f3f..827e5034 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientquestionsubmitresult/PatientQuestionSubmitResultMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientquestionsubmitresult/PatientQuestionSubmitResultMapper.java @@ -2,6 +2,8 @@ package com.xinelu.manage.mapper.patientquestionsubmitresult; import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult; import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitResultVO; +import com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -63,8 +65,17 @@ public interface PatientQuestionSubmitResultMapper { /** * 根据任务执行记录查询患者问卷信息 * - * @param taskExecuteRecordId 患者管理任务执行记录表id + * @param taskExecuteRecordId 患者管理任务执行记录表id + * @param patientQuestionSubmitResultId 患者问卷提交结果信息表 * @return PatientQuestionSubmitResultVO */ - PatientQuestionSubmitResultVO selectResultByTaskExecuteRecordId(Long taskExecuteRecordId); + PatientQuestionSubmitResultVO selectResultByTaskExecuteRecordId(@Param("taskExecuteRecordId") Long taskExecuteRecordId, @Param("patientQuestionSubmitResultId") Long patientQuestionSubmitResultId); + + /** + * 满意度调查问卷列表 + * + * @param satisfactionSurvey 居民信息 + * @return AjaxResult + */ + List selectSatisfactionSurvey(SatisfactionSurveyVO satisfactionSurvey); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/questioninfo/QuestionInfoMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/questioninfo/QuestionInfoMapper.java index f1482991..64d2e8ac 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/questioninfo/QuestionInfoMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/questioninfo/QuestionInfoMapper.java @@ -69,5 +69,5 @@ public interface QuestionInfoMapper { * @param questionnaireStatus 问卷状态 * @return DepartmentVO */ - List departmentQuestionByDepartmentName(@Param("departmentName") String departmentName, @Param("questionnaireStatus") String questionnaireStatus); + List departmentQuestionByDepartmentName(@Param("departmentName") String departmentName, @Param("questionnaireStatus") String questionnaireStatus, @Param("questionType") String questionType); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientquestionsubjectresult/IPatientQuestionSubjectResultService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientquestionsubjectresult/IPatientQuestionSubjectResultService.java index 8153bd9f..65084c16 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientquestionsubjectresult/IPatientQuestionSubjectResultService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientquestionsubjectresult/IPatientQuestionSubjectResultService.java @@ -17,7 +17,7 @@ public interface IPatientQuestionSubjectResultService { * @param id 患者问卷题目提交结果信息主键 * @return 患者问卷题目提交结果信息 */ - public PatientQuestionSubjectResult selectPatientQuestionSubjectResultById(Long id); + PatientQuestionSubjectResult selectPatientQuestionSubjectResultById(Long id); /** * 查询患者问卷题目提交结果信息列表 diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientquestionsubmitresult/IPatientQuestionSubmitResultService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientquestionsubmitresult/IPatientQuestionSubmitResultService.java index c8535f0d..464dbf4b 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientquestionsubmitresult/IPatientQuestionSubmitResultService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientquestionsubmitresult/IPatientQuestionSubmitResultService.java @@ -1,6 +1,8 @@ package com.xinelu.manage.service.patientquestionsubmitresult; +import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult; +import com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO; import java.util.List; @@ -58,4 +60,20 @@ public interface IPatientQuestionSubmitResultService { * @return 结果 */ int deletePatientQuestionSubmitResultById(Long id); + + /** + * 满意度调查问卷列表 + * + * @param satisfactionSurvey 居民信息 + * @return AjaxResult + */ + List satisfactionSurvey(SatisfactionSurveyVO satisfactionSurvey); + + /** + * 满意度调查问卷 + * + * @param patientQuestionSubmitResultId 问卷信息 + * @return AjaxResult + */ + AjaxResult selectQuestionnaireResult(Long patientQuestionSubmitResultId); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientquestionsubmitresult/impl/PatientQuestionSubmitResultServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientquestionsubmitresult/impl/PatientQuestionSubmitResultServiceImpl.java index 2fab972b..97208eb9 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientquestionsubmitresult/impl/PatientQuestionSubmitResultServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientquestionsubmitresult/impl/PatientQuestionSubmitResultServiceImpl.java @@ -1,8 +1,11 @@ package com.xinelu.manage.service.patientquestionsubmitresult.impl; +import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.common.enums.QuestionTypeEnum; import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult; import com.xinelu.manage.mapper.patientquestionsubmitresult.PatientQuestionSubmitResultMapper; import com.xinelu.manage.service.patientquestionsubmitresult.IPatientQuestionSubmitResultService; +import com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -87,4 +90,28 @@ public class PatientQuestionSubmitResultServiceImpl implements IPatientQuestionS public int deletePatientQuestionSubmitResultById(Long id) { return patientQuestionSubmitResultMapper.deletePatientQuestionSubmitResultById(id); } + + /** + * 满意度调查问卷列表 + * + * @param satisfactionSurvey 居民信息 + * @return AjaxResult + */ + @Override + public List satisfactionSurvey(SatisfactionSurveyVO satisfactionSurvey) { + satisfactionSurvey.setQuestionType(QuestionTypeEnum.SATISFACTION_QUESTIONNAIRE.getInfo()); + return patientQuestionSubmitResultMapper.selectSatisfactionSurvey(satisfactionSurvey); + } + + + /** + * 满意度调查问卷 + * + * @param patientQuestionSubmitResultId 问卷信息 + * @return AjaxResult + */ + @Override + public AjaxResult selectQuestionnaireResult(Long patientQuestionSubmitResultId) { + return AjaxResult.success(patientQuestionSubmitResultMapper.selectResultByTaskExecuteRecordId(null, patientQuestionSubmitResultId)); + } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskexecuterecord/impl/PatientTaskExecuteRecordServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskexecuterecord/impl/PatientTaskExecuteRecordServiceImpl.java index 46952cea..fe343753 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskexecuterecord/impl/PatientTaskExecuteRecordServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskexecuterecord/impl/PatientTaskExecuteRecordServiceImpl.java @@ -118,6 +118,6 @@ public class PatientTaskExecuteRecordServiceImpl implements IPatientTaskExecuteR */ @Override public AjaxResult selectPatientQuestionSubmit(Long taskExecuteRecordId) { - return AjaxResult.success(submitResultMapper.selectResultByTaskExecuteRecordId(taskExecuteRecordId)); + return AjaxResult.success(submitResultMapper.selectResultByTaskExecuteRecordId(taskExecuteRecordId, null)); } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/IQuestionInfoService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/IQuestionInfoService.java index 7ef1b0b8..3ff59349 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/IQuestionInfoService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/IQuestionInfoService.java @@ -75,5 +75,5 @@ public interface IQuestionInfoService { * @param departmentName 科室名称 * @return AjaxResult */ - AjaxResult departmentQuestionCount(String departmentName, String questionnaireStatus); + AjaxResult departmentQuestionCount(String departmentName, String questionnaireStatus,String questionType); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java index a6fed741..91c2a640 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java @@ -196,6 +196,9 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService { log.info("修改问卷题目表失败," + questionSubjects); throw new SecurityException("修改问卷失败!请联系管理员!"); } + if (CollectionUtils.isEmpty(questionSubjectOptions)) { + return AjaxResult.success(); + } List saveQuestionSubjectOptions = new ArrayList<>(); for (QuestionSubjectOptionVO questionSubjectOption : questionSubjectOptions) { QuestionSubjectOption saveQuestionSubjectOption = new QuestionSubjectOption(); @@ -257,6 +260,7 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService { * @param questionInfo 问卷基本信息 * @return 结果 */ + @Transactional(rollbackFor = Exception.class) @Override public AjaxResult updateQuestionByDepartment(QuestionInfo questionInfo) { if (Objects.isNull(questionInfo) || Objects.isNull(questionInfo.getId())) { @@ -296,12 +300,12 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService { * @return AjaxResult */ @Override - public AjaxResult departmentQuestionCount(String departmentName, String questionnaireStatus) { + public AjaxResult departmentQuestionCount(String departmentName, String questionnaireStatus, String questionType) { DepartmentVO departmentVO = new DepartmentVO(); List department = new ArrayList<>(); departmentVO.setDepartmentName("全部"); departmentVO.setCountNum(0); - List departmentVOS = questionInfoMapper.departmentQuestionByDepartmentName(departmentName, questionnaireStatus); + List departmentVOS = questionInfoMapper.departmentQuestionByDepartmentName(departmentName, questionnaireStatus, questionType); if (CollectionUtils.isNotEmpty(departmentVOS)) { Integer result = departmentVOS.stream().mapToInt(DepartmentVO::getCountNum).sum(); departmentVO.setCountNum(result); diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java index 9965a111..8f723944 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java @@ -4,6 +4,7 @@ import com.xinelu.common.constant.TaskCreateTypeConstant; import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.enums.NodeExecuteStatusEnum; import com.xinelu.common.enums.TaskContentEnum; +import com.xinelu.common.enums.TaskCreateTypeEnum; import com.xinelu.common.exception.ServiceException; import com.xinelu.common.utils.AgeUtil; import com.xinelu.common.utils.SecurityUtils; @@ -98,9 +99,11 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout * @param signPatientManageRoute 签约患者管理任务路径 * @return 结果 */ + @Transactional(rollbackFor = Exception.class) @Override public AjaxResult insertSignPatientManageRoute(SignPatientManageRouteVO signPatientManageRoute) { //新增主表 + signPatientManageRoute.setTaskCreateType(TaskCreateTypeEnum.MANUAL_CREATE.getInfo()); signPatientManageRoute.setCreateBy(SecurityUtils.getUsername()); signPatientManageRoute.setCreateTime(LocalDateTime.now()); int insertRoute = signPatientManageRouteMapper.insertSignPatientManageRoute(signPatientManageRoute); @@ -140,6 +143,7 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout * @param signPatientManageRoute 签约患者管理任务路径 * @return 结果 */ + @Transactional(rollbackFor = Exception.class) @Override public AjaxResult updateSignPatientManageRoute(SignPatientManageRouteVO signPatientManageRoute) { int deleteRouteNodeCount = signPatientManageRouteNodeMapper.deleteRouteNodeByManageRouteId(signPatientManageRoute.getSignPatientManageRouteId()); @@ -188,6 +192,7 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout * @param ids 需要删除的签约患者管理任务路径主键 * @return 结果 */ + @Transactional(rollbackFor = Exception.class) @Override public int deleteSignPatientManageRouteByIds(Long[] ids) { return signPatientManageRouteMapper.deleteSignPatientManageRouteByIds(ids); diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java index c5525fde..8abc07c2 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java @@ -163,6 +163,7 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService * @param specialDiseaseNode 节点信息 * @return AjaxResult */ + @Transactional(rollbackFor = Exception.class) @Override public AjaxResult updateRouteCheckStatus(SpecialDiseaseNode specialDiseaseNode) { if (Objects.isNull(specialDiseaseNode) || Objects.isNull(specialDiseaseNode.getId())) { diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroute/impl/SpecialDiseaseRouteServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroute/impl/SpecialDiseaseRouteServiceImpl.java index 44c2a65a..bb6a904c 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroute/impl/SpecialDiseaseRouteServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroute/impl/SpecialDiseaseRouteServiceImpl.java @@ -77,6 +77,7 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi * @param specialDiseaseRoute 专病路径信息 * @return 结果 */ + @Transactional(rollbackFor = Exception.class) @Override public AjaxResult insertSpecialDiseaseRoute(SpecialDiseaseRouteVO specialDiseaseRoute) { specialDiseaseRoute.setCreateTime(LocalDateTime.now()); @@ -111,6 +112,7 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi * @param specialDiseaseRoute 专病路径信息 * @return 结果 */ + @Transactional(rollbackFor = Exception.class) @Override public AjaxResult updateSpecialDiseaseRoute(SpecialDiseaseRouteVO specialDiseaseRoute) { int deleteRoutePackageCount = specialDiseaseRoutePackageMapper.deleteSpecialDiseaseRoutePackageByRouteId(specialDiseaseRoute.getId()); @@ -209,6 +211,7 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi * @param specialDiseaseRoute 路径信息 * @return AjaxResult */ + @Transactional(rollbackFor = Exception.class) @Override public AjaxResult editReleaseStatus(SpecialDiseaseRoute specialDiseaseRoute) { if (Objects.isNull(specialDiseaseRoute) || StringUtils.isBlank(specialDiseaseRoute.getReleaseStatus())) { 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 af46bc5d..f15e1ad1 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 @@ -120,5 +120,8 @@ public class ManualFollowUpVO { @ApiModelProperty(value = "任务执行记录id") private Long taskExecuteRecordId; + @ApiModelProperty(value = "任务处理信息") + private String routeHandleRemark; + } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/PatientQuestionSubmitResultVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/PatientQuestionSubmitResultVO.java index 8d2d52dc..915b170c 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/PatientQuestionSubmitResultVO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/PatientQuestionSubmitResultVO.java @@ -4,6 +4,7 @@ import com.xinelu.manage.vo.patientquestionsubjectresult.PatientQuestionSubjectR import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; import java.util.List; /** @@ -34,5 +35,18 @@ public class PatientQuestionSubmitResultVO { @ApiModelProperty(value = "问卷说明") private String questionnaireDescription; + /** + * 问卷总分值,小数点后两位 + */ + @ApiModelProperty(value = "问卷总分值,小数点后两位") + private BigDecimal questionnaireTotalScore; + + /** + * 问卷总得分,根据患者提交问卷得出的分值 + */ + @ApiModelProperty(value = "问卷总得分,根据患者提交问卷得出的分值") + private BigDecimal totalScore; + + List subjectResultList; } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/SatisfactionSurveyVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/SatisfactionSurveyVO.java new file mode 100644 index 00000000..d1385acb --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/SatisfactionSurveyVO.java @@ -0,0 +1,93 @@ +package com.xinelu.manage.vo.patientquestionsubmitresult; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDate; + +/** + * 满意度调查 + * + * @author xinelu + * @date 2024-04-15 + */ +@Data +public class SatisfactionSurveyVO { + + private Long patientQuestionSubmitResultId; + + /** + * 患者姓名 + */ + @ApiModelProperty(value = "患者姓名") + private String patientName; + + /** + * 患者电话 + */ + @ApiModelProperty(value = "患者电话") + private String patientPhone; + + /** + * 身份证号 + */ + @ApiModelProperty(value = "身份证号") + private String cardNo; + + /** + * 出生日期,格式:yyyy-MM-dd + */ + @ApiModelProperty(value = "出生日期,格式:yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate birthDate; + + /** + * 性别,男:MALE,女:FEMALE + */ + @ApiModelProperty(value = "性别,男:MALE,女:FEMALE") + private String sex; + + /** + * 问卷类型,普通问卷:REGULAR_QUESTIONNAIRE,满意度问卷:SATISFACTION_QUESTIONNAIRE + */ + @ApiModelProperty(value = "问卷类型") + private String questionType; + + /** + * 患者类型,预住院患者:PRE_HOSPITALIZED_PATIENT,在院患者:IN_HOSPITAL_PATIENT,门诊患者:OUTPATIENT,出院患者:DISCHARGED_PATIENT, + * 签约患者:CONTRACTED_PATIENT + */ + @ApiModelProperty(value = "患者类型,预住院患者:PRE_HOSPITALIZED_PATIENT,在院患者:IN_HOSPITAL_PATIENT,门诊患者:OUTPATIENT,出院患者:DISCHARGED_PATIENT,签约患者:CONTRACTED_PATIENT") + private String patientType; + + /** + * 签约状态,未签约:UN_SIGN,在签:IN_SIGN,解约:SEPARATE_SIGN, 服务到期:EXPIRE_SIGN + */ + @ApiModelProperty(value = "签约状态,未签约:UN_SIGN,在签:IN_SIGN,解约:SEPARATE_SIGN, 过期:EXPIRE_SIGN") + private String signStatus; + + /** + * 服务状态,意向签约:INTENTIONAL_SIGNING,服务中:SERVICE_CENTER,服务结束:SERVICE_END + */ + @ApiModelProperty(value = "服务状态,意向签约:INTENTIONAL_SIGNING,服务中:SERVICE_CENTER,服务结束:SERVICE_END") + private String serviceStatus; + + /** + * 就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL + */ + @ApiModelProperty(value = "就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL") + private String visitMethod; + + /** + * 所属医院名称 + */ + @ApiModelProperty(value = "所属医院名称") + private String hospitalAgencyName; + + /** + * 所属科室名称 + */ + @ApiModelProperty(value = "所属科室名称") + private String departmentName; +} diff --git a/postdischarge-manage/src/main/resources/mapper/manage/patientquestionsubmitresult/PatientQuestionSubmitResultMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/patientquestionsubmitresult/PatientQuestionSubmitResultMapper.xml index a5628a87..3608fb45 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/patientquestionsubmitresult/PatientQuestionSubmitResultMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/patientquestionsubmitresult/PatientQuestionSubmitResultMapper.xml @@ -37,6 +37,8 @@ + + @@ -375,39 +377,85 @@ + + \ No newline at end of file diff --git a/postdischarge-manage/src/main/resources/mapper/manage/patienttaskexecuterecord/PatientTaskExecuteRecordMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/patienttaskexecuterecord/PatientTaskExecuteRecordMapper.xml index d098acca..e49d2be9 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/patienttaskexecuterecord/PatientTaskExecuteRecordMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/patienttaskexecuterecord/PatientTaskExecuteRecordMapper.xml @@ -140,11 +140,11 @@ and pi.visit_method = #{visitMethod} - - and pter.execute_time <= #{startDate} + + and pter.execute_time >=#{startDate} - - and pter.execute_time >= #{endDate} + + and pter.execute_time <= #{endDate} and pter.manage_route_name like concat('%', #{manageRouteName}, '%') diff --git a/postdischarge-manage/src/main/resources/mapper/manage/questioninfo/QuestionInfoMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/questioninfo/QuestionInfoMapper.xml index 4b533bc9..8287803d 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/questioninfo/QuestionInfoMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/questioninfo/QuestionInfoMapper.xml @@ -19,6 +19,7 @@ + @@ -40,6 +41,7 @@ questionnaire_status, questionnaire_sort, questionnaire_remark, + question_type, create_by, create_time, update_by, @@ -89,6 +91,9 @@ and questionnaire_remark = #{questionnaireRemark} + + and question_type = #{questionType} + @@ -128,6 +133,8 @@ questionnaire_remark, + question_type, + create_by, create_time, @@ -164,6 +171,8 @@ #{questionnaireRemark}, + #{questionType}, + #{createBy}, #{createTime}, @@ -217,6 +226,9 @@ questionnaire_remark = #{questionnaireRemark}, + question_type = + #{questionType}, + create_by = #{createBy}, @@ -254,10 +266,13 @@ from department dt left join question_info qi on dt.id = qi.department_id - dt.department_name like concat('%',#{departmentName},'%') + and dt.department_name like concat('%',#{departmentName},'%') - qi.questionnaire_status =#{questionnaireStatus} + and qi.questionnaire_status =#{questionnaireStatus} + + + and qi.question_type = #{questionType} GROUP BY dt.id 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 c74b4663..8a6943d5 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml @@ -307,7 +307,7 @@ pvr.surgical_name, pi.attending_physician_id, pi.attending_physician_name, - IF(spmr.suit_range = 'IN_THE_HOSPITAL', pi.admission_time, NULL) AS 'admissionTime', + IF(spmr.suit_range = 'IN_THE_HOSPITAL' OR spmr.suit_range = 'DISCHARGE', pi.admission_time, NULL) AS 'admissionTime', CASE WHEN spmr.suit_range = 'OUTPATIENT_SERVICE' THEN pi.visit_date WHEN spmr.suit_range = 'DISCHARGE' THEN pi.discharge_time @@ -335,7 +335,8 @@ 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.node_execute_status + spmrn.node_execute_status, + spmrn.route_handle_remark FROM sign_patient_manage_route spmr LEFT JOIN sign_patient_manage_route_node spmrn ON spmr.id = spmrn.manage_route_id @@ -409,6 +410,12 @@ AND spmrn.node_execute_status = #{nodeExecuteStatus} + + AND pter.execute_time >= #{followStartTime} + + + AND pter.execute_time <= #{followEndTime} + order by spmr.create_time DESC