package com.zhyc.module.base.mapper;

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

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

    /**
     * 查询种公羊档案列表
     *
     * @param breedRamFile 种公羊档案
     * @return 种公羊档案集合
     */
    public List<BreedRamFile> selectBreedRamFileList(BreedRamFile breedRamFile);

    /**
     * 新增种公羊档案
     *
     * @param breedRamFile 种公羊档案
     * @return 结果
     */
    public int insertBreedRamFile(BreedRamFile breedRamFile);

    /**
     * 修改种公羊档案
     *
     * @param breedRamFile 种公羊档案
     * @return 结果
     */
    public int updateBreedRamFile(BreedRamFile breedRamFile);

    /**
     * 删除种公羊档案
     *
     * @param id 种公羊档案主键
     * @return 结果
     */
    public int deleteBreedRamFileById(Long id);

    /**
     * 批量删除种公羊档案
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBreedRamFileByIds(Long[] ids);

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

    /**
     * 根据电子耳号查询种公羊档案
     *
     * @param electronicTags 电子耳号
     * @return 种公羊档案
     */
    public BreedRamFile selectBreedRamFileByElectronicTags(String electronicTags);

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

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

    /**
     * 查询核心羊群种公羊档案列表
     *
     * @param breedRamFile 种公羊档案
     * @return 种公羊档案集合
     */
    public List<BreedRamFile> selectCoreFlockBreedRamFileList(BreedRamFile breedRamFile);

    /**
     * 查询种用种公羊档案列表
     *
     * @param breedRamFile 种公羊档案
     * @return 种公羊档案集合
     */
    public List<BreedRamFile> selectBreedingUseBreedRamFileList(BreedRamFile breedRamFile);
    /**
     * 根据普通耳号查询种公羊档案
     *
     * @param ordinaryEarNumber 普通耳号
     * @return 种公羊档案
     */
}