diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/homepage/SystemHomePageController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/homepage/SystemHomePageController.java new file mode 100644 index 00000000..034c3efe --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/homepage/SystemHomePageController.java @@ -0,0 +1,45 @@ +package com.xinelu.manage.controller.homepage; + +import com.xinelu.common.core.controller.BaseController; +import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.manage.service.homepage.SystemHomePageService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * 首页信息Controller + * + * @author zh + * @date 2024-08-13 + */ +@RestController +@RequestMapping("/system/homePage") +public class SystemHomePageController extends BaseController { + + @Resource + private SystemHomePageService systemHomePageService; + + + @GetMapping("topStatistics") + public AjaxResult topStatistics() { + return AjaxResult.success(systemHomePageService.topStatistics()); + } + + @GetMapping("signPatientCount") + public AjaxResult signPatientCount() { + return AjaxResult.success(systemHomePageService.signPatientCount()); + } + + @GetMapping("serviceModeStatistics") + public AjaxResult serviceModeStatistics() { + return AjaxResult.success(systemHomePageService.serviceModeStatistics()); + } + + @GetMapping("taskSituation") + public AjaxResult taskSituation(){ + return AjaxResult.success(systemHomePageService.taskSituation()); + } +} 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 c885c400..7857678b 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 @@ -6,6 +6,9 @@ import com.xinelu.manage.dto.patientinfo.PatientInfoDto; import com.xinelu.manage.vo.patientinfo.PatientBaseInfoVo; import com.xinelu.manage.vo.patientinfo.PatientInfoVo; import com.xinelu.manage.vo.patientinfo.PatientNextTaskVo; +import org.apache.ibatis.annotations.Param; + +import java.time.LocalDate; import java.util.List; /** @@ -104,4 +107,19 @@ public interface PatientInfoMapper { * @return 被护理人基本信息 */ ResidentInfo getPatientInfoByOpenId(String openId); + + /** + * 根据创建时间查询患者数量 + * + * @param firstDay 本月第一天 + * @param now 当前时间 + * @return int + */ + int getPatientInfoCountByCreateTime(@Param("firstDay") LocalDate firstDay, @Param("now") LocalDate now); + + int selectPatientInfoCountBySignTime(@Param("firstDay") LocalDate firstDay, @Param("now") LocalDate now); + + int selectPatientSignTotalCount(); + + int selectPatientSignServiceCount(); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientprehospitalization/PatientPreHospitalizationMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientprehospitalization/PatientPreHospitalizationMapper.java index 49df6d7a..9160667c 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientprehospitalization/PatientPreHospitalizationMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/patientprehospitalization/PatientPreHospitalizationMapper.java @@ -2,6 +2,8 @@ package com.xinelu.manage.mapper.patientprehospitalization; import com.xinelu.manage.domain.patientprehospitalization.PatientPreHospitalization; import com.xinelu.manage.dto.patientinfo.PatientInfoDto; + +import java.time.LocalDate; import java.util.List; import org.apache.ibatis.annotations.Param; @@ -39,4 +41,12 @@ public interface PatientPreHospitalizationMapper { */ public int deleteByIds(Long[] ids); + /** + * 根据创建时间查询预住院患者数量 + * + * @param firstDay 本月第一天 + * @param now 当前时间 + * @return int + */ + int getPatientPreHospitalizationCountByCreateTime(@Param("firstDay") LocalDate firstDay, @Param("now") LocalDate now); } 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 09143358..c394cca0 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,15 +3,15 @@ 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 com.xinelu.manage.vo.signpatientmanageroutenode.SignPatientManageNodeAuditVo; -import com.xinelu.manage.vo.signpatientmanageroutenode.SignPatientTaskVo; -import com.xinelu.manage.vo.signpatientmanageroutenode.TextMessage; +import com.xinelu.manage.vo.homepage.PatientAndNode; +import com.xinelu.manage.vo.signpatientmanageroutenode.*; import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeAuditVo; -import java.util.List; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.List; + /** * 签约患者管理任务路径节点Mapper接口 * @@ -162,4 +162,10 @@ public interface SignPatientManageRouteNodeMapper { */ int getPatientExecutedTaskNum(Long signPatientRecordId); + + int selectNodeCountByCreateTime(@Param("firstDay") LocalDate firstDay, @Param("now") LocalDate now); + + BigDecimal selectNodeCount(@Param("phoneDialMethod") String phoneDialMethod, @Param("messagePushSign") Long messagePushSign, @Param("appletPushSign") Long appletPushSign); + + List selectNodeExecuteStatus(); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientrecord/SignPatientRecordMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientrecord/SignPatientRecordMapper.java index 8bd2b94c..214093ac 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientrecord/SignPatientRecordMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientrecord/SignPatientRecordMapper.java @@ -4,8 +4,10 @@ import com.xinelu.manage.domain.signpatientrecord.SignPatientRecord; import com.xinelu.manage.dto.signpatientrecord.SignPatientListDto; import com.xinelu.manage.vo.signpatientrecord.IntentionalSignVo; import com.xinelu.manage.vo.signpatientrecord.SignPatientInfoVo; -import com.xinelu.manage.vo.signpatientrecord.SignPatientRecordVo; import com.xinelu.manage.vo.signpatientrecord.SignPatientListVo; +import com.xinelu.manage.vo.signpatientrecord.SignPatientRecordVo; +import org.apache.ibatis.annotations.Param; + import java.util.List; /** @@ -42,4 +44,6 @@ public interface SignPatientRecordMapper { * @Date 2024-08-08 11:00 */ IntentionalSignVo getIntentionalSign(Long id); + + int selectCheckStatus(@Param("routeCheckStatus") String routeCheckStatus, @Param("serviceStatus") String serviceStatus); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/homepage/SystemHomePageService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/homepage/SystemHomePageService.java new file mode 100644 index 00000000..7771f0e1 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/homepage/SystemHomePageService.java @@ -0,0 +1,26 @@ +package com.xinelu.manage.service.homepage; + +import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.manage.vo.homepage.ServiceModeStatistics; +import com.xinelu.manage.vo.homepage.SignPatientCount; +import com.xinelu.manage.vo.homepage.TaskSituation; +import com.xinelu.manage.vo.homepage.TopStatisticsVO; + +import java.util.List; + +/** + * 首页信息Service接口 + * + * @author ZH + * @date 2024-08-13 + */ +public interface SystemHomePageService { + + TopStatisticsVO topStatistics(); + + List signPatientCount(); + + List serviceModeStatistics(); + + List taskSituation(); +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/homepage/impl/SystemHomePageServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/homepage/impl/SystemHomePageServiceImpl.java new file mode 100644 index 00000000..d14309fd --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/homepage/impl/SystemHomePageServiceImpl.java @@ -0,0 +1,130 @@ +package com.xinelu.manage.service.homepage.impl; + +import com.xinelu.common.enums.NodeExecuteStatusEnum; +import com.xinelu.common.enums.PhoneDialMethodEnum; +import com.xinelu.manage.mapper.patientinfo.PatientInfoMapper; +import com.xinelu.manage.mapper.patientprehospitalization.PatientPreHospitalizationMapper; +import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper; +import com.xinelu.manage.mapper.signpatientrecord.SignPatientRecordMapper; +import com.xinelu.manage.service.homepage.SystemHomePageService; +import com.xinelu.manage.vo.homepage.*; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.LocalDate; +import java.time.temporal.TemporalAdjusters; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** + * 首页信息Service业务层处理 + * + * @author ZH + * @date 2024-08-13 + */ +@Service +public class SystemHomePageServiceImpl implements SystemHomePageService { + @Resource + private PatientInfoMapper patientInfoMapper; + @Resource + private PatientPreHospitalizationMapper patientPreHospitalizationMapper; + @Resource + private SignPatientManageRouteNodeMapper signPatientManageRouteNodeMapper; + @Resource + private SignPatientRecordMapper signPatientRecordMapper; + + @Override + public TopStatisticsVO topStatistics() { + LocalDate now = LocalDate.now(); + TopStatisticsVO topStatisticsVO = new TopStatisticsVO(); + LocalDate firstDay = now.with(TemporalAdjusters.firstDayOfMonth()); + int createPatientCount = patientInfoMapper.getPatientInfoCountByCreateTime(firstDay, now); + int patientPreHospitalizationCount = patientPreHospitalizationMapper.getPatientPreHospitalizationCountByCreateTime(firstDay, now); + topStatisticsVO.setThisMonthPatient(createPatientCount + patientPreHospitalizationCount); + topStatisticsVO.setSignPatientCount(patientInfoMapper.selectPatientInfoCountBySignTime(firstDay, now)); + topStatisticsVO.setNodeCount(signPatientManageRouteNodeMapper.selectNodeCountByCreateTime(firstDay, now)); + topStatisticsVO.setPatientSignCount(patientInfoMapper.selectPatientSignTotalCount()); + topStatisticsVO.setPatientSignServiceCount(patientInfoMapper.selectPatientSignServiceCount()); + return topStatisticsVO; + } + + @Override + public List signPatientCount() { + List localDates = new ArrayList<>(); + List signPatientCounts = new ArrayList<>(); + LocalDate now = LocalDate.now(); + for (int i = 5; i >= 0; i--) { + LocalDate localDate = now.minusMonths(i); + localDates.add(localDate); + } + for (LocalDate localDate : localDates) { + SignPatientCount signPatientCount = new SignPatientCount(); + LocalDate firstDay = localDate.with(TemporalAdjusters.firstDayOfMonth()); + LocalDate lastDay = localDate.with(TemporalAdjusters.lastDayOfMonth()); + int createPatientCount = patientInfoMapper.getPatientInfoCountByCreateTime(firstDay, lastDay); + int i = patientInfoMapper.selectPatientInfoCountBySignTime(firstDay, lastDay); + signPatientCount.setTime(localDate); + signPatientCount.setSignPatientCount(createPatientCount); + signPatientCount.setProportion(new BigDecimal(i).divide(new BigDecimal(createPatientCount), 2, RoundingMode.HALF_UP)); + signPatientCounts.add(signPatientCount); + } + return signPatientCounts; + } + + @Override + public List serviceModeStatistics() { + ArrayList serviceModeStatisticsList = new ArrayList<>(); + BigDecimal common = signPatientManageRouteNodeMapper.selectNodeCount(PhoneDialMethodEnum.COMMON.getInfo(), null, null); + BigDecimal AI = signPatientManageRouteNodeMapper.selectNodeCount(PhoneDialMethodEnum.AI.getInfo(), null, null); + BigDecimal messagePushSign = signPatientManageRouteNodeMapper.selectNodeCount(null, 0L, null); + BigDecimal appletPushSign = signPatientManageRouteNodeMapper.selectNodeCount(null, null, 0L); + BigDecimal all = common.add(AI).add(messagePushSign).add(appletPushSign); + serviceModeStatisticsList.add(new ServiceModeStatistics("AI", AI.divide(all, 2, RoundingMode.HALF_UP), AI)); + serviceModeStatisticsList.add(new ServiceModeStatistics("短信", messagePushSign.divide(all, 2, RoundingMode.HALF_UP), messagePushSign)); + serviceModeStatisticsList.add(new ServiceModeStatistics("微信", appletPushSign.divide(all, 2, RoundingMode.HALF_UP), appletPushSign)); + serviceModeStatisticsList.add(new ServiceModeStatistics("人工随访", common.divide(all, 2, RoundingMode.HALF_UP), common)); + return serviceModeStatisticsList; + } + + @Override + public List taskSituation() { + LocalDate now = LocalDate.now(); + List taskSituations = new ArrayList<>(); + //未审核 + int checkStatusCount = signPatientRecordMapper.selectCheckStatus("UNAUDITED", "SERVICE_CENTER"); + //全部 + int signTimeCount = signPatientRecordMapper.selectCheckStatus(null, "SERVICE_CENTER"); + //任务 + List patientAndNodes = signPatientManageRouteNodeMapper.selectNodeExecuteStatus(); + int unExecutedCount = 0; + int allCount = 0; + if (CollectionUtils.isNotEmpty(patientAndNodes)) { + allCount = patientAndNodes.size(); + for (PatientAndNode patientAndNode : patientAndNodes) { + LocalDate localDate = null; + if (Objects.nonNull(patientAndNode.getDischargeTime())) { + localDate = patientAndNode.getDischargeTime().plusDays(patientAndNode.getRouteNodeDay()); + } + if (Objects.isNull(patientAndNode.getDischargeTime()) && Objects.nonNull(patientAndNode.getVisitDate())) { + localDate = patientAndNode.getVisitDate().plusDays(patientAndNode.getRouteNodeDay()); + } + if (Objects.isNull(localDate)) { + continue; + } + boolean before = localDate.isBefore(LocalDate.now()) || localDate.isEqual(LocalDate.now()); + if (before) { + if (!NodeExecuteStatusEnum.EXECUTED.getInfo().equals(patientAndNode.getNodeExecuteStatus())) { + unExecutedCount++; + } + } + } + } + taskSituations.add(new TaskSituation("人工审核", checkStatusCount, signTimeCount)); + taskSituations.add(new TaskSituation("人工随访", unExecutedCount, allCount)); + return taskSituations; + } +} \ No newline at end of file diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/PatientAndNode.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/PatientAndNode.java new file mode 100644 index 00000000..47bb8997 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/PatientAndNode.java @@ -0,0 +1,26 @@ +package com.xinelu.manage.vo.homepage; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDate; + +@Data +public class PatientAndNode { + + private Long signPatientManageRouteNodeIds; + + @ApiModelProperty(value = "出院时间(出院患者)") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate dischargeTime; + + @ApiModelProperty(value = "就诊时间,格式:yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate visitDate; + + @ApiModelProperty(value = "管理路径节点时间,时间单位为:天") + private Integer routeNodeDay; + + private String nodeExecuteStatus; +} \ No newline at end of file diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/ServiceModeStatistics.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/ServiceModeStatistics.java new file mode 100644 index 00000000..6fb68cdc --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/ServiceModeStatistics.java @@ -0,0 +1,31 @@ +package com.xinelu.manage.vo.homepage; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class ServiceModeStatistics { + + /** + * 名称 + */ + private String name; + + /** + * 比例 + */ + private BigDecimal proportion; + + /** + * 数量 + */ + private BigDecimal count; + + public ServiceModeStatistics(String name, BigDecimal proportion, BigDecimal count) { + super(); + this.name = name; + this.proportion = proportion; + this.count = count; + } +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/SignPatientCount.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/SignPatientCount.java new file mode 100644 index 00000000..96905307 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/SignPatientCount.java @@ -0,0 +1,25 @@ +package com.xinelu.manage.vo.homepage; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; + +@Data +public class SignPatientCount { + + /** + * 时间 + */ + private LocalDate time; + + /** + * 数量 + */ + private Integer SignPatientCount; + + /** + * 百分比 + */ + private BigDecimal proportion; +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/TaskSituation.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/TaskSituation.java new file mode 100644 index 00000000..51ba1249 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/TaskSituation.java @@ -0,0 +1,29 @@ +package com.xinelu.manage.vo.homepage; + +import lombok.Data; + +@Data +public class TaskSituation { + + /** + * 名称 + */ + private String name; + + /** + * 分子 + */ + private Integer count; + + /** + * 分母 + */ + private Integer allCount; + + public TaskSituation(String name, Integer count, Integer allCount) { + super(); + this.name = name; + this.count = count; + this.allCount = allCount; + } +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/TopStatisticsVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/TopStatisticsVO.java new file mode 100644 index 00000000..a6843384 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/homepage/TopStatisticsVO.java @@ -0,0 +1,32 @@ +package com.xinelu.manage.vo.homepage; + +import lombok.Data; + +@Data +public class TopStatisticsVO { + + /** + * 本月新增患者数 + */ + private Integer thisMonthPatient; + + /** + * 本月签约患者数 + */ + private Integer signPatientCount; + + /** + * 本月随访人次 + */ + private Integer nodeCount; + + /** + * 服务总人数 + */ + private Integer patientSignCount; + + /** + * 服务中患者数 + */ + private Integer patientSignServiceCount; +} \ No newline at end of file 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 3c3455a1..d7caa1fa 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/patientinfo/PatientInfoMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/patientinfo/PatientInfoMapper.xml @@ -1,6 +1,6 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> @@ -35,7 +35,7 @@ - + @@ -44,7 +44,7 @@ - + @@ -52,35 +52,65 @@ - - select p.id,p.resident_id, - p.patient_name, - p.patient_phone, - p.family_member_phone, - p.birth_date, - p.card_no, - p.sex, - p.address, - p.patient_type, - p.sign_status,p.sign_patient_record_id,p.service_status, - p.sign_time, - p.visit_method, p.attending_physician_id, p.attending_physician_name, p.main_diagnosis, - p.hospital_agency_id, p.hospital_agency_name, p.campus_agency_id, p.campus_agency_name, p.department_id, p.department_name, p.ward_id, p.ward_name, - p.responsible_nurse, p.patient_visit_record_id, p.visit_serial_number, - p.admission_time, p.patient_pre_hospitalization_id, p.discharge_time, p.patient_pre_hospitalization_id, p.appointment_treatment_group, - p.registration_no, p.registration_date, p.appointment_date, p.in_hospital_number, p.visit_date, p.discharge_method, - p.patient_source, p.surgical_name, p.del_flag, p.create_by, p.create_time, p.update_by, p.update_time - from patient_info p - + + select p.id, + p.resident_id, + p.patient_name, + p.patient_phone, + p.family_member_phone, + p.birth_date, + p.card_no, + p.sex, + p.address, + p.patient_type, + p.sign_status, + p.sign_patient_record_id, + p.service_status, + p.sign_time, + p.visit_method, + p.attending_physician_id, + p.attending_physician_name, + p.main_diagnosis, + p.hospital_agency_id, + p.hospital_agency_name, + p.campus_agency_id, + p.campus_agency_name, + p.department_id, + p.department_name, + p.ward_id, + p.ward_name, + p.responsible_nurse, + p.patient_visit_record_id, + p.visit_serial_number, + p.admission_time, + p.patient_pre_hospitalization_id, + p.discharge_time, + p.patient_pre_hospitalization_id, + p.appointment_treatment_group, + p.registration_no, + p.registration_date, + p.appointment_date, + p.in_hospital_number, + p.visit_date, + p.discharge_method, + p.patient_source, + p.surgical_name, + p.del_flag, + p.create_by, + p.create_time, + p.update_by, + p.update_time + from patient_info p + @@ -320,415 +350,427 @@ order by p.id desc - + - + - + - - insert into patient_info - - - resident_id, - - - patient_name, - - patient_phone, - - family_member_phone, - - birth_date, - - card_no, - - sex, - - address, - - patient_type, - - sign_status, - - sign_patient_record_id, - - service_status, - - sign_time, - - visit_method, - - attending_physician_id, - - attending_physician_name, - - main_diagnosis, - - hospital_agency_id, - - hospital_agency_name, - - campus_agency_id, - - campus_agency_name, - - department_id, - - department_name, - - ward_id, - - ward_name, - - - responsible_nurse, - - - patient_visit_record_id, - - - visit_serial_number, - - - admission_time, - - - discharge_time, - - - patient_pre_hospitalization_id, - - appointment_treatment_group, - - registration_no, - - registration_date, - - appointment_date, - - in_hospital_number, - - visit_date, - - discharge_method, - - patient_source, - - surgical_name, - - del_flag, - - create_by, - - create_time, - - update_by, - - update_time, - - - - #{residentId}, - - #{patientName}, - - #{patientPhone}, - - #{familyMemberPhone}, - - #{birthDate}, - - #{cardNo}, - - #{sex}, - - #{address}, - - #{patientType}, - - #{signStatus}, - - #{signPatientRecordId}, - - #{serviceStatus}, - - #{signTime}, - - #{visitMethod}, - - #{attendingPhysicianId}, - - #{attendingPhysicianName}, - - #{mainDiagnosis}, - - #{hospitalAgencyId}, - - #{hospitalAgencyName}, - - #{campusAgencyId}, - - #{campusAgencyName}, - - #{departmentId}, - - #{departmentName}, - - #{wardId}, - - #{wardName}, - - #{responsibleNurse}, - - #{patientVisitRecordId}, - - #{visitSerialNumber}, - - #{admissionTime}, - - #{dischargeTime}, - - - #{patientPreHospitalizationId}, - - #{appointmentTreatmentGroup}, - - #{registrationNo}, - - #{registrationDate}, - - #{appointmentDate}, - - #{inHospitalNumber}, - - #{visitDate}, - - #{dischargeMethod}, - - #{patientSource}, - - #{surgicalName}, - - #{delFlag}, - - #{createBy}, - - #{createTime}, - - #{updateBy}, - - #{updateTime}, - - - + + insert into patient_info + + + resident_id, + + + patient_name, + + patient_phone, + + family_member_phone, + + birth_date, + + card_no, + + sex, + + address, + + patient_type, + + sign_status, + + sign_patient_record_id, + + service_status, + + sign_time, + + visit_method, + + attending_physician_id, + + attending_physician_name, + + main_diagnosis, + + hospital_agency_id, + + hospital_agency_name, + + campus_agency_id, + + campus_agency_name, + + department_id, + + department_name, + + ward_id, + + ward_name, + + + responsible_nurse, + + + patient_visit_record_id, + + + visit_serial_number, + + + admission_time, + + + discharge_time, + + + patient_pre_hospitalization_id, + + appointment_treatment_group, + + registration_no, + + registration_date, + + appointment_date, + + in_hospital_number, + + visit_date, + + discharge_method, + + patient_source, + + surgical_name, + + del_flag, + + create_by, + + create_time, + + update_by, + + update_time, + + + + #{residentId}, + + #{patientName}, + + #{patientPhone}, + + #{familyMemberPhone}, + + #{birthDate}, + + #{cardNo}, + + #{sex}, + + #{address}, + + #{patientType}, + + #{signStatus}, + + #{signPatientRecordId}, + + #{serviceStatus}, + + #{signTime}, + + #{visitMethod}, + + #{attendingPhysicianId}, + + #{attendingPhysicianName}, + + #{mainDiagnosis}, + + #{hospitalAgencyId}, + + #{hospitalAgencyName}, + + #{campusAgencyId}, + + #{campusAgencyName}, + + #{departmentId}, + + #{departmentName}, + + #{wardId}, + + #{wardName}, + + #{responsibleNurse}, + + #{patientVisitRecordId}, + + #{visitSerialNumber}, + + #{admissionTime}, + + #{dischargeTime}, + + + #{patientPreHospitalizationId}, + + #{appointmentTreatmentGroup}, + + #{registrationNo}, + + #{registrationDate}, + + #{appointmentDate}, + + #{inHospitalNumber}, + + #{visitDate}, + + #{dischargeMethod}, + + #{patientSource}, + + #{surgicalName}, + + #{delFlag}, + + #{createBy}, + + #{createTime}, + + #{updateBy}, + + #{updateTime}, + + + - - update patient_info - - - resident_id = #{residentId}, - - - patient_name = #{patientName}, - - - patient_phone = #{patientPhone}, - - - family_member_phone = #{familyMemberPhone}, - - - birth_date = #{birthDate}, - - - card_no = #{cardNo}, - - - sex = #{sex}, - - - address = #{address}, - - - patient_type = #{patientType}, - - sign_status = - #{signStatus}, - - sign_patient_record_id = #{signPatientRecordId}, - - service_status = #{serviceStatus}, - - sign_time = - #{signTime}, - - visit_method = - #{visitMethod}, - - attending_physician_id = - #{attendingPhysicianId}, - - attending_physician_name = - #{attendingPhysicianName}, - - main_diagnosis = - #{mainDiagnosis}, - - hospital_agency_id = - #{hospitalAgencyId}, - - hospital_agency_name = - #{hospitalAgencyName}, - - campus_agency_id = - #{campusAgencyId}, - - campus_agency_name = - #{campusAgencyName}, - - department_id = - #{departmentId}, - - department_name = - #{departmentName}, - - ward_id = - #{wardId}, - - ward_name = - #{wardName}, - - responsible_nurse = - #{responsibleNurse}, - - patient_visit_record_id = - #{patientVisitRecordId}, - - visit_serial_number = - #{visitSerialNumber}, - - - admission_time = #{admissionTime}, - - - discharge_time = #{dischargeTime}, - - - patient_pre_hospitalization_id = #{patientPreHospitalizationId}, - - appointment_treatment_group = - #{appointmentTreatmentGroup}, - - registration_no = - #{registrationNo}, - - registration_date = - #{registrationDate}, - - appointment_date = - #{appointmentDate}, - - in_hospital_number = - #{inHospitalNumber}, - - visit_date = - #{visitDate}, - - discharge_method = - #{dischargeMethod}, - - patient_source = - #{patientSource}, - - surgical_name = - #{surgicalName}, - - del_flag = - #{delFlag}, - - create_by = - #{createBy}, - - create_time = - #{createTime}, - - update_by = - #{updateBy}, - - update_time = - #{updateTime}, - - - where id = #{id} - + + update patient_info + + + resident_id = #{residentId}, + + + patient_name = #{patientName}, + + + patient_phone = #{patientPhone}, + + + family_member_phone = #{familyMemberPhone}, + + + birth_date = #{birthDate}, + + + card_no = #{cardNo}, + + + sex = #{sex}, + + + address = #{address}, + + + patient_type = #{patientType}, + + sign_status = + #{signStatus}, + + sign_patient_record_id = #{signPatientRecordId}, + + service_status = #{serviceStatus}, + + sign_time = + #{signTime}, + + visit_method = + #{visitMethod}, + + attending_physician_id = + #{attendingPhysicianId}, + + attending_physician_name = + #{attendingPhysicianName}, + + main_diagnosis = + #{mainDiagnosis}, + + hospital_agency_id = + #{hospitalAgencyId}, + + hospital_agency_name = + #{hospitalAgencyName}, + + campus_agency_id = + #{campusAgencyId}, + + campus_agency_name = + #{campusAgencyName}, + + department_id = + #{departmentId}, + + department_name = + #{departmentName}, + + ward_id = + #{wardId}, + + ward_name = + #{wardName}, + + responsible_nurse = + #{responsibleNurse}, + + patient_visit_record_id = + #{patientVisitRecordId}, + + visit_serial_number = + #{visitSerialNumber}, + + + admission_time = #{admissionTime}, + + + discharge_time = #{dischargeTime}, + + + patient_pre_hospitalization_id = #{patientPreHospitalizationId}, + + appointment_treatment_group = + #{appointmentTreatmentGroup}, + + registration_no = + #{registrationNo}, + + registration_date = + #{registrationDate}, + + appointment_date = + #{appointmentDate}, + + in_hospital_number = + #{inHospitalNumber}, + + visit_date = + #{visitDate}, + + discharge_method = + #{dischargeMethod}, + + patient_source = + #{patientSource}, + + surgical_name = + #{surgicalName}, + + del_flag = + #{delFlag}, + + create_by = + #{createBy}, + + create_time = + #{createTime}, + + update_by = + #{updateBy}, + + update_time = + #{updateTime}, + + + where id = #{id} + - - update patient_info - set resident_id = #{residentId}, - patient_name = #{patientName}, - patient_phone = #{patientPhone}, - family_member_phone = #{familyMemberPhone}, - birth_date = #{birthDate}, - card_no = #{cardNo}, - sex = #{sex}, - address = #{address}, - patient_type = #{patientType}, - sign_status = #{signStatus}, - sign_patient_record_id = #{signPatientRecordId}, - service_status = #{serviceStatus}, - sign_time = #{signTime}, - visit_method = #{visitMethod}, - attending_physician_id = #{attendingPhysicianId}, - attending_physician_name = #{attendingPhysicianName}, - main_diagnosis = #{mainDiagnosis}, - hospital_agency_id = #{hospitalAgencyId}, - hospital_agency_name = #{hospitalAgencyName}, - campus_agency_id = #{campusAgencyId}, - campus_agency_name = #{campusAgencyName}, - department_id = #{departmentId}, - department_name = #{departmentName}, - ward_id = #{wardId}, - ward_name = #{wardName}, - responsible_nurse = #{responsibleNurse}, - patient_visit_record_id = #{patientVisitRecordId}, - visit_serial_number = #{visitSerialNumber}, - admission_time = #{admissionTime}, - discharge_time = #{dischargeTime}, - patient_pre_hospitalization_id = #{patientPreHospitalizationId}, - appointment_treatment_group = #{appointmentTreatmentGroup}, - registration_no = #{registrationNo}, - registration_date = #{registrationDate}, - appointment_date = #{appointmentDate}, - in_hospital_number = #{inHospitalNumber}, - visit_date = #{visitDate}, - discharge_method = #{dischargeMethod}, - patient_source = #{patientSource}, - surgical_name = #{surgicalName}, - del_flag = #{delFlag}, - create_by = #{createBy}, - create_time = #{createTime}, - update_by = #{updateBy}, - update_time = #{updateTime} - where id = #{id} - + + update patient_info + set resident_id = #{residentId}, + patient_name = #{patientName}, + patient_phone = #{patientPhone}, + family_member_phone = #{familyMemberPhone}, + birth_date = #{birthDate}, + card_no = #{cardNo}, + sex = #{sex}, + address = #{address}, + patient_type = #{patientType}, + sign_status = #{signStatus}, + sign_patient_record_id = #{signPatientRecordId}, + service_status = #{serviceStatus}, + sign_time = #{signTime}, + visit_method = #{visitMethod}, + attending_physician_id = #{attendingPhysicianId}, + attending_physician_name = #{attendingPhysicianName}, + main_diagnosis = #{mainDiagnosis}, + hospital_agency_id = #{hospitalAgencyId}, + hospital_agency_name = #{hospitalAgencyName}, + campus_agency_id = #{campusAgencyId}, + campus_agency_name = #{campusAgencyName}, + department_id = #{departmentId}, + department_name = #{departmentName}, + ward_id = #{wardId}, + ward_name = #{wardName}, + responsible_nurse = #{responsibleNurse}, + patient_visit_record_id = #{patientVisitRecordId}, + visit_serial_number = #{visitSerialNumber}, + admission_time = #{admissionTime}, + discharge_time = #{dischargeTime}, + patient_pre_hospitalization_id = #{patientPreHospitalizationId}, + appointment_treatment_group = #{appointmentTreatmentGroup}, + registration_no = #{registrationNo}, + registration_date = #{registrationDate}, + appointment_date = #{appointmentDate}, + in_hospital_number = #{inHospitalNumber}, + visit_date = #{visitDate}, + discharge_method = #{dischargeMethod}, + patient_source = #{patientSource}, + surgical_name = #{surgicalName}, + del_flag = #{delFlag}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime} + where id = #{id} + - update patient_info set del_flag = 1 - where id = #{id} - + update patient_info + set del_flag = 1 + where id = #{id} + update patient_info set del_flag = 1 where id in @@ -740,19 +782,19 @@ - \ No newline at end of file + + + + + + + + + diff --git a/postdischarge-manage/src/main/resources/mapper/manage/patientprehospitalization/PatientPreHospitalizationMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/patientprehospitalization/PatientPreHospitalizationMapper.xml index a23cd433..6eb3311f 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/patientprehospitalization/PatientPreHospitalizationMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/patientprehospitalization/PatientPreHospitalizationMapper.xml @@ -391,4 +391,14 @@ #{item.updateTime,jdbcType=TIMESTAMP}) + + 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 fdb8cbec..3521e4ce 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml @@ -345,9 +345,9 @@ LEFT JOIN patient_visit_record pvr ON pi.patient_visit_record_id = pvr.id pi.del_flag = 0 + and spmrn.phone_push_sign = 1 AND spmrn.route_check_status = 'AGREE' AND spmrn.task_node_type in ('PHONE_OUTBOUND','QUESTIONNAIRE_SCALE') - AND spmrn.phone_dial_method = 'COMMON' AND pi.patient_name LIKE concat('%', #{patientName}, '%') 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 22b675f7..d5f9a99d 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml @@ -946,4 +946,44 @@ where spmr.patient_id = #{patientId} and spmrn.del_flag = 0 and spmrn.node_execute_status = 'EXECUTED' GROUP BY spmr.patient_id, spmr.sign_patient_record_id + + + + + + \ No newline at end of file diff --git a/postdischarge-manage/src/main/resources/mapper/manage/signpatientrecord/SignPatientRecordMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/signpatientrecord/SignPatientRecordMapper.xml index 50147636..d3f55192 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientrecord/SignPatientRecordMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientrecord/SignPatientRecordMapper.xml @@ -523,4 +523,29 @@ select id, patient_id, intentional_source ,intentional_time, billing_doctor_id, billing_doctor_name from sign_patient_record where id = #{id} + + 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 638c207c..98ffe25f 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 @@ -3,10 +3,10 @@ package com.xinelu.mobile.controller.homepage; import com.xinelu.common.core.controller.BaseController; import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.page.TableDataInfo; -import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord; import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode; import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO; import com.xinelu.mobile.service.homepage.HomePageService; +import com.xinelu.mobile.vo.homepage.HealthLog; import com.xinelu.mobile.vo.myfollowup.MyFollowUpVO; import org.springframework.web.bind.annotation.*; @@ -76,7 +76,7 @@ public class HomePageController extends BaseController { @GetMapping("/selectTaskExecuteRecord") public TableDataInfo selectPatientTaskExecuteRecord(Long residentId) { startPage(); - List list = homePageService.selectPatientTaskExecuteRecord(residentId); + List list = homePageService.selectPatientTaskExecuteRecord(residentId); return getDataTable(list); } diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/info/MobileInfoController.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/info/MobileInfoController.java index cf070649..d7974e88 100644 --- a/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/info/MobileInfoController.java +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/controller/info/MobileInfoController.java @@ -17,7 +17,7 @@ import java.util.List; */ @Slf4j @RestController -@RequestMapping("/mobile/info") +@RequestMapping("/postDischarge") public class MobileInfoController extends BaseController { 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 3d32018a..b4b119bd 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 @@ -2,6 +2,7 @@ package com.xinelu.mobile.mapper.homepage; import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord; import com.xinelu.manage.vo.signpatientmanageroute.PhonePush; +import com.xinelu.mobile.vo.homepage.HealthLog; import com.xinelu.mobile.vo.homepage.MessageTabulationVO; import com.xinelu.mobile.vo.homepage.NodeExecuteStatus; import com.xinelu.mobile.vo.myfollowup.MyFollowUpVO; @@ -33,7 +34,7 @@ public interface HomePageMapper { * @param nodeExecuteStatus 节点状态 * @return PatientTaskExecuteRecord */ - List selectTaskExecuteRecordByResidentId(@Param("residentId") Long residentId, @Param("nodeExecuteStatus") String nodeExecuteStatus); + List selectTaskExecuteRecordByResidentId(@Param("residentId") Long residentId, @Param("nodeExecuteStatus") String nodeExecuteStatus); /** * 根据居民查询满意度问卷 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 408976e7..08cefdb8 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 @@ -2,10 +2,10 @@ package com.xinelu.mobile.service.homepage; import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.page.TableDataInfo; -import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord; import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode; import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO; import com.xinelu.manage.vo.signpatientmanageroute.PhonePush; +import com.xinelu.mobile.vo.homepage.HealthLog; import com.xinelu.mobile.vo.myfollowup.MyFollowUpVO; import java.util.List; @@ -64,7 +64,7 @@ public interface HomePageService { * @param residentId 用户id * @return AjaxResult */ - List selectPatientTaskExecuteRecord(Long residentId); + List selectPatientTaskExecuteRecord(Long residentId); /** * 满意度问卷 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 20d912c0..aa1ca391 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 @@ -39,11 +39,20 @@ import com.xinelu.manage.vo.questionsubjectoption.QuestionSubjectOptionVO; import com.xinelu.manage.vo.signpatientmanageroute.PhonePush; import com.xinelu.mobile.mapper.homepage.HomePageMapper; import com.xinelu.mobile.service.homepage.HomePageService; +import com.xinelu.mobile.vo.homepage.HealthLog; import com.xinelu.mobile.vo.homepage.MessageContentVO; import com.xinelu.mobile.vo.homepage.MessageTabulationVO; import com.xinelu.mobile.vo.homepage.NodeExecuteStatus; import com.xinelu.mobile.vo.myfollowup.MyFollowUpVO; import com.xinelu.mobile.vo.satisfactionquestionnaire.SatisfactionQuestionnaire; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Comparator; @@ -279,8 +288,24 @@ public class HomePageServiceImpl implements HomePageService { * @return AjaxResult */ @Override - public List selectPatientTaskExecuteRecord(Long residentId) { - return homePageMapper.selectTaskExecuteRecordByResidentId(residentId, null); + public List selectPatientTaskExecuteRecord(Long residentId) { + List patientTaskExecuteRecords = homePageMapper.selectTaskExecuteRecordByResidentId(residentId, null); + if (CollectionUtils.isNotEmpty(patientTaskExecuteRecords)) { + for (HealthLog patientTaskExecuteRecord : patientTaskExecuteRecords) { + LocalDate localDate = null; + if (Objects.nonNull(patientTaskExecuteRecord.getDischargeTime())) { + localDate = patientTaskExecuteRecord.getDischargeTime().plusDays(patientTaskExecuteRecord.getRouteNodeDay()); + } + if (Objects.isNull(patientTaskExecuteRecord.getDischargeTime()) && Objects.nonNull(patientTaskExecuteRecord.getVisitDate())) { + localDate = patientTaskExecuteRecord.getVisitDate().plusDays(patientTaskExecuteRecord.getRouteNodeDay()); + } + if (Objects.isNull(localDate)) { + continue; + } + patientTaskExecuteRecord.setExecuteTime(localDate.atTime(0, 0, 0)); + } + } + return patientTaskExecuteRecords; } /** diff --git a/postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/homepage/HealthLog.java b/postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/homepage/HealthLog.java new file mode 100644 index 00000000..95c2a13e --- /dev/null +++ b/postdischarge-mobile/src/main/java/com/xinelu/mobile/vo/homepage/HealthLog.java @@ -0,0 +1,22 @@ +package com.xinelu.mobile.vo.homepage; + +import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDate; + +@EqualsAndHashCode(callSuper = true) +@Data +public class HealthLog extends PatientTaskExecuteRecord { + + @ApiModelProperty(value = "出院时间") + private LocalDate dischargeTime; + + @ApiModelProperty(value = "就诊时间") + private LocalDate visitDate; + + @ApiModelProperty(value = "管理路径节点时间,时间单位为:天") + private Integer routeNodeDay; +} \ No newline at end of file diff --git a/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml b/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml index 5001042b..8cc22a72 100644 --- a/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml +++ b/postdischarge-mobile/src/main/resources/mapper/homepage/HomePageMapper.xml @@ -42,15 +42,18 @@