package com.zbf.system.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zbf.system.domain.TMiStockF;
import com.zbf.system.domain.TMiStockUpdate;

/**
 * 库存Mapper接口
 *
 * @author tony
 * @date 2024-06-12
 */
@Mapper
public interface TMiStockFMapper extends BaseMapper<TMiStockF> {


    void deleteStockByCtlAndLocationId(TMiStockF tMiStock);

    void updateSts(TMiStockF tMiStock);
    void updateLocation(TMiStockF tMiStock);

    int insertTMiStock(TMiStockF tMiStock);
    List<TMiStockF> selectTMiStockList(TMiStockF tMiStock);
    /**
     * 根据物料id和仓库id 按插入时间正序列表
     * @param tMiStock
     * @return
     */
    public List<TMiStockF> selectTMiStockListByGoodsId(TMiStockF tMiStock);
    int updateShelvesNum(TMiStockF tMiStock);

    /**
     * 库存查询
     * @param tMiStock
     * @return
     */
    public List<TMiStockF> inventoryStatisticsGoods(TMiStockF tMiStock);

    /**
     * 盘点库存查询
     * @param tMiStock
     * @return
     */
    public List<TMiStockF> selectPanGoodsList(TMiStockF tMiStock);

    /**
     * 查询当日变化的库位
     * @param beginDate
     * @param endDate
     * @return
     */
    public List<String> selectPanTimeLocation(String queryDate);

    /**
     * 改变库位
     * @param tMiStockUpdate
     * @return
     */
    public int changeLocation(TMiStockUpdate tMiStockUpdate);

    /**
     * 更换容器
     * @param tMiStockUpdate
     * @return
     */
    public int changeCtlNo(TMiStockUpdate tMiStockUpdate);

    /**
     * 拆分容器
     * @param tMiStockUpdate
     * @return
     */
    public int updateTMiStockSplitCtl(TMiStockF tMiStock);

    /**
     * 删除库存
     *
     * @param id 库存主键
     * @return 结果
     */
    public int deleteTMiStockFById(String id);

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

    /**
     * 查询库存
     *
     * @param id 库存主键
     * @return 库存
     */
    public TMiStockF selectTMiStockFById(String id);

}
