sinake
5 天以前 ee089a8ac4a9d99ef0a0491bbf1d80a2d4fbc393
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonorchargeorganServiceImpl.java
@@ -5,11 +5,19 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.project.domain.ServiceDonorchargeorgan;
import com.ruoyi.project.domain.SpStatChange;
import com.ruoyi.project.domain.SpStatChangeDetail;
import com.ruoyi.project.domain.SpStatChangeDetailReq;
import com.ruoyi.project.domain.SpStatChangeReq;
import com.ruoyi.project.mapper.ServiceDonorchargeorganMapper;
import com.ruoyi.project.service.IServiceDonorchargeorganService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * 捐献器官Service业务层处理
@@ -19,7 +27,8 @@
 */
@Service
public class ServiceDonorchargeorganServiceImpl extends ServiceImpl<ServiceDonorchargeorganMapper, ServiceDonorchargeorgan> implements IServiceDonorchargeorganService {
    @Autowired
    private ServiceDonorchargeorganMapper serviceDonorchargeorganMapper;
    /**
     * 查询捐献器官列表
@@ -57,6 +66,9 @@
        if (serviceDonorchargeorgan.getOrgantime() != null) {
            wrappers.eq(ServiceDonorchargeorgan::getOrgantime, serviceDonorchargeorgan.getOrgantime());
        }
        if (serviceDonorchargeorgan.getReceiveTime() != null) {
            wrappers.eq(ServiceDonorchargeorgan::getReceiveTime, serviceDonorchargeorgan.getReceiveTime());
        }
        if (StringUtils.isNotBlank(serviceDonorchargeorgan.getChargeoperator())) {
            wrappers.eq(ServiceDonorchargeorgan::getChargeoperator, serviceDonorchargeorgan.getChargeoperator());
        }
@@ -90,4 +102,64 @@
        return this.list(wrappers);
    }
    @Override
    public Boolean updateDonorchargeorgan(ServiceDonorchargeorgan serviceDonorchargeorgan) {
        Boolean aBoolean = serviceDonorchargeorganMapper.updateDonorchargeorgan(serviceDonorchargeorgan);
        return aBoolean;
    }
    @Override
    public int removeByIds(Long[] ids) {
        if (ids == null || ids.length == 0) {
            return 0;
        }
        return serviceDonorchargeorganMapper.removeByIds(ids);
    }
    @Override
    public List<ServiceDonorchargeorgan> queryListBypaymentidIsNull(ServiceDonorchargeorgan serviceDonorchargeorgan) {
        List<ServiceDonorchargeorgan> serviceDonorchargeorgans = serviceDonorchargeorganMapper.queryListBypaymentidIsNull(serviceDonorchargeorgan);
        return serviceDonorchargeorgans;
    }
    @Override
    public Map<String, Object> organfeeSummary(ServiceDonorchargeorgan serviceDonorchargeorgan) {
        List<ServiceDonorchargeorgan> list = Boolean.TRUE.equals(serviceDonorchargeorgan.getPaymentidIsNotNull())
                ? queryList(serviceDonorchargeorgan)
                : queryListBypaymentidIsNull(serviceDonorchargeorgan);
        BigDecimal organchargeTotal = BigDecimal.ZERO;
        BigDecimal amountTotal = BigDecimal.ZERO;
        for (ServiceDonorchargeorgan item : list) {
            if (item.getOrgancharge() != null) {
                organchargeTotal = organchargeTotal.add(item.getOrgancharge());
            }
            if (item.getAmount() != null) {
                amountTotal = amountTotal.add(item.getAmount());
            }
        }
        Map<String, Object> summary = new HashMap<>(4);
        summary.put("organchargeTotal", organchargeTotal);
        summary.put("amountTotal", amountTotal);
        summary.put("unreceivedTotal", organchargeTotal.subtract(amountTotal));
        summary.put("rowCount", list.size());
        return summary;
    }
    @Override
    public List<SpStatChange> getListBySpStatChange(SpStatChangeReq spStatChangeReq) {
        return serviceDonorchargeorganMapper.getListBySpStatChange(
                spStatChangeReq.getPabegtime(),
                spStatChangeReq.getPaendtime(),
                spStatChangeReq.getPahospitalname());
    }
    @Override
    public List<SpStatChangeDetail> getSpStatChangeDetail(SpStatChangeDetailReq req) {
        return serviceDonorchargeorganMapper.getSpStatChangeDetail(
                req.getPabegtime(),
                req.getPaendtime(),
                req.getPahospitalname(),
                req.getPachargestate());
    }
}