package com.jwipc.supplier.logic;

import com.jwipc.page.PageView;
import com.jwipc.supplier.clent.dto.SupplierDTO;
import com.jwipc.supplier.dto.SupplierBankDTO;
import com.jwipc.supplier.dto.SupplierBaseDTO;
import com.jwipc.supplier.dto.SupplierDetailPageDTO;
import com.jwipc.supplier.model.po.SupplierBankSendPO;
import com.jwipc.supplier.model.po.TemplateQuestionnairePO;
import com.jwipc.supplier.model.query.SupplierSelectQuery;

import java.util.List;
import java.util.Set;

/**
 * <p> </p>
 *
 * @author BOGON
 * @version 1.0
 * @since JDK 1.8
 */
public interface SupplierLogic {
    PageView getListForSelect(SupplierSelectQuery query);

    SupplierDetailPageDTO renderPage(Long id,Long changeId);



    List<TemplateQuestionnairePO> questionnaireAndItemByRelation(String templateId, String supplierId);

    void updateSamplePass(Long id);

    /**
     * 查询供应商银行信息
     * @param supplierId
     * @return
     */
    List<SupplierBankDTO> findSupplierBankData(String supplierId);

    SupplierBaseDTO getById(Long supplierId);

    Set<String> getPurchaseCategoryCodes(Long supplierId);

    void updateFormalCode(Long id, String supplierCode);

    void updateSignatureFlag(Long id);

    void updateMonthFlagFlag(Long id);

    void updateApprovalOpinion(Long id,String approvalOpinion);

    void updatePurchaseGroup(Long id, String purchaseGroup);

    void updateRecommender(Long id, String recommenderCode);

    SupplierDTO getSupplierByCode(String supplierCode);

    void findSupplierBankDatas(List<Long> ids);

}