修改患者详情康复计划。
This commit is contained in:
parent
fd1f709db5
commit
36954498c9
@ -5,9 +5,12 @@ import com.xinelu.common.core.domain.R;
|
||||
import com.xinelu.common.core.page.TableDataInfo;
|
||||
import com.xinelu.common.exception.ServiceException;
|
||||
import com.xinelu.common.utils.StringUtils;
|
||||
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
|
||||
import com.xinelu.manage.dto.signpatientmanageroutenode.PatientTaskDto;
|
||||
import com.xinelu.manage.dto.signpatientmanageroutenode.RouteNodeCheckDto;
|
||||
import com.xinelu.manage.dto.signpatientmanageroutenode.SignPatientManageRouteNodeDto;
|
||||
import com.xinelu.manage.service.signpatientmanageroutenode.ISignPatientManageRouteNodeService;
|
||||
import com.xinelu.manage.vo.signpatientmanageroutenode.PatientManageNodeListVo;
|
||||
import com.xinelu.manage.vo.signpatientmanageroutenode.PatientTaskVo;
|
||||
import com.xinelu.manage.vo.signpatientmanageroutenode.SignPatientManageRouteNodeVo;
|
||||
import com.xinelu.manage.vo.specialdiseasenode.PatientSpecialDiseaseNodeVo;
|
||||
@ -16,6 +19,7 @@ import io.swagger.annotations.ApiOperation;
|
||||
import java.util.List;
|
||||
import javax.annotation.Resource;
|
||||
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.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@ -45,6 +49,26 @@ public class SignPatientManageRouteNodeController extends BaseController {
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询节点列表
|
||||
*/
|
||||
@ApiOperation("患者任务列表查询")
|
||||
@GetMapping("/getList")
|
||||
public R<List<PatientManageNodeListVo>> getList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto) {
|
||||
List<PatientManageNodeListVo> list = signNodeService.selectPatientManageNodeList(signPatientManageRouteNodeDto);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询节点详情
|
||||
*/
|
||||
@ApiOperation("查询节点详情")
|
||||
@GetMapping("/getById/{id}")
|
||||
public R<SignPatientManageRouteNode> getById(@PathVariable("id") Long id) {
|
||||
return R.ok(signNodeService.selectSignPatientManageRouteNodeById(id));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 患者详情--查询患者手动创建的任务节点列表
|
||||
*/
|
||||
|
||||
@ -57,7 +57,7 @@ public class TaskPartitionDict extends BaseEntity {
|
||||
/**
|
||||
* 任务细分编码
|
||||
*/
|
||||
@ApiModelProperty(value = "任务细分编码")
|
||||
@ApiModelProperty(value = "任务细分编码,健康档案:HEALTH_ARCHIVE,用药指导:MEDICATION_GUIDE, 运动指导:SPORT_GUIDE,饮食建议:DIET_GUIDE,居家护理:NURSING_GUIDE")
|
||||
@Excel(name = "任务细分编码")
|
||||
private String taskPartitionCode;
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@ public class TaskTypeDict extends BaseEntity {
|
||||
/**
|
||||
* 任务类型编码
|
||||
*/
|
||||
@ApiModelProperty(value = "任务类型编码")
|
||||
@ApiModelProperty(value = "任务类型编码, 复诊提醒:REVISIT_REMINDER, 药事服务:PHARMACY_SERVICE")
|
||||
@Excel(name = "任务类型编码")
|
||||
private String taskTypeCode;
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ package com.xinelu.manage.mapper.signpatientmanageroutenode;
|
||||
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
|
||||
import com.xinelu.manage.dto.signpatientmanageroutenode.PatientTaskDto;
|
||||
import com.xinelu.manage.dto.signpatientmanageroutenode.SignPatientManageRouteNodeDto;
|
||||
import com.xinelu.manage.vo.signpatientmanageroutenode.PatientManageNodeListVo;
|
||||
import com.xinelu.manage.vo.signpatientmanageroutenode.PatientTaskVo;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@ -37,6 +38,7 @@ public interface SignPatientManageRouteNodeMapper {
|
||||
*/
|
||||
public List<SignPatientManageRouteNode> selectSignPatientManageRouteNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto);
|
||||
|
||||
List<PatientManageNodeListVo> selectPatientManageNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto);
|
||||
/**
|
||||
* 新增签约患者管理任务路径节点
|
||||
*
|
||||
|
||||
@ -2,6 +2,7 @@ package com.xinelu.manage.service.patientinfo.impl;
|
||||
|
||||
import com.xinelu.common.annotation.DataScope;
|
||||
import com.xinelu.common.constant.SignRecordServiceStatusConstants;
|
||||
import com.xinelu.common.enums.PatientSourceEnum;
|
||||
import com.xinelu.common.exception.ServiceException;
|
||||
import com.xinelu.common.utils.BaseUtil;
|
||||
import com.xinelu.common.utils.SecurityUtils;
|
||||
@ -125,6 +126,10 @@ public class PatientInfoServiceImpl implements IPatientInfoService {
|
||||
residentInfoMapper.updateResidentInfo(residentInfo);
|
||||
patientInfo.setResidentId(residentList.get(0).getId());
|
||||
}
|
||||
// 患者来源
|
||||
if (StringUtils.isBlank(patientInfo.getPatientSource())) {
|
||||
patientInfo.setPatientSource(PatientSourceEnum.MANAGE_END.name());
|
||||
}
|
||||
if (exist) {
|
||||
patientInfoMapper.updatePatientInfoSelective(patientInfo);
|
||||
} else {
|
||||
|
||||
@ -7,6 +7,7 @@ import com.xinelu.manage.dto.signpatientmanageroutenode.PatientTaskDto;
|
||||
import com.xinelu.manage.dto.signpatientmanageroutenode.RouteNodeCheckDto;
|
||||
import com.xinelu.manage.dto.signpatientmanageroutenode.SignPatientManageRouteNodeDto;
|
||||
import com.xinelu.manage.vo.signpatientmanageroutenode.AppletRouteNodeListVo;
|
||||
import com.xinelu.manage.vo.signpatientmanageroutenode.PatientManageNodeListVo;
|
||||
import com.xinelu.manage.vo.signpatientmanageroutenode.PatientTaskVo;
|
||||
import com.xinelu.manage.vo.signpatientmanageroutenode.SignPatientManageRouteNodeVo;
|
||||
import com.xinelu.manage.vo.specialdiseasenode.PatientSpecialDiseaseNodeVo;
|
||||
@ -51,6 +52,14 @@ public interface ISignPatientManageRouteNodeService {
|
||||
*/
|
||||
List<SignPatientManageRouteNode> selectSignPatientManageRouteNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto);
|
||||
|
||||
/**
|
||||
* 查询患者任务节点
|
||||
*
|
||||
* @param signPatientManageRouteNodeDto 签约患者管理任务路径节点查询传输对象
|
||||
* @return 签约患者管理任务节点集合
|
||||
*/
|
||||
List<PatientManageNodeListVo> selectPatientManageNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto);
|
||||
|
||||
/**
|
||||
* 新增签约患者管理任务路径节点
|
||||
*
|
||||
|
||||
@ -30,9 +30,7 @@ import com.xinelu.manage.mapper.scriptInfo.ScriptInfoMapper;
|
||||
import com.xinelu.manage.mapper.signpatientmanageroute.SignPatientManageRouteMapper;
|
||||
import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper;
|
||||
import com.xinelu.manage.mapper.signpatientrecord.SignPatientRecordMapper;
|
||||
import com.xinelu.manage.mapper.signroutetriggercondition.SignRouteTriggerConditionMapper;
|
||||
import com.xinelu.manage.mapper.specialdiseasenode.SpecialDiseaseNodeMapper;
|
||||
import com.xinelu.manage.mapper.specialdiseasetriggercondition.SpecialDiseaseTriggerConditionMapper;
|
||||
import com.xinelu.manage.service.propagandainfo.IPropagandaInfoService;
|
||||
import com.xinelu.manage.service.questioninfo.IQuestionInfoService;
|
||||
import com.xinelu.manage.service.signpatientmanageroutenode.ISignPatientManageRouteNodeService;
|
||||
@ -40,6 +38,7 @@ import com.xinelu.manage.service.specialdiseaseroute.ISpecialDiseaseRouteService
|
||||
import com.xinelu.manage.vo.propagandainfo.PropagandaMaterialsVo;
|
||||
import com.xinelu.manage.vo.questionInfo.QuestionVO;
|
||||
import com.xinelu.manage.vo.signpatientmanageroutenode.AppletRouteNodeListVo;
|
||||
import com.xinelu.manage.vo.signpatientmanageroutenode.PatientManageNodeListVo;
|
||||
import com.xinelu.manage.vo.signpatientmanageroutenode.PatientTaskVo;
|
||||
import com.xinelu.manage.vo.signpatientmanageroutenode.SignPatientManageRouteNodeInfoVo;
|
||||
import com.xinelu.manage.vo.signpatientmanageroutenode.SignPatientManageRouteNodeVo;
|
||||
@ -91,10 +90,6 @@ public class SignPatientManageRouteNodeServiceImpl implements ISignPatientManage
|
||||
private PatientVisitRecordMapper patientVisitRecordMapper;
|
||||
@Resource
|
||||
private SpecialDiseaseNodeMapper specialDiseaseNodeMapper;
|
||||
@Resource
|
||||
private SpecialDiseaseTriggerConditionMapper triggerConditionMapper;
|
||||
@Resource
|
||||
private SignRouteTriggerConditionMapper signRouteTriggerConditionMapper;
|
||||
|
||||
/**
|
||||
* 查询签约患者管理任务路径节点
|
||||
@ -198,10 +193,15 @@ public class SignPatientManageRouteNodeServiceImpl implements ISignPatientManage
|
||||
*/
|
||||
@Override
|
||||
public List<SignPatientManageRouteNode> selectSignPatientManageRouteNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto) {
|
||||
return signPatientManageRouteNodeMapper.selectSignPatientManageRouteNodeList(signPatientManageRouteNodeDto);
|
||||
return signPatientManageRouteNodeMapper.selectSignPatientManageRouteNodeList(signPatientManageRouteNodeDto);
|
||||
}
|
||||
|
||||
/**
|
||||
@Override public List<PatientManageNodeListVo> selectPatientManageNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto) {
|
||||
List<PatientManageNodeListVo> nodeList = signPatientManageRouteNodeMapper.selectPatientManageNodeList(signPatientManageRouteNodeDto);
|
||||
return nodeList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增签约患者管理任务路径节点
|
||||
*
|
||||
* @param signPatientManageRouteNode 签约患者管理任务路径节点
|
||||
@ -314,36 +314,9 @@ public class SignPatientManageRouteNodeServiceImpl implements ISignPatientManage
|
||||
nodeQuery.setTaskTypeList(Arrays.asList(appletPatientTaskDto.getTaskTypeList().split(",")));
|
||||
List<SignPatientManageRouteNode> signNodeList = signPatientManageRouteNodeMapper.selectSignPatientManageRouteNodeList(nodeQuery);
|
||||
for (SignPatientManageRouteNode node : signNodeList) {
|
||||
LocalDateTime executeTime = null;
|
||||
// 任务执行时间
|
||||
LocalDateTime executeTime = getExecuteTime(node, patientVisitRecord);
|
||||
|
||||
LocalTime et = LocalTime.of(8,0,0);
|
||||
if (node.getExecuteTime() != null) {
|
||||
et = node.getExecuteTime();
|
||||
}
|
||||
switch(node.getRouteNodeName()) {
|
||||
case RouteNodeNameConstants.AFTER_DISCHARGE: // 出院后
|
||||
case RouteNodeNameConstants.AFTER_VISIT_DISCHARGE: // 就诊/出院后
|
||||
// 判断是门诊/住院
|
||||
if (StringUtils.equals(VisitMethodConstants.BE_IN_HOSPITAL, patientVisitRecord.getVisitMethod())) {
|
||||
executeTime = LocalDateTime.of(patientVisitRecord.getDischargeTime().plusDays(node.getRouteNodeDay()).toLocalDate(), et);
|
||||
} else {
|
||||
executeTime = LocalDateTime.of(patientVisitRecord.getVisitDate().plusDays(node.getRouteNodeDay()).toLocalDate(), et);
|
||||
}
|
||||
break;
|
||||
case RouteNodeNameConstants.AFTER_ADMISSION: // 入院后
|
||||
if (StringUtils.equals(VisitMethodConstants.BE_IN_HOSPITAL, patientVisitRecord.getVisitMethod())) {
|
||||
executeTime = LocalDateTime.of(patientVisitRecord.getAdmissionTime().plusDays(node.getRouteNodeDay()).toLocalDate(), et);
|
||||
} else {
|
||||
executeTime = LocalDateTime.of(patientVisitRecord.getVisitDate().plusDays(node.getRouteNodeDay()).toLocalDate(), et);
|
||||
}
|
||||
break;
|
||||
case RouteNodeNameConstants.AFTER_CONSULTATION: // 就诊后
|
||||
executeTime = LocalDateTime.of(patientVisitRecord.getVisitDate().plusDays(node.getRouteNodeDay()).toLocalDate(), et);
|
||||
break;
|
||||
default:
|
||||
executeTime = LocalDateTime.of(patientVisitRecord.getVisitDate().plusDays(node.getRouteNodeDay()).toLocalDate(), et);
|
||||
break;
|
||||
}
|
||||
retList.add(AppletRouteNodeListVo.builder()
|
||||
.id(node.getId())
|
||||
.patientName(patientInfo.getPatientName())
|
||||
@ -404,6 +377,7 @@ public class SignPatientManageRouteNodeServiceImpl implements ISignPatientManage
|
||||
manageRouteNode.setNodeExecuteStatus(NodeExecuteStatusEnum.UNEXECUTED.getInfo());
|
||||
// 替换文本
|
||||
manageRouteNode.setNodeContent(replaceNodeContent(specialDiseaseNode.getNodeContent(), paramsCurrentList));
|
||||
manageRouteNode.setExecuteTime(specialDiseaseNode.getExecutionTime());
|
||||
manageRouteNode.setCreateTime(LocalDateTime.now());
|
||||
manageRouteNode.setCreateBy(SecurityUtils.getLoginUser().getUser().getNickName());
|
||||
|
||||
@ -452,6 +426,40 @@ public class SignPatientManageRouteNodeServiceImpl implements ISignPatientManage
|
||||
}
|
||||
}
|
||||
|
||||
private LocalDateTime getExecuteTime(SignPatientManageRouteNode node, PatientVisitRecord patientVisitRecord) {
|
||||
LocalDateTime executeTime = null;
|
||||
|
||||
LocalTime et = LocalTime.of(8,0,0);
|
||||
if (node.getExecuteTime() != null) {
|
||||
et = node.getExecuteTime();
|
||||
}
|
||||
switch(node.getRouteNodeName()) {
|
||||
case RouteNodeNameConstants.AFTER_DISCHARGE: // 出院后
|
||||
case RouteNodeNameConstants.AFTER_VISIT_DISCHARGE: // 就诊/出院后
|
||||
// 判断是门诊/住院
|
||||
if (StringUtils.equals(VisitMethodConstants.BE_IN_HOSPITAL, patientVisitRecord.getVisitMethod())) {
|
||||
executeTime = LocalDateTime.of(patientVisitRecord.getDischargeTime().plusDays(node.getRouteNodeDay()).toLocalDate(), et);
|
||||
} else {
|
||||
executeTime = LocalDateTime.of(patientVisitRecord.getVisitDate().plusDays(node.getRouteNodeDay()).toLocalDate(), et);
|
||||
}
|
||||
break;
|
||||
case RouteNodeNameConstants.AFTER_ADMISSION: // 入院后
|
||||
if (StringUtils.equals(VisitMethodConstants.BE_IN_HOSPITAL, patientVisitRecord.getVisitMethod())) {
|
||||
executeTime = LocalDateTime.of(patientVisitRecord.getAdmissionTime().plusDays(node.getRouteNodeDay()).toLocalDate(), et);
|
||||
} else {
|
||||
executeTime = LocalDateTime.of(patientVisitRecord.getVisitDate().plusDays(node.getRouteNodeDay()).toLocalDate(), et);
|
||||
}
|
||||
break;
|
||||
case RouteNodeNameConstants.AFTER_CONSULTATION: // 就诊后
|
||||
executeTime = LocalDateTime.of(patientVisitRecord.getVisitDate().plusDays(node.getRouteNodeDay()).toLocalDate(), et);
|
||||
break;
|
||||
default:
|
||||
executeTime = LocalDateTime.of(patientVisitRecord.getVisitDate().plusDays(node.getRouteNodeDay()).toLocalDate(), et);
|
||||
break;
|
||||
}
|
||||
return executeTime;
|
||||
}
|
||||
|
||||
private String replaceNodeContent(String nodeContent, List<PatientNodeParamsCurrent> paramsList) {
|
||||
Map<String, String> map = paramsList.stream().collect(Collectors.toMap(PatientNodeParamsCurrent::getParamKey,PatientNodeParamsCurrent::getParamValue,(key1,key2)->key2));
|
||||
Document document = Jsoup.parse(nodeContent);
|
||||
|
||||
@ -206,6 +206,7 @@ public class SignPatientRecordServiceImpl implements ISignPatientRecordService {
|
||||
manageRouteNode.setRouteCheckRemark("签约自动审核通过");
|
||||
manageRouteNode.setNodeExecuteStatus(NodeExecuteStatusEnum.UNEXECUTED.getInfo());
|
||||
manageRouteNode.setRouteNodeId(node.getId());
|
||||
manageRouteNode.setExecuteTime(node.getExecutionTime());
|
||||
manageRouteNode.setDelFlag(0);
|
||||
manageRouteNode.setCreateTime(LocalDateTime.now());
|
||||
manageRouteNode.setCreateBy(SecurityUtils.getLoginUser().getUser().getNickName());
|
||||
|
||||
@ -19,9 +19,18 @@ import com.xinelu.manage.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper;
|
||||
import com.xinelu.manage.service.specialdiseasenode.ISpecialDiseaseNodeService;
|
||||
import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeVO;
|
||||
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.TreeSet;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jsoup.Jsoup;
|
||||
import org.jsoup.nodes.Document;
|
||||
@ -30,12 +39,6 @@ import org.jsoup.select.Elements;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 专病路径-管理节点信息Service业务层处理
|
||||
*
|
||||
@ -244,21 +247,21 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
|
||||
Map<String, List<PatientNodeParamsCurrent>> groupBySn = nodeParams.stream().collect(Collectors.groupingBy(PatientNodeParamsCurrent::getSn));
|
||||
for (String sn : groupBySn.keySet()) {
|
||||
List<PatientNodeParamsCurrent> oldParams = groupBySn.get(sn);
|
||||
List<String> paramKeys = oldParams.stream().map(PatientNodeParamsCurrent::getParamKey).collect(Collectors.toList());
|
||||
List<String> newKeys = diseaseNodeParams.stream().map(PatientNodeParamsCurrent::getParamKey).collect(Collectors.toList());
|
||||
if (ListUtils.isEqualList(paramKeys, newKeys)) {
|
||||
//List<String> paramKeys = oldParams.stream().map(PatientNodeParamsCurrent::getParamKey).collect(Collectors.toList());
|
||||
//List<String> newKeys = diseaseNodeParams.stream().map(PatientNodeParamsCurrent::getParamKey).collect(Collectors.toList());
|
||||
//if (ListUtils.isEqualList(paramKeys, newKeys)) {
|
||||
// retList.add(oldParams);
|
||||
//} else {
|
||||
// for(PatientNodeParamsCurrent nodeParam : diseaseNodeParams) {
|
||||
// if (!paramKeys.contains(nodeParam.getParamKey())) {
|
||||
// oldParams.add(nodeParam);
|
||||
// }
|
||||
// if (!newKeys.contains(nodeParam.getParamKey())) {
|
||||
// oldParams.remove(nodeParam);
|
||||
// }
|
||||
// }
|
||||
retList.add(oldParams);
|
||||
} else {
|
||||
for(PatientNodeParamsCurrent nodeParam : diseaseNodeParams) {
|
||||
if (!paramKeys.contains(nodeParam.getParamKey())) {
|
||||
oldParams.add(nodeParam);
|
||||
}
|
||||
if (!newKeys.contains(nodeParam.getParamKey())) {
|
||||
oldParams.remove(nodeParam);
|
||||
}
|
||||
}
|
||||
retList.add(oldParams);
|
||||
}
|
||||
//}
|
||||
}
|
||||
}
|
||||
return retList;
|
||||
@ -275,17 +278,16 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
|
||||
PatientInfo patientInfo = patientInfoMapper.selectPatientInfoById(patientId);
|
||||
switch (taskSubdivision) {
|
||||
// 健康档案
|
||||
case "TPC202405200001":
|
||||
case "HEALTH_ARCHIVE":
|
||||
retObj = JSONObject.parseObject(JSONObject.toJSONString(patientInfo));
|
||||
// 性别转换成中文
|
||||
retObj.fluentPut("sex", PatientSexEnum.getInfoByCode(patientInfo.getSex()).getInfo());
|
||||
//年龄
|
||||
retObj.fluentPut("age", BaseUtil.getAge(patientInfo.getBirthDate()));
|
||||
// 性别转换成中文、计算年龄
|
||||
retObj.fluentPut("sex", PatientSexEnum.getInfoByCode(patientInfo.getSex()).getInfo())
|
||||
.fluentPut("age", BaseUtil.getAge(patientInfo.getBirthDate()));
|
||||
break;
|
||||
default:
|
||||
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
retObj.fluentPut("patientName", patientInfo.getPatientName())
|
||||
.fluentPut("dischargeTime", patientInfo.getDischargeTime().format(df))
|
||||
.fluentPut("dischargeTime", patientInfo.getDischargeTime() == null ? "" : patientInfo.getDischargeTime().format(df))
|
||||
.fluentPut("visitDate", patientInfo.getVisitDate().format(df));
|
||||
break;
|
||||
}
|
||||
|
||||
@ -0,0 +1,66 @@
|
||||
package com.xinelu.manage.vo.signpatientmanageroutenode;
|
||||
|
||||
import com.xinelu.common.annotation.Excel;
|
||||
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description: 查询患者管理节点返回视图类
|
||||
* @author: haown
|
||||
* @create: 2024-05-28 11:08
|
||||
**/
|
||||
@ApiModel("查询患者管理节点返回视图类")
|
||||
@Data
|
||||
public class PatientManageNodeListVo extends SignPatientManageRouteNode {
|
||||
/** 主键id */
|
||||
private Long id;
|
||||
|
||||
/** 签约患者管理任务表id */
|
||||
@ApiModelProperty(value = "签约患者管理任务表id")
|
||||
@Excel(name = "签约患者管理任务表id")
|
||||
private Long manageRouteId;
|
||||
|
||||
/** 路径名称(任务名称) */
|
||||
@ApiModelProperty(value = "路径名称")
|
||||
@Excel(name = "路径名称", readConverterExp = "任务名称")
|
||||
private String manageRouteName;
|
||||
|
||||
/** 管理路径节点id */
|
||||
@ApiModelProperty(value = "管理路径节点id")
|
||||
@Excel(name = "管理路径节点id")
|
||||
private Long routeNodeId;
|
||||
|
||||
/** 管理路径节点名称 */
|
||||
@ApiModelProperty(value = "管理路径节点名称")
|
||||
@Excel(name = "管理路径节点名称")
|
||||
private String routeNodeName;
|
||||
|
||||
/** 管理路径节点时间,时间单位为:天 */
|
||||
@ApiModelProperty(value = "管理路径节点时间,时间单位为:天")
|
||||
@Excel(name = "管理路径节点时间,时间单位为:天")
|
||||
private Integer routeNodeDay;
|
||||
|
||||
/** 任务类型,电话外呼:PHONE_OUTBOUND,问卷量表:QUESTIONNAIRE_SCALE,宣教文章:PROPAGANDA_ARTICLE,文字提醒:TEXT_REMIND,人工随访:ARTIFICIAL_FOLLOW_UP */
|
||||
@ApiModelProperty(value = "任务类型,电话外呼:PHONE_OUTBOUND,问卷量表:QUESTIONNAIRE_SCALE,宣教文章:PROPAGANDA_ARTICLE,文字提醒:TEXT_REMIND,人工随访:ARTIFICIAL_FOLLOW_UP")
|
||||
@Excel(name = "任务类型,电话外呼:PHONE_OUTBOUND,问卷量表:QUESTIONNAIRE_SCALE,宣教文章:PROPAGANDA_ARTICLE,文字提醒:TEXT_REMIND,人工随访:ARTIFICIAL_FOLLOW_UP")
|
||||
private String taskType;
|
||||
|
||||
/** 任务细分 */
|
||||
@ApiModelProperty(value = "任务细分")
|
||||
@Excel(name = "任务细分")
|
||||
private String taskSubdivision;
|
||||
|
||||
/** 节点任务执行状态,已执行:EXECUTED,未执行:UNEXECUTED */
|
||||
@ApiModelProperty(value = "节点任务执行状态,已执行:EXECUTED,未执行:UNEXECUTED")
|
||||
private String nodeExecuteStatus;
|
||||
|
||||
/** 任务类型名称 */
|
||||
@ApiModelProperty(value = "任务类型名称")
|
||||
private String taskTypeName;
|
||||
|
||||
/** 任务细分名称 */
|
||||
@ApiModelProperty(value = "任务细分名称")
|
||||
private String taskPartitionDictName;
|
||||
}
|
||||
@ -112,6 +112,28 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectPatientManageNodeList" parameterType="com.xinelu.manage.dto.signpatientmanageroutenode.SignPatientManageRouteNodeDto"
|
||||
resultType="com.xinelu.manage.vo.signpatientmanageroutenode.PatientManageNodeListVo">
|
||||
select node.id, node.manage_route_id, node.manage_route_name, node.route_node_id, node.route_node_name, node.route_node_day,
|
||||
node.task_type, node.task_subdivision, node.execute_time,
|
||||
node.node_execute_status, type.task_type_name as taskTypeName, part.task_partition_name as taskPartitionDictName
|
||||
from sign_patient_manage_route_node node
|
||||
left join task_type_dict type on node.task_type = type.task_type_code
|
||||
left join task_partition_dict part on part.task_partition_code = node.task_subdivision
|
||||
<where>
|
||||
node.del_flag = 0
|
||||
<if test="manageRouteId != null ">
|
||||
and node.manage_route_id = #{manageRouteId}
|
||||
</if>
|
||||
<if test="taskStatus != null and taskStatus != ''">
|
||||
and node.task_status = #{taskStatus}
|
||||
</if>
|
||||
<if test="nodeExecuteStatus != null and nodeExecuteStatus != ''">
|
||||
and node.node_execute_status = #{nodeExecuteStatus}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectSignPatientManageRouteNodeById" parameterType="Long" resultMap="SignPatientManageRouteNodeResult">
|
||||
<include refid="selectSignPatientManageRouteNodeVo"/>
|
||||
where id = #{id}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user