package com.xtd.project.assets.service;

import com.xtd.project.assets.domain.DbAssetsStock;
import com.xtd.project.assets.domain.DbAssetsStockListVo;
import com.xtd.project.assets.domain.DbAssetsStockSelectVo;

import java.util.List;

/**
 * 库存管理Service接口
 *
 * @author xtd
 * @date 2020-04-09
 */
public interface IDbAssetsStockService
{
    /**
     * 查询库存管理
     *
     * @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 aIds 需要删除的库存管理ID
     * @return 结果
     */
    public int deleteDbAssetsStockByIds(Long[] aIds);

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

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

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

    List<DbAssetsStockListVo> export(DbAssetsStock dbAssetsStock);
}
