diff --git a/src/main/java/com/docus/server/report/api/dto/PatientInfoDTO.java b/src/main/java/com/docus/server/report/api/dto/PatientInfoDTO.java new file mode 100644 index 0000000..f6bacb5 --- /dev/null +++ b/src/main/java/com/docus/server/report/api/dto/PatientInfoDTO.java @@ -0,0 +1,37 @@ +package com.docus.server.report.api.dto; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 患者基础信息 + * + * @author WYBDEV + */ +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +@ApiModel(value = "患者信息") +public class PatientInfoDTO { + @ApiModelProperty(value = "病案主键") + private String patientId; + @ApiModelProperty(value = "住院号") + private String inpatientNo; + @ApiModelProperty(value = "住院次数") + private Integer admissTimes; + @ApiModelProperty(value = "入院日期 yyyy-MM-dd HH:mm:ss") + private String admissDate; + @ApiModelProperty(value = "入院科室名称") + private String admissDeptName; + @ApiModelProperty(value = "出院日期 yyyy-MM-dd HH:mm:ss") + private String disDate; + @ApiModelProperty(value = "出院科室名称") + private String disDeptName; + @ApiModelProperty(value = "记账号") + private String jzh; + @ApiModelProperty(value = "姓名") + private String name; + @ApiModelProperty(value = "住院id") + private String admissId; +} diff --git a/src/main/java/com/docus/server/report/api/dto/ReportDownTwoDto.java b/src/main/java/com/docus/server/report/api/dto/ReportDownTwoDto.java index 37682b0..dc86846 100644 --- a/src/main/java/com/docus/server/report/api/dto/ReportDownTwoDto.java +++ b/src/main/java/com/docus/server/report/api/dto/ReportDownTwoDto.java @@ -24,4 +24,6 @@ public class ReportDownTwoDto { private List hospitals = new ArrayList<>(); @ApiModelProperty(value = "任务信息") private List tasks = new ArrayList<>(); + @ApiModelProperty(value = "母亲基础信息") + private PatientInfoDTO parent; } diff --git a/src/main/java/com/docus/server/report/job/ReportJob.java b/src/main/java/com/docus/server/report/job/ReportJob.java index 5ea231b..38f1e6f 100644 --- a/src/main/java/com/docus/server/report/job/ReportJob.java +++ b/src/main/java/com/docus/server/report/job/ReportJob.java @@ -127,6 +127,16 @@ public class ReportJob { log.warn("patientId {} 未找到基础数据!", patientId); } List reportDtoList = collectZyInspectReport(basicList.get(0)); + // 是否是宝宝的病案,如果是,报告需要给母亲的信息 + if(isBabyTask(reportDownTwoDto)){ + PatientInfoDTO parent = reportDownTwoDto.getParent(); + for (ReportDto reportDto : reportDtoList) { + reportDto.setPatientId(parent.getPatientId()); + reportDto.setInpatientNo(parent.getInpatientNo()); + reportDto.setAdmisstimes(parent.getAdmissTimes()); + reportDto.setJzh(parent.getJzh()); + } + } reportDtoList.forEach(reportDto -> { reportDto.setSysFlag(reportQueryZyInspectCollectorId); reportDto.setTaskId(reportDownTwoDto.getTasks().get(0).getTaskId()); @@ -135,6 +145,11 @@ public class ReportJob { } + private boolean isBabyTask(ReportDownTwoDto reportDownTwoDto) { + String inpatientNo = reportDownTwoDto.getPatient().getInpatientNo(); + return inpatientNo != null && inpatientNo.toUpperCase().contains("B") && reportDownTwoDto.getParent() != null; + } + /** * 顺德人医移动护理报告采集任务 */ @@ -206,13 +221,13 @@ public class ReportJob { log.info("住院号:{},住院次数{},护理采集文件: {} 条", inpatientNo, admissTimes, collectFileCount); } } + /** * 循环遍历 集合,如果 str字符串包含有集合中的元素,返回true; - * */ - private static boolean isCharacterContains(String str, List strList){ + private static boolean isCharacterContains(String str, List strList) { for (String e : strList) { - if(str.contains(e)){ + if (str.contains(e)) { return true; } }