优化接口

This commit is contained in:
Euni4U 2025-04-19 18:48:01 +08:00
parent 3ead66e969
commit 2a217957a5

View File

@ -761,35 +761,43 @@ public class InspectPatientServiceImpl implements InspectPatientService {
LocalDate startDate = dates.get(0);
LocalDate endDate = dates.get(1);
// 构建查询条件
// 构建查询条件只查询必要的字段
LambdaQueryWrapper<InspectPatientDO> 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<InspectPatientDO> 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());
}
}