Merge branch '3.11_院后第二增量' of http://182.92.166.109:3000/jihan/PostDischargePatientManage into 3.11_院后第二增量
This commit is contained in:
commit
b357b669cd
@ -223,4 +223,9 @@ public class Constants {
|
||||
* 字段内容编码前缀
|
||||
*/
|
||||
public static final String CONTENT_ENCODING = "CE";
|
||||
|
||||
/**
|
||||
* 路径编码
|
||||
*/
|
||||
public static final String ROUTE_CODE = "RC";
|
||||
}
|
||||
|
||||
@ -0,0 +1,44 @@
|
||||
package com.xinelu.common.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Description 任务内容
|
||||
* @Author zh
|
||||
* @Date 2024-04-07
|
||||
*/
|
||||
@Getter
|
||||
public enum TaskContentEnum {
|
||||
|
||||
/**
|
||||
* 电话外呼
|
||||
*/
|
||||
PHONE_OUTBOUND("PHONE_OUTBOUND"),
|
||||
|
||||
/**
|
||||
* 问卷量表
|
||||
*/
|
||||
QUESTIONNAIRE_SCALE("QUESTIONNAIRE_SCALE"),
|
||||
|
||||
/**
|
||||
* 宣教文章
|
||||
*/
|
||||
PROPAGANDA_ARTICLE("PROPAGANDA_ARTICLE"),
|
||||
|
||||
/**
|
||||
* 文字提醒
|
||||
*/
|
||||
TEXT_REMIND("TEXT_REMIND"),
|
||||
|
||||
/**
|
||||
* 人工随访
|
||||
*/
|
||||
ARTIFICIAL_FOLLOW_UP("ARTIFICIAL_FOLLOW_UP"),
|
||||
;
|
||||
|
||||
final private String info;
|
||||
|
||||
TaskContentEnum(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.signpatientmanageroute.SignPatientManageRoute;
|
||||
import com.xinelu.manage.dto.manualfollowup.ManualFollowUpDTO;
|
||||
import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO;
|
||||
import com.xinelu.manage.service.signpatientmanageroute.ISignPatientManageRouteService;
|
||||
import com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO;
|
||||
import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO;
|
||||
@ -102,4 +103,21 @@ public class SignPatientManageRouteController extends BaseController {
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询人工随访患者基本信息
|
||||
*/
|
||||
@GetMapping("/selectFollowPatientInfo/{id}")
|
||||
public AjaxResult selectFollowPatientInfo(@PathVariable Long id) {
|
||||
return signPatientManageRouteService.selectFollowPatientInfo(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 人工随访代办处理
|
||||
*/
|
||||
@PostMapping("/addPatientQuestionResult")
|
||||
public AjaxResult addPatientQuestionResult(@RequestBody PatientQuestionSubmitResultDTO dto) {
|
||||
return signPatientManageRouteService.addPatientQuestionResult(dto);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 专病路径-管理节点信息Controller
|
||||
@ -95,6 +96,9 @@ public class SpecialDiseaseNodeController extends BaseController {
|
||||
*/
|
||||
@GetMapping("/selectSpecialDisease")
|
||||
public AjaxResult selectSpecialDisease(Long specialDiseaseRouteId) {
|
||||
if (Objects.isNull(specialDiseaseRouteId)) {
|
||||
return AjaxResult.error("请选择查询的专病路径信息!");
|
||||
}
|
||||
return specialDiseaseNodeService.selectSpecialDisease(specialDiseaseRouteId);
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,14 +5,13 @@ import com.xinelu.common.core.controller.BaseController;
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
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.specialdiseaseroute.SpecialDiseaseRoute;
|
||||
import com.xinelu.manage.service.specialdiseaseroute.ISpecialDiseaseRouteService;
|
||||
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -34,22 +33,10 @@ public class SpecialDiseaseRouteController extends BaseController {
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(SpecialDiseaseRoute specialDiseaseRoute) {
|
||||
startPage();
|
||||
List<SpecialDiseaseRoute> list = specialDiseaseRouteService.selectSpecialDiseaseRouteList(specialDiseaseRoute);
|
||||
List<SpecialDiseaseRouteVO> list = specialDiseaseRouteService.selectSpecialDiseaseRouteList(specialDiseaseRoute);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出专病路径信息列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:specialDiseaseRoute:export')")
|
||||
@Log(title = "专病路径信息", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, SpecialDiseaseRoute specialDiseaseRoute) {
|
||||
List<SpecialDiseaseRoute> list = specialDiseaseRouteService.selectSpecialDiseaseRouteList(specialDiseaseRoute);
|
||||
ExcelUtil<SpecialDiseaseRoute> util = new ExcelUtil<SpecialDiseaseRoute>(SpecialDiseaseRoute.class);
|
||||
util.exportExcel(response, list, "专病路径信息数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取专病路径信息详细信息
|
||||
*/
|
||||
@ -84,9 +71,9 @@ public class SpecialDiseaseRouteController extends BaseController {
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:specialDiseaseRoute:remove')")
|
||||
@Log(title = "专病路径信息", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable Long[] ids) {
|
||||
return toAjax(specialDiseaseRouteService.deleteSpecialDiseaseRouteByIds(ids));
|
||||
@DeleteMapping("/{id}")
|
||||
public AjaxResult remove(@PathVariable Long id) {
|
||||
return specialDiseaseRouteService.deleteSpecialDiseaseRouteById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -12,7 +12,7 @@ import lombok.NoArgsConstructor;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import java.util.Date;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
/**
|
||||
@ -89,7 +89,7 @@ public class PatientTaskExecuteRecord extends BaseEntity {
|
||||
@ApiModelProperty(value = "任务执行时间,格式:yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "任务执行时间,格式:yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date executeTime;
|
||||
private LocalDateTime executeTime;
|
||||
|
||||
/**
|
||||
* 执行人姓名,手动执行时记录
|
||||
|
||||
@ -40,6 +40,16 @@ public class DepartmentDTO extends BaseEntity {
|
||||
@ApiModelProperty(value = "科室代码")
|
||||
private String departmentCode;
|
||||
|
||||
/**
|
||||
* 短信上下架
|
||||
*/
|
||||
private String textMessageStatus;
|
||||
|
||||
/**
|
||||
* 微信状态
|
||||
*/
|
||||
private String templateSource;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
|
||||
@ -3,8 +3,9 @@ package com.xinelu.manage.dto.manualfollowup;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 人工随访查询DTO
|
||||
@ -15,14 +16,15 @@ import java.time.LocalDateTime;
|
||||
@Data
|
||||
public class ManualFollowUpDTO {
|
||||
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "随访开始时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime followStartTime;
|
||||
private LocalDate followStartTime;
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "随访结束时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime followEndTime;
|
||||
private LocalDate followEndTime;
|
||||
|
||||
@ApiModelProperty(value = "患者姓名")
|
||||
private String patientName;
|
||||
@ -42,35 +44,41 @@ public class ManualFollowUpDTO {
|
||||
@ApiModelProperty(value = "所属病区id")
|
||||
private Long wardId;
|
||||
|
||||
@ApiModelProperty(value = "就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL")
|
||||
private String visitMethod;
|
||||
@ApiModelProperty(value = "患者类型,在院患者:IN_HOSPITAL_PATIENT,门诊患者:OUTPATIENT,出院患者:DISCHARGED_PATIENT")
|
||||
private String patientType;
|
||||
|
||||
@ApiModelProperty(value = "就诊流水号")
|
||||
private String visitSerialNumber;
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "入院开始时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime admissionStartTime;
|
||||
private LocalDate admissionStartTime;
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "入院结束时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime admissionEndTime;
|
||||
private LocalDate admissionEndTime;
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "门诊(门诊患者)开始时间")
|
||||
private LocalDateTime clinicalStartTime;
|
||||
private LocalDate clinicalStartTime;
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "门诊(门诊患者)结束时间")
|
||||
private LocalDateTime clinicalEndTime;
|
||||
private LocalDate clinicalEndTime;
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "出院时间(出院患者)开始时间")
|
||||
private LocalDateTime dischargeStartTime;
|
||||
private LocalDate dischargeStartTime;
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "出院时间(出院患者)结束时间")
|
||||
private LocalDateTime dischargeEndTime;
|
||||
private LocalDate dischargeEndTime;
|
||||
|
||||
@ApiModelProperty(value = "主要诊断")
|
||||
private String mainDiagnosis;
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
package com.xinelu.manage.dto.patientquestionoptionresult;
|
||||
|
||||
import com.xinelu.manage.domain.patientquestionoptionresult.PatientQuestionOptionResult;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 患者问卷题目选项提交结果DTO
|
||||
*
|
||||
* @author : youxilong
|
||||
* @date : 2024/4/7 14:52
|
||||
*/
|
||||
@Data
|
||||
public class PatientQuestionOptionResultDTO extends PatientQuestionOptionResult {
|
||||
|
||||
/**
|
||||
* 题目序号
|
||||
*/
|
||||
private BigDecimal questionNumber;
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
package com.xinelu.manage.dto.patientquestionsubjectresult;
|
||||
|
||||
import com.xinelu.manage.domain.patientquestionsubjectresult.PatientQuestionSubjectResult;
|
||||
import com.xinelu.manage.dto.patientquestionoptionresult.PatientQuestionOptionResultDTO;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 患者问卷题目提交结果信息DTO
|
||||
*
|
||||
* @author : youxilong
|
||||
* @date : 2024/4/7 13:54
|
||||
*/
|
||||
@Data
|
||||
public class PatientQuestionSubjectResultDTO extends PatientQuestionSubjectResult {
|
||||
|
||||
/**
|
||||
* 患者问卷题目选项提交结果信息
|
||||
*/
|
||||
private List<PatientQuestionOptionResultDTO> optionResultList;
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package com.xinelu.manage.dto.patientquestionsubmitresult;
|
||||
|
||||
import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult;
|
||||
import com.xinelu.manage.dto.patientquestionsubjectresult.PatientQuestionSubjectResultDTO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 患者问卷提交结果信息表DTO
|
||||
*
|
||||
* @author : youxilong
|
||||
* @date : 2024/4/7 13:48
|
||||
*/
|
||||
@Data
|
||||
public class PatientQuestionSubmitResultDTO extends PatientQuestionSubmitResult {
|
||||
|
||||
@ApiModelProperty(value = "任务类型,电话外呼:PHONE_OUTBOUND,问卷量表:QUESTIONNAIRE_SCALE,人工随访:ARTIFICIAL_FOLLOW_UP")
|
||||
private String taskType;
|
||||
|
||||
@ApiModelProperty(value = "任务处理人id")
|
||||
private Long routeHandleId;
|
||||
|
||||
@ApiModelProperty(value = "任务处理人姓名")
|
||||
private String routeHandlePerson;
|
||||
|
||||
@ApiModelProperty(value = "任务处理信息")
|
||||
private String routeHandleRemark;
|
||||
|
||||
/**
|
||||
* 患者问卷题目提交结果信息
|
||||
*/
|
||||
private List<PatientQuestionSubjectResultDTO> subjectResultDTOList;
|
||||
}
|
||||
@ -58,4 +58,10 @@ public interface PatientQuestionOptionResultMapper {
|
||||
* @return 结果
|
||||
*/
|
||||
int deletePatientQuestionOptionResultByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
*批量新增问卷题目选项提交结果
|
||||
*/
|
||||
int saveQuestionOptionList(List<PatientQuestionOptionResult> saveQuestionSubjectOptions);
|
||||
|
||||
}
|
||||
|
||||
@ -58,4 +58,10 @@ public interface PatientQuestionSubjectResultMapper {
|
||||
* @return 结果
|
||||
*/
|
||||
int deletePatientQuestionSubjectResultByIds(Long[] ids);
|
||||
|
||||
|
||||
/**
|
||||
* 批量新增患者问卷题目提交结果信息
|
||||
*/
|
||||
int saveQuestionSubjectList(List<PatientQuestionSubjectResult> patientQuestionSubjectResults);
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.xinelu.manage.mapper.patientquestionsubmitresult;
|
||||
|
||||
import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult;
|
||||
import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitResultDTO;
|
||||
import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitResultVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -64,7 +64,7 @@ public interface PatientQuestionSubmitResultMapper {
|
||||
* 根据任务执行记录查询患者问卷信息
|
||||
*
|
||||
* @param taskExecuteRecordId 患者管理任务执行记录表id
|
||||
* @return PatientQuestionSubmitResultDTO
|
||||
* @return PatientQuestionSubmitResultVO
|
||||
*/
|
||||
PatientQuestionSubmitResultDTO selectResultByTaskExecuteRecordId(Long taskExecuteRecordId);
|
||||
PatientQuestionSubmitResultVO selectResultByTaskExecuteRecordId(Long taskExecuteRecordId);
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ package com.xinelu.manage.mapper.signpatientmanageroute;
|
||||
|
||||
import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
|
||||
import com.xinelu.manage.dto.manualfollowup.ManualFollowUpDTO;
|
||||
import com.xinelu.manage.vo.manualfollowup.ManualFollowPatientVO;
|
||||
import com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO;
|
||||
|
||||
import java.util.List;
|
||||
@ -69,4 +70,10 @@ public interface SignPatientManageRouteMapper {
|
||||
*/
|
||||
List<ManualFollowUpVO> selectManualFollowUpList(ManualFollowUpDTO manualFollowUpDTO);
|
||||
|
||||
/**
|
||||
* 查询人工随访患者基本信息
|
||||
* @param id 签约患者管理任务表id
|
||||
* @return ManualFollowPatientVO 人工随访基本信息VO
|
||||
*/
|
||||
ManualFollowPatientVO selectFollowPatientInfo(Long id);
|
||||
}
|
||||
|
||||
@ -62,6 +62,13 @@ public interface SpecialDiseaseNodeMapper {
|
||||
*/
|
||||
int deleteSpecialDiseaseNodeByIds(Long[] ids);
|
||||
|
||||
|
||||
/**
|
||||
* 批量新增专病路径
|
||||
*
|
||||
* @param specialDiseaseNodeList 数据集合
|
||||
* @return int
|
||||
*/
|
||||
int insertSpecialDiseaseNodeList(List<SpecialDiseaseNodeVO> specialDiseaseNodeList);
|
||||
|
||||
/**
|
||||
|
||||
@ -29,6 +29,14 @@ public interface SpecialDiseaseRouteMapper {
|
||||
*/
|
||||
List<SpecialDiseaseRoute> selectSpecialDiseaseRouteList(SpecialDiseaseRoute specialDiseaseRoute);
|
||||
|
||||
/**
|
||||
* 查询专病路径信息列表
|
||||
*
|
||||
* @param specialDiseaseRoute 专病路径信息
|
||||
* @return 专病路径信息集合
|
||||
*/
|
||||
List<SpecialDiseaseRouteVO> selectDiseaseRouteList(SpecialDiseaseRoute specialDiseaseRoute);
|
||||
|
||||
/**
|
||||
* 新增专病路径信息
|
||||
*
|
||||
|
||||
@ -12,6 +12,7 @@ import com.xinelu.manage.mapper.labelfieldcontent.LabelFieldContentMapper;
|
||||
import com.xinelu.manage.service.labelfieldcontent.ILabelFieldContentService;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
@ -72,6 +73,7 @@ public class LabelFieldContentServiceImpl implements ILabelFieldContentService {
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int updateLabelFieldContent(LabelFieldContent labelFieldContent) {
|
||||
if (ObjectUtils.isEmpty(labelFieldContentMapper.selectLabelFieldContentById(labelFieldContent.getId()))) {
|
||||
throw new ServiceException("当前字段内容不存在,无法修改,请联系管理员");
|
||||
@ -112,6 +114,7 @@ public class LabelFieldContentServiceImpl implements ILabelFieldContentService {
|
||||
* 批量新增标签字段内容信息
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int insertLabelFieldContents(LabelFieldContentAddDTO labelFieldContentAddDTO) {
|
||||
// 获取到标签字段内容信息集合
|
||||
List<LabelFieldContentDTO> fieldContentList = labelFieldContentAddDTO.getFieldContentList();
|
||||
|
||||
@ -111,7 +111,7 @@ public class PatientTaskExecuteRecordServiceImpl implements IPatientTaskExecuteR
|
||||
* 根据任务执行记录查询患者问卷信息
|
||||
*
|
||||
* @param taskExecuteRecordId 患者管理任务执行记录表id
|
||||
* @return PatientQuestionSubmitResultDTO
|
||||
* @return PatientQuestionSubmitResultVO
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult selectPatientQuestionSubmit(Long taskExecuteRecordId) {
|
||||
|
||||
@ -3,6 +3,7 @@ package com.xinelu.manage.service.signpatientmanageroute;
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
|
||||
import com.xinelu.manage.dto.manualfollowup.ManualFollowUpDTO;
|
||||
import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO;
|
||||
import com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO;
|
||||
import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO;
|
||||
|
||||
@ -71,4 +72,17 @@ public interface ISignPatientManageRouteService {
|
||||
*/
|
||||
List<ManualFollowUpVO> selectManualFollowUpList(ManualFollowUpDTO manualFollowUpDTO);
|
||||
|
||||
/**
|
||||
* 查询人工随访患者基本信息
|
||||
* @param id 签约患者管理任务表id
|
||||
* @return 人工随访患者基本信息
|
||||
*/
|
||||
AjaxResult selectFollowPatientInfo(Long id);
|
||||
|
||||
/**
|
||||
* 人工随访代办处理
|
||||
* @param dto 患者问卷提交结果信息表DTO
|
||||
* @return 结果
|
||||
*/
|
||||
AjaxResult addPatientQuestionResult(PatientQuestionSubmitResultDTO dto);
|
||||
}
|
||||
|
||||
@ -1,19 +1,42 @@
|
||||
package com.xinelu.manage.service.signpatientmanageroute.impl;
|
||||
|
||||
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.exception.ServiceException;
|
||||
import com.xinelu.common.utils.AgeUtil;
|
||||
import com.xinelu.common.utils.SecurityUtils;
|
||||
import com.xinelu.common.utils.bean.BeanUtils;
|
||||
import com.xinelu.manage.domain.patientquestionoptionresult.PatientQuestionOptionResult;
|
||||
import com.xinelu.manage.domain.patientquestionsubjectresult.PatientQuestionSubjectResult;
|
||||
import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult;
|
||||
import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord;
|
||||
import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
|
||||
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
|
||||
import com.xinelu.manage.dto.manualfollowup.ManualFollowUpDTO;
|
||||
import com.xinelu.manage.dto.patientquestionoptionresult.PatientQuestionOptionResultDTO;
|
||||
import com.xinelu.manage.dto.patientquestionsubjectresult.PatientQuestionSubjectResultDTO;
|
||||
import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO;
|
||||
import com.xinelu.manage.mapper.patientquestionoptionresult.PatientQuestionOptionResultMapper;
|
||||
import com.xinelu.manage.mapper.patientquestionsubjectresult.PatientQuestionSubjectResultMapper;
|
||||
import com.xinelu.manage.mapper.patientquestionsubmitresult.PatientQuestionSubmitResultMapper;
|
||||
import com.xinelu.manage.mapper.patienttaskexecuterecord.PatientTaskExecuteRecordMapper;
|
||||
import com.xinelu.manage.mapper.signpatientmanageroute.SignPatientManageRouteMapper;
|
||||
import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper;
|
||||
import com.xinelu.manage.service.signpatientmanageroute.ISignPatientManageRouteService;
|
||||
import com.xinelu.manage.vo.manualfollowup.ManualFollowPatientVO;
|
||||
import com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO;
|
||||
import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import javax.annotation.Resource;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
/**
|
||||
@ -28,6 +51,14 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
|
||||
private SignPatientManageRouteMapper signPatientManageRouteMapper;
|
||||
@Resource
|
||||
private SignPatientManageRouteNodeMapper signPatientManageRouteNodeMapper;
|
||||
@Resource
|
||||
private PatientTaskExecuteRecordMapper patientTaskExecuteRecordMapper;
|
||||
@Resource
|
||||
private PatientQuestionSubmitResultMapper patientQuestionSubmitResultMapper;
|
||||
@Resource
|
||||
private PatientQuestionSubjectResultMapper patientQuestionSubjectResultMapper;
|
||||
@Resource
|
||||
private PatientQuestionOptionResultMapper patientQuestionOptionResultMapper;
|
||||
|
||||
/**
|
||||
* 查询签约患者管理任务路径
|
||||
@ -141,4 +172,130 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
|
||||
public List<ManualFollowUpVO> selectManualFollowUpList(ManualFollowUpDTO manualFollowUpDTO) {
|
||||
return signPatientManageRouteMapper.selectManualFollowUpList(manualFollowUpDTO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询人工随访患者基本信息
|
||||
*
|
||||
* @param id 签约患者管理任务表id
|
||||
* @return 人工随访患者基本信息VO
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult selectFollowPatientInfo(Long id) {
|
||||
ManualFollowPatientVO patientVO = signPatientManageRouteMapper.selectFollowPatientInfo(id);
|
||||
// 设置年龄
|
||||
patientVO.setAge(AgeUtil.getAgeMonth(patientVO.getBirthDate().toString()));
|
||||
if (ObjectUtils.isEmpty(patientVO)) {
|
||||
return AjaxResult.error("患者信息不存在!");
|
||||
}
|
||||
return AjaxResult.success(patientVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 人工随访代办处理
|
||||
*
|
||||
* @param dto 患者问卷提交结果信息表DTO
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult addPatientQuestionResult(PatientQuestionSubmitResultDTO dto) {
|
||||
String routeHandlePerson = dto.getRouteHandlePerson();
|
||||
LocalDateTime time = LocalDateTime.now();
|
||||
// 如果任务类型是电话外呼,更新节点任务表,新增患者管理任务执行记录
|
||||
if (dto.getTaskType().equals(TaskContentEnum.PHONE_OUTBOUND.getInfo())) {
|
||||
// 更新节点任务表
|
||||
updateSignPatientManageRouteNode(dto, routeHandlePerson, time);
|
||||
// 新增患者管理任务执行记录
|
||||
insertPatientTaskExecuteRecord(dto, routeHandlePerson, time);
|
||||
} else {
|
||||
// 如果任务类型不是电话外呼(人工随访,问卷量表),新增问卷提交结果表(题目,选项表),更新节点任务表,新增患者管理任务执行记录
|
||||
PatientQuestionSubmitResult patientQuestionSubmitResult = new PatientQuestionSubmitResult();
|
||||
BeanUtils.copyBeanProp(patientQuestionSubmitResult, dto);
|
||||
patientQuestionSubmitResult.setCreateBy(routeHandlePerson);
|
||||
patientQuestionSubmitResult.setCreateTime(time);
|
||||
// 新增患者问卷提交结果
|
||||
if (patientQuestionSubmitResultMapper.insertPatientQuestionSubmitResult(patientQuestionSubmitResult) <= 0) {
|
||||
throw new ServiceException("新增患者问卷提交结果失败");
|
||||
}
|
||||
// 获取到患者问卷题目提交结果信息DTO
|
||||
List<PatientQuestionSubjectResultDTO> subjectResultList = dto.getSubjectResultDTOList();
|
||||
// 初始化患者问卷题目提交结果信息
|
||||
List<PatientQuestionSubjectResult> patientQuestionSubjectResults = new ArrayList<>();
|
||||
// 获取到患者问卷题目选项提交结果DTO
|
||||
List<PatientQuestionOptionResultDTO> patientQuestionOptionResults = new ArrayList<>();
|
||||
for (PatientQuestionSubjectResultDTO questionSubjectResult : subjectResultList) {
|
||||
PatientQuestionSubjectResult saveQuestionSubject = new PatientQuestionSubjectResult();
|
||||
BeanUtils.copyBeanProp(saveQuestionSubject, questionSubjectResult);
|
||||
saveQuestionSubject.setQuestionSubmitResultId(patientQuestionSubmitResult.getId());
|
||||
saveQuestionSubject.setCreateBy(routeHandlePerson);
|
||||
saveQuestionSubject.setCreateTime(time);
|
||||
patientQuestionSubjectResults.add(saveQuestionSubject);
|
||||
patientQuestionOptionResults.addAll(questionSubjectResult.getOptionResultList());
|
||||
}
|
||||
// 新增患者问卷题目提交结果
|
||||
if (patientQuestionSubjectResultMapper.saveQuestionSubjectList(patientQuestionSubjectResults) <= 0) {
|
||||
throw new ServiceException("新增患者问卷题目提交结果失败");
|
||||
}
|
||||
// 初始化患者问卷题目选项提交结果
|
||||
List<PatientQuestionOptionResult> saveQuestionSubjectOptions = new ArrayList<>();
|
||||
for (PatientQuestionOptionResultDTO patientQuestionOptionResult : patientQuestionOptionResults) {
|
||||
PatientQuestionOptionResult saveQuestionOption = new PatientQuestionOptionResult();
|
||||
BeanUtils.copyBeanProp(saveQuestionOption, patientQuestionOptionResult);
|
||||
// 从已保存的患者问卷题目结果列表中查找当前选项所对应的题目结果
|
||||
PatientQuestionSubjectResult patientQuestionSubjectResult = patientQuestionSubjectResults.stream().
|
||||
filter(Objects::nonNull).
|
||||
filter(item -> Objects.nonNull(item.getQuestionNumber()) && patientQuestionOptionResult.getQuestionNumber().
|
||||
compareTo(item.getQuestionNumber()) == 0).findFirst().orElse(new PatientQuestionSubjectResult());
|
||||
saveQuestionOption.setQuestionSubjectResultId(patientQuestionSubjectResult.getId());
|
||||
saveQuestionOption.setCreateTime(time);
|
||||
saveQuestionOption.setCreateBy(routeHandlePerson);
|
||||
saveQuestionSubjectOptions.add(saveQuestionOption);
|
||||
}
|
||||
// 新增患者问卷题目选项提交结果
|
||||
if (patientQuestionOptionResultMapper.saveQuestionOptionList(saveQuestionSubjectOptions) <= 0) {
|
||||
throw new ServiceException("新增患者问卷题目选项提交结果失败");
|
||||
}
|
||||
// 更新节点任务表
|
||||
updateSignPatientManageRouteNode(dto, routeHandlePerson, time);
|
||||
// 新增患者管理任务执行记录
|
||||
insertPatientTaskExecuteRecord(dto, routeHandlePerson, time);
|
||||
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增患者管理任务执行记录
|
||||
*/
|
||||
private void insertPatientTaskExecuteRecord(PatientQuestionSubmitResultDTO dto, String routeHandlePerson, LocalDateTime time) {
|
||||
PatientTaskExecuteRecord patientTaskExecuteRecord = new PatientTaskExecuteRecord();
|
||||
BeanUtils.copyProperties(dto, patientTaskExecuteRecord);
|
||||
patientTaskExecuteRecord.setTaskContent(dto.getTaskType());
|
||||
patientTaskExecuteRecord.setExecuteTime(time);
|
||||
patientTaskExecuteRecord.setExecutePerson(routeHandlePerson);
|
||||
patientTaskExecuteRecord.setExecuteType(TaskCreateTypeConstant.MANUAL_CREATE);
|
||||
patientTaskExecuteRecord.setCreateBy(routeHandlePerson);
|
||||
patientTaskExecuteRecord.setCreateTime(time);
|
||||
if (patientTaskExecuteRecordMapper.insertPatientTaskExecuteRecord(patientTaskExecuteRecord) <= 0) {
|
||||
throw new ServiceException("新增患者管理任务记录失败");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新节点任务表
|
||||
*/
|
||||
private void updateSignPatientManageRouteNode(PatientQuestionSubmitResultDTO dto, String routeHandlePerson, LocalDateTime time) {
|
||||
SignPatientManageRouteNode signPatientManageRouteNode = signPatientManageRouteNodeMapper.selectSignPatientManageRouteNodeById(dto.getManageRouteNodeId());
|
||||
signPatientManageRouteNode.setNodeExecuteStatus(NodeExecuteStatusEnum.EXECUTED.toString());
|
||||
signPatientManageRouteNode.setRouteHandleRemark(dto.getRouteHandleRemark());
|
||||
signPatientManageRouteNode.setRouteHandleId(dto.getRouteHandleId());
|
||||
signPatientManageRouteNode.setRouteHandlePerson(routeHandlePerson);
|
||||
signPatientManageRouteNode.setCreateBy(routeHandlePerson);
|
||||
signPatientManageRouteNode.setCreateTime(time);
|
||||
// 更新节点任务表
|
||||
if (signPatientManageRouteNodeMapper.updateSignPatientManageRouteNode(signPatientManageRouteNode) <= 0) {
|
||||
throw new ServiceException("更新节点任务表失败");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -6,8 +6,10 @@ import com.xinelu.common.utils.SecurityUtils;
|
||||
import com.xinelu.common.utils.bean.BeanUtils;
|
||||
import com.xinelu.manage.domain.specialdiseasenode.SpecialDiseaseNode;
|
||||
import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute;
|
||||
import com.xinelu.manage.domain.specialdiseasetriggercondition.SpecialDiseaseTriggerCondition;
|
||||
import com.xinelu.manage.mapper.specialdiseasenode.SpecialDiseaseNodeMapper;
|
||||
import com.xinelu.manage.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper;
|
||||
import com.xinelu.manage.mapper.specialdiseasetriggercondition.SpecialDiseaseTriggerConditionMapper;
|
||||
import com.xinelu.manage.service.specialdiseasenode.ISpecialDiseaseNodeService;
|
||||
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -16,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -31,6 +34,8 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
|
||||
private SpecialDiseaseNodeMapper specialDiseaseNodeMapper;
|
||||
@Resource
|
||||
private SpecialDiseaseRouteMapper specialDiseaseRouteMapper;
|
||||
@Resource
|
||||
private SpecialDiseaseTriggerConditionMapper triggerConditionMapper;
|
||||
|
||||
|
||||
/**
|
||||
@ -81,6 +86,17 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
|
||||
if (insertNodeCount < 0) {
|
||||
throw new ServiceException("新增专病路径管理节点信息失败");
|
||||
}
|
||||
List<SpecialDiseaseTriggerCondition> specialDiseaseTriggerConditions = new ArrayList<>();
|
||||
for (SpecialDiseaseTriggerCondition triggerCondition : specialDiseaseNode.getTriggerConditionList()) {
|
||||
triggerCondition.setRouteId(specialDiseaseRoute.getId());
|
||||
triggerCondition.setCreateTime(LocalDateTime.now());
|
||||
triggerCondition.setCreateBy(SecurityUtils.getUsername());
|
||||
specialDiseaseTriggerConditions.add(triggerCondition);
|
||||
}
|
||||
int triggerConditionCount = triggerConditionMapper.insertTriggerConditionList(specialDiseaseTriggerConditions);
|
||||
if (triggerConditionCount < 0) {
|
||||
throw new ServiceException("新增专病路径管理节点信息失败");
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
@ -117,6 +133,22 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
|
||||
log.info("新增管理节点信息失败");
|
||||
throw new ServiceException("修改专病路径管理节点信息失败");
|
||||
}
|
||||
int deleteCondition = triggerConditionMapper.deleteSpecialDiseaseTriggerConditionByRouteId(specialDiseaseRoute.getId());
|
||||
if (deleteCondition < 0) {
|
||||
log.info("删除管理节点信息失败");
|
||||
throw new ServiceException("修改专病路径管理节点信息失败");
|
||||
}
|
||||
List<SpecialDiseaseTriggerCondition> specialDiseaseTriggerConditions = new ArrayList<>();
|
||||
for (SpecialDiseaseTriggerCondition triggerCondition : specialDiseaseNode.getTriggerConditionList()) {
|
||||
triggerCondition.setRouteId(specialDiseaseRoute.getId());
|
||||
triggerCondition.setCreateTime(LocalDateTime.now());
|
||||
triggerCondition.setCreateBy(SecurityUtils.getUsername());
|
||||
specialDiseaseTriggerConditions.add(triggerCondition);
|
||||
}
|
||||
int triggerConditionCount = triggerConditionMapper.insertTriggerConditionList(specialDiseaseTriggerConditions);
|
||||
if (triggerConditionCount < 0) {
|
||||
throw new ServiceException("修改专病路径管理节点信息失败");
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
||||
@ -27,7 +27,7 @@ public interface ISpecialDiseaseRouteService {
|
||||
* @param specialDiseaseRoute 专病路径信息
|
||||
* @return 专病路径信息集合
|
||||
*/
|
||||
List<SpecialDiseaseRoute> selectSpecialDiseaseRouteList(SpecialDiseaseRoute specialDiseaseRoute);
|
||||
List<SpecialDiseaseRouteVO> selectSpecialDiseaseRouteList(SpecialDiseaseRoute specialDiseaseRoute);
|
||||
|
||||
/**
|
||||
* 新增专病路径信息
|
||||
@ -59,7 +59,7 @@ public interface ISpecialDiseaseRouteService {
|
||||
* @param id 专病路径信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
int deleteSpecialDiseaseRouteById(Long id);
|
||||
AjaxResult deleteSpecialDiseaseRouteById(Long id);
|
||||
|
||||
/**
|
||||
* 科室路径数量
|
||||
|
||||
@ -1,13 +1,20 @@
|
||||
package com.xinelu.manage.service.specialdiseaseroute.impl;
|
||||
|
||||
import com.xinelu.common.constant.Constants;
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.common.exception.ServiceException;
|
||||
import com.xinelu.common.utils.SecurityUtils;
|
||||
import com.xinelu.common.utils.codes.GenerateSystemCodeUtil;
|
||||
import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute;
|
||||
import com.xinelu.manage.mapper.specialdiseasenode.SpecialDiseaseNodeMapper;
|
||||
import com.xinelu.manage.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper;
|
||||
import com.xinelu.manage.mapper.specialdiseasetriggercondition.SpecialDiseaseTriggerConditionMapper;
|
||||
import com.xinelu.manage.service.specialdiseaseroute.ISpecialDiseaseRouteService;
|
||||
import com.xinelu.manage.vo.department.DepartmentVO;
|
||||
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
@ -24,6 +31,13 @@ import java.util.List;
|
||||
public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteService {
|
||||
@Resource
|
||||
private SpecialDiseaseRouteMapper specialDiseaseRouteMapper;
|
||||
@Resource
|
||||
private SpecialDiseaseNodeMapper specialDiseaseNodeMapper;
|
||||
@Resource
|
||||
private SpecialDiseaseTriggerConditionMapper triggerConditionMapper;
|
||||
@Resource
|
||||
private GenerateSystemCodeUtil generateSystemCodeUtil;
|
||||
|
||||
|
||||
/**
|
||||
* 查询专病路径信息
|
||||
@ -43,8 +57,8 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi
|
||||
* @return 专病路径信息
|
||||
*/
|
||||
@Override
|
||||
public List<SpecialDiseaseRoute> selectSpecialDiseaseRouteList(SpecialDiseaseRoute specialDiseaseRoute) {
|
||||
return specialDiseaseRouteMapper.selectSpecialDiseaseRouteList(specialDiseaseRoute);
|
||||
public List<SpecialDiseaseRouteVO> selectSpecialDiseaseRouteList(SpecialDiseaseRoute specialDiseaseRoute) {
|
||||
return specialDiseaseRouteMapper.selectDiseaseRouteList(specialDiseaseRoute);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -56,6 +70,8 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi
|
||||
@Override
|
||||
public int insertSpecialDiseaseRoute(SpecialDiseaseRoute specialDiseaseRoute) {
|
||||
specialDiseaseRoute.setCreateTime(LocalDateTime.now());
|
||||
specialDiseaseRoute.setCreateBy(SecurityUtils.getUsername());
|
||||
specialDiseaseRoute.setRouteCode(Constants.ROUTE_CODE + generateSystemCodeUtil.generateSystemCode(Constants.ROUTE_CODE));
|
||||
return specialDiseaseRouteMapper.insertSpecialDiseaseRoute(specialDiseaseRoute);
|
||||
}
|
||||
|
||||
@ -68,6 +84,7 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi
|
||||
@Override
|
||||
public int updateSpecialDiseaseRoute(SpecialDiseaseRoute specialDiseaseRoute) {
|
||||
specialDiseaseRoute.setUpdateTime(LocalDateTime.now());
|
||||
specialDiseaseRoute.setUpdateBy(SecurityUtils.getUsername());
|
||||
return specialDiseaseRouteMapper.updateSpecialDiseaseRoute(specialDiseaseRoute);
|
||||
}
|
||||
|
||||
@ -88,9 +105,22 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi
|
||||
* @param id 专病路径信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public int deleteSpecialDiseaseRouteById(Long id) {
|
||||
return specialDiseaseRouteMapper.deleteSpecialDiseaseRouteById(id);
|
||||
public AjaxResult deleteSpecialDiseaseRouteById(Long id) {
|
||||
int deleteRouteCount = specialDiseaseRouteMapper.deleteSpecialDiseaseRouteById(id);
|
||||
if (deleteRouteCount < 0) {
|
||||
throw new ServiceException("删除专病路径管理信息失败");
|
||||
}
|
||||
int deleteNodeCount = specialDiseaseNodeMapper.deleteSpecialDiseaseNodeByRouteId(id);
|
||||
if (deleteNodeCount < 0) {
|
||||
throw new ServiceException("删除专病路径管理信息失败");
|
||||
}
|
||||
int deleteTriggerConditionCount = triggerConditionMapper.deleteSpecialDiseaseTriggerConditionByRouteId(id);
|
||||
if (deleteTriggerConditionCount < 0) {
|
||||
throw new ServiceException("删除专病路径管理信息失败");
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -67,6 +67,7 @@ public class SpecialDiseaseTriggerConditionServiceImpl implements ISpecialDiseas
|
||||
@Override
|
||||
public int updateSpecialDiseaseTriggerCondition(SpecialDiseaseTriggerCondition specialDiseaseTriggerCondition) {
|
||||
specialDiseaseTriggerCondition.setUpdateTime(LocalDateTime.now());
|
||||
specialDiseaseTriggerCondition.setUpdateBy(SecurityUtils.getUsername());
|
||||
return specialDiseaseTriggerConditionMapper.updateSpecialDiseaseTriggerCondition(specialDiseaseTriggerCondition);
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,56 @@
|
||||
package com.xinelu.manage.vo.manualfollowup;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 人工随访患者基本信息VO
|
||||
* @author : youxilong
|
||||
* @date : 2024/4/7 8:52
|
||||
*/
|
||||
@Data
|
||||
public class ManualFollowPatientVO {
|
||||
|
||||
/**
|
||||
* 居民信息表id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String patientName;
|
||||
|
||||
@ApiModelProperty(value = "性别")
|
||||
private String sex;
|
||||
|
||||
@ApiModelProperty(value = "患者年龄")
|
||||
private Long age;
|
||||
|
||||
@ApiModelProperty(value = "身份证号")
|
||||
private String cardNo;
|
||||
|
||||
@ApiModelProperty(value = "患者电话")
|
||||
private String patientPhone;
|
||||
|
||||
@ApiModelProperty(value = "出生日期,格式:yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate birthDate;
|
||||
|
||||
@ApiModelProperty(value = "家属电话")
|
||||
private String familyMemberPhone;
|
||||
|
||||
@ApiModelProperty(value = "住址")
|
||||
private String address;
|
||||
|
||||
@ApiModelProperty(value = "患者个人头像图片路径")
|
||||
private String avatarPictureUrl;
|
||||
|
||||
@ApiModelProperty(value = "所属服务包表id")
|
||||
private String servicePackageId;
|
||||
|
||||
@ApiModelProperty(value = "服务包名称")
|
||||
private String packageName;
|
||||
|
||||
}
|
||||
@ -1,7 +1,6 @@
|
||||
package com.xinelu.manage.vo.manualfollowup;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xinelu.common.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@ -16,6 +15,30 @@ import java.time.LocalDateTime;
|
||||
@Data
|
||||
public class ManualFollowUpVO {
|
||||
|
||||
/**
|
||||
* 患者信息表id
|
||||
*/
|
||||
private Long patientId;
|
||||
|
||||
/**
|
||||
* 签约患者管理任务id
|
||||
*/
|
||||
private Long manageRouteId;
|
||||
|
||||
@ApiModelProperty(value = "路径名称(任务名称)")
|
||||
private String manageRouteName;
|
||||
|
||||
/**
|
||||
* 签约患者管理任务节点id
|
||||
*/
|
||||
private Long manageRouteNodeId;
|
||||
|
||||
@ApiModelProperty(value = "管理路径节点名称,出院后:AFTER_DISCHARGE,入院后:AFTER_ADMISSION,就诊后:AFTER_CONSULTATION,就诊/出院后:AFTER_VISIT_DISCHARGE,术前:PREOPERATIVE,术后:POSTOPERATIVE")
|
||||
private String routeNodeName;
|
||||
|
||||
@ApiModelProperty(value = "患者就诊记录基本信息表id")
|
||||
private Long visitRecordId;
|
||||
|
||||
@ApiModelProperty(value = "患者姓名")
|
||||
private String patientName;
|
||||
|
||||
@ -67,8 +90,8 @@ public class ManualFollowUpVO {
|
||||
@ApiModelProperty(value = "主治医生姓名")
|
||||
private String attendingPhysicianName;
|
||||
|
||||
@ApiModelProperty(value = "就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL")
|
||||
private String visitMethod;
|
||||
@ApiModelProperty(value = "患者类型,在院患者:IN_HOSPITAL_PATIENT,门诊患者:OUTPATIENT,出院患者:DISCHARGED_PATIENT")
|
||||
private String patientType;
|
||||
|
||||
@ApiModelProperty(value = "入院时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
|
||||
@ -15,7 +15,7 @@ import java.util.List;
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class PatientQuestionSubjectResultDTO extends PatientQuestionSubjectResult {
|
||||
public class PatientQuestionSubjectResultVO extends PatientQuestionSubjectResult {
|
||||
|
||||
/*
|
||||
* 患者问卷题目提交结果信息对象id
|
||||
@ -1,7 +1,7 @@
|
||||
package com.xinelu.manage.vo.patientquestionsubmitresult;
|
||||
|
||||
|
||||
import com.xinelu.manage.vo.patientquestionsubjectresult.PatientQuestionSubjectResultDTO;
|
||||
import com.xinelu.manage.vo.patientquestionsubjectresult.PatientQuestionSubjectResultVO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@ -14,7 +14,7 @@ import java.util.List;
|
||||
* @date 2024-03-28
|
||||
*/
|
||||
@Data
|
||||
public class PatientQuestionSubmitResultDTO {
|
||||
public class PatientQuestionSubmitResultVO {
|
||||
|
||||
private Long submitResulId;
|
||||
/**
|
||||
@ -29,5 +29,5 @@ public class PatientQuestionSubmitResultDTO {
|
||||
@ApiModelProperty(value = "问卷说明")
|
||||
private String questionnaireDescription;
|
||||
|
||||
List<PatientQuestionSubjectResultDTO> subjectResultList;
|
||||
List<PatientQuestionSubjectResultVO> subjectResultList;
|
||||
}
|
||||
@ -7,6 +7,7 @@ import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
|
||||
/**
|
||||
@ -69,9 +70,11 @@ public class PatientTaskExecuteRecordVO extends PatientTaskExecuteRecord {
|
||||
@ApiModelProperty(value = "就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL")
|
||||
private String visitMethod;
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate startDate;
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate endDate;
|
||||
|
||||
|
||||
@ -218,14 +218,13 @@
|
||||
from department d left join wechat_template wt on d.id = wt.department_id
|
||||
<where>
|
||||
<if test="departmentCode != null and departmentCode != ''">
|
||||
and d.department_code =
|
||||
#{departmentCode}
|
||||
and d.department_code =#{departmentCode}
|
||||
</if>
|
||||
<if test="departmentName != null and departmentName != ''">
|
||||
and d.department_name like concat('%',
|
||||
#{departmentName},
|
||||
'%'
|
||||
)
|
||||
and d.department_name like concat('%',#{departmentName},'%')
|
||||
</if>
|
||||
<if test="templateSource != null and templateSource != ''">
|
||||
and wt.template_source =#{templateSource}
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY d.id,
|
||||
@ -245,6 +244,9 @@
|
||||
<if test="departmentName != null and departmentName != ''">
|
||||
and d.department_name like concat('%',#{departmentName},'%')
|
||||
</if>
|
||||
<if test="textMessageStatus != null and textMessageStatus != ''">
|
||||
and tm.text_message_status = #{textMessageStatus}
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY d.id,
|
||||
d.department_name,
|
||||
|
||||
@ -149,6 +149,39 @@
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<insert id="saveQuestionOptionList">
|
||||
insert into patient_question_option_result(
|
||||
question_subject_result_id,
|
||||
questionnaire_subject_id,
|
||||
question_name,
|
||||
option_name,
|
||||
option_answer,
|
||||
option_score,
|
||||
option_choose_sign,
|
||||
option_submit_answer,
|
||||
option_sort,
|
||||
option_remark,
|
||||
create_by,
|
||||
create_time
|
||||
) values
|
||||
<foreach item="QuestionSubjectOption" index="index" collection="list" separator=",">
|
||||
(
|
||||
#{QuestionSubjectOption.questionSubjectResultId},
|
||||
#{QuestionSubjectOption.questionnaireSubjectId},
|
||||
#{QuestionSubjectOption.questionName},
|
||||
#{QuestionSubjectOption.optionName},
|
||||
#{QuestionSubjectOption.optionAnswer},
|
||||
#{QuestionSubjectOption.optionScore},
|
||||
#{QuestionSubjectOption.optionChooseSign},
|
||||
#{QuestionSubjectOption.optionSubmitAnswer},
|
||||
#{QuestionSubjectOption.optionSort},
|
||||
#{QuestionSubjectOption.optionRemark},
|
||||
#{QuestionSubjectOption.createBy},
|
||||
#{QuestionSubjectOption.createTime}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<update id="updatePatientQuestionOptionResult" parameterType="PatientQuestionOptionResult">
|
||||
update patient_question_option_result
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
|
||||
@ -194,6 +194,50 @@
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<insert id="saveQuestionSubjectList" useGeneratedKeys="true"
|
||||
keyProperty="id">
|
||||
insert into patient_question_subject_result(
|
||||
question_submit_result_id,
|
||||
question_info_id,
|
||||
question_number,
|
||||
question_type,
|
||||
question_name,
|
||||
question_description,
|
||||
write_description,
|
||||
fill_blanks_answer,
|
||||
option_count,
|
||||
whether_score,
|
||||
scoring_method,
|
||||
scoring_description,
|
||||
question_score,
|
||||
question_sort,
|
||||
question_remark,
|
||||
create_by,
|
||||
create_time
|
||||
) values
|
||||
<foreach item="QuestionSubject" index="index" collection="list" separator=",">
|
||||
(
|
||||
#{QuestionSubject.questionSubmitResultId},
|
||||
#{QuestionSubject.questionInfoId},
|
||||
#{QuestionSubject.questionNumber},
|
||||
#{QuestionSubject.questionType},
|
||||
#{QuestionSubject.questionName},
|
||||
#{QuestionSubject.questionDescription},
|
||||
#{QuestionSubject.writeDescription},
|
||||
#{QuestionSubject.fillBlanksAnswer},
|
||||
#{QuestionSubject.optionCount},
|
||||
#{QuestionSubject.whetherScore},
|
||||
#{QuestionSubject.scoringMethod},
|
||||
#{QuestionSubject.scoringDescription},
|
||||
#{QuestionSubject.questionScore},
|
||||
#{QuestionSubject.questionSort},
|
||||
#{QuestionSubject.questionRemark},
|
||||
#{QuestionSubject.createBy},
|
||||
#{QuestionSubject.createTime}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<update id="updatePatientQuestionSubjectResult" parameterType="PatientQuestionSubjectResult">
|
||||
update patient_question_subject_result
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitResultDTO"
|
||||
<resultMap type="com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitResultVO"
|
||||
id="PatientQuestionSubmitResultDTO">
|
||||
<result property="submitResulId" column="submitResulId"/>
|
||||
<result property="questionnaireName" column="questionnaire_name"/>
|
||||
@ -40,7 +40,7 @@
|
||||
<collection property="subjectResultList" javaType="java.util.List"
|
||||
resultMap="PatientQuestionSubjectResultResult"/>
|
||||
</resultMap>
|
||||
<resultMap type="com.xinelu.manage.vo.patientquestionsubjectresult.PatientQuestionSubjectResultDTO"
|
||||
<resultMap type="com.xinelu.manage.vo.patientquestionsubjectresult.PatientQuestionSubjectResultVO"
|
||||
id="PatientQuestionSubjectResultResult">
|
||||
<result property="subjectResultId" column="subjectResultId"/>
|
||||
<result property="questionSubmitResultId" column="question_submit_result_id"/>
|
||||
@ -373,7 +373,7 @@
|
||||
</delete>
|
||||
|
||||
<select id="selectResultByTaskExecuteRecordId"
|
||||
resultType="com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitResultDTO"
|
||||
resultType="com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitResultVO"
|
||||
resultMap="PatientQuestionSubmitResultDTO">
|
||||
select pqsm.id submitResulId,
|
||||
pqsm.questionnaire_name,
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
and department_id = #{departmentId}
|
||||
</if>
|
||||
<if test="propagandaTitle != null and propagandaTitle != ''">
|
||||
and propaganda_title = #{propagandaTitle}
|
||||
and propaganda_title like concat('%', #{propagandaTitle}, '%')
|
||||
</if>
|
||||
<if test="propagandaType != null and propagandaType != ''">
|
||||
and propaganda_type = #{propagandaType}
|
||||
|
||||
@ -96,6 +96,7 @@
|
||||
<select id="selectManualFollowUpList"
|
||||
resultType="com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO">
|
||||
SELECT
|
||||
pi.id AS 'patientId',
|
||||
pi.patient_name,
|
||||
pi.patient_phone,
|
||||
pi.sex,
|
||||
@ -110,13 +111,18 @@
|
||||
pi.in_hospital_number,
|
||||
pi.visit_serial_number,
|
||||
pi.main_diagnosis,
|
||||
pvr.id AS 'visitRecordId',
|
||||
pvr.surgical_name,
|
||||
pi.attending_physician_id,
|
||||
pi.attending_physician_name,
|
||||
pi.visit_method,
|
||||
pi.patient_type,
|
||||
IF(pi.visit_method = 'OUTPATIENT_SERVICE',NULL,pi.admission_time) AS 'admissionTime',
|
||||
IF(pi.visit_method = 'OUTPATIENT_SERVICE',pi.visit_date,pi.discharge_time) AS 'visitOrDischargeTime',
|
||||
pter.execute_time AS 'executeTime',
|
||||
spmr.id AS 'manageRouteId',
|
||||
spmrn.id AS 'manageRouteNodeId',
|
||||
spmrn.manage_route_name AS 'manageRouteName',
|
||||
spmrn.route_node_name AS 'routeNodeName',
|
||||
spmrn.task_type,
|
||||
CASE
|
||||
WHEN spmrn.task_type = 'PHONE_OUTBOUND' THEN spmrn.phone_template_name
|
||||
@ -135,7 +141,8 @@
|
||||
LEFT JOIN patient_info pi ON spmr.patient_id = pi.id
|
||||
LEFT JOIN patient_visit_record pvr ON pi.patient_visit_record_id = pvr.id
|
||||
<where>
|
||||
pi.del_flag = '0' AND spmrn.node_execute_status = 'UNEXECUTED'
|
||||
pi.del_flag = '0' AND spmr.task_create_type = 'MANUAL_CREATE'
|
||||
AND spmrn.node_execute_status = 'UNEXECUTED'
|
||||
AND spmrn.task_type in ('PHONE_OUTBOUND','QUESTIONNAIRE_SCALE','ARTIFICIAL_FOLLOW_UP')
|
||||
<if test="patientName != null and patientName != ''">
|
||||
AND pi.patient_name LIKE concat('%', #{patientName}, '%')
|
||||
@ -155,8 +162,8 @@
|
||||
<if test="wardId != null">
|
||||
AND pi.ward_id = #{wardId}
|
||||
</if>
|
||||
<if test="visitMethod != null and visitMethod != ''">
|
||||
AND pi.visit_method = #{visitMethod}
|
||||
<if test="patientType != null and patientType != ''">
|
||||
AND pi.patient_type = #{patientType}
|
||||
</if>
|
||||
<if test="visitSerialNumber != null and visitSerialNumber != ''">
|
||||
AND pi.visit_serial_number LIKE concat('%', #{visitSerialNumber}, '%')
|
||||
@ -191,6 +198,30 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectFollowPatientInfo"
|
||||
resultType="com.xinelu.manage.vo.manualfollowup.ManualFollowPatientVO">
|
||||
SELECT
|
||||
ri.id,
|
||||
ri.patient_name,
|
||||
ri.patient_phone,
|
||||
ri.family_member_phone,
|
||||
ri.birth_date,
|
||||
ri.card_no,
|
||||
ri.sex,
|
||||
ri.address,
|
||||
ri.avatar_picture_url,
|
||||
p.id AS 'patientId',
|
||||
spmr.service_package_id,
|
||||
spmr.package_name
|
||||
FROM
|
||||
sign_patient_manage_route spmr
|
||||
LEFT JOIN patient_info p ON spmr.patient_id = p.id
|
||||
LEFT JOIN resident_info ri ON p.resident_id = ri.id
|
||||
WHERE
|
||||
p.del_flag = 0
|
||||
AND ri.del_flag = 0 AND spmr.id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertSignPatientManageRoute" parameterType="com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute" useGeneratedKeys="true"
|
||||
keyProperty="id">
|
||||
insert into sign_patient_manage_route
|
||||
|
||||
@ -20,6 +20,8 @@
|
||||
<result property="routeRemark" column="route_remark"/>
|
||||
<collection property="specialDiseaseNodeList" javaType="java.util.List"
|
||||
resultMap="SpecialDiseaseNodeResult"/>
|
||||
<collection property="triggerConditionList" javaType="java.util.List"
|
||||
resultMap="SpecialDiseaseTriggerConditionResult"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="SpecialDiseaseNode" id="SpecialDiseaseNodeResult">
|
||||
@ -71,6 +73,18 @@
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="SpecialDiseaseTriggerCondition" id="SpecialDiseaseTriggerConditionResult">
|
||||
<result property="id" column="triggerConditionId"/>
|
||||
<result property="routeId" column="route_id"/>
|
||||
<result property="routeName" column="route_name"/>
|
||||
<result property="triggerConditionCode" column="trigger_condition_code"/>
|
||||
<result property="triggerConditionName" column="trigger_condition_name"/>
|
||||
<result property="triggerConditionOperator" column="trigger_condition_operator"/>
|
||||
<result property="triggerConditionValue" column="trigger_condition_value"/>
|
||||
<result property="triggerConditionSort" column="trigger_condition_sort"/>
|
||||
<result property="triggerConditionRemark" column="trigger_condition_remark"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectSpecialDiseaseNodeVo">
|
||||
select id,
|
||||
route_id,
|
||||
@ -704,7 +718,7 @@
|
||||
<select id="selectSpecialDiseaseByRouteId"
|
||||
resultType="com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO"
|
||||
resultMap="SpecialDiseaseRouteResult">
|
||||
select sdr.id routeId,
|
||||
select sdr.id specialDiseaseRouteId,
|
||||
sdr.department_id,
|
||||
sdr.department_name,
|
||||
sdr.disease_type_id,
|
||||
@ -715,7 +729,7 @@
|
||||
sdr.route_classify,
|
||||
sdr.release_status,
|
||||
sdr.suit_range,
|
||||
sdn.id specialDiseaseNodeId,
|
||||
sdn.id specialDiseaseNodeId,
|
||||
sdn.route_id,
|
||||
sdn.route_name,
|
||||
sdn.route_node_name,
|
||||
@ -756,9 +770,25 @@
|
||||
sdn.route_check_person,
|
||||
sdn.route_check_date,
|
||||
sdn.route_check_remark,
|
||||
sdn.node_content
|
||||
sdn.node_content,
|
||||
sdtc.id triggerConditionId,
|
||||
sdtc.route_id,
|
||||
sdtc.route_name,
|
||||
sdtc.trigger_condition_code,
|
||||
sdtc.trigger_condition_name,
|
||||
sdtc.trigger_condition_operator,
|
||||
sdtc.trigger_condition_value,
|
||||
sdtc.trigger_condition_sort,
|
||||
sdtc.trigger_condition_remark
|
||||
from special_disease_route sdr
|
||||
left join special_disease_node sdn ON sdn.route_id = sdr.id
|
||||
LEFT JOIN special_disease_trigger_condition sdtc ON sdtc.route_id = sdr.id
|
||||
where sdr.id = #{specialDiseaseRouteId}
|
||||
</select>
|
||||
|
||||
<delete id="deleteSpecialDiseaseNodeRouteId">
|
||||
|
||||
</delete>
|
||||
|
||||
|
||||
</mapper>
|
||||
@ -120,6 +120,73 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectDiseaseRouteList"
|
||||
resultType="com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO">
|
||||
select a.id,
|
||||
department_id,
|
||||
department_name,
|
||||
disease_type_id,
|
||||
disease_type_name,
|
||||
route_name,
|
||||
route_code,
|
||||
version,
|
||||
route_classify,
|
||||
release_status,
|
||||
suit_range,
|
||||
route_sort,
|
||||
route_remark,
|
||||
create_by,
|
||||
create_time,
|
||||
update_by,
|
||||
update_time,
|
||||
(select COUNT(1)
|
||||
from special_disease_node
|
||||
where route_id = a.id) totalNumber,
|
||||
(select COUNT(1)
|
||||
from special_disease_node
|
||||
where route_id = a.id
|
||||
and route_check_status = 'AGREE') agreeNumber
|
||||
from special_disease_route a
|
||||
<where>
|
||||
<if test="departmentId != null ">
|
||||
and department_id = #{departmentId}
|
||||
</if>
|
||||
<if test="departmentName != null and departmentName != ''">
|
||||
and department_name like concat('%', #{departmentName}, '%')
|
||||
</if>
|
||||
<if test="diseaseTypeId != null ">
|
||||
and disease_type_id = #{diseaseTypeId}
|
||||
</if>
|
||||
<if test="diseaseTypeName != null and diseaseTypeName != ''">
|
||||
and disease_type_name like concat('%', #{diseaseTypeName}, '%')
|
||||
</if>
|
||||
<if test="routeName != null and routeName != ''">
|
||||
and route_name like concat('%', #{routeName}, '%')
|
||||
</if>
|
||||
<if test="routeCode != null and routeCode != ''">
|
||||
and route_code = #{routeCode}
|
||||
</if>
|
||||
<if test="version != null and version != ''">
|
||||
and version = #{version}
|
||||
</if>
|
||||
<if test="routeClassify != null and routeClassify != ''">
|
||||
and route_classify = #{routeClassify}
|
||||
</if>
|
||||
<if test="releaseStatus != null and releaseStatus != ''">
|
||||
and release_status = #{releaseStatus}
|
||||
</if>
|
||||
<if test="suitRange != null and suitRange != ''">
|
||||
and suit_range = #{suitRange}
|
||||
</if>
|
||||
<if test="routeSort != null ">
|
||||
and route_sort = #{routeSort}
|
||||
</if>
|
||||
<if test="routeRemark != null and routeRemark != ''">
|
||||
and route_remark = #{routeRemark}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectSpecialDiseaseRouteById" parameterType="Long"
|
||||
resultMap="SpecialDiseaseRouteResult">
|
||||
<include refid="selectSpecialDiseaseRouteVo"/>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user