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.*;
|
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<ServiceTransportMapper, ServiceTransport> implements IServiceTransportService {
|
|
@Autowired
|
private IServiceTransportFileService serviceTransportFileService;
|
@Autowired
|
private ServiceTransportMapper ServiceTransportMapper;
|
|
/**
|
* 查询供者转运登记列表
|
*
|
* @param serviceTransport 供者转运登记
|
* @return 供者转运登记
|
*/
|
@Override
|
public Page<ServiceTransport> queryList(ServiceTransport serviceTransport) {
|
LambdaQueryWrapper<ServiceTransport> wrappers = getWrappers(serviceTransport);
|
// 添加create_time不为空的条件
|
wrappers.isNotNull(ServiceTransport::getCreateTime);
|
// 然后进行倒序排序
|
wrappers.orderByDesc(ServiceTransport::getCreateTime);
|
// 创建分页对象,设置页码和每页大小
|
int currentPage = (serviceTransport.getPageNum() == null || serviceTransport.getPageNum() < 1) ? 1 : serviceTransport.getPageNum();
|
int size = (serviceTransport.getPageSize() == null || serviceTransport.getPageSize() < 1) ? 10 : serviceTransport.getPageSize();
|
Page<ServiceTransport> page = new Page<>(currentPage, size);
|
|
//补充 附件
|
List<ServiceTransport> 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<ServiceTransportFile> serviceTransportFiles = serviceTransportFileService.queryList(serviceTransportFile);
|
|
serviceTransport1.setAnnexfilesList(serviceTransportFiles);
|
}
|
}
|
page.setRecords(list);
|
return page;
|
}
|
|
@Override
|
public List<ServiceTransport> queryListData(ServiceTransport serviceTransport) {
|
LambdaQueryWrapper<ServiceTransport> wrappers = getWrappers(serviceTransport);
|
// 创建分页对象,设置页码和每页大小
|
List<ServiceTransport> 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<ServiceTransportFile> serviceTransportFiles = serviceTransportFileService.queryList(serviceTransportFile);
|
|
serviceTransport1.setAnnexfilesList(serviceTransportFiles);
|
}
|
}
|
return list;
|
}
|
|
private LambdaQueryWrapper<ServiceTransport> getWrappers(ServiceTransport serviceTransport) {
|
LambdaQueryWrapper<ServiceTransport> 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;
|
}
|
|
}
|