package com.jwipc.finance.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jwipc.finance.entity.AccountStatement;
import com.jwipc.finance.entity.AccountStatementDetail;
import com.jwipc.finance.entity.PaymentPlanDetail;
import com.jwipc.finance.model.po.*;
import com.jwipc.finance.model.query.AccountStatementDetailQuery;
import com.jwipc.finance.model.query.CreateInvoicedApplyPageQuery;
import com.jwipc.finance.model.query.CreateInvoicedApplyQuery;
import com.jwipc.finance.model.query.PaymentPlanQuery;

import java.util.List;

/**
 * <p>
 * 对账模块-付款计划明细表 服务类
 * </p>
 *
 * @author 邓京术
 * @since 2025-07-21
 */
public interface IPaymentPlanDetailService extends IService<PaymentPlanDetail> {

    List<PaymentPlanDetailPO> findByPaymentPlanId(PaymentPlanQuery paymentPlanQuery);
//    List<StatementItemPO> findByStatementIdAndFactoryCode(Long asId, String factoryCode);

//    boolean deleteByAsIdList(List<Long> idList);

//    List<AccountStatementDetail> selectDataByQuery(Page<AccountStatementDetail> toPage, AccountStatementDetailQuery query);
//
//    void updateDetailItemNo(Long id);
//
//    List<FastStatementItemPO> selectFastDataByQuery(Page<AccountStatement> dbPage, AccountStatementDetailQuery query);
//
//    /**
//     * 提供创建开票申请时获取对账单明细数据
//     *
//     * @param query 查询条件
//     * @return 结果
//     */
//    List<InvoicedApplyItemPO> provideCreateInvoicedApply(CreateInvoicedApplyQuery query);
//
//    /**
//     * 提供创建开票申请时获取对账单明细数据(根据对账单id分页)
//     *
//     * @param query 对账单id
//     * @return 结果
//     */
//    List<InvoicedApplyItemPO> provideCreateInvoicedApplyPage(Page<AccountStatementDetail> dbPage, CreateInvoicedApplyPageQuery query);
//
//    /**
//     * 根据对账单ID获取对账单明细开票完成标识的情况
//     *
//     * @param asIdList 对账单ID集合
//     * @return 结果
//     */
//    List<StatementInvoicedFlagPO> findStatementInvoicedFlag(List<Long> asIdList);

}
