package com.jwipc.contract.logic;

import com.jwipc.contract.dto.ContractPaymentApplyDTO;
import com.jwipc.contract.dto.ContractPaymentApplySaveDTO;
import com.jwipc.contract.dto.CreateCpaDetailDto;
import com.jwipc.contract.model.query.ContractPaymentApplyDetailQuery;
import com.jwipc.contract.model.query.ContractPaymentApplyHeadQuery;
import com.jwipc.page.PageView;

import java.util.List;
import java.util.Map;

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

    ContractPaymentApplyDTO getById(Long id);

//    /**
//     * 获取货到付款相关信息
//     * @param query 查询条件
//     * @return
//     */
//    List<CreatePcaDetailDto> readCodPaymentInvoiceData(ContractPaymentApplyDetailQuery query);
//
    void saveOrUpdate(ContractPaymentApplySaveDTO data);
    String saveOrUpdateCheck(ContractPaymentApplySaveDTO data);
    String importAttachement(List<Map<String,String>> data);

    void updateContractPaymentStatus(Long id, String status);
    void updateContractPaymentApply(Map updateMap);
    void deleteCodApply(String applyIds);

    List<CreateCpaDetailDto> queryCodApplyInvoiceById(Long id, Integer totalFlag, String businessType);
    List<CreateCpaDetailDto> queryInvoiceByContractDetailId(Long poItemNo);

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

//
//    void clearOaNumber(String ids);
//
////    void initPaymentPlanSummary(PaymentCodApply headData,int action);
////    String initPaymentPlanSummary(PaymentCodApply headData,Boolean flag);
//
    void pushImage(String pushIds);
    void toPoImg(String pushIds);

    void deleteImage(String deleteIds);
    void deletePoImg(String deleteIds);
}
