Merge branch '3.11_院后第二增量' of http://182.92.166.109:3000/jihan/PostDischargePatientManage into 3.11_院后第二增量
Conflicts: postdischarge-manage/src/main/java/com/xinelu/manage/controller/signpatientmanageroute/SignPatientManageRouteController.java
This commit is contained in:
commit
93ae87e107
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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<SatisfactionSurveyVO> list = patientQuestionSubmitResultService.satisfactionSurvey(satisfactionSurvey);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 满意度调查问卷
|
||||
*/
|
||||
@GetMapping("/selectQuestionnaireResult")
|
||||
public AjaxResult selectQuestionnaireResult(Long patientQuestionSubmitResultId) {
|
||||
return patientQuestionSubmitResultService.selectQuestionnaireResult(patientQuestionSubmitResultId);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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() {
|
||||
|
||||
@ -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<SatisfactionSurveyVO> selectSatisfactionSurvey(SatisfactionSurveyVO satisfactionSurvey);
|
||||
}
|
||||
|
||||
@ -69,5 +69,5 @@ public interface QuestionInfoMapper {
|
||||
* @param questionnaireStatus 问卷状态
|
||||
* @return DepartmentVO
|
||||
*/
|
||||
List<DepartmentVO> departmentQuestionByDepartmentName(@Param("departmentName") String departmentName, @Param("questionnaireStatus") String questionnaireStatus);
|
||||
List<DepartmentVO> departmentQuestionByDepartmentName(@Param("departmentName") String departmentName, @Param("questionnaireStatus") String questionnaireStatus, @Param("questionType") String questionType);
|
||||
}
|
||||
|
||||
@ -17,7 +17,7 @@ public interface IPatientQuestionSubjectResultService {
|
||||
* @param id 患者问卷题目提交结果信息主键
|
||||
* @return 患者问卷题目提交结果信息
|
||||
*/
|
||||
public PatientQuestionSubjectResult selectPatientQuestionSubjectResultById(Long id);
|
||||
PatientQuestionSubjectResult selectPatientQuestionSubjectResultById(Long id);
|
||||
|
||||
/**
|
||||
* 查询患者问卷题目提交结果信息列表
|
||||
|
||||
@ -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<SatisfactionSurveyVO> satisfactionSurvey(SatisfactionSurveyVO satisfactionSurvey);
|
||||
|
||||
/**
|
||||
* 满意度调查问卷
|
||||
*
|
||||
* @param patientQuestionSubmitResultId 问卷信息
|
||||
* @return AjaxResult
|
||||
*/
|
||||
AjaxResult selectQuestionnaireResult(Long patientQuestionSubmitResultId);
|
||||
}
|
||||
|
||||
@ -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<SatisfactionSurveyVO> 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));
|
||||
}
|
||||
}
|
||||
|
||||
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -196,6 +196,9 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService {
|
||||
log.info("修改问卷题目表失败," + questionSubjects);
|
||||
throw new SecurityException("修改问卷失败!请联系管理员!");
|
||||
}
|
||||
if (CollectionUtils.isEmpty(questionSubjectOptions)) {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
List<QuestionSubjectOption> 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<DepartmentVO> department = new ArrayList<>();
|
||||
departmentVO.setDepartmentName("全部");
|
||||
departmentVO.setCountNum(0);
|
||||
List<DepartmentVO> departmentVOS = questionInfoMapper.departmentQuestionByDepartmentName(departmentName, questionnaireStatus);
|
||||
List<DepartmentVO> departmentVOS = questionInfoMapper.departmentQuestionByDepartmentName(departmentName, questionnaireStatus, questionType);
|
||||
if (CollectionUtils.isNotEmpty(departmentVOS)) {
|
||||
Integer result = departmentVOS.stream().mapToInt(DepartmentVO::getCountNum).sum();
|
||||
departmentVO.setCountNum(result);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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())) {
|
||||
|
||||
@ -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())) {
|
||||
|
||||
@ -120,5 +120,8 @@ public class ManualFollowUpVO {
|
||||
@ApiModelProperty(value = "任务执行记录id")
|
||||
private Long taskExecuteRecordId;
|
||||
|
||||
@ApiModelProperty(value = "任务处理信息")
|
||||
private String routeHandleRemark;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -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<PatientQuestionSubjectResultVO> subjectResultList;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
@ -37,6 +37,8 @@
|
||||
<result property="submitResulId" column="submitResulId"/>
|
||||
<result property="questionnaireName" column="questionnaire_name"/>
|
||||
<result property="questionnaireDescription" column="questionnaire_description"/>
|
||||
<result property="questionnaireTotalScore" column="questionnaire_total_score"/>
|
||||
<result property="totalScore" column="total_score"/>
|
||||
<collection property="subjectResultList" javaType="java.util.List"
|
||||
resultMap="PatientQuestionSubjectResultResult"/>
|
||||
</resultMap>
|
||||
@ -375,39 +377,85 @@
|
||||
<select id="selectResultByTaskExecuteRecordId"
|
||||
resultType="com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitResultVO"
|
||||
resultMap="PatientQuestionSubmitResultDTO">
|
||||
select pqsm.id submitResulId,
|
||||
pqsm.questionnaire_name,
|
||||
pqsm.questionnaire_description,
|
||||
pqsj.id subjectResult,
|
||||
pqsj.question_submit_result_id,
|
||||
pqsj.question_info_id,
|
||||
pqsj.question_number,
|
||||
pqsj.question_type,
|
||||
pqsj.question_name,
|
||||
pqsj.question_description,
|
||||
pqsj.write_description,
|
||||
pqsj.fill_blanks_answer,
|
||||
pqsj.option_count,
|
||||
pqsj.whether_score,
|
||||
pqsj.scoring_method,
|
||||
pqsj.scoring_description,
|
||||
pqsj.question_score,
|
||||
pqsj.question_sort,
|
||||
pqsj.question_remark,
|
||||
pqor.id,
|
||||
pqor.question_subject_result_id,
|
||||
pqor.questionnaire_subject_id,
|
||||
pqor.question_name,
|
||||
pqor.option_name,
|
||||
pqor.option_answer,
|
||||
pqor.option_score,
|
||||
pqor.option_choose_sign,
|
||||
pqor.option_submit_answer,
|
||||
pqor.option_sort,
|
||||
pqor.option_remark
|
||||
select
|
||||
pqsm.id submitResulId,
|
||||
pqsm.questionnaire_name,
|
||||
pqsm.questionnaire_description,
|
||||
pqsm.questionnaire_total_score,
|
||||
pqsm.total_score,
|
||||
pqsj.id subjectResult,
|
||||
pqsj.question_submit_result_id,
|
||||
pqsj.question_info_id,
|
||||
pqsj.question_number,
|
||||
pqsj.question_type,
|
||||
pqsj.question_name,
|
||||
pqsj.question_description,
|
||||
pqsj.write_description,
|
||||
pqsj.fill_blanks_answer,
|
||||
pqsj.option_count,
|
||||
pqsj.whether_score,
|
||||
pqsj.scoring_method,
|
||||
pqsj.scoring_description,
|
||||
pqsj.question_score,
|
||||
pqsj.question_sort,
|
||||
pqsj.question_remark,
|
||||
pqor.id,
|
||||
pqor.question_subject_result_id,
|
||||
pqor.questionnaire_subject_id,
|
||||
pqor.question_name,
|
||||
pqor.option_name,
|
||||
pqor.option_answer,
|
||||
pqor.option_score,
|
||||
pqor.option_choose_sign,
|
||||
pqor.option_submit_answer,
|
||||
pqor.option_sort,
|
||||
pqor.option_remark
|
||||
FROM patient_question_submit_result pqsm
|
||||
LEFT JOIN patient_question_subject_result pqsj ON pqsm.id = pqsj.question_submit_result_id
|
||||
LEFT JOIN patient_question_option_result pqor ON pqor.question_subject_result_id = pqsj.id
|
||||
where pqsm.task_execute_record_id = #{taskExecuteRecordId}
|
||||
LEFT JOIN patient_question_subject_result pqsj ON pqsm.id = pqsj.question_submit_result_id
|
||||
LEFT JOIN patient_question_option_result pqor ON pqor.question_subject_result_id = pqsj.id
|
||||
<where>
|
||||
<if test="taskExecuteRecordId != null">
|
||||
and pqsm.task_execute_record_id = #{taskExecuteRecordId}
|
||||
</if>
|
||||
<if test="patientQuestionSubmitResultId != null">
|
||||
and pqsm.id = #{patientQuestionSubmitResultId}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectSatisfactionSurvey" resultType="com.xinelu.manage.vo.patientquestionsubmitresult.SatisfactionSurveyVO">
|
||||
select
|
||||
pqsr.id patientQuestionSubmitResultId,
|
||||
pqsr.patient_name,
|
||||
pi.patient_phone,
|
||||
pi.birth_date,
|
||||
pi.card_no,
|
||||
pi.sex,
|
||||
pi.patient_type,
|
||||
pi.sign_status,
|
||||
pi.visit_method,
|
||||
pi.patient_health_state,
|
||||
pi.hospital_agency_name,
|
||||
pi.department_name
|
||||
from patient_question_submit_result pqsr
|
||||
LEFT JOIN question_info qi on pqsr.question_info_id = qi.id
|
||||
LEFT JOIN patient_info pi ON pi.id = pqsr.patient_id
|
||||
where
|
||||
pi.del_flag = 0
|
||||
<if test="questionType != null and questionType != ''">
|
||||
and qi.question_type = #{questionType}
|
||||
</if>
|
||||
<if test="patientName != null and patientName != ''">
|
||||
and pi.patient_name like concat('%', #{patientName}, '%')
|
||||
</if>
|
||||
<if test="patientPhone != null and patientPhone != ''">
|
||||
and pi.patient_phone like concat('%', #{patientPhone}, '%')
|
||||
</if>
|
||||
<if test="cardNo != null and cardNo != ''">
|
||||
and pi.card_no = #{cardNo}
|
||||
</if>
|
||||
<if test="sex != null and sex != ''">
|
||||
and pi.sex = #{sex}
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
@ -140,11 +140,11 @@
|
||||
<if test="visitMethod != null and visitMethod != ''">
|
||||
and pi.visit_method = #{visitMethod}
|
||||
</if>
|
||||
<if test="executeTime != null ">
|
||||
and pter.execute_time <= #{startDate}
|
||||
<if test="startDate != null ">
|
||||
and pter.execute_time >=#{startDate}
|
||||
</if>
|
||||
<if test="executeTime != null ">
|
||||
and pter.execute_time >= #{endDate}
|
||||
<if test="endDate != null ">
|
||||
and pter.execute_time <= #{endDate}
|
||||
</if>
|
||||
<if test="manageRouteName != null and manageRouteName != ''">
|
||||
and pter.manage_route_name like concat('%', #{manageRouteName}, '%')
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
<result property="questionnaireStatus" column="questionnaire_status"/>
|
||||
<result property="questionnaireSort" column="questionnaire_sort"/>
|
||||
<result property="questionnaireRemark" column="questionnaire_remark"/>
|
||||
<result property="questionType" column="question_type"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
@ -40,6 +41,7 @@
|
||||
questionnaire_status,
|
||||
questionnaire_sort,
|
||||
questionnaire_remark,
|
||||
question_type,
|
||||
create_by,
|
||||
create_time,
|
||||
update_by,
|
||||
@ -89,6 +91,9 @@
|
||||
<if test="questionnaireRemark != null and questionnaireRemark != ''">
|
||||
and questionnaire_remark = #{questionnaireRemark}
|
||||
</if>
|
||||
<if test="questionType != null and questionType != ''">
|
||||
and question_type = #{questionType}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
@ -128,6 +133,8 @@
|
||||
</if>
|
||||
<if test="questionnaireRemark != null">questionnaire_remark,
|
||||
</if>
|
||||
<if test="questionType != null">question_type,
|
||||
</if>
|
||||
<if test="createBy != null">create_by,
|
||||
</if>
|
||||
<if test="createTime != null">create_time,
|
||||
@ -164,6 +171,8 @@
|
||||
</if>
|
||||
<if test="questionnaireRemark != null">#{questionnaireRemark},
|
||||
</if>
|
||||
<if test="questionType != null">#{questionType},
|
||||
</if>
|
||||
<if test="createBy != null">#{createBy},
|
||||
</if>
|
||||
<if test="createTime != null">#{createTime},
|
||||
@ -217,6 +226,9 @@
|
||||
<if test="questionnaireRemark != null">questionnaire_remark =
|
||||
#{questionnaireRemark},
|
||||
</if>
|
||||
<if test="questionType != null">question_type =
|
||||
#{questionType},
|
||||
</if>
|
||||
<if test="createBy != null">create_by =
|
||||
#{createBy},
|
||||
</if>
|
||||
@ -254,10 +266,13 @@
|
||||
from department dt left join question_info qi on dt.id = qi.department_id
|
||||
<where>
|
||||
<if test="departmentName != null and departmentName != ''">
|
||||
dt.department_name like concat('%',#{departmentName},'%')
|
||||
and dt.department_name like concat('%',#{departmentName},'%')
|
||||
</if>
|
||||
<if test="questionnaireStatus != null and questionnaireStatus != ''">
|
||||
qi.questionnaire_status =#{questionnaireStatus}
|
||||
and qi.questionnaire_status =#{questionnaireStatus}
|
||||
</if>
|
||||
<if test="questionType != null and questionType != ''">
|
||||
and qi.question_type = #{questionType}
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY dt.id
|
||||
|
||||
@ -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 @@
|
||||
<if test="nodeExecuteStatus != null ">
|
||||
AND spmrn.node_execute_status = #{nodeExecuteStatus}
|
||||
</if>
|
||||
<if test="followStartTime != null ">
|
||||
AND pter.execute_time >= #{followStartTime}
|
||||
</if>
|
||||
<if test="followEndTime != null ">
|
||||
AND pter.execute_time <= #{followEndTime}
|
||||
</if>
|
||||
</where>
|
||||
order by spmr.create_time DESC
|
||||
</select>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user