From 83d6294f8ba6540c784875562de045c6f152e66e Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Thu, 4 Jul 2024 17:44:58 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E7=94=BB=E5=83=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LabelFieldContentController.java | 18 ++++++----------- .../LabelFieldContentMapper.java | 9 +++++++++ .../ILabelFieldContentService.java | 2 +- .../impl/LabelFieldContentServiceImpl.java | 16 +++++++++++---- .../impl/LabelFieldInfoServiceImpl.java | 3 +++ .../LabelFieldContentMapper.xml | 20 +++++++++++++++++++ 6 files changed, 51 insertions(+), 17 deletions(-) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/labelfieldcontent/LabelFieldContentController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/labelfieldcontent/LabelFieldContentController.java index 5414d6dc..3dcebb40 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/labelfieldcontent/LabelFieldContentController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/labelfieldcontent/LabelFieldContentController.java @@ -11,18 +11,12 @@ import com.xinelu.manage.dto.labelfieldcontent.LabelFieldContentAddDTO; import com.xinelu.manage.service.labelfieldcontent.ILabelFieldContentService; import com.xinelu.manage.vo.labelfieldcontent.LabelField; import com.xinelu.manage.vo.labelfieldcontent.LabelFieldAndPartitionDict; -import java.util.List; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.DeleteMapping; -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.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import java.util.List; /** * 标签字段内容信息Controller @@ -102,8 +96,8 @@ public class LabelFieldContentController extends BaseController { * 分组信息 */ @GetMapping("/groupingContent") - public AjaxResult groupingContent() { - return labelFieldContentService.groupingContent(); + public AjaxResult groupingContent(Long patientId) { + return labelFieldContentService.groupingContent(patientId); } /** diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/labelfieldcontent/LabelFieldContentMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/labelfieldcontent/LabelFieldContentMapper.java index 7330699c..294a8879 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/labelfieldcontent/LabelFieldContentMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/labelfieldcontent/LabelFieldContentMapper.java @@ -116,4 +116,13 @@ public interface LabelFieldContentMapper { * @return int */ int updateContentRemarkLabelFieldContentList(List labelFieldContentList); + + /** + * 查询画像sn + * + * @param taskPartitionDictIds 细分id + * @param patientId 患者id + * @return LabelFieldContent + */ + List selectLabelFieldContentPortraitSn(@Param("taskPartitionDictIds") List taskPartitionDictIds, @Param("patientId") Long patientId); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/labelfieldcontent/ILabelFieldContentService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/labelfieldcontent/ILabelFieldContentService.java index 885291b1..f75ea3b0 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/labelfieldcontent/ILabelFieldContentService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/labelfieldcontent/ILabelFieldContentService.java @@ -72,7 +72,7 @@ public interface ILabelFieldContentService { * * @return LabelFieldInfo */ - AjaxResult groupingContent(); + AjaxResult groupingContent(Long patientId); /** * 画像查询 diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/labelfieldcontent/impl/LabelFieldContentServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/labelfieldcontent/impl/LabelFieldContentServiceImpl.java index 20980ed7..98fcf69d 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/labelfieldcontent/impl/LabelFieldContentServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/labelfieldcontent/impl/LabelFieldContentServiceImpl.java @@ -171,7 +171,7 @@ public class LabelFieldContentServiceImpl implements ILabelFieldContentService { * @return LabelFieldInfo */ @Override - public AjaxResult groupingContent() { + public AjaxResult groupingContent(Long patientId) { //创建全部选项 TaskPartitionDictId =0为全部 List labelFieldInfoList = new ArrayList<>(); LabelFieldInfo labelFieldInfo = new LabelFieldInfo(); @@ -181,12 +181,20 @@ public class LabelFieldContentServiceImpl implements ILabelFieldContentService { //任务细分表数据 List labelFieldInfos = labelFieldInfoMapper.taskPartitionDictIdList(); if (CollectionUtils.isNotEmpty(labelFieldInfos)) { + List collect = labelFieldInfos.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getTaskPartitionDictId())).map(LabelFieldInfo::getTaskPartitionDictId).distinct().collect(Collectors.toList()); + List labelFieldContents = labelFieldContentMapper.selectLabelFieldContentPortraitSn(collect,patientId); + if (CollectionUtils.isNotEmpty(labelFieldContents)) { + for (LabelFieldInfo fieldInfo : labelFieldInfos) { + List collect1 = labelFieldContents.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getFieldId()) && fieldInfo.getTaskPartitionDictId().equals(item.getFieldId())).map(LabelFieldContent::getPortraitSn).distinct().collect(Collectors.toList()); + fieldInfo.setFieldSort(collect1.size()); + } + } labelFieldInfoList.addAll(labelFieldInfos); } //未分组选项 TaskPartitionDictId =null 为未分组 - LabelFieldInfo labelFieldInfoTow = new LabelFieldInfo(); - labelFieldInfoTow.setTaskPartitionDictName("未分组"); - labelFieldInfoList.add(labelFieldInfoTow); + LabelFieldInfo labelFieldInfoTwo = new LabelFieldInfo(); + labelFieldInfoTwo.setTaskPartitionDictName("未分组"); + labelFieldInfoList.add(labelFieldInfoTwo); return AjaxResult.success(labelFieldInfoList); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/labelfieldinfo/impl/LabelFieldInfoServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/labelfieldinfo/impl/LabelFieldInfoServiceImpl.java index aa9ccd40..b60813be 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/labelfieldinfo/impl/LabelFieldInfoServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/labelfieldinfo/impl/LabelFieldInfoServiceImpl.java @@ -71,6 +71,9 @@ public class LabelFieldInfoServiceImpl implements ILabelFieldInfoService { */ @Override public List labelFieldList(Long taskPartitionDictId, String fieldType) { + if (Objects.isNull(taskPartitionDictId)) { + return new ArrayList<>(); + } int i = 1; //查询细分 List labelFieldList = labelFieldInfoMapper.selectLabelFieldList(taskPartitionDictId, fieldType); diff --git a/postdischarge-manage/src/main/resources/mapper/manage/labelfieldcontent/LabelFieldContentMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/labelfieldcontent/LabelFieldContentMapper.xml index 69e92f3c..4119067e 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/labelfieldcontent/LabelFieldContentMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/labelfieldcontent/LabelFieldContentMapper.xml @@ -431,4 +431,24 @@ where id = #{labelFieldContentList.labelFieldContentId} + + \ No newline at end of file From 28e21e041875c37ec8c00f2fddab331250328aff Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Fri, 5 Jul 2024 11:29:00 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E5=AD=97=E6=AE=B5=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PatientTaskExecuteRecordVO.java | 6 ++++-- .../PatientTaskExecuteRecordMapper.xml | 1 + .../taskpartitiondict/TaskPartitionDictMapper.xml | 14 ++++++++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patienttaskexecuterecord/PatientTaskExecuteRecordVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patienttaskexecuterecord/PatientTaskExecuteRecordVO.java index 32937ae2..36112b22 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patienttaskexecuterecord/PatientTaskExecuteRecordVO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patienttaskexecuterecord/PatientTaskExecuteRecordVO.java @@ -72,6 +72,10 @@ public class PatientTaskExecuteRecordVO extends PatientTaskExecuteRecord { @ApiModelProperty(value = "就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL") private String visitMethod; + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "就诊时间(门诊患者)") + private LocalDateTime visitDate; + @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate startDate; @@ -117,6 +121,4 @@ public class PatientTaskExecuteRecordVO extends PatientTaskExecuteRecord { @ApiModelProperty(value = "任务处理信息") private String routeHandleRemark; - - } diff --git a/postdischarge-manage/src/main/resources/mapper/manage/patienttaskexecuterecord/PatientTaskExecuteRecordMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/patienttaskexecuterecord/PatientTaskExecuteRecordMapper.xml index 267a51a7..0d2f7cb8 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/patienttaskexecuterecord/PatientTaskExecuteRecordMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/patienttaskexecuterecord/PatientTaskExecuteRecordMapper.xml @@ -103,6 +103,7 @@ pter.execute_type, pi.patient_type, pi.visit_method, + pi.visit_date, pi.hospital_agency_name, pi.campus_agency_name, pi.department_name, diff --git a/postdischarge-manage/src/main/resources/mapper/manage/taskpartitiondict/TaskPartitionDictMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/taskpartitiondict/TaskPartitionDictMapper.xml index 7604e52d..45f887c1 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/taskpartitiondict/TaskPartitionDictMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/taskpartitiondict/TaskPartitionDictMapper.xml @@ -210,13 +210,23 @@ \ No newline at end of file From b9baa2aee499f1be370867b2e3b6aadeeb9e1991 Mon Sep 17 00:00:00 2001 From: youxilong Date: Fri, 5 Jul 2024 11:43:43 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=AB=AF=E4=BA=BA?= =?UTF-8?q?=E5=B7=A5=E9=9A=8F=E8=AE=BF=E4=BB=A3=E5=8A=9E=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/manualfollowup/ManualFollowUpDTO.java | 34 +------------- .../vo/manualfollowup/ManualFollowUpVO.java | 12 +++-- .../SignPatientManageRouteMapper.xml | 46 +++---------------- 3 files changed, 16 insertions(+), 76 deletions(-) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/manualfollowup/ManualFollowUpDTO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/manualfollowup/ManualFollowUpDTO.java index 6c13a524..899eb293 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/manualfollowup/ManualFollowUpDTO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/manualfollowup/ManualFollowUpDTO.java @@ -44,42 +44,12 @@ public class ManualFollowUpDTO { @ApiModelProperty(value = "所属病区id") private Long wardId; - @ApiModelProperty(value = "适用范围,在院:IN_THE_HOSPITAL,出院:DISCHARGE,门诊:OUTPATIENT_SERVICE") - private String suitRange; + @ApiModelProperty(value = "就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL") + private String visitMethod; @ApiModelProperty(value = "就诊流水号") private String visitSerialNumber; - @DateTimeFormat(pattern = "yyyy-MM-dd") - @ApiModelProperty(value = "入院开始时间") - @JsonFormat(pattern = "yyyy-MM-dd") - private LocalDate admissionStartTime; - - @DateTimeFormat(pattern = "yyyy-MM-dd") - @ApiModelProperty(value = "入院结束时间") - @JsonFormat(pattern = "yyyy-MM-dd") - private LocalDate admissionEndTime; - - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd") - @ApiModelProperty(value = "门诊(门诊患者)开始时间") - private LocalDate clinicalStartTime; - - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd") - @ApiModelProperty(value = "门诊(门诊患者)结束时间") - private LocalDate clinicalEndTime; - - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd") - @ApiModelProperty(value = "出院时间(出院患者)开始时间") - private LocalDate dischargeStartTime; - - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd") - @ApiModelProperty(value = "出院时间(出院患者)结束时间") - private LocalDate dischargeEndTime; - @ApiModelProperty(value = "主要诊断") private String mainDiagnosis; diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/manualfollowup/ManualFollowUpVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/manualfollowup/ManualFollowUpVO.java index 0a34c04c..732a65a0 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/manualfollowup/ManualFollowUpVO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/manualfollowup/ManualFollowUpVO.java @@ -90,16 +90,20 @@ public class ManualFollowUpVO { @ApiModelProperty(value = "主治医生姓名") private String attendingPhysicianName; - @ApiModelProperty(value = "在院:IN_THE_HOSPITAL,出院:DISCHARGE,门诊:OUTPATIENT_SERVICE") - private String suitRange; + @ApiModelProperty(value = "就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL") + private String visitMethod; @ApiModelProperty(value = "入院时间") @JsonFormat(pattern = "yyyy-MM-dd") private LocalDateTime admissionTime; @JsonFormat(pattern = "yyyy-MM-dd") - @ApiModelProperty(value = "门诊/出院时间") - private LocalDateTime visitOrDischargeTime; + @ApiModelProperty(value = "门诊时间") + private LocalDateTime visitTime; + + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "出院时间") + private LocalDateTime dischargeTime; @JsonFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "随访时间") diff --git a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml index 3a5be893..d8df0312 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml @@ -312,17 +312,10 @@ pvr.surgical_name, pi.attending_physician_id, pi.attending_physician_name, - IF(spmr.suit_range = 'IN_THE_HOSPITAL' OR spmr.suit_range = 'DISCHARGE', pi.admission_time, NULL) AS 'admissionTime', - CASE - WHEN spmr.suit_range = 'OUTPATIENT_SERVICE' THEN pi.visit_date - WHEN spmr.suit_range = 'DISCHARGE' THEN pi.discharge_time - WHEN spmr.suit_range = 'OUTPATIENT_SERVICE_DISCHARGE' THEN COALESCE(pi.visit_date, pi.discharge_time) - END AS 'visitOrDischargeTime', - CASE - WHEN spmr.suit_range IN ('IN_THE_HOSPITAL', 'DISCHARGE', 'OUTPATIENT_SERVICE') THEN spmr.suit_range - WHEN spmr.suit_range = 'OUTPATIENT_SERVICE_DISCHARGE' AND pi.visit_date IS NOT NULL THEN 'OUTPATIENT_SERVICE' - WHEN spmr.suit_range = 'OUTPATIENT_SERVICE_DISCHARGE' AND pi.discharge_time IS NOT NULL THEN 'DISCHARGE' - END AS 'suitRange', + pi.visit_date AS 'visitTime', + pi.admission_time, + pi.discharge_time AS 'dischargeTime', + pi.visit_method, pter.id AS 'taskExecuteRecordId', pter.execute_time AS 'executeTime', spmr.id AS 'manageRouteId', @@ -372,39 +365,12 @@ AND pi.ward_id = #{wardId} - - - - - AND (spmr.suit_range = #{suitRange} OR spmr.suit_range = 'OUTPATIENT_SERVICE_DISCHARGE') - - - - AND spmr.suit_range = #{suitRange} - - + + AND pi.visit_method = #{visitMethod} AND pi.visit_serial_number LIKE concat('%', #{visitSerialNumber}, '%') - - AND pi.visit_date >= #{clinicalStartTime} - - - AND pi.visit_date <= #{clinicalEndTime} - - - AND pi.discharge_time >= #{dischargeStartTime} - - - AND pi.discharge_time <= #{dischargeEndTime} - - - AND pi.admission_time >= #{admissionStartTime} - - - AND pi.admission_time <= #{admissionEndTime} - AND pi.main_diagnosis LIKE concat('%', #{mainDiagnosis}, '%') From 4de379783f5510f87d25717703134db194e54f5c Mon Sep 17 00:00:00 2001 From: youxilong Date: Fri, 5 Jul 2024 14:51:40 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=AB=AF=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E4=BB=A3=E5=8A=9E=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E5=AD=97=E6=AE=B5=E4=BF=AE=E6=94=B9=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xinelu/manage/vo/manualfollowup/ManualFollowUpVO.java | 3 +++ .../signpatientmanageroute/SignPatientManageRouteMapper.xml | 1 + 2 files changed, 4 insertions(+) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/manualfollowup/ManualFollowUpVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/manualfollowup/ManualFollowUpVO.java index 732a65a0..3892d9dd 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/manualfollowup/ManualFollowUpVO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/manualfollowup/ManualFollowUpVO.java @@ -36,6 +36,9 @@ public class ManualFollowUpVO { @ApiModelProperty(value = "管理路径节点名称,出院后:AFTER_DISCHARGE,入院后:AFTER_ADMISSION,就诊后:AFTER_CONSULTATION,就诊/出院后:AFTER_VISIT_DISCHARGE,术前:PREOPERATIVE,术后:POSTOPERATIVE") private String routeNodeName; + @ApiModelProperty(value = "管理路径节点时间,时间单位为:天") + private Integer routeNodeDay; + @ApiModelProperty(value = "患者就诊记录基本信息表id") private Long visitRecordId; diff --git a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml index d8df0312..e4ae2db3 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml @@ -322,6 +322,7 @@ spmrn.id AS 'manageRouteNodeId', spmrn.manage_route_name AS 'manageRouteName', spmrn.route_node_name AS 'routeNodeName', + spmrn.route_node_day, spmrn.task_type, CASE WHEN spmrn.task_type = 'PHONE_OUTBOUND' THEN spmrn.phone_template_name From 15ae71e23044c362bc299a731d4028dd0ec2740e Mon Sep 17 00:00:00 2001 From: youxilong Date: Fri, 5 Jul 2024 15:26:31 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/manualfollowup/ManualFollowUpDTO.java | 13 ++++++++++++- .../impl/SignPatientManageRouteServiceImpl.java | 2 ++ .../SignPatientManageRouteMapper.xml | 5 +++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/manualfollowup/ManualFollowUpDTO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/manualfollowup/ManualFollowUpDTO.java index 899eb293..47ceb64a 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/manualfollowup/ManualFollowUpDTO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/manualfollowup/ManualFollowUpDTO.java @@ -1,8 +1,12 @@ package com.xinelu.manage.dto.manualfollowup; import com.fasterxml.jackson.annotation.JsonFormat; +import com.xinelu.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDate; @@ -14,7 +18,11 @@ import java.time.LocalDate; * @date : 2024/4/2 10:36 */ @Data -public class ManualFollowUpDTO { +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ManualFollowUpDTO extends BaseEntity { + private static final long serialVersionUID = 1L; @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "随访开始时间") @@ -62,5 +70,8 @@ public class ManualFollowUpDTO { @ApiModelProperty(value = "节点任务执行状态,已执行:EXECUTED,未执行:UNEXECUTED") private String nodeExecuteStatus; + @ApiModelProperty(value = "任务名称") + private String manageRouteName; + } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java index 345d6450..86ec4c32 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java @@ -1,6 +1,7 @@ package com.xinelu.manage.service.signpatientmanageroute.impl; import com.alibaba.fastjson2.JSONObject; +import com.xinelu.common.annotation.DataScope; import com.xinelu.common.constant.TaskContentConstants; import com.xinelu.common.constant.TaskCreateTypeConstant; import com.xinelu.common.constant.TemplateTypeConstants; @@ -278,6 +279,7 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout * @return ManualFollowUpVO 人工随访代办VO */ @Override + @DataScope(agencyAlias = "pi", deptAlias = "pi") public List selectManualFollowUpList(ManualFollowUpDTO manualFollowUpDTO) { return signPatientManageRouteMapper.selectManualFollowUpList(manualFollowUpDTO); } diff --git a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml index e4ae2db3..06f81705 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml @@ -390,6 +390,11 @@ AND pter.execute_time <= #{followEndTime} + + AND spmrn.manage_route_name like concat('%', #{manageRouteName}, '%') + + + ${params.dataScope} order by spmr.create_time DESC From 1d4a0a4481c7b1597488a6d46aaf6531160d151b Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Fri, 5 Jul 2024 17:28:16 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SubscribeMessageRecord.java | 21 +++++++++- .../mapper/patientinfo/PatientInfoMapper.java | 3 +- .../manage/patientinfo/PatientInfoMapper.xml | 30 ++++++--------- .../mapper/homepage/HomePageMapper.java | 8 ++++ .../homepage/Impl/HomePageServiceImpl.java | 2 +- .../impl/WeChatAppletCallBackServiceImpl.java | 38 +++++++++---------- ...hatOfficialAccountCallbackServiceImpl.java | 4 +- .../utils/WeChatOfficialAccountUtils.java | 3 +- .../mapper/homepage/HomePageMapper.xml | 11 ++++++ .../impl/subscribeTaskServiceImpl.java | 19 ++++++++-- 10 files changed, 91 insertions(+), 48 deletions(-) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/subscribemessagerecord/SubscribeMessageRecord.java b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/subscribemessagerecord/SubscribeMessageRecord.java index 434714bc..b166b955 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/subscribemessagerecord/SubscribeMessageRecord.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/subscribemessagerecord/SubscribeMessageRecord.java @@ -7,12 +7,12 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; -import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import java.time.LocalDateTime; +import java.util.Objects; /** * 微信小程序订阅消息记录对象 subscribe_message_record @@ -23,7 +23,6 @@ import java.time.LocalDateTime; @Data @AllArgsConstructor @NoArgsConstructor -@EqualsAndHashCode(callSuper = true) @ApiModel(value = "微信小程序订阅消息记录对象", description = "subscribe_message_record") public class SubscribeMessageRecord extends BaseEntity { private static final long serialVersionUID = 1L; @@ -105,6 +104,24 @@ public class SubscribeMessageRecord extends BaseEntity { private String subscribeStatus; + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SubscribeMessageRecord that = (SubscribeMessageRecord) o; + return Objects.equals(openid, that.openid) && Objects.equals(templateId, that.templateId); + } + + @Override + public int hashCode() { + return Objects.hash(openid, templateId); + } + + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientinfo/PatientInfoMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientinfo/PatientInfoMapper.java index 6410ed05..bbf95f95 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientinfo/PatientInfoMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientinfo/PatientInfoMapper.java @@ -1,6 +1,7 @@ package com.xinelu.manage.mapper.patientinfo; import com.xinelu.manage.domain.patientinfo.PatientInfo; +import com.xinelu.manage.domain.residentinfo.ResidentInfo; import com.xinelu.manage.dto.patientinfo.PatientInfoDto; import com.xinelu.manage.vo.patientinfo.PatientBaseInfoVo; import java.util.List; @@ -82,5 +83,5 @@ public interface PatientInfoMapper { * @param openId 微信openId * @return 被护理人基本信息 */ - PatientInfo getPatientInfoByOpenId(String openId); + ResidentInfo getPatientInfoByOpenId(String openId); } diff --git a/postdischarge-manage/src/main/resources/mapper/manage/patientinfo/PatientInfoMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/patientinfo/PatientInfoMapper.xml index ccbf9da2..c2c42718 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/patientinfo/PatientInfoMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/patientinfo/PatientInfoMapper.xml @@ -578,32 +578,26 @@ - SELECT id, - community_code, - area_code, - patient_code, - patient_name, + patient_name, + patient_phone, + family_member_phone, + birth_date, card_no, - user_id, - unionid, - openid, - official_account_openid, - phone, + sex, address, - urgent_contact_name, - urgent_contact_phone, - community_alias_name, - home_longitude, - home_latitude, - head_picture_url + open_id, + union_id, + official_account_openid, + avatar_picture_url FROM - patient_info + resident_info del_flag = 0 - and openid = #{openId} + and open_id = #{openId} diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/mapper/homepage/HomePageMapper.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/mapper/homepage/HomePageMapper.java index b324f34e..cc22e2d7 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/mapper/homepage/HomePageMapper.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/mapper/homepage/HomePageMapper.java @@ -57,4 +57,12 @@ public interface HomePageMapper { * @return PatientVO */ List selectSignPatientManageRouteNode(@Param("patientId") List patientId); + + /** + * 修改执行状态 + * + * @param signPatientManageRouteNodeIds + * @return int + */ + int updateNodeExecuteStatusByIds(@Param("signPatientManageRouteNodeIds") List signPatientManageRouteNodeIds); } \ No newline at end of file diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/Impl/HomePageServiceImpl.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/Impl/HomePageServiceImpl.java index cf2a2723..8100ecc9 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/Impl/HomePageServiceImpl.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/Impl/HomePageServiceImpl.java @@ -227,7 +227,7 @@ public class HomePageServiceImpl implements HomePageService { */ @Override public List selectPatientTaskExecuteRecord(Long residentId) { - return homePageMapper.selectTaskExecuteRecordByResidentId(residentId, NodeExecuteStatusEnum.EXECUTED.getInfo()); + return homePageMapper.selectTaskExecuteRecordByResidentId(residentId, null); } /** diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/wechatappletcallback/impl/WeChatAppletCallBackServiceImpl.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/wechatappletcallback/impl/WeChatAppletCallBackServiceImpl.java index 501225ef..1064f39a 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/wechatappletcallback/impl/WeChatAppletCallBackServiceImpl.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/wechatappletcallback/impl/WeChatAppletCallBackServiceImpl.java @@ -4,7 +4,7 @@ import com.xinelu.common.config.WeChatAppletChatConfig; import com.xinelu.common.enums.SubscribeMessageTypeEnum; import com.xinelu.common.exception.ServiceException; import com.xinelu.common.utils.DateUtils; -import com.xinelu.manage.domain.patientinfo.PatientInfo; +import com.xinelu.manage.domain.residentinfo.ResidentInfo; import com.xinelu.manage.domain.subscribemessagerecord.SubscribeMessageRecord; import com.xinelu.manage.domain.subscribemessagesendrecord.SubscribeMessageSendRecord; import com.xinelu.manage.mapper.patientinfo.PatientInfoMapper; @@ -92,9 +92,9 @@ public class WeChatAppletCallBackServiceImpl implements WeChatAppletCallBackServ return; } //查询用户信息表 - PatientInfo patientInfo = patientInfoMapper.getPatientInfoByOpenId(StringUtils.isBlank(weChatMessagePushVO.getFromUserName()) ? "" : weChatMessagePushVO.getFromUserName()); + ResidentInfo residentInfo = patientInfoMapper.getPatientInfoByOpenId(StringUtils.isBlank(weChatMessagePushVO.getFromUserName()) ? "" : weChatMessagePushVO.getFromUserName()); //组装数据 - List subscribeMessageRecordList = createSubscribeMessageRecordList(patientInfo, weChatMessagePushVO, SUBSCRIBE_MSG_POPUP_EVENT); + List subscribeMessageRecordList = createSubscribeMessageRecordList(residentInfo, weChatMessagePushVO, SUBSCRIBE_MSG_POPUP_EVENT); if (CollectionUtils.isEmpty(subscribeMessageRecordList)) { return; } @@ -116,9 +116,9 @@ public class WeChatAppletCallBackServiceImpl implements WeChatAppletCallBackServ //修改订阅信息状态 for (SubscribeMessageRecord messageRecord : intersectionSubscribeList) { Long patientId = null; - if (Objects.nonNull(patientInfo) && Objects.nonNull(patientInfo.getId())) { - patientId = patientInfo.getId(); - } +// if (Objects.nonNull(residentInfo) && Objects.nonNull(residentInfo.getId())) { +// patientId = residentInfo.getId(); +// } String openId = StringUtils.isBlank(messageRecord.getOpenid()) ? "" : messageRecord.getOpenid(); String templateId = StringUtils.isBlank(messageRecord.getTemplateId()) ? "" : messageRecord.getTemplateId(); String subscribeStatus = StringUtils.isBlank(messageRecord.getSubscribeStatus()) ? "" : messageRecord.getSubscribeStatus(); @@ -137,9 +137,9 @@ public class WeChatAppletCallBackServiceImpl implements WeChatAppletCallBackServ return; } //查询用户信息表 - PatientInfo patientInfo = patientInfoMapper.getPatientInfoByOpenId(StringUtils.isBlank(weChatMessagePushVO.getFromUserName()) ? "" : weChatMessagePushVO.getFromUserName()); + ResidentInfo residentInfo = patientInfoMapper.getPatientInfoByOpenId(StringUtils.isBlank(weChatMessagePushVO.getFromUserName()) ? "" : weChatMessagePushVO.getFromUserName()); //组装数据 - List subscribeMessageRecordList = createSubscribeMessageRecordList(patientInfo, weChatMessagePushVO, SUBSCRIBE_MSG_CHANGE_EVENT); + List subscribeMessageRecordList = createSubscribeMessageRecordList(residentInfo, weChatMessagePushVO, SUBSCRIBE_MSG_CHANGE_EVENT); if (CollectionUtils.isEmpty(subscribeMessageRecordList)) { return; } @@ -152,9 +152,9 @@ public class WeChatAppletCallBackServiceImpl implements WeChatAppletCallBackServ //修改订阅信息状态 for (SubscribeMessageRecord messageRecord : intersectionSubscribeList) { Long patientId = null; - if (Objects.nonNull(patientInfo) && Objects.nonNull(patientInfo.getId())) { - patientId = patientInfo.getId(); - } +// if (Objects.nonNull(residentInfo) && Objects.nonNull(residentInfo.getId())) { +// patientId = residentInfo.getId(); +// } String openId = StringUtils.isBlank(messageRecord.getOpenid()) ? "" : messageRecord.getOpenid(); String templateId = StringUtils.isBlank(messageRecord.getTemplateId()) ? "" : messageRecord.getTemplateId(); String subscribeStatus = StringUtils.isBlank(messageRecord.getSubscribeStatus()) ? "" : messageRecord.getSubscribeStatus(); @@ -186,19 +186,19 @@ public class WeChatAppletCallBackServiceImpl implements WeChatAppletCallBackServ /** * 组装订阅消息数据 * - * @param patientInfo 会员用户信息 + * @param residentInfo 会员用户信息 * @param weChatMessagePushVO 微信请求参数信息 * @param eventType 事件类型 * @return List */ - private List createSubscribeMessageRecordList(PatientInfo patientInfo, WeChatMessagePushVO weChatMessagePushVO, String eventType) { + private List createSubscribeMessageRecordList(ResidentInfo residentInfo, WeChatMessagePushVO weChatMessagePushVO, String eventType) { List subscribeMessageRecordList = Lists.newArrayList(); if (SUBSCRIBE_MSG_POPUP_EVENT.equals(eventType)) { subscribeMessageRecordList = weChatMessagePushVO.getSubscribeMsgPopupEvent().getSubscribeMsgPopupEventList().stream().filter(Objects::nonNull).map(item -> { SubscribeMessageRecord subscribe = new SubscribeMessageRecord(); - if (Objects.nonNull(patientInfo) && Objects.nonNull(patientInfo.getId())) { - subscribe.setPatientId(patientInfo.getId()); - } +// if (Objects.nonNull(residentInfo) && Objects.nonNull(residentInfo.getId())) { +// subscribe.setPatientId(residentInfo.getId()); +// } //此处模板通知需要根据实际情况进行修改 subscribe.setOpenid(StringUtils.isBlank(weChatMessagePushVO.getFromUserName()) ? "" : weChatMessagePushVO.getFromUserName()); subscribe.setAppletId(StringUtils.isBlank(weChatMessagePushVO.getToUserName()) ? "" : weChatMessagePushVO.getToUserName()); @@ -216,9 +216,9 @@ public class WeChatAppletCallBackServiceImpl implements WeChatAppletCallBackServ if (SUBSCRIBE_MSG_CHANGE_EVENT.equals(eventType)) { subscribeMessageRecordList = weChatMessagePushVO.getSubscribeMsgChangeEvent().getSubscribeMsgPopupEventList().stream().filter(Objects::nonNull).map(item -> { SubscribeMessageRecord subscribe = new SubscribeMessageRecord(); - if (Objects.nonNull(patientInfo) && Objects.nonNull(patientInfo.getId())) { - subscribe.setPatientId(patientInfo.getId()); - } +// if (Objects.nonNull(residentInfo) && Objects.nonNull(residentInfo.getId())) { +// subscribe.setPatientId(residentInfo.getId()); +// } //此处模板通知需要根据实际情况进行修改 subscribe.setOpenid(StringUtils.isBlank(weChatMessagePushVO.getFromUserName()) ? "" : weChatMessagePushVO.getFromUserName()); subscribe.setAppletId(StringUtils.isBlank(weChatMessagePushVO.getToUserName()) ? "" : weChatMessagePushVO.getToUserName()); diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/wechatofficialaccountcallback/impl/WeChatOfficialAccountCallbackServiceImpl.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/wechatofficialaccountcallback/impl/WeChatOfficialAccountCallbackServiceImpl.java index 454c8b63..5a40f065 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/wechatofficialaccountcallback/impl/WeChatOfficialAccountCallbackServiceImpl.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/wechatofficialaccountcallback/impl/WeChatOfficialAccountCallbackServiceImpl.java @@ -6,7 +6,7 @@ import com.xinelu.common.exception.ServiceException; import com.xinelu.common.utils.DateUtils; import com.xinelu.manage.domain.officialaccountsubscribeevent.OfficialAccountSubscribeEvent; import com.xinelu.manage.domain.officialaccounttemplateevent.OfficialAccountTemplateEvent; -import com.xinelu.manage.domain.patientinfo.PatientInfo; +import com.xinelu.manage.domain.residentinfo.ResidentInfo; import com.xinelu.manage.mapper.officialaccountsubscribeevent.OfficialAccountSubscribeEventMapper; import com.xinelu.manage.mapper.officialaccounttemplateevent.OfficialAccountTemplateEventMapper; import com.xinelu.manage.mapper.patientinfo.PatientInfoMapper; @@ -47,7 +47,7 @@ public class WeChatOfficialAccountCallbackServiceImpl implements WeChatOfficialA @Override public void handleOfficialAccountTemplateEvent(WeChatOfficialAccountEventPushVO eventPushVO) { //查询患者信息 - PatientInfo patientInfo = patientInfoMapper.getPatientInfoByOpenId(eventPushVO.getFromUserName()); + ResidentInfo patientInfo = patientInfoMapper.getPatientInfoByOpenId(eventPushVO.getFromUserName()); if (Objects.isNull(patientInfo)) { log.info("当前患者信息不存在,微信用户openid为:{}", eventPushVO.getFromUserName()); return; diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/utils/WeChatOfficialAccountUtils.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/utils/WeChatOfficialAccountUtils.java index c0789941..6aca8efe 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/utils/WeChatOfficialAccountUtils.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/utils/WeChatOfficialAccountUtils.java @@ -190,7 +190,7 @@ public class WeChatOfficialAccountUtils { /** * 微信小程序模板消息发送 */ - public void sendAppletTemplateMessage(PatientVO patientVO) { + public Integer sendAppletTemplateMessage(PatientVO patientVO) { //微信模版组装 String thing5 = "每日阅读有助于了解当前情况哦"; String thing1 = "新入院注意事项指导、术前须知"; @@ -252,5 +252,6 @@ public class WeChatOfficialAccountUtils { break; } } + return errCode.getErrcode(); } } diff --git a/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml b/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml index 81d463ab..61ad6e1a 100644 --- a/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml +++ b/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml @@ -137,4 +137,15 @@ and pi.del_flag = 0 + + + update sign_patient_manage_route_node + set node_execute_status = 'EXECUTED' + where + id in + + #{signPatientManageRouteNodeIds} + + \ No newline at end of file diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/subscribeTaskServiceImpl.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/subscribeTaskServiceImpl.java index ea660b43..74affbc4 100644 --- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/subscribeTaskServiceImpl.java +++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/service/impl/subscribeTaskServiceImpl.java @@ -49,43 +49,54 @@ public class subscribeTaskServiceImpl implements SubscribeTaskService { continue; } //判断路径节点,组装数据 - if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_DISCHARGE.getName()) || signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getName())) { + if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_DISCHARGE.getInfo()) || signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getInfo())) { PatientVO patientVO = patient.stream().filter(Objects::nonNull).filter(item -> signPatientManageRouteNode.getPatientId().equals(item.getPatientId())).findFirst().orElse(new PatientVO()); if (patientVO.getPatientType().equals(PatientTypeEnum.DISCHARGED_PATIENT.getInfo())) { LocalDate localDate = patientVO.getDischargeTime().plusDays(signPatientManageRouteNode.getRouteNodeDay()); boolean before = localDate.isEqual(LocalDate.now()); if (before) { signPatientManageRouteNode.setOpenId(patientVO.getOpenId()); + signPatientManageRouteNode.setRouteNodeName(RouteNodeNameEnum.AFTER_DISCHARGE.getName()); patientVOS.add(signPatientManageRouteNode); } } } - if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_ADMISSION.getName())) { + if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_ADMISSION.getInfo())) { PatientVO patientVO = patient.stream().filter(Objects::nonNull).filter(item -> signPatientManageRouteNode.getPatientId().equals(item.getPatientId())).findFirst().orElse(new PatientVO()); if (patientVO.getPatientType().equals(PatientTypeEnum.IN_HOSPITAL_PATIENT.getInfo())) { LocalDate localDate = patientVO.getAdmissionTime().plusDays(signPatientManageRouteNode.getRouteNodeDay()); boolean before = localDate.isEqual(LocalDate.now()); if (before) { signPatientManageRouteNode.setOpenId(patientVO.getOpenId()); + signPatientManageRouteNode.setRouteNodeName(RouteNodeNameEnum.AFTER_ADMISSION.getName()); patientVOS.add(signPatientManageRouteNode); } } } - if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_CONSULTATION.getName()) || signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getName())) { + if (signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_CONSULTATION.getInfo()) || signPatientManageRouteNode.getRouteNodeName().equals(RouteNodeNameEnum.AFTER_VISIT_DISCHARGE.getInfo())) { PatientVO patientVO = patient.stream().filter(Objects::nonNull).filter(item -> signPatientManageRouteNode.getPatientId().equals(item.getPatientId())).findFirst().orElse(new PatientVO()); if (patientVO.getPatientType().equals(PatientTypeEnum.OUTPATIENT.getInfo()) && patientVO.getAdmissionTime() == null) { LocalDate localDate = patientVO.getVisitDate().plusDays(signPatientManageRouteNode.getRouteNodeDay()); boolean before = localDate.isEqual(LocalDate.now()); if (before) { signPatientManageRouteNode.setOpenId(patientVO.getOpenId()); + signPatientManageRouteNode.setRouteNodeName(RouteNodeNameEnum.AFTER_CONSULTATION.getName()); patientVOS.add(signPatientManageRouteNode); } } } } + List signPatientManageRouteNodeIds = new ArrayList<>(); //发送 for (PatientVO patientVO : patientVOS) { - weChatOfficialAccountUtils.sendAppletTemplateMessage(patientVO); + Integer integer = weChatOfficialAccountUtils.sendAppletTemplateMessage(patientVO); + if (integer == 0) { + signPatientManageRouteNodeIds.add(patientVO.getSignPatientManageRouteNodeId()); + } + //更改执行状态 + if (CollectionUtils.isNotEmpty(signPatientManageRouteNodeIds)) { + homePageMapper.updateNodeExecuteStatusByIds(signPatientManageRouteNodeIds); + } } } } From ee95c9cb611a08fcc67dba44b9e7d399ff6cfb48 Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Mon, 8 Jul 2024 10:01:31 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SignPatientManageRouteNodeMapper.java | 7 +++++++ .../mobile/controller/homepage/HomePageController.java | 3 +++ .../xinelu/mobile/service/homepage/HomePageService.java | 6 ++++++ .../mobile/service/homepage/Impl/HomePageServiceImpl.java | 6 ++++++ .../xinelu/mobile/utils/WeChatOfficialAccountUtils.java | 1 + 5 files changed, 23 insertions(+) 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 d64e4d64..73d951b9 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 @@ -93,6 +93,13 @@ public interface SignPatientManageRouteNodeMapper { */ List selectPatientTaskList(PatientTaskDto patientTaskDto); + /** + * 查询个人任务消息 + * + * @param residentId 用户id + * @param nodeExecuteStatus 状态 + * @return SignPatientManageRouteNode + */ List selectManageRouteByResidentId(@Param("residentId") Long residentId, @Param("nodeExecuteStatus") String nodeExecuteStatus); String selectNodeContent(Long manageRouteNodeId); diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/homepage/HomePageController.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/homepage/HomePageController.java index ba5dbaf2..b344f34c 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/homepage/HomePageController.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/homepage/HomePageController.java @@ -92,6 +92,9 @@ public class HomePageController extends BaseController { return homePageService.subscriptionMessage(id); } + /** + * 消息通知列表 + */ @GetMapping("/messageNotification") public AjaxResult selectSignPatientManageRouteNode(Long residentId) { return homePageService.selectSignPatientManageRouteNode(residentId); diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/HomePageService.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/HomePageService.java index 427ac96b..1f890a24 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/HomePageService.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/HomePageService.java @@ -76,6 +76,12 @@ public interface HomePageService { */ AjaxResult subscriptionMessage(Long id); + /** + * 消息通知列表 + * + * @param residentId 用户id + * @return AjaxResult + */ AjaxResult selectSignPatientManageRouteNode(Long residentId); AjaxResult selectNodeContent(Long manageRouteNodeId); diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/Impl/HomePageServiceImpl.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/Impl/HomePageServiceImpl.java index 8100ecc9..4f09131f 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/Impl/HomePageServiceImpl.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/service/homepage/Impl/HomePageServiceImpl.java @@ -264,6 +264,12 @@ public class HomePageServiceImpl implements HomePageService { return AjaxResult.success(signPatientManageRouteNodeMapper.selectSignPatientManageRouteNodeById(id)); } + /** + * 消息通知列表 + * + * @param residentId 用户id + * @return AjaxResult + */ @Override public AjaxResult selectSignPatientManageRouteNode(Long residentId) { List signPatientManageRouteNodes = signPatientManageRouteNodeMapper.selectManageRouteByResidentId(residentId, NodeExecuteStatusEnum.EXECUTED.getInfo()); diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/utils/WeChatOfficialAccountUtils.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/utils/WeChatOfficialAccountUtils.java index 6aca8efe..03e96c03 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/utils/WeChatOfficialAccountUtils.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/utils/WeChatOfficialAccountUtils.java @@ -208,6 +208,7 @@ public class WeChatOfficialAccountUtils { Map paramsMap = new LinkedHashMap<>(); paramsMap.put("touser", patientVO.getOpenId()); paramsMap.put("template_id", weChatAppletChatConfig.getHealthyPropagandaId()); + paramsMap.put("miniprogram_state", "developer");//todo paramsMap.put("page", "pages/homepage/homepage"); Map dataMap = new LinkedHashMap<>(); dataMap.put("thing5", new MessageValueEntity(thing5));