package com.jwipc.contract.logic;

import cn.hutool.core.lang.Pair;
import com.jwipc.api.dto.ApiResult;
import com.jwipc.constant.SignProcessType;
import com.jwipc.contract.dto.*;
import com.jwipc.contract.entity.Contract;
import com.jwipc.contract.model.po.DigitalSealConfigDTO;
import com.jwipc.contract.model.query.*;
import com.jwipc.page.PageView;
import com.jwipc.supplier.clent.dto.SupplierBankDTO;
import org.springframework.web.multipart.MultipartFile;

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

/**
 * 合同交货单
 */
public interface ContractDeliveryLogic {

    Pair<String, Set<String>> saveOrUpdate(ContractDeliverySaveDTO deliveryOrderSaveDTO);

    PageView getList(ContractDeliveryQuery query);

    ContractDeliveryLookupDTO getDeliveryById(Long id);

    ContractDeliveryLookupDTO createDelivery();

    void update(ContractDeliverySaveDTO dto);

    void confirmReceipt(Long id);

    void deliveryRemove(Long id);

    ContractOrderQuantityDTO findContactOrderNumData(List<String> dataKes);

    void contractDeliveryImport(MultipartFile file);

    void blankDeliveryRemove(Long id);
}
