统计分析--问卷查询接口。
This commit is contained in:
parent
eac4ad3a78
commit
996df74e49
@ -3,18 +3,27 @@ package com.xinelu.manage.controller.patientquestionsubmitresult;
|
||||
import com.xinelu.common.annotation.Log;
|
||||
import com.xinelu.common.core.controller.BaseController;
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.common.core.domain.R;
|
||||
import com.xinelu.common.core.page.TableDataInfo;
|
||||
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.service.patientquestionsubmitresult.IPatientQuestionSubmitResultService;
|
||||
import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitStatistisVo;
|
||||
import com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 患者问卷提交结果信息Controller
|
||||
@ -106,6 +115,13 @@ public class PatientQuestionSubmitResultController extends BaseController {
|
||||
@GetMapping("/selectQuestionnaireResult")
|
||||
public AjaxResult selectQuestionnaireResult(Long patientQuestionSubmitResultId) {
|
||||
return patientQuestionSubmitResultService.selectQuestionnaireResult(patientQuestionSubmitResultId);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 问卷统计
|
||||
*/
|
||||
@GetMapping("/patientQuestionSubmitStatistic")
|
||||
public R<List<PatientQuestionSubmitStatistisVo>> patientQuestionSubmitStatistic(PatientQuestionSubmitStatistisDto queryDto) {
|
||||
return R.ok(patientQuestionSubmitResultService.patientQuestionSubmitStatistic(queryDto));
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,44 @@
|
||||
package com.xinelu.manage.dto.patientquestionsubmitresult;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description: 问卷统计传输对象
|
||||
* @author: haown
|
||||
* @create: 2024-10-15 15:53
|
||||
**/
|
||||
@Data
|
||||
public class PatientQuestionSubmitStatistisDto {
|
||||
|
||||
/**
|
||||
* 问卷表id
|
||||
*/
|
||||
@ApiModelProperty(value = "问卷表id")
|
||||
private Long questionInfoId;
|
||||
|
||||
/**
|
||||
* 问卷标题
|
||||
*/
|
||||
@ApiModelProperty(value = "问卷标题")
|
||||
private String questionnaireName;
|
||||
|
||||
/**
|
||||
* 患者姓名
|
||||
*/
|
||||
@ApiModelProperty(value = "患者姓名")
|
||||
private String patientName;
|
||||
|
||||
/**
|
||||
* 起始时间
|
||||
*/
|
||||
@ApiModelProperty(value = "起始时间")
|
||||
private LocalDate startDate;
|
||||
|
||||
/**
|
||||
* 截至时间
|
||||
*/
|
||||
@ApiModelProperty(value = "截至时间")
|
||||
private LocalDate endDate;
|
||||
}
|
||||
@ -1,7 +1,9 @@
|
||||
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.patientquestionsubmitresult.PatientQuestionSubmitResultVO;
|
||||
import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitStatistisVo;
|
||||
import com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@ -78,4 +80,6 @@ public interface PatientQuestionSubmitResultMapper {
|
||||
* @return AjaxResult
|
||||
*/
|
||||
List<SatisfactionSurveyVO> selectSatisfactionSurvey(SatisfactionSurveyVO satisfactionSurvey);
|
||||
|
||||
List<PatientQuestionSubmitStatistisVo> patientQuestionSubmitStatistic(PatientQuestionSubmitStatistisDto queryDto);
|
||||
}
|
||||
|
||||
@ -2,8 +2,9 @@ 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.SatisfactionSurveyVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -76,4 +77,6 @@ public interface IPatientQuestionSubmitResultService {
|
||||
* @return AjaxResult
|
||||
*/
|
||||
AjaxResult selectQuestionnaireResult(Long patientQuestionSubmitResultId);
|
||||
|
||||
List<PatientQuestionSubmitStatistisVo> patientQuestionSubmitStatistic(PatientQuestionSubmitStatistisDto queryDto);
|
||||
}
|
||||
|
||||
@ -3,14 +3,15 @@ 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.dto.patientquestionsubmitresult.PatientQuestionSubmitStatistisDto;
|
||||
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.patientquestionsubmitresult.SatisfactionSurveyVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 患者问卷提交结果信息Service业务层处理
|
||||
@ -114,4 +115,9 @@ public class PatientQuestionSubmitResultServiceImpl implements IPatientQuestionS
|
||||
public AjaxResult selectQuestionnaireResult(Long patientQuestionSubmitResultId) {
|
||||
return AjaxResult.success(patientQuestionSubmitResultMapper.selectResultByTaskExecuteRecordId(null, patientQuestionSubmitResultId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PatientQuestionSubmitStatistisVo> patientQuestionSubmitStatistic(PatientQuestionSubmitStatistisDto queryDto) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,96 @@
|
||||
package com.xinelu.manage.vo.patientquestionsubmitresult;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description: 问卷统计返回视图类
|
||||
* @author: haown
|
||||
* @create: 2024-10-16 15:06
|
||||
**/
|
||||
@Data
|
||||
public class PatientQuestionSubmitStatistisVo {
|
||||
|
||||
/**
|
||||
* 患者主键
|
||||
*/
|
||||
@ApiModelProperty(value = "患者主键")
|
||||
private Long patientId;
|
||||
|
||||
/** 身份证号 */
|
||||
@ApiModelProperty(value = "身份证号")
|
||||
private String cardNo;
|
||||
|
||||
/** 姓名 */
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String patientName;
|
||||
|
||||
/** 就诊类型,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL */
|
||||
@ApiModelProperty(value = "就诊类型,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL")
|
||||
private String visitMethod;
|
||||
|
||||
/** 所属医院id */
|
||||
@ApiModelProperty(value = "所属医院id")
|
||||
private Long hospitalAgencyId;
|
||||
|
||||
/** 所属医院名称 */
|
||||
@ApiModelProperty(value = "所属医院名称")
|
||||
private String hospitalAgencyName;
|
||||
|
||||
/** 所属科室id */
|
||||
@ApiModelProperty(value = "所属科室id")
|
||||
private Long departmentId;
|
||||
|
||||
/** 所属科室名称 */
|
||||
@ApiModelProperty(value = "所属科室名称")
|
||||
private String departmentName;
|
||||
|
||||
/** 入院时间 */
|
||||
@ApiModelProperty(value = "入院时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||
private LocalDateTime admissionTime;
|
||||
|
||||
/** 出院时间 */
|
||||
@ApiModelProperty(value = "出院时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||
private LocalDateTime dischargeTime;
|
||||
|
||||
/** 门诊/住院号 */
|
||||
@ApiModelProperty(value = "门诊/住院号")
|
||||
private String inHospitalNumber;
|
||||
|
||||
/**
|
||||
* 患者问卷提交结果表id
|
||||
*/
|
||||
@ApiModelProperty(value = "患者问卷提交结果表id")
|
||||
private Long patientQuestionSubmitResultId;
|
||||
|
||||
/**
|
||||
* 问卷表id
|
||||
*/
|
||||
@ApiModelProperty(value = "问卷表id")
|
||||
private Long questionInfoId;
|
||||
|
||||
/**
|
||||
* 问卷标题
|
||||
*/
|
||||
@ApiModelProperty(value = "问卷标题")
|
||||
private String questionnaireName;
|
||||
|
||||
/**
|
||||
* 问卷总得分,根据患者提交问卷得出的分值
|
||||
*/
|
||||
@ApiModelProperty(value = "问卷总得分,根据患者提交问卷得出的分值")
|
||||
private BigDecimal totalScore;
|
||||
|
||||
/**
|
||||
* 问卷时间
|
||||
*/
|
||||
@ApiModelProperty(value = "问卷时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@ -462,4 +462,40 @@
|
||||
and pi.sex = #{sex}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="patientQuestionSubmitStatistic" resultType="com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitStatistisVo">
|
||||
select
|
||||
vr.patient_id,
|
||||
vr.patient_name,
|
||||
vr.card_no,
|
||||
vr.visit_method,
|
||||
vr.hospital_agency_id,
|
||||
vr.hospital_agency_name,
|
||||
vr.department_id,
|
||||
vr.department_name,
|
||||
vr.admission_time,
|
||||
vr.discharge_time,
|
||||
vr.in_hospital_number,
|
||||
pqsr.id as patientQuestionSubmitResultId,
|
||||
pqsr.question_info_id,
|
||||
pqsr.questionnaire_name,
|
||||
pqsr.total_score,
|
||||
pqsr.create_time
|
||||
from patient_question_submit_result pqsr
|
||||
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
|
||||
left join patient_visit_record vr on record.patient_visit_record_id = vr.id
|
||||
<if test="questionInfoId != null">
|
||||
and pqsr.question_info_id = #{questionInfoId}
|
||||
</if>
|
||||
<if test="patientName != null and patientName != ''">
|
||||
and vr.patient_name like concat('%', #{patientName}, '%')
|
||||
</if>
|
||||
<if test="startDate != null">
|
||||
and pqsr.create_time >=#{startDate}
|
||||
</if>
|
||||
<if test="endDate != null ">
|
||||
and pqsr.create_time <= #{endDate}
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue
Block a user