package com.jwipc.finance.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jwipc.finance.entity.PaymentCodApply;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jwipc.finance.entity.PaymentCodApplyDetail;
import com.jwipc.finance.model.po.PaymentCodApplyPO;
import com.jwipc.finance.model.query.PaymentApplyHeadQuery;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 对账付款申请主表 服务类
 * </p>
 *
 * @author WT
 * @since 2024-03-08
 */
public interface IPaymentCodApplyService extends IService<PaymentCodApply> {

    List<PaymentCodApplyPO> selectListByPage(Page<PaymentCodApply> dbPage, PaymentApplyHeadQuery query);

    List<PaymentCodApply> findDataStatusByIdList(List<Long> appIdList);

    List<PaymentCodApply> findAppDetailByAccountStatementNo(String accountStatementNo);

    List<PaymentCodApply> findDataBySupplierAndAmount(String supplierCode, BigDecimal applyPaymentAmount, Integer monthNum,Long id);

    /**
     * 根据供应商、对账单、金额查询
     *
     * @param supplierCode
     * @param accountStatementNo
     * @param budOutMoney
     * @return
     */
    List<PaymentCodApplyDetail> findDataBySupplierAndAccountAndAmount(String supplierCode, String accountStatementNo, BigDecimal budOutMoney,Long id);
}
