package com.ruoyi.project.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.project.domain.ServiceDonatebaseinfoReport; import com.ruoyi.project.domain.ServiceDonatebaseinfoReportFile; import com.ruoyi.project.domain.ServiceTransport; import com.ruoyi.project.domain.ServiceTransportFile; import com.ruoyi.project.mapper.ServiceTransportMapper; import com.ruoyi.project.service.IServiceTransportFileService; import com.ruoyi.project.service.IServiceTransportService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.stream.Collectors; /** * 供者转运登记Service业务层处理 * * @author ruoyi * @date 2025-12-15 */ @Service public class ServiceTransportServiceImpl extends ServiceImpl implements IServiceTransportService { @Autowired private IServiceTransportFileService serviceTransportFileService; @Autowired private ServiceTransportMapper ServiceTransportMapper; /** * 查询供者转运登记列表 * * @param serviceTransport 供者转运登记 * @return 供者转运登记 */ @Override public Page queryList(ServiceTransport serviceTransport) { LambdaQueryWrapper wrappers = getWrappers(serviceTransport); // 创建分页对象,设置页码和每页大小 int currentPage = (serviceTransport.getPageNum() == null || serviceTransport.getPageNum() < 1) ? 1 : serviceTransport.getPageNum(); int size = (serviceTransport.getPageSize() == null || serviceTransport.getPageSize() < 1) ? 10 : serviceTransport.getPageSize(); Page page = new Page<>(currentPage, size); //补充 附件 List list = ServiceTransportMapper.selectPage(page, wrappers).getRecords(); if (CollectionUtils.isNotEmpty(list)) { for (ServiceTransport serviceTransport1 : list) { ServiceTransportFile serviceTransportFile = new ServiceTransportFile(); serviceTransportFile.setDelFlag(0); serviceTransportFile.setTransportId(serviceTransport1.getId()); serviceTransportFile.setCaseNo(serviceTransport1.getCaseNo()); List serviceTransportFiles = serviceTransportFileService.queryList(serviceTransportFile); serviceTransport1.setAnnexfilesList(serviceTransportFiles); } } page.setRecords(list); return page; } @Override public List queryListData(ServiceTransport serviceTransport) { LambdaQueryWrapper wrappers = getWrappers(serviceTransport); // 创建分页对象,设置页码和每页大小 List list = list(wrappers); if (CollectionUtils.isNotEmpty(list)) { for (ServiceTransport serviceTransport1 : list) { ServiceTransportFile serviceTransportFile = new ServiceTransportFile(); serviceTransportFile.setDelFlag(0); serviceTransportFile.setTransportId(serviceTransport1.getId()); serviceTransportFile.setCaseNo(serviceTransport1.getCaseNo()); List serviceTransportFiles = serviceTransportFileService.queryList(serviceTransportFile); serviceTransport1.setAnnexfilesList(serviceTransportFiles); } } return list; } private LambdaQueryWrapper getWrappers(ServiceTransport serviceTransport) { LambdaQueryWrapper wrappers = Wrappers.lambdaQuery(); if (serviceTransport.getReportId() != null) { wrappers.eq(ServiceTransport::getReportId, serviceTransport.getReportId()); } if (StringUtils.isNotBlank(serviceTransport.getCaseNo())) { wrappers.eq(ServiceTransport::getCaseNo, serviceTransport.getCaseNo()); } if (StringUtils.isNotBlank(serviceTransport.getPatName())) { wrappers.like(ServiceTransport::getPatName, serviceTransport.getPatName()); } if (StringUtils.isNotBlank(serviceTransport.getSex())) { wrappers.eq(ServiceTransport::getSex, serviceTransport.getSex()); } if (serviceTransport.getAge() != null) { wrappers.eq(ServiceTransport::getAge, serviceTransport.getAge()); } if (serviceTransport.getTransitStatus() != null) { wrappers.eq(ServiceTransport::getTransitStatus, serviceTransport.getTransitStatus()); } if (StringUtils.isNotBlank(serviceTransport.getRemark())) { wrappers.like(ServiceTransport::getRemark, serviceTransport.getRemark()); } if (StringUtils.isNotBlank(serviceTransport.getDiagnosisname())) { wrappers.like(ServiceTransport::getDiagnosisname, serviceTransport.getDiagnosisname()); } if (StringUtils.isNotBlank(serviceTransport.getTreatmentHospitalName())) { wrappers.like(ServiceTransport::getTreatmentHospitalName, serviceTransport.getTreatmentHospitalName()); } if (StringUtils.isNotBlank(serviceTransport.getTreatmentDeptName())) { wrappers.like(ServiceTransport::getTreatmentDeptName, serviceTransport.getTreatmentDeptName()); } if (serviceTransport.getTransportStartTime() != null) { wrappers.eq(ServiceTransport::getTransportStartTime, serviceTransport.getTransportStartTime()); } if (StringUtils.isNotBlank(serviceTransport.getTransportStartPlace())) { wrappers.eq(ServiceTransport::getTransportStartPlace, serviceTransport.getTransportStartPlace()); } if (StringUtils.isNotBlank(serviceTransport.getContactPerson())) { wrappers.eq(ServiceTransport::getContactPerson, serviceTransport.getContactPerson()); } if (StringUtils.isNotBlank(serviceTransport.getDoctor())) { wrappers.eq(ServiceTransport::getDoctor, serviceTransport.getDoctor()); } if (StringUtils.isNotBlank(serviceTransport.getDoctorPhone())) { wrappers.eq(ServiceTransport::getDoctorPhone, serviceTransport.getDoctorPhone()); } if (StringUtils.isNotBlank(serviceTransport.getNurse())) { wrappers.eq(ServiceTransport::getNurse, serviceTransport.getNurse()); } if (StringUtils.isNotBlank(serviceTransport.getNursePhone())) { wrappers.eq(ServiceTransport::getNursePhone, serviceTransport.getNursePhone()); } if (StringUtils.isNotBlank(serviceTransport.getDriver())) { wrappers.eq(ServiceTransport::getDriver, serviceTransport.getDriver()); } if (StringUtils.isNotBlank(serviceTransport.getDriverPhone())) { wrappers.eq(ServiceTransport::getDriverPhone, serviceTransport.getDriverPhone()); } if (StringUtils.isNotBlank(serviceTransport.getIcuDoctor())) { wrappers.eq(ServiceTransport::getIcuDoctor, serviceTransport.getIcuDoctor()); } if (StringUtils.isNotBlank(serviceTransport.getIcuDoctorPhone())) { wrappers.eq(ServiceTransport::getIcuDoctorPhone, serviceTransport.getIcuDoctorPhone()); } return wrappers; } }