统计分析--问卷查询接口。
This commit is contained in:
parent
996df74e49
commit
7445850990
@ -9,8 +9,9 @@ import com.xinelu.common.enums.BusinessType;
|
|||||||
import com.xinelu.common.utils.poi.ExcelUtil;
|
import com.xinelu.common.utils.poi.ExcelUtil;
|
||||||
import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult;
|
import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult;
|
||||||
import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitStatistisDto;
|
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.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 com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@ -118,10 +119,17 @@ public class PatientQuestionSubmitResultController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 问卷统计
|
* 科室提交问卷数量
|
||||||
*/
|
*/
|
||||||
@GetMapping("/patientQuestionSubmitStatistic")
|
@GetMapping("/departmenQuestionSubmitCount")
|
||||||
public R<List<PatientQuestionSubmitStatistisVo>> patientQuestionSubmitStatistic(PatientQuestionSubmitStatistisDto queryDto) {
|
public AjaxResult departmenQuestionSubmitCount(PatientQuestionSubmitStatistisDto queryDto) {
|
||||||
return R.ok(patientQuestionSubmitResultService.patientQuestionSubmitStatistic(queryDto));
|
return patientQuestionSubmitResultService.departmenQuestionSubmitCount(queryDto);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 问卷统计列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/patientQuestionSubmitList")
|
||||||
|
public R<List<PatientQuestionSubmitListVo>> patientQuestionSubmitList(PatientQuestionSubmitStatistisDto queryDto) {
|
||||||
|
return R.ok(patientQuestionSubmitResultService.patientQuestionSubmitList(queryDto));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,6 +12,24 @@ import lombok.Data;
|
|||||||
@Data
|
@Data
|
||||||
public class PatientQuestionSubmitStatistisDto {
|
public class PatientQuestionSubmitStatistisDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机构表id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "机构表id")
|
||||||
|
private Long hospitalAgencyId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 科室表id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "科室表id")
|
||||||
|
private Long departmentId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 科室名称
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "科室名称")
|
||||||
|
private String departmentName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 问卷表id
|
* 问卷表id
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -2,12 +2,12 @@ package com.xinelu.manage.mapper.patientquestionsubmitresult;
|
|||||||
|
|
||||||
import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult;
|
import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult;
|
||||||
import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitStatistisDto;
|
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.PatientQuestionSubmitResultVO;
|
||||||
import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitStatistisVo;
|
|
||||||
import com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO;
|
import com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 患者问卷提交结果信息Mapper接口
|
* 患者问卷提交结果信息Mapper接口
|
||||||
@ -81,5 +81,7 @@ public interface PatientQuestionSubmitResultMapper {
|
|||||||
*/
|
*/
|
||||||
List<SatisfactionSurveyVO> selectSatisfactionSurvey(SatisfactionSurveyVO satisfactionSurvey);
|
List<SatisfactionSurveyVO> selectSatisfactionSurvey(SatisfactionSurveyVO satisfactionSurvey);
|
||||||
|
|
||||||
List<PatientQuestionSubmitStatistisVo> patientQuestionSubmitStatistic(PatientQuestionSubmitStatistisDto queryDto);
|
List<DepartmentVO> departmenQuestionSubmitCount(PatientQuestionSubmitStatistisDto queryDto);
|
||||||
|
|
||||||
|
List<PatientQuestionSubmitListVo> patientQuestionSubmitList(PatientQuestionSubmitStatistisDto queryDto);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,7 +3,7 @@ package com.xinelu.manage.service.patientquestionsubmitresult;
|
|||||||
import com.xinelu.common.core.domain.AjaxResult;
|
import com.xinelu.common.core.domain.AjaxResult;
|
||||||
import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult;
|
import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult;
|
||||||
import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitStatistisDto;
|
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 com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -78,5 +78,13 @@ public interface IPatientQuestionSubmitResultService {
|
|||||||
*/
|
*/
|
||||||
AjaxResult selectQuestionnaireResult(Long patientQuestionSubmitResultId);
|
AjaxResult selectQuestionnaireResult(Long patientQuestionSubmitResultId);
|
||||||
|
|
||||||
List<PatientQuestionSubmitStatistisVo> patientQuestionSubmitStatistic(PatientQuestionSubmitStatistisDto queryDto);
|
/**
|
||||||
|
* 科室提交问卷数量
|
||||||
|
*
|
||||||
|
* @param queryDto 查询条件
|
||||||
|
* @return AjaxResult
|
||||||
|
*/
|
||||||
|
AjaxResult departmenQuestionSubmitCount(PatientQuestionSubmitStatistisDto queryDto);
|
||||||
|
|
||||||
|
List<PatientQuestionSubmitListVo> patientQuestionSubmitList(PatientQuestionSubmitStatistisDto queryDto);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,15 +2,20 @@ package com.xinelu.manage.service.patientquestionsubmitresult.impl;
|
|||||||
|
|
||||||
import com.xinelu.common.core.domain.AjaxResult;
|
import com.xinelu.common.core.domain.AjaxResult;
|
||||||
import com.xinelu.common.enums.QuestionTypeEnum;
|
import com.xinelu.common.enums.QuestionTypeEnum;
|
||||||
|
import com.xinelu.manage.domain.agency.Agency;
|
||||||
import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult;
|
import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult;
|
||||||
import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitStatistisDto;
|
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.mapper.patientquestionsubmitresult.PatientQuestionSubmitResultMapper;
|
||||||
import com.xinelu.manage.service.patientquestionsubmitresult.IPatientQuestionSubmitResultService;
|
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 com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -23,6 +28,8 @@ import org.springframework.stereotype.Service;
|
|||||||
public class PatientQuestionSubmitResultServiceImpl implements IPatientQuestionSubmitResultService {
|
public class PatientQuestionSubmitResultServiceImpl implements IPatientQuestionSubmitResultService {
|
||||||
@Resource
|
@Resource
|
||||||
private PatientQuestionSubmitResultMapper patientQuestionSubmitResultMapper;
|
private PatientQuestionSubmitResultMapper patientQuestionSubmitResultMapper;
|
||||||
|
@Resource
|
||||||
|
private AgencyMapper agencyMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询患者问卷提交结果信息
|
* 查询患者问卷提交结果信息
|
||||||
@ -116,8 +123,15 @@ public class PatientQuestionSubmitResultServiceImpl implements IPatientQuestionS
|
|||||||
return AjaxResult.success(patientQuestionSubmitResultMapper.selectResultByTaskExecuteRecordId(null, patientQuestionSubmitResultId));
|
return AjaxResult.success(patientQuestionSubmitResultMapper.selectResultByTaskExecuteRecordId(null, patientQuestionSubmitResultId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override public AjaxResult departmenQuestionSubmitCount(PatientQuestionSubmitStatistisDto queryDto) {
|
||||||
|
List<DepartmentVO> 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
|
@Override
|
||||||
public List<PatientQuestionSubmitStatistisVo> patientQuestionSubmitStatistic(PatientQuestionSubmitStatistisDto queryDto) {
|
public List<PatientQuestionSubmitListVo> patientQuestionSubmitList(PatientQuestionSubmitStatistisDto queryDto) {
|
||||||
return null;
|
return patientQuestionSubmitResultMapper.patientQuestionSubmitList(queryDto);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,12 +7,12 @@ import java.time.LocalDateTime;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 问卷统计返回视图类
|
* @description: 问卷统计列表返回视图类
|
||||||
* @author: haown
|
* @author: haown
|
||||||
* @create: 2024-10-16 15:06
|
* @create: 2024-10-16 15:06
|
||||||
**/
|
**/
|
||||||
@Data
|
@Data
|
||||||
public class PatientQuestionSubmitStatistisVo {
|
public class PatientQuestionSubmitListVo {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 患者主键
|
* 患者主键
|
||||||
@ -463,7 +463,35 @@
|
|||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="patientQuestionSubmitStatistic" resultType="com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitStatistisVo">
|
<select id="departmenQuestionSubmitCount" resultType="com.xinelu.manage.vo.department.DepartmentVO">
|
||||||
|
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
|
||||||
|
<where>
|
||||||
|
<if test="hospitalAgencyId != null ">
|
||||||
|
and dt.hospital_agency_id = #{hospitalAgencyId}
|
||||||
|
</if>
|
||||||
|
<if test="departmentId != null">
|
||||||
|
and dt.department_id = #{departmentId}
|
||||||
|
</if>
|
||||||
|
<if test="departmentName != null and departmentName != ''">
|
||||||
|
and dt.department_name like concat('%',#{departmentName},'%')
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
GROUP BY dt.id
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="patientQuestionSubmitList" resultType="com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitListVo">
|
||||||
select
|
select
|
||||||
vr.patient_id,
|
vr.patient_id,
|
||||||
vr.patient_name,
|
vr.patient_name,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user