From 2a217957a569b9c3fe4845e418370693d274dcd9 Mon Sep 17 00:00:00 2001 From: Euni4U <958079825@qq.com> Date: Sat, 19 Apr 2025 18:48:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InspectPatientServiceImpl.java | 58 +++++++++++-------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientServiceImpl.java b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientServiceImpl.java index 0345c3f..ea60166 100644 --- a/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientServiceImpl.java +++ b/yudao-module-inspect/yudao-module-inspect-biz/src/main/java/cn/iocoder/yudao/module/inspect/service/inspectpatient/InspectPatientServiceImpl.java @@ -761,35 +761,43 @@ public class InspectPatientServiceImpl implements InspectPatientService { LocalDate startDate = dates.get(0); LocalDate endDate = dates.get(1); - // 构建查询条件 + // 构建查询条件,只查询必要的字段 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - - // 添加打印状态条件 - queryWrapper.eq(InspectPatientDO::getIsprint, 1); - - // 添加日期范围条件 - 从开始日期的0点到结束日期的23:59:59 - queryWrapper.between(InspectPatientDO::getPrinttime, - startDate.atStartOfDay(), - endDate.atTime(23, 59, 59)); - - // 按打印时间倒序 - queryWrapper.orderByDesc(InspectPatientDO::getPrinttime); + queryWrapper + .select( + InspectPatientDO::getMedicalSn, + InspectPatientDO::getOrgname, + InspectPatientDO::getDistrictname, + InspectPatientDO::getOldmanflag, + InspectPatientDO::getHtnflag, + InspectPatientDO::getDiaflag, + InspectPatientDO::getSmiflag, + InspectPatientDO::getPulflag + ) + .eq(InspectPatientDO::getIsprint, 1) + .between(InspectPatientDO::getPrinttime, startDate.atStartOfDay(), endDate.atTime(23, 59, 59)); // 查询患者信息 List patients = patientMapper.selectList(queryWrapper); - // 转换为补充信息VO - return patients.stream().map(patient -> { - PatientSupplementVO vo = new PatientSupplementVO(); - vo.setMedicalSn(patient.getMedicalSn()); - vo.setOrgname(patient.getOrgname()); - vo.setDistrictname(patient.getDistrictname()); - vo.setOldmanflag(patient.getOldmanflag()); - vo.setHtnflag(patient.getHtnflag()); - vo.setDiaflag(patient.getDiaflag()); - vo.setSmiflag(patient.getSmiflag()); - vo.setPulflag(patient.getPulflag()); - return vo; - }).collect(Collectors.toList()); + if (patients == null || patients.isEmpty()) { + return Collections.emptyList(); + } + + // 使用批量转换,避免循环中多次创建对象 + return patients.stream() + .map(patient -> { + PatientSupplementVO vo = new PatientSupplementVO(); + vo.setMedicalSn(patient.getMedicalSn()); + vo.setOrgname(patient.getOrgname()); + vo.setDistrictname(patient.getDistrictname()); + vo.setOldmanflag(patient.getOldmanflag()); + vo.setHtnflag(patient.getHtnflag()); + vo.setDiaflag(patient.getDiaflag()); + vo.setSmiflag(patient.getSmiflag()); + vo.setPulflag(patient.getPulflag()); + return vo; + }) + .collect(Collectors.toList()); } } \ No newline at end of file