package com.zhyc.module.base.mapper;

import java.util.List;
import com.zhyc.module.base.domain.ViewBreedRamFile;

/**
 * 种公羊档案视图Mapper接口
 *
 * @author zhyc
 * @date 2025-07-29
 */
public interface ViewBreedRamFileMapper
{
    /**
     * 查询种公羊档案视图
     *
     * @param id 种公羊档案主键
     * @return 种公羊档案视图
     */
    public ViewBreedRamFile selectViewBreedRamFileById(Long id);

    /**
     * 查询种公羊档案视图列表
     *
     * @param viewBreedRamFile 种公羊档案视图
     * @return 种公羊档案视图集合
     */
    public List<ViewBreedRamFile> selectViewBreedRamFileList(ViewBreedRamFile viewBreedRamFile);

    /**
     * 根据普通耳号查询种公羊档案视图
     *
     * @param ordinaryEarNumber 普通耳号
     * @return 种公羊档案视图
     */
    public ViewBreedRamFile selectViewBreedRamFileByOrdinaryEarNumber(String ordinaryEarNumber);

    /**
     * 根据牧场ID查询种公羊档案视图列表
     *
     * @param ranchId 牧场ID
     * @return 种公羊档案视图集合
     */
    public List<ViewBreedRamFile> selectViewBreedRamFileListByRanchId(Long ranchId);

    /**
     * 根据羊舍ID查询种公羊档案视图列表
     *
     * @param sheepfoldId 羊舍ID
     * @return 种公羊档案视图集合
     */
    public List<ViewBreedRamFile> selectViewBreedRamFileListBySheepfoldId(Long sheepfoldId);

    /**
     * 查询核心羊群种公羊档案视图列表
     *
     * @param viewBreedRamFile 种公羊档案视图
     * @return 种公羊档案视图集合
     */
    public List<ViewBreedRamFile> selectCoreFlockViewBreedRamFileList(ViewBreedRamFile viewBreedRamFile);

    /**
     * 查询种用种公羊档案视图列表
     *
     * @param viewBreedRamFile 种公羊档案视图
     * @return 种公羊档案视图集合
     */
    public List<ViewBreedRamFile> selectBreedingUseViewBreedRamFileList(ViewBreedRamFile viewBreedRamFile);
}