From 36954498c9d6c3954aa32706007e93c212cddeea Mon Sep 17 00:00:00 2001 From: haown <454902499@qq.com> Date: Tue, 28 May 2024 17:20:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=82=A3=E8=80=85=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=BA=B7=E5=A4=8D=E8=AE=A1=E5=88=92=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SignPatientManageRouteNodeController.java | 24 ++++++ .../taskpartitiondict/TaskPartitionDict.java | 2 +- .../domain/tasktypedict/TaskTypeDict.java | 2 +- .../SignPatientManageRouteNodeMapper.java | 2 + .../impl/PatientInfoServiceImpl.java | 5 ++ .../ISignPatientManageRouteNodeService.java | 9 ++ ...SignPatientManageRouteNodeServiceImpl.java | 82 ++++++++++--------- .../impl/SignPatientRecordServiceImpl.java | 1 + .../impl/SpecialDiseaseNodeServiceImpl.java | 56 +++++++------ .../PatientManageNodeListVo.java | 66 +++++++++++++++ .../SignPatientManageRouteNodeMapper.xml | 22 +++++ 11 files changed, 205 insertions(+), 66 deletions(-) create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/vo/signpatientmanageroutenode/PatientManageNodeListVo.java diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/signpatientmanageroutenode/SignPatientManageRouteNodeController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/signpatientmanageroutenode/SignPatientManageRouteNodeController.java index 556f58df..93eecb0a 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/signpatientmanageroutenode/SignPatientManageRouteNodeController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/signpatientmanageroutenode/SignPatientManageRouteNodeController.java @@ -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> getList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto) { + List list = signNodeService.selectPatientManageNodeList(signPatientManageRouteNodeDto); + return R.ok(list); + } + + /** + * 查询节点详情 + */ + @ApiOperation("查询节点详情") + @GetMapping("/getById/{id}") + public R getById(@PathVariable("id") Long id) { + return R.ok(signNodeService.selectSignPatientManageRouteNodeById(id)); + } + + /** * 患者详情--查询患者手动创建的任务节点列表 */ diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/taskpartitiondict/TaskPartitionDict.java b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/taskpartitiondict/TaskPartitionDict.java index b2f1009e..af0fa8a5 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/taskpartitiondict/TaskPartitionDict.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/taskpartitiondict/TaskPartitionDict.java @@ -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; diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/tasktypedict/TaskTypeDict.java b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/tasktypedict/TaskTypeDict.java index a73b3ade..294024a1 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/tasktypedict/TaskTypeDict.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/tasktypedict/TaskTypeDict.java @@ -40,7 +40,7 @@ public class TaskTypeDict extends BaseEntity { /** * 任务类型编码 */ - @ApiModelProperty(value = "任务类型编码") + @ApiModelProperty(value = "任务类型编码, 复诊提醒:REVISIT_REMINDER, 药事服务:PHARMACY_SERVICE") @Excel(name = "任务类型编码") private String taskTypeCode; diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java index dad3ce8f..d6d9e94c 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java @@ -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 selectSignPatientManageRouteNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto); + List selectPatientManageNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto); /** * 新增签约患者管理任务路径节点 * diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientinfo/impl/PatientInfoServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientinfo/impl/PatientInfoServiceImpl.java index 7f5551c8..78c53fcc 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientinfo/impl/PatientInfoServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patientinfo/impl/PatientInfoServiceImpl.java @@ -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 { diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/ISignPatientManageRouteNodeService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/ISignPatientManageRouteNodeService.java index cdbb41a3..60a26187 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/ISignPatientManageRouteNodeService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/ISignPatientManageRouteNodeService.java @@ -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 selectSignPatientManageRouteNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto); + /** + * 查询患者任务节点 + * + * @param signPatientManageRouteNodeDto 签约患者管理任务路径节点查询传输对象 + * @return 签约患者管理任务节点集合 + */ + List selectPatientManageNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto); + /** * 新增签约患者管理任务路径节点 * diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/impl/SignPatientManageRouteNodeServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/impl/SignPatientManageRouteNodeServiceImpl.java index 251cfdc2..e565e06c 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/impl/SignPatientManageRouteNodeServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroutenode/impl/SignPatientManageRouteNodeServiceImpl.java @@ -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 selectSignPatientManageRouteNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto) { - return signPatientManageRouteNodeMapper.selectSignPatientManageRouteNodeList(signPatientManageRouteNodeDto); + return signPatientManageRouteNodeMapper.selectSignPatientManageRouteNodeList(signPatientManageRouteNodeDto); } - /** + @Override public List selectPatientManageNodeList(SignPatientManageRouteNodeDto signPatientManageRouteNodeDto) { + List 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 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 paramsList) { Map map = paramsList.stream().collect(Collectors.toMap(PatientNodeParamsCurrent::getParamKey,PatientNodeParamsCurrent::getParamValue,(key1,key2)->key2)); Document document = Jsoup.parse(nodeContent); diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientrecord/impl/SignPatientRecordServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientrecord/impl/SignPatientRecordServiceImpl.java index 29bed065..7dac8939 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientrecord/impl/SignPatientRecordServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientrecord/impl/SignPatientRecordServiceImpl.java @@ -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()); diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java index 147a626a..476baa93 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java @@ -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> groupBySn = nodeParams.stream().collect(Collectors.groupingBy(PatientNodeParamsCurrent::getSn)); for (String sn : groupBySn.keySet()) { List oldParams = groupBySn.get(sn); - List paramKeys = oldParams.stream().map(PatientNodeParamsCurrent::getParamKey).collect(Collectors.toList()); - List newKeys = diseaseNodeParams.stream().map(PatientNodeParamsCurrent::getParamKey).collect(Collectors.toList()); - if (ListUtils.isEqualList(paramKeys, newKeys)) { + //List paramKeys = oldParams.stream().map(PatientNodeParamsCurrent::getParamKey).collect(Collectors.toList()); + //List 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; } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/signpatientmanageroutenode/PatientManageNodeListVo.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/signpatientmanageroutenode/PatientManageNodeListVo.java new file mode 100644 index 00000000..3019b423 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/signpatientmanageroutenode/PatientManageNodeListVo.java @@ -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; +} diff --git a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml index f4b96582..ef3caddc 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml @@ -112,6 +112,28 @@ + +