package com.ruoyi.business.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import com.ruoyi.business.domain.TCkPickingwavegoods;
import com.ruoyi.business.domain.TOngoodsshelfBak;
import org.apache.ibatis.annotations.Param;

/**
 * 出库物料明细Mapper接口
 * 
 * @author tony.wu
 * @date 2022-05-31
 */
public interface TCkPickingwavegoodsMapper extends BaseMapper<TCkPickingwavegoods>
{
    /**
     * 查询出库物料明细
     * 
     * @param pickingid 出库物料明细主键
     * @return 出库物料明细
     */
    public TCkPickingwavegoods selectTCkPickingwavegoodsByPickingid(String pickingid);

    /**
     * 条件查询
     *
     * @param startDate 开始时间
     * @param endDate 结束时间
     * @return 入库任务列表
     */
    public List<TCkPickingwavegoods> selectTCkPickingwavegoodsByCreateDate(@Param("startDate") String startDate, @Param("endDate") String endDate);

    /**
     * 查询出库物料明细列表
     * 
     * @param tCkPickingwavegoods 出库物料明细
     * @return 出库物料明细集合
     */
    public List<TCkPickingwavegoods> selectTCkPickingwavegoodsList(TCkPickingwavegoods tCkPickingwavegoods);

    /**
     * 新增出库物料明细
     * 
     * @param tCkPickingwavegoods 出库物料明细
     * @return 结果
     */
    public int insertTCkPickingwavegoods(TCkPickingwavegoods tCkPickingwavegoods);

    /**
     * 修改出库物料明细
     * 
     * @param tCkPickingwavegoods 出库物料明细
     * @return 结果
     */
    public int updateTCkPickingwavegoods(TCkPickingwavegoods tCkPickingwavegoods);

    /**
     * 删除出库物料明细
     * 
     * @param pickingid 出库物料明细主键
     * @return 结果
     */
    public int deleteTCkPickingwavegoodsByPickingid(String pickingid);

    /**
     * 批量删除出库物料明细
     * 
     * @param pickingids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTCkPickingwavegoodsByPickingids(String[] pickingids);

    /**
     * 更新出库任务的结果
     * @param tCkPickingwavegoods
     * @return
     */
    int updateGoodsOutResult(TCkPickingwavegoods tCkPickingwavegoods);

    /**
     * 更新扫描校验的结果
     * @param tCkPickingwavegoods
     * @return
     */
    int updateScanGoodsResult(TCkPickingwavegoods tCkPickingwavegoods);

    /**
     * 空托出库
     * @param tCkPickingwavegoods
     * @return
     */
    int updateEmptyOut(TCkPickingwavegoods tCkPickingwavegoods);
}
