package com.jwipc.finance.logic;

import com.jwipc.finance.dto.*;
import com.jwipc.finance.model.query.CustomsDeclarationQuery;
import com.jwipc.finance.model.query.PaymentMatchingQuery;
import com.jwipc.page.PageView;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @author shenyang.ou
 * @date 2025/10/22 15:29
 * @desc
 */
public interface PaymentMatchingLogic {
    PageView findByPage(PaymentMatchingQuery query);

    void saveOrUpdate(PaymentMatchingParamDTO param);

    void toImg(Long id);

    void deleteImg(Long id);

    void remove(Long id);

    void pushConfirm(Long id);

    PaymentMatchingDTO getById(Long id);

    void financeConfirm(PaymentMatchingParamDTO param);

    void createPrefabricateInvoice(Long aLong, Integer type, String invoicePostDate, String statementType);
    void updatePrefabricateInvoice(Long aLong, String invoiceVoucher,String paymentExpireDate,String voucherYear, Integer postStatus);

    /**
     * 匹配单删除
     *
     * @param ids ID
     * @param logicDelete 是否逻辑删除
     */
    void dataDel(String ids, Boolean logicDelete);
}
