package com.ruoyi.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import com.ruoyi.business.domain.TMiStock;

/**
 * 库存Service接口
 * 
 * @author wms
 * @date 2022-05-29
 */
public interface ITMiStockService extends IService<TMiStock>
{
    /**
     * 查询库存
     * 
     * @param stockId 库存主键
     * @return 库存
     */
    public TMiStock selectTMiStockByStockId(String stockId);

    /**
     * 查询库存列表
     * 
     * @param tMiStock 库存
     * @return 库存集合
     */
    public List<TMiStock> selectTMiStockList(TMiStock tMiStock);

    /**
     * 查询库存列表(不含空托)
     *
     * @param tMiStock 库存
     * @return 库存集合
     */
    public List<TMiStock> selectStock(TMiStock tMiStock);

    /**
     * 查询库存列表(空托)
     *
     * @param tMiStock 库存
     * @return 库存集合
     */
    public List<TMiStock> selectStockEmpty(TMiStock tMiStock);

    /**
     * 查询7天或12天后过期的物料
     *
     * @param tMiStock 库存
     * @return 库存集合
     */
    public List<TMiStock> selectStockEkpExpireItem(TMiStock tMiStock);

    /**
     * 新增库存
     * 
     * @param tMiStock 库存
     * @return 结果
     */
    public int insertTMiStock(TMiStock tMiStock);

    /**
     * 修改库存
     * 
     * @param tMiStock 库存
     * @return 结果
     */
    public int updateTMiStock(TMiStock tMiStock);

    /**
     * 定时执行任务（过期自动不合格）
     *
     * @return 结果
     */
    public List<TMiStock> selectTMiStockExpired();

    /**
     * 批量删除库存
     * 
     * @param stockIds 需要删除的库存主键集合
     * @return 结果
     */
    public int deleteTMiStockByStockIds(String stockIds);

    /**
     * 删除库存信息
     * 
     * @param stockId 库存主键
     * @return 结果
     */
    public int deleteTMiStockByStockId(String stockId);

    /**
     * 查询出库用库存列表
     *
     * @param tMiStock 库存
     * @return 库存集合
     */
    public List<TMiStock> selectTMiStockOutList(TMiStock tMiStock);

    /**
     * 查询出库用库存列表
     *
     * @param tMiStock 库存
     * @return 库存集合
     */
    public List<TMiStock> selectTMiStockOutListByLot(TMiStock tMiStock);
}
