package com.jwipc.supplier.logic;

import com.jwipc.page.PageView;
import com.jwipc.supplier.dto.ChangeExamineParamDTO;
import com.jwipc.supplier.dto.SupplierChangeSaveDTO;
import com.jwipc.supplier.dto.SupplierChangeVersionBaseDTO;
import com.jwipc.supplier.entity.SupplierChangeVersion;
import com.jwipc.supplier.model.query.SupplierChangeQuery;

import java.util.List;

/**
 * <p> </p>
 *
 * @author BOGON
 * @version 1.0
 * @since JDK 1.8
 */
public interface SupplierChangeLogic {
    PageView getList(SupplierChangeQuery query);

    PageView getListAll(SupplierChangeQuery query);

    void saveOrUpdate(SupplierChangeSaveDTO supplierChangeSaveDTO);

    SupplierChangeVersionBaseDTO getDetail(Long id);

    PageView getSupplierVersionList(SupplierChangeQuery changeVersionId);

    PageView getSupplierBankVersionList(SupplierChangeQuery query);

    PageView getSupplierBankVersionWholeList(SupplierChangeQuery query);

    PageView getSupplierContactsVersionList(SupplierChangeQuery query);

    PageView getSupplierContactsVersionWholeList(SupplierChangeQuery query);

    PageView getSupplierPurchaseCategoryVersionList(SupplierChangeQuery query);

    PageView getSupplierPurchaseCategoryVersionWholeList(SupplierChangeQuery query);

    PageView getAttachmentList(SupplierChangeQuery query);

    PageView getAttachmentWholeList(SupplierChangeQuery query);

    void examine(ChangeExamineParamDTO paramDTO);

    void oaExamine(Long id, Integer state);

    PageView getSupplierQualificationVersionList(SupplierChangeQuery query);

    PageView getSupplierQualificationVersionWholeList(SupplierChangeQuery query);

    List<SupplierChangeVersion> findExportListAll(SupplierChangeQuery supplierChangeQuery);


    void remove(Long id);
}