package com.xtd.project.assets.mapper;

import com.xtd.project.assets.domain.DbAssetsStock;
import com.xtd.project.assets.domain.DbAssetsStockListVo;
import com.xtd.project.assets.domain.DbAssetsStockSelectVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 库存管理Mapper接口
 *
 * @author xtd
 * @date 2020-04-09
 */
public interface DbAssetsStockMapper {
    /**
     * 查询库存管理
     *
     * @param aId 库存管理ID
     * @return 库存管理
     */
    public DbAssetsStock selectDbAssetsStockById(Long aId);

    /**
     * 查询库存管理列表
     *
     * @param dbAssetsStock 库存管理
     * @return 库存管理集合
     */
    public List<DbAssetsStockListVo> selectDbAssetsStockList(DbAssetsStock dbAssetsStock);

    /**
     * 新增库存管理
     *
     * @param dbAssetsStock 库存管理
     * @return 结果
     */
    public int insertDbAssetsStock(DbAssetsStock dbAssetsStock);

    /**
     * 修改库存管理
     *
     * @param dbAssetsStock 库存管理
     * @return 结果
     */
    public int updateDbAssetsStock(DbAssetsStock dbAssetsStock);

    /**
     * 删除库存管理
     *
     * @param aId 库存管理ID
     * @return 结果
     */
    public int deleteDbAssetsStockById(Long aId);

    /**
     * 批量删除库存管理
     *
     * @param aIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteDbAssetsStockByIds(Long[] aIds);

    List<DbAssetsStockSelectVo> selectlist(@Param("dbMaterielId") Long dbMaterielId,@Param("status") Integer status);


    List<DbAssetsStockSelectVo> out(@Param("depId")  Long depId,@Param("leadUserId")  Long leadUserId,@Param("status")Integer status);


    void insertList(List<DbAssetsStock> collect);

    String selectNumber();

    List<DbAssetsStockListVo> export(DbAssetsStock dbAssetsStock);
}
