package com.jwipc.supplier.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jwipc.supplier.clent.dto.SupplierPurchaseCategoryDTO;
import com.jwipc.supplier.entity.SupplierPurchaseCategory;
import com.jwipc.supplier.model.po.SupplierProductTypeDMPO;
import com.jwipc.supplier.model.po.SupplierPurchaseCategoryListPO;
import com.jwipc.supplier.model.query.SupplierPurchaseCategoryBaseQuery;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 供应商物料品类关联表 Mapper 接口
 * </p>
 *
 * @author ZhangJie
 * @since 2024-02-21
 */
public interface SupplierPurchaseCategoryMapper extends BaseMapper<SupplierPurchaseCategory> {

    List<SupplierPurchaseCategoryListPO> findPage(Page<SupplierPurchaseCategoryListPO> page,
                                                  @Param("q") SupplierPurchaseCategoryBaseQuery query);

    List<SupplierPurchaseCategoryListPO> findMainPage(Page<SupplierPurchaseCategoryListPO> page,
                                                      @Param("q") SupplierPurchaseCategoryBaseQuery query);

    List<SupplierPurchaseCategoryListPO> findMainPage(@Param("q") SupplierPurchaseCategoryBaseQuery query);

    List<SupplierProductTypeDMPO> findForProducttypedmReportExport(@Param("q")SupplierPurchaseCategoryBaseQuery query);

    List<SupplierPurchaseCategoryListPO> findPOForIds(@Param("ids") List<String> list);

    List<SupplierPurchaseCategoryListPO> findPage(@Param("q") SupplierPurchaseCategoryBaseQuery query);

    SupplierPurchaseCategory findCurryCode(@Param("supplierCode") String supplierCode);
}
