liusheng
2024-03-19 519886a70d630e3cdd6c0f40f55fcebc6e780dc5
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonorpaymentServiceImpl.java
@@ -1,76 +1,135 @@
package com.ruoyi.project.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.project.domain.ServiceDonorchargeorgan;
import com.ruoyi.project.domain.ServiceDonorpayment;
import com.ruoyi.project.mapper.ServiceDonorchargeorganMapper;
import com.ruoyi.project.mapper.ServiceDonorpaymentMapper;
import com.ruoyi.project.service.IServiceDonorpaymentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
/**
 * 费用收款单Service业务层处理
 *
 *
 * @author ruoyi
 * @date 2024-02-27
 */
@Service
public class ServiceDonorpaymentServiceImpl extends ServiceImpl<ServiceDonorpaymentMapper, ServiceDonorpayment> implements IServiceDonorpaymentService
{
public class ServiceDonorpaymentServiceImpl extends ServiceImpl<ServiceDonorpaymentMapper, ServiceDonorpayment> implements IServiceDonorpaymentService {
    @Autowired
    private ServiceDonorchargeorganMapper serviceDonorchargeorganMapper;
    /**
     * 查询费用收款单列表
     *
     *
     * @param serviceDonorpayment 费用收款单
     * @return 费用收款单
     */
    @Override
    public List<ServiceDonorpayment> queryList(ServiceDonorpayment serviceDonorpayment) {
        LambdaQueryWrapper<ServiceDonorpayment> wrappers = Wrappers.lambdaQuery();
        if (StringUtils.isNotBlank(serviceDonorpayment.getPaymentno())){
            wrappers.eq(ServiceDonorpayment::getPaymentno ,serviceDonorpayment.getPaymentno());
        if (StringUtils.isNotBlank(serviceDonorpayment.getPaymentno())) {
            wrappers.eq(ServiceDonorpayment::getPaymentno, serviceDonorpayment.getPaymentno());
        }
        if (serviceDonorpayment.getPaymenttime() != null){
            wrappers.eq(ServiceDonorpayment::getPaymenttime ,serviceDonorpayment.getPaymenttime());
        if (serviceDonorpayment.getPaymenttime() != null) {
            wrappers.eq(ServiceDonorpayment::getPaymenttime, serviceDonorpayment.getPaymenttime());
        }
        if (StringUtils.isNotBlank(serviceDonorpayment.getPaystatus())){
            wrappers.eq(ServiceDonorpayment::getPaystatus ,serviceDonorpayment.getPaystatus());
        if (serviceDonorpayment.getId() != null) {
            wrappers.eq(ServiceDonorpayment::getId, serviceDonorpayment.getId());
        }
        if (StringUtils.isNotBlank(serviceDonorpayment.getContactinfo())){
            wrappers.eq(ServiceDonorpayment::getContactinfo ,serviceDonorpayment.getContactinfo());
        if (StringUtils.isNotBlank(serviceDonorpayment.getPaystatus())) {
            wrappers.eq(ServiceDonorpayment::getPaystatus, serviceDonorpayment.getPaystatus());
        }
        if (StringUtils.isNotBlank(serviceDonorpayment.getHospitalname())){
            wrappers.eq(ServiceDonorpayment::getHospitalname ,serviceDonorpayment.getHospitalname());
        if (StringUtils.isNotBlank(serviceDonorpayment.getContactinfo())) {
            wrappers.eq(ServiceDonorpayment::getContactinfo, serviceDonorpayment.getContactinfo());
        }
        if (StringUtils.isNotBlank(serviceDonorpayment.getHospitalno())){
            wrappers.eq(ServiceDonorpayment::getHospitalno ,serviceDonorpayment.getHospitalno());
        if (StringUtils.isNotBlank(serviceDonorpayment.getHospitalname())) {
            wrappers.eq(ServiceDonorpayment::getHospitalname, serviceDonorpayment.getHospitalname());
        }
        if (StringUtils.isNotBlank(serviceDonorpayment.getHospitalcontactinfo())){
            wrappers.eq(ServiceDonorpayment::getHospitalcontactinfo ,serviceDonorpayment.getHospitalcontactinfo());
        if (StringUtils.isNotBlank(serviceDonorpayment.getUserName())) {
            wrappers.eq(ServiceDonorpayment::getUserName, serviceDonorpayment.getUserName());
        }
        if (serviceDonorpayment.getReceivableamount() != null){
            wrappers.eq(ServiceDonorpayment::getReceivableamount ,serviceDonorpayment.getReceivableamount());
        if (StringUtils.isNotBlank(serviceDonorpayment.getUserNo())) {
            wrappers.eq(ServiceDonorpayment::getUserNo, serviceDonorpayment.getUserNo());
        }
        if (StringUtils.isNotBlank(serviceDonorpayment.getBeneficiary())){
            wrappers.eq(ServiceDonorpayment::getBeneficiary ,serviceDonorpayment.getBeneficiary());
        if (StringUtils.isNotBlank(serviceDonorpayment.getHospitalno())) {
            wrappers.eq(ServiceDonorpayment::getHospitalno, serviceDonorpayment.getHospitalno());
        }
        if (StringUtils.isNotBlank(serviceDonorpayment.getBeneficiarybank())){
            wrappers.eq(ServiceDonorpayment::getBeneficiarybank ,serviceDonorpayment.getBeneficiarybank());
        if (StringUtils.isNotBlank(serviceDonorpayment.getHospitalcontactinfo())) {
            wrappers.eq(ServiceDonorpayment::getHospitalcontactinfo, serviceDonorpayment.getHospitalcontactinfo());
        }
        if (StringUtils.isNotBlank(serviceDonorpayment.getBeneficiaryaccount())){
            wrappers.eq(ServiceDonorpayment::getBeneficiaryaccount ,serviceDonorpayment.getBeneficiaryaccount());
        if (serviceDonorpayment.getReceivableamount() != null) {
            wrappers.eq(ServiceDonorpayment::getReceivableamount, serviceDonorpayment.getReceivableamount());
        }
        if (serviceDonorpayment.getReceivedamount() != null){
            wrappers.eq(ServiceDonorpayment::getReceivedamount ,serviceDonorpayment.getReceivedamount());
        if (StringUtils.isNotBlank(serviceDonorpayment.getBeneficiary())) {
            wrappers.eq(ServiceDonorpayment::getBeneficiary, serviceDonorpayment.getBeneficiary());
        }
        if (serviceDonorpayment.getReceivedtime() != null){
            wrappers.eq(ServiceDonorpayment::getReceivedtime ,serviceDonorpayment.getReceivedtime());
        if (StringUtils.isNotBlank(serviceDonorpayment.getBeneficiarybank())) {
            wrappers.eq(ServiceDonorpayment::getBeneficiarybank, serviceDonorpayment.getBeneficiarybank());
        }
        if (StringUtils.isNotBlank(serviceDonorpayment.getBeneficiaryaccount())) {
            wrappers.eq(ServiceDonorpayment::getBeneficiaryaccount, serviceDonorpayment.getBeneficiaryaccount());
        }
        if (serviceDonorpayment.getReceivedamount() != null) {
            wrappers.eq(ServiceDonorpayment::getReceivedamount, serviceDonorpayment.getReceivedamount());
        }
        if (serviceDonorpayment.getReceivedtime() != null) {
            wrappers.eq(ServiceDonorpayment::getReceivedtime, serviceDonorpayment.getReceivedtime());
        }
        return this.list(wrappers);
    }
    @Override
    public void getDataById(Map dataMap, Long id) {
        ServiceDonorpayment serviceDonorpayment = getById(id);
        if (ObjectUtils.isEmpty(serviceDonorpayment)) {
            throw new ServiceException("下载失败,没有对应信息", HttpStatus.NO_CONTENT);
        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
        dataMap.put("RQ", simpleDateFormat.format(new Date()));
        dataMap.put("FKDW", serviceDonorpayment.getHospitalname());
        dataMap.put("JBR", StringUtils.isEmpty(serviceDonorpayment.getUserName()) ? "" : serviceDonorpayment.getUserName());
        ServiceDonorchargeorgan serviceDonorchargeorgan = new ServiceDonorchargeorgan();
        serviceDonorchargeorgan.setPaymentid(id);
        List<ServiceDonorchargeorgan> serviceDonorchargeorgans = serviceDonorchargeorganMapper.selectServiceDonorchargeorganList(serviceDonorchargeorgan);
        List<Map<String, Object>> newsList = new ArrayList<Map<String, Object>>();
        int count = 0;
        double hj = 0;
        if (!CollectionUtils.isEmpty(serviceDonorchargeorgans)) {
            for (ServiceDonorchargeorgan serviceDonorchargeorgan1 : serviceDonorchargeorgans) {
                Map<String, Object> map = new HashMap<String, Object>();
                count++;
                map.put("XH", count);
                map.put("JXZ", StringUtils.isEmpty(serviceDonorchargeorgan1.getDonorname()) ? "" : serviceDonorchargeorgan1.getDonorname());
                map.put("XM", StringUtils.isEmpty(serviceDonorchargeorgan1.getOrganname()) ? "" : serviceDonorchargeorgan1.getOrganname());
                map.put("XTBH", StringUtils.isEmpty(serviceDonorchargeorgan1.getCaseno()) ? "" : serviceDonorchargeorgan1.getCaseno());
                map.put("ST", StringUtils.isEmpty(serviceDonorchargeorgan1.getName()) ? "" : serviceDonorchargeorgan1.getName());
                map.put("JE", serviceDonorchargeorgan1.getOrgancharge() == BigDecimal.ZERO ? "" : serviceDonorchargeorgan1.getOrgancharge());
                hj += serviceDonorchargeorgan1.getOrgancharge().doubleValue();
                newsList.add(map);
            }
        }
        dataMap.put("items", newsList);
        dataMap.put("BYHJ", hj);
    }
}