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-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/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/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/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