package com.jwipc.finance.logic;

import com.jwipc.finance.dto.CreatePcaDetailDto;
import com.jwipc.finance.dto.PaymentCodApplyDTO;
import com.jwipc.finance.dto.PaymentCodApplySaveDTO;
import com.jwipc.finance.entity.PaymentCodApply;
import com.jwipc.finance.model.query.PaymentApplyHeadQuery;
import com.jwipc.finance.model.query.PaymentApplyItemQuery;
import com.jwipc.page.PageView;

import java.util.List;

/**
 * @author shenyang.ou
 * @date 2024/3/15 13:12
 * @desc
 */
public interface PaymentCodApplyLogic {
    PageView selectDataByQuery(PaymentApplyHeadQuery query);

    PaymentCodApplyDTO getById(Long id);

    /**
     * 获取货到付款相关信息
     * @param query 查询条件
     * @return
     */
    List<CreatePcaDetailDto> readCodPaymentInvoiceData(PaymentApplyItemQuery query);

    void saveOrUpdate(PaymentCodApplySaveDTO data);
    List<String> saveOrUpdateCheck(PaymentCodApplySaveDTO data);

    void deleteCodApply(String applyIds);

    List<CreatePcaDetailDto> queryCodApplyInvoiceById(Long id,Integer totalFlag,String businessType);
    List<CreatePcaDetailDto> queryCodApplyInvoiceByAccountStatementNo(String accountStatementNo);

    void pushOa(String ids);
    void pushOpen(String ids);

    void toImg(String id);
    void deleteImg(Long id);

    void clearOaNumber(String ids);

    void initPaymentPlanSummary(PaymentCodApply headData,int action);
    String initPaymentPlanSummary(PaymentCodApply headData,Boolean flag);

    void sendEmailCollection(Long id);
}
