package com.zhyc.module.frozen.mapper;

import java.util.List;
import java.util.Map;

import com.zhyc.module.frozen.domain.DdFe;
import com.zhyc.module.produce.breed.domain.ScEmbryoFlush;
import org.apache.ibatis.annotations.Param;

/**
 * 冻胚库存Mapper接口
 * 
 * @author ruoyi
 * @date 2025-11-29
 */
public interface DdFeMapper 
{
    /**
     * 查询冻胚库存
     * 
     * @param id 冻胚库存主键
     * @return 冻胚库存
     */
    public DdFe selectDdFeById(Long id);

    /**
     * 查询冻胚库存列表
     * 
     * @param ddFe 冻胚库存
     * @return 冻胚库存集合
     */
    public List<DdFe> selectDdFeList(DdFe ddFe);

    /**
     * 新增冻胚库存
     * 
     * @param ddFe 冻胚库存
     * @return 结果
     */
    public int insertDdFe(DdFe ddFe);

    /**
     * 修改冻胚库存
     * 
     * @param ddFe 冻胚库存
     * @return 结果
     */
    public int updateDdFe(DdFe ddFe);

    /**
     * 删除冻胚库存
     * 
     * @param id 冻胚库存主键
     * @return 结果
     */
    public int deleteDdFeById(Long id);

    /**
     * 批量删除冻胚库存
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDdFeByIds(Long[] ids);

    /**
     * 按母羊耳号取最新一条冲胚记录（只读）
     */
    Map<String,Object> selectFlushByEwe(@Param("eweNo") String eweNo);

    /**
     * 废弃更新（只改状态、出库日期、废弃原因、更新人）
     */
    int updateDiscard(DdFe dto);
    //    唯一性校验
    int existsByCode(@Param("code") String code);
}
