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 69174503..22444314 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 @@ -9,8 +9,9 @@ import com.xinelu.common.enums.BusinessType; import com.xinelu.common.utils.poi.ExcelUtil; import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult; import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitStatistisDto; +import com.xinelu.manage.dto.specialdiseaseroute.SpecialDiseaseRouteDTO; import com.xinelu.manage.service.patientquestionsubmitresult.IPatientQuestionSubmitResultService; -import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitStatistisVo; +import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitListVo; import com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO; import java.util.List; import javax.annotation.Resource; @@ -118,10 +119,17 @@ public class PatientQuestionSubmitResultController extends BaseController { } /** - * 问卷统计 + * 科室提交问卷数量 */ - @GetMapping("/patientQuestionSubmitStatistic") - public R> patientQuestionSubmitStatistic(PatientQuestionSubmitStatistisDto queryDto) { - return R.ok(patientQuestionSubmitResultService.patientQuestionSubmitStatistic(queryDto)); + @GetMapping("/departmenQuestionSubmitCount") + public AjaxResult departmenQuestionSubmitCount(PatientQuestionSubmitStatistisDto queryDto) { + return patientQuestionSubmitResultService.departmenQuestionSubmitCount(queryDto); + } + /** + * 问卷统计列表 + */ + @GetMapping("/patientQuestionSubmitList") + public R> patientQuestionSubmitList(PatientQuestionSubmitStatistisDto queryDto) { + return R.ok(patientQuestionSubmitResultService.patientQuestionSubmitList(queryDto)); } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/patientquestionsubmitresult/PatientQuestionSubmitStatistisDto.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/patientquestionsubmitresult/PatientQuestionSubmitStatistisDto.java index 45a2c626..cc523631 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/patientquestionsubmitresult/PatientQuestionSubmitStatistisDto.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/patientquestionsubmitresult/PatientQuestionSubmitStatistisDto.java @@ -12,6 +12,24 @@ import lombok.Data; @Data public class PatientQuestionSubmitStatistisDto { + /** + * 机构表id + */ + @ApiModelProperty(value = "机构表id") + private Long hospitalAgencyId; + + /** + * 科室表id + */ + @ApiModelProperty(value = "科室表id") + private Long departmentId; + + /** + * 科室名称 + */ + @ApiModelProperty(value = "科室名称") + private String departmentName; + /** * 问卷表id */ 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 32178d1c..8c607941 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,12 +2,12 @@ package com.xinelu.manage.mapper.patientquestionsubmitresult; import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult; import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitStatistisDto; +import com.xinelu.manage.vo.department.DepartmentVO; +import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitListVo; import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitResultVO; -import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitStatistisVo; import com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO; -import org.apache.ibatis.annotations.Param; - import java.util.List; +import org.apache.ibatis.annotations.Param; /** * 患者问卷提交结果信息Mapper接口 @@ -81,5 +81,7 @@ public interface PatientQuestionSubmitResultMapper { */ List selectSatisfactionSurvey(SatisfactionSurveyVO satisfactionSurvey); - List patientQuestionSubmitStatistic(PatientQuestionSubmitStatistisDto queryDto); + List departmenQuestionSubmitCount(PatientQuestionSubmitStatistisDto queryDto); + + List patientQuestionSubmitList(PatientQuestionSubmitStatistisDto queryDto); } 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 2c2cd0f6..d9dfb320 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 @@ -3,7 +3,7 @@ package com.xinelu.manage.service.patientquestionsubmitresult; import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult; import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitStatistisDto; -import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitStatistisVo; +import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitListVo; import com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO; import java.util.List; @@ -78,5 +78,13 @@ public interface IPatientQuestionSubmitResultService { */ AjaxResult selectQuestionnaireResult(Long patientQuestionSubmitResultId); - List patientQuestionSubmitStatistic(PatientQuestionSubmitStatistisDto queryDto); + /** + * 科室提交问卷数量 + * + * @param queryDto 查询条件 + * @return AjaxResult + */ + AjaxResult departmenQuestionSubmitCount(PatientQuestionSubmitStatistisDto queryDto); + + List patientQuestionSubmitList(PatientQuestionSubmitStatistisDto queryDto); } 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 3fb440c3..bbc33fa6 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 @@ -2,15 +2,20 @@ 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.agency.Agency; import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult; import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitStatistisDto; +import com.xinelu.manage.mapper.agency.AgencyMapper; import com.xinelu.manage.mapper.patientquestionsubmitresult.PatientQuestionSubmitResultMapper; import com.xinelu.manage.service.patientquestionsubmitresult.IPatientQuestionSubmitResultService; -import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitStatistisVo; +import com.xinelu.manage.vo.department.DepartmentBaseVo; +import com.xinelu.manage.vo.department.DepartmentVO; +import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitListVo; import com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO; import java.time.LocalDateTime; import java.util.List; import javax.annotation.Resource; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.stereotype.Service; /** @@ -23,6 +28,8 @@ import org.springframework.stereotype.Service; public class PatientQuestionSubmitResultServiceImpl implements IPatientQuestionSubmitResultService { @Resource private PatientQuestionSubmitResultMapper patientQuestionSubmitResultMapper; + @Resource + private AgencyMapper agencyMapper; /** * 查询患者问卷提交结果信息 @@ -116,8 +123,15 @@ public class PatientQuestionSubmitResultServiceImpl implements IPatientQuestionS return AjaxResult.success(patientQuestionSubmitResultMapper.selectResultByTaskExecuteRecordId(null, patientQuestionSubmitResultId)); } + @Override public AjaxResult departmenQuestionSubmitCount(PatientQuestionSubmitStatistisDto queryDto) { + List departmentVOS = patientQuestionSubmitResultMapper.departmenQuestionSubmitCount(queryDto); + Agency agency = agencyMapper.selectAgencyById(queryDto.getHospitalAgencyId()); + return AjaxResult.success(DepartmentBaseVo.builder().hospitalAgencyName(ObjectUtils.isEmpty(agency) ? "" : agency.getAgencyName()) + .deptNumList(departmentVOS).build()); + } + @Override - public List patientQuestionSubmitStatistic(PatientQuestionSubmitStatistisDto queryDto) { - return null; + public List patientQuestionSubmitList(PatientQuestionSubmitStatistisDto queryDto) { + return patientQuestionSubmitResultMapper.patientQuestionSubmitList(queryDto); } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/PatientQuestionSubmitStatistisVo.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/PatientQuestionSubmitListVo.java similarity index 96% rename from postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/PatientQuestionSubmitStatistisVo.java rename to postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/PatientQuestionSubmitListVo.java index 104bc3b6..6df4396f 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/PatientQuestionSubmitStatistisVo.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patientquestionsubmitresult/PatientQuestionSubmitListVo.java @@ -7,12 +7,12 @@ import java.time.LocalDateTime; import lombok.Data; /** - * @description: 问卷统计返回视图类 + * @description: 问卷统计列表返回视图类 * @author: haown * @create: 2024-10-16 15:06 **/ @Data -public class PatientQuestionSubmitStatistisVo { +public class PatientQuestionSubmitListVo { /** * 患者主键 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 b72a0e21..f7351a93 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/patientquestionsubmitresult/PatientQuestionSubmitResultMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/patientquestionsubmitresult/PatientQuestionSubmitResultMapper.xml @@ -463,7 +463,35 @@ - + select dt.id, + dt.department_name, + dt.department_code, + ( SELECT COUNT(1) + FROM patient_question_submit_result a + LEFT JOIN sign_patient_manage_route route on a.manage_route_id = route.id + LEFT JOIN sign_patient_record record ON route.sign_patient_record_id = record.id + WHERE record.department_id = dt.id + ) AS countNum + from department dt + left join patient_question_submit_result pqsr on dt.id = pqsr.department_id + LEFT JOIN sign_patient_manage_route route on pqsr.manage_route_id = route.id + LEFT JOIN sign_patient_record record ON route.sign_patient_record_id = record.id + + + and dt.hospital_agency_id = #{hospitalAgencyId} + + + and dt.department_id = #{departmentId} + + + and dt.department_name like concat('%',#{departmentName},'%') + + + GROUP BY dt.id + + +