package com.jwipc.supplier.logic;

import com.jwipc.page.PageView;
import com.jwipc.supplier.dto.*;
import com.jwipc.supplier.model.query.SupplierQualificationChangeQuery;
import com.jwipc.supplier.model.query.SupplierQualificationQuery;
import com.jwipc.supplier.model.query.SupplierQualificationSupplemntQuery;

import java.util.List;

/**
 * <p> </p>
 *
 * @author BOGON
 * @version 1.0
 * @since JDK 1.8
 */
public interface SupplierQualificationLogic {
    PageView getApplyList(SupplierQualificationSupplemntQuery query);

    SupplierQualificationApplyBaseDTO getApplyDetail(Long id);

    List<SupplierQualificationApplySupplierBaseDTO> getApplySupplierList(Long applyId);

    List<SupplierQualificationApplyDetailBaseDTO> getApplyQualificationList(Long applyId);

    void applySaveOrUpdate(SupplierQualificationApplySaveDTO applySaveDTO);

    void applySubmit(Long id);

    void updateRemoveStatus(Long id);


    PageView getChangeList(SupplierQualificationChangeQuery query);

    SupplierQualificationChangeBaseDTO getChangeDetail(Long id);

    List<SupplierQualificationChangeItemBaseDTO> getChangeItemList(Long changeId);

    PageView getList(SupplierQualificationQuery query);

    void changeSaveOrUpdate(SupplierQualificationChangeSaveDTO supplierQualificationChangeSaveDTO);

    void changeBusinessReject(Long id, String remark);

    void changeBusinessPass(Long id, String remark,String rows);

    /**
     * 供应商资质预警分页
     * @param query
     * @return
     */
    PageView warnPage(SupplierQualificationQuery query);

    void changeSqeReject(Long id, String remark);

    void changeSqePass(Long id, String remark);

    PageView getReportList(Long id, String purchaseCategoryCode);

    void reportSave(List<SupplierQualificationBaseDTO> supplierQualificationBaseDTOS);

    void update(List<SupplierQualificationBaseDTO> supplierQualificationBaseDTOS);

    void removeById(Long id);
}