sinake
7 天以前 7156c5ac2b953c7d82d09d41b8efd3487c0ef26d
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoReportServiceImpl.java
@@ -22,10 +22,7 @@
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * 捐献上报基础Service业务层处理
@@ -53,6 +50,7 @@
    @Override
    public Page<ServiceDonatebaseinfoReport> queryList(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
        LambdaQueryWrapper<ServiceDonatebaseinfoReport> wrappers = getWrapper(serviceDonatebaseinfoReport);
        // 添加create_time不为空的条件
        wrappers.isNotNull(ServiceDonatebaseinfoReport::getCreateTime);
        // 然后进行倒序排序
@@ -124,21 +122,46 @@
        //将report数据复制到serviceDonatebaseinfo中
        ServiceDonatebaseinfo serviceDonatebaseinfo1 = DtoConversionUtils.sourceToTarget(serviceDonatebaseinfoReport, ServiceDonatebaseinfo.class);
        serviceDonatebaseinfo1.setId(null);
        serviceDonatebaseinfo1.setReportId(serviceDonatebaseinfoReport.getId());
        serviceDonatebaseinfo1.setReporterno(serviceDonatebaseinfoReport.getCoordinatorNo());
        serviceDonatebaseinfo1.setReportername(serviceDonatebaseinfoReport.getCoordinatorName());
        serviceDonatebaseinfo1.setCurrentHospital(serviceDonatebaseinfoReport.getToHospital());
        serviceDonatebaseinfo1.setReportername(serviceDonatebaseinfoReport.getCoordinatorName());
        serviceDonatebaseinfo1.setBloodtype(serviceDonatebaseinfoReport.getBloodType());
        serviceDonatebaseinfo1.setRhyin(serviceDonatebaseinfoReport.getRhYin());
        serviceDonatebaseinfo1.setRecordstate("0");
        serviceDonatebaseinfo1.setInpatientno(null);
        serviceDonatebaseinfo1.setTreatmentdeptname(serviceDonatebaseinfoReport.getTreatmentdeptname());
        serviceDonatebaseinfo1.setTreatmenthospitalname(serviceDonatebaseinfoReport.getTreatmenthospitalname());
        serviceDonatebaseinfo1.setResidenceprovince(serviceDonatebaseinfoReport.getResidenceprovince());
        serviceDonatebaseinfo1.setResidenceprovincename(serviceDonatebaseinfoReport.getResidenceprovincename());
        serviceDonatebaseinfo1.setResidencecityname(serviceDonatebaseinfoReport.getRegistercityname());
        serviceDonatebaseinfo1.setResidencetownname(serviceDonatebaseinfoReport.getResidencetownname());
        serviceDonatebaseinfo1.setRegisterprovince(serviceDonatebaseinfoReport.getRegisterprovince());
        serviceDonatebaseinfo1.setRegisterprovincename(serviceDonatebaseinfoReport.getRegisterprovincename());
        serviceDonatebaseinfo1.setRegistercityname(serviceDonatebaseinfoReport.getRegistercityname());
        serviceDonatebaseinfo1.setRegistertown(serviceDonatebaseinfoReport.getRegistertownname());
        serviceDonatebaseinfo1.setReportHospital(serviceDonatebaseinfoReport.getToHospital());
        serviceDonatebaseinfo1.setFirstDept(serviceDonatebaseinfoReport.getDeptName());
        serviceDonatebaseinfo1.setCaseNo(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());
            serviceDonatebaseinfo1.setUpdateTime(new Date());
            serviceDonatebaseinfoService.updateById(serviceDonatebaseinfo1);
            return true;
        }
        //创建
        serviceDonatebaseinfo1.setDonatetime(new Date());
        return serviceDonatebaseinfoService.save(serviceDonatebaseinfo1);
    }
    private LambdaQueryWrapper<ServiceDonatebaseinfoReport> getWrapper(ServiceDonatebaseinfoReport serviceDonatebaseinfoReport) {
        LambdaQueryWrapper<ServiceDonatebaseinfoReport> wrappers = Wrappers.lambdaQuery();
        wrappers.eq(ServiceDonatebaseinfoReport::getDelFlag, "0");
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getCaseNo())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getCaseNo, serviceDonatebaseinfoReport.getCaseNo());
        }
@@ -290,6 +313,9 @@
            wrappers.eq(ServiceDonatebaseinfoReport::getCoordinatorNo, serviceDonatebaseinfoReport.getCoordinatorNo());
        }
        if (StringUtils.isNotBlank(serviceDonatebaseinfoReport.getNotAdminId())) {
            wrappers.eq(ServiceDonatebaseinfoReport::getCreateBy, serviceDonatebaseinfoReport.getNotAdminId());
        }
        return wrappers;
    }