From fb9df1c0d4e95f2ce9f2e6e87d6734d995ffb7df Mon Sep 17 00:00:00 2001 From: haown <454902499@qq.com> Date: Thu, 11 Apr 2024 17:21:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=82=A3=E8=80=85=E7=AD=BE=E7=BA=A6=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=8C=85=E5=88=B0=E6=9C=9F=E7=8A=B6=E6=80=81=EF=BC=9B=E6=82=A3?= =?UTF-8?q?=E8=80=85=E4=BB=BB=E5=8A=A1=E8=8A=82=E7=82=B9=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SignPatientManageRouteNodeController.java | 11 ++++++ .../PatientTaskDto.java | 4 ++ .../SignPatientManageRouteNodeMapper.java | 9 ++++- .../ISignPatientManageRouteNodeService.java | 9 ++++- ...SignPatientManageRouteNodeServiceImpl.java | 7 ++++ .../signpatientrecord/SignPatientListVo.java | 5 +++ .../SignPatientManageRouteNodeMapper.xml | 34 ++++++++++++++-- postdischarge-quartz/pom.xml | 4 ++ .../quartz/task/SignPackageExpireTask.java | 39 +++++++++++++++++++ 9 files changed, 115 insertions(+), 7 deletions(-) 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 468bf278..803ca5d7 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 @@ -3,6 +3,7 @@ package com.xinelu.manage.controller.signpatientmanageroutenode; import com.xinelu.common.core.controller.BaseController; import com.xinelu.common.core.domain.R; import com.xinelu.common.core.page.TableDataInfo; +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.service.signpatientmanageroutenode.ISignPatientManageRouteNodeService; @@ -42,6 +43,16 @@ public class SignPatientManageRouteNodeController extends BaseController { return getDataTable(list); } + /** + * 查询患者任务节点列表 + */ + @ApiOperation("查询患者任务节点列表") + @GetMapping("/getNodeList") + public R> getNodeList(PatientTaskDto patientTaskDto) { + List list = signNodeService.getNodeList(patientTaskDto); + return R.ok(list); + } + /** * 查询管理任务路径及节点 */ diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/signpatientmanageroutenode/PatientTaskDto.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/signpatientmanageroutenode/PatientTaskDto.java index 4b257eb0..9ed18b8e 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/signpatientmanageroutenode/PatientTaskDto.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/signpatientmanageroutenode/PatientTaskDto.java @@ -67,4 +67,8 @@ public class PatientTaskDto { @ApiModelProperty(value = "患者姓名") private String patientName; + /** 任务类型,电话外呼:PHONE_OUTBOUND,问卷量表:QUESTIONNAIRE_SCALE,宣教文章:PROPAGANDA_ARTICLE,文字提醒:TEXT_REMIND,人工随访:ARTIFICIAL_FOLLOW_UP */ + @ApiModelProperty(value = "任务类型,电话外呼:PHONE_OUTBOUND,问卷量表:QUESTIONNAIRE_SCALE,宣教文章:PROPAGANDA_ARTICLE,文字提醒:TEXT_REMIND,人工随访:ARTIFICIAL_FOLLOW_UP") + private String taskType; + } 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 39fd6ff6..9480629a 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 @@ -6,8 +6,6 @@ import com.xinelu.manage.vo.signpatientmanageroutenode.PatientTaskVo; import java.util.List; import org.apache.ibatis.annotations.Param; -import java.util.List; - /** * 签约患者管理任务路径节点Mapper接口 * @@ -23,6 +21,13 @@ public interface SignPatientManageRouteNodeMapper { */ public SignPatientManageRouteNode selectSignPatientManageRouteNodeById(Long id); + /** + * 查询患者管理路径节点 + * @param patientTaskDto 任务查询传输对象 + * @return 患者管理任务路径节点 + */ + List getNodeList(PatientTaskDto patientTaskDto); + /** * 查询签约患者管理任务路径节点列表 * 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 af4ad6ba..c05252e9 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 @@ -24,7 +24,14 @@ public interface ISignPatientManageRouteNodeService { public SignPatientManageRouteNode selectSignPatientManageRouteNodeById(Long id); /** - * 根据患者管理路径节点 + * 查询患者管理路径节点 + * @param patientTaskDto 任务查询传输对象 + * @return 患者管理任务路径节点 + */ + List getNodeList(PatientTaskDto patientTaskDto); + + /** + * 查询患者管理路径节点 * * @param patientTaskDto 任务查询传输对象 * @return 患者管理任务路径节点 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 5466e177..f41ee0b6 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 @@ -46,6 +46,13 @@ public class SignPatientManageRouteNodeServiceImpl implements ISignPatientManage return signPatientManageRouteNodeMapper.selectSignPatientManageRouteNodeById(id); } + @Override public List getNodeList(PatientTaskDto patientTaskDto) { + if (patientTaskDto.getPatientId() == null) { + throw new ServiceException("患者信息有误"); + } + return signPatientManageRouteNodeMapper.getNodeList(patientTaskDto); + } + @Override public List getRouteNodeList(PatientTaskDto patientTaskDto) { List retList = new ArrayList<>(); PatientInfo patientInfo = patientInfoMapper.selectPatientInfoById(patientTaskDto.getPatientId()); diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/signpatientrecord/SignPatientListVo.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/signpatientrecord/SignPatientListVo.java index 4af2c2cd..1d21f0ab 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/signpatientrecord/SignPatientListVo.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/signpatientrecord/SignPatientListVo.java @@ -189,6 +189,11 @@ public class SignPatientListVo { @ApiModelProperty(value = "服务包名称") private String packageName; + /** 服务结束时间,格式:yyyy-MM-dd HH:mm:ss */ + @ApiModelProperty(value = "服务结束时间,格式:yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate serviceEndTime; + /** 服务周期 */ @ApiModelProperty(value = "服务周期") private Integer packageTerm; 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 5749e72e..5a0eedf8 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml @@ -96,12 +96,38 @@ - + + where id = #{id} + + insert into sign_patient_manage_route_node diff --git a/postdischarge-quartz/pom.xml b/postdischarge-quartz/pom.xml index af1c982a..68783c4b 100644 --- a/postdischarge-quartz/pom.xml +++ b/postdischarge-quartz/pom.xml @@ -32,6 +32,10 @@ com.xinelu postdischarge-common + + com.xinelu + postdischarge-manage + \ No newline at end of file diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/SignPackageExpireTask.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/SignPackageExpireTask.java index 393e944c..0af40125 100644 --- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/SignPackageExpireTask.java +++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/SignPackageExpireTask.java @@ -1,5 +1,16 @@ package com.xinelu.quartz.task; +import com.xinelu.common.constant.SignRecordServiceStatusConstants; +import com.xinelu.manage.domain.patientinfo.PatientInfo; +import com.xinelu.manage.domain.signpatientrecord.SignPatientRecord; +import com.xinelu.manage.dto.signpatientrecord.SignPatientListDto; +import com.xinelu.manage.mapper.patientinfo.PatientInfoMapper; +import com.xinelu.manage.mapper.signpatientrecord.SignPatientRecordMapper; +import com.xinelu.manage.service.signpatientrecord.ISignPatientRecordService; +import com.xinelu.manage.vo.signpatientrecord.SignPatientListVo; +import java.time.LocalDateTime; +import java.util.List; +import javax.annotation.Resource; import org.springframework.stereotype.Component; /** @@ -9,7 +20,35 @@ import org.springframework.stereotype.Component; **/ @Component("SignPackageExpireTask") public class SignPackageExpireTask { + @Resource + private ISignPatientRecordService signPatientRecordService; + + @Resource + private SignPatientRecordMapper signPatientRecordMapper; + + @Resource + private PatientInfoMapper patientInfoMapper; + public void SignPackageExpireTask() { // 查询签约患者 + SignPatientListDto signPatientListDto = new SignPatientListDto(); + signPatientListDto.setSignStatus(SignRecordServiceStatusConstants.SERVICE_CENTER); + List signRecordList = signPatientRecordService.selectList(signPatientListDto); + for (SignPatientListVo sign : signRecordList) { + // 当前日期与服务到期日期比较 + if (sign.getServiceEndTime().isBefore(LocalDateTime.now().toLocalDate())) { + SignPatientRecord signPatientRecord = new SignPatientRecord(); + signPatientRecord.setId(sign.getId()); + signPatientRecord.setServiceStatus(SignRecordServiceStatusConstants.SERVICE_END); + signPatientRecord.setSignStatus(SignRecordServiceStatusConstants.EXPIRE_SIGN); + signPatientRecordMapper.updateByPrimaryKeySelective(signPatientRecord); + // 修改患者表签约状态 + PatientInfo patientInfo = new PatientInfo(); + patientInfo.setId(sign.getPatientId()); + patientInfo.setSignStatus(SignRecordServiceStatusConstants.EXPIRE_SIGN); + patientInfo.setServiceStatus(SignRecordServiceStatusConstants.SERVICE_END); + patientInfoMapper.updatePatientInfo(patientInfo); + } + } } }