liusheng
2025-12-28 73f5b82df781d2b061ba24d29182f6898b5535d9
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportServiceImpl.java
@@ -5,14 +5,18 @@
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.common.utils.bean.DtoConversionUtils;
import com.ruoyi.project.common.CalculateDateUtils;
import com.ruoyi.project.domain.ServiceDonatebaseinfo;
import com.ruoyi.project.domain.ServiceDonatebaseinfoReport;
import com.ruoyi.project.domain.ServiceDonatebaseinfoReportFile;
import com.ruoyi.project.domain.ServiceTransport;
import com.ruoyi.project.mapper.ServiceDonatebaseinfoReportMapper;
import com.ruoyi.project.service.IServiceDonatebaseinfoReportFileService;
import com.ruoyi.project.service.IServiceDonatebaseinfoReportService;
import com.ruoyi.project.service.IServiceDonatebaseinfoService;
import com.ruoyi.project.service.IServiceTransportService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -35,9 +39,10 @@
    private IServiceDonatebaseinfoReportFileService serviceDonatebaseinfoReportFileService;
    @Autowired
    private IServiceTransportService serviceTransportService;
    @Autowired
    private ServiceDonatebaseinfoReportMapper serviceDonatebaseinfoReportMapper;
    @Autowired
    private IServiceDonatebaseinfoService serviceDonatebaseinfoService;
    /**
     * 查询捐献上报基础列表
@@ -48,6 +53,11 @@
    @Override
    public Page<ServiceDonatebaseinfoReport> queryList(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
        LambdaQueryWrapper<ServiceDonatebaseinfoReport> wrappers = getWrapper(serviceDonatebaseinfoReport);
        // 添加create_time不为空的条件
        wrappers.isNotNull(ServiceDonatebaseinfoReport::getCreateTime);
        // 然后进行倒序排序
        wrappers.orderByDesc(ServiceDonatebaseinfoReport::getCreateTime);
        // 创建分页对象,设置页码和每页大小
        int currentPage = (serviceDonatebaseinfoReport.getPageNum() == null || serviceDonatebaseinfoReport.getPageNum() < 1) ? 1 : serviceDonatebaseinfoReport.getPageNum();
        int size = (serviceDonatebaseinfoReport.getPageSize() == null || serviceDonatebaseinfoReport.getPageSize() < 1) ? 10 : serviceDonatebaseinfoReport.getPageSize();
@@ -101,6 +111,30 @@
        //所有状态的总数
        map.put("all", all);
        return map;
    }
    /**
     * 创建档案
     *
     * @param serviceDonatebaseinfoReport
     * @return
     */
    @Override
    public Boolean createDocument(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
        //将report数据复制到serviceDonatebaseinfo中
        ServiceDonatebaseinfo serviceDonatebaseinfo1 = DtoConversionUtils.sourceToTarget(serviceDonatebaseinfoReport, ServiceDonatebaseinfo.class);
        serviceDonatebaseinfo1.setId(null);
        //先通过caseNo查询是否存在
        ServiceDonatebaseinfo serviceDonatebaseinfo = new ServiceDonatebaseinfo();
        serviceDonatebaseinfo.setCaseNo(serviceDonatebaseinfoReport.getCaseNo());
        List<ServiceDonatebaseinfo> serviceDonatebaseinfos = serviceDonatebaseinfoService.queryList(serviceDonatebaseinfo);
        if (CollectionUtils.isNotEmpty(serviceDonatebaseinfos) && serviceDonatebaseinfos.size() > 0) {
            serviceDonatebaseinfo1.setId(serviceDonatebaseinfos.get(0).getId());
            serviceDonatebaseinfoService.updateById(serviceDonatebaseinfo1);
            return true;
        }
        //创建
        return serviceDonatebaseinfoService.save(serviceDonatebaseinfo1);
    }
    private LambdaQueryWrapper<ServiceDonatebaseinfoReport> getWrapper(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
@@ -216,11 +250,11 @@
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getPatientstate())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getPatientstate, serviceDonatebaseinfoReport.getPatientstate());
        }
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getReporterno())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getReporterno, serviceDonatebaseinfoReport.getReporterno());
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getInfoNo())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getInfoNo, serviceDonatebaseinfoReport.getInfoNo());
        }
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getReportername())) {
            wrappers.like(ServiceDonatebaseinfoReport::getReportername, serviceDonatebaseinfoReport.getReportername());
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getInfoName())) {
            wrappers.like(ServiceDonatebaseinfoReport::getInfoName, serviceDonatebaseinfoReport.getInfoName());
        }
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getReporterphone())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getReporterphone, serviceDonatebaseinfoReport.getReporterphone());
@@ -231,12 +265,6 @@
        if (serviceDonatebaseinfoReport.getTerminationCase() != null) {
            wrappers.eq(ServiceDonatebaseinfoReport::getTerminationCase, serviceDonatebaseinfoReport.getTerminationCase());
        }
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getUserNo())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getUserNo, serviceDonatebaseinfoReport.getUserNo());
        }
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getUserName())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getUserName, serviceDonatebaseinfoReport.getUserName());
        }
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getDeptNo())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getDeptNo, serviceDonatebaseinfoReport.getDeptNo());
        }
@@ -246,9 +274,22 @@
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getIsTransport())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getIsTransport, serviceDonatebaseinfoReport.getIsTransport());
        }
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getGscScore())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getGscScore, serviceDonatebaseinfoReport.getGscScore());
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getGcsScore())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getGcsScore, serviceDonatebaseinfoReport.getGcsScore());
        }
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getRhYin())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getRhYin, serviceDonatebaseinfoReport.getRhYin());
        }
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getBloodType())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getBloodType, serviceDonatebaseinfoReport.getBloodType());
        }
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getCoordinatorName())) {
            wrappers.like(ServiceDonatebaseinfoReport::getCoordinatorName, serviceDonatebaseinfoReport.getCoordinatorName());
        }
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getCoordinatorNo())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getCoordinatorNo, serviceDonatebaseinfoReport.getCoordinatorNo());
        }
        return wrappers;
    }