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 index 4c02d8f7..034c3efe 100644 --- 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 @@ -37,4 +37,9 @@ public class SystemHomePageController extends BaseController { 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/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java index 18add448..b57980ac 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java @@ -3,6 +3,7 @@ package com.xinelu.manage.mapper.signpatientmanageroutenode; import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode; import com.xinelu.manage.dto.signpatientmanageroutenode.PatientTaskDto; import com.xinelu.manage.dto.signpatientmanageroutenode.SignPatientManageRouteNodeDto; +import com.xinelu.manage.vo.homepage.PatientAndNode; import com.xinelu.manage.vo.signpatientmanageroutenode.*; import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeAuditVo; import org.apache.ibatis.annotations.Param; @@ -155,4 +156,6 @@ public interface SignPatientManageRouteNodeMapper { 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 index 94b70587..7771f0e1 100644 --- 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 @@ -3,6 +3,7 @@ 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; @@ -19,5 +20,7 @@ public interface SystemHomePageService { List signPatientCount(); - ServiceModeStatistics serviceModeStatistics(); + 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 index 514180a8..d14309fd 100644 --- 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 @@ -1,13 +1,14 @@ 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.ServiceModeStatistics; -import com.xinelu.manage.vo.homepage.SignPatientCount; -import com.xinelu.manage.vo.homepage.TopStatisticsVO; +import com.xinelu.manage.vo.homepage.*; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -17,6 +18,7 @@ import java.time.LocalDate; import java.time.temporal.TemporalAdjusters; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * 首页信息Service业务层处理 @@ -32,6 +34,8 @@ public class SystemHomePageServiceImpl implements SystemHomePageService { private PatientPreHospitalizationMapper patientPreHospitalizationMapper; @Resource private SignPatientManageRouteNodeMapper signPatientManageRouteNodeMapper; + @Resource + private SignPatientRecordMapper signPatientRecordMapper; @Override public TopStatisticsVO topStatistics() { @@ -72,17 +76,55 @@ public class SystemHomePageServiceImpl implements SystemHomePageService { } @Override - public ServiceModeStatistics serviceModeStatistics() { - ServiceModeStatistics serviceModeStatistics = new ServiceModeStatistics(); - BigDecimal all = signPatientManageRouteNodeMapper.selectNodeCount(null, null, null); + 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); - serviceModeStatistics.setAI(AI.divide(all, 2, RoundingMode.HALF_UP)); - serviceModeStatistics.setMessage(messagePushSign.divide(all, 2, RoundingMode.HALF_UP)); - serviceModeStatistics.setCommon(common.divide(all, 2, RoundingMode.HALF_UP)); - serviceModeStatistics.setWeChat(appletPushSign.divide(all, 2, RoundingMode.HALF_UP)); - return serviceModeStatistics; + 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 index ff52ce24..6fb68cdc 100644 --- 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 @@ -8,22 +8,24 @@ import java.math.BigDecimal; public class ServiceModeStatistics { /** - * 短信 + * 名称 */ - private BigDecimal message; + private String name; /** - * ai + * 比例 */ - private BigDecimal AI; + private BigDecimal proportion; /** - * 人工随访 + * 数量 */ - private BigDecimal common; + private BigDecimal count; - /** - * 微信 - */ - private BigDecimal weChat; + 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/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/resources/mapper/manage/patientinfo/PatientInfoMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/patientinfo/PatientInfoMapper.xml index 9d921042..81197792 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 + - + - + - + - + - - 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 @@ -694,19 +737,19 @@ - + - select count(1) from patient_info where del_flag = 0 and (service_status = 'SERVICE_CENTER' or service_status = 'SERVICE_END') - select count(1) from patient_info where del_flag = 0 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 a1da8194..2c4362aa 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml @@ -943,7 +943,7 @@ select count(1) from sign_patient_manage_route_node where del_flag = 0 - and phone_push_sign = 0 + and phone_push_sign = 1 and create_time >= #{firstDay} and create_time <= #{now} @@ -963,4 +963,19 @@ OR official_push_sign =#{appletPushSign}) + + \ 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} + +