package com.hw.wms.service;

import java.util.List;
import com.hw.wms.domain.WmsWarehouseMaterial;

/**
 * 仓库可储存物料信息Service接口
 *
 * @author xins
 * @date 2024-01-09
 */
public interface IWmsWarehouseMaterialService
{
    /**
     * 查询仓库可储存物料信息
     *
     * @param warehouseId 仓库可储存物料信息主键
     * @return 仓库可储存物料信息
     */
    public WmsWarehouseMaterial selectWmsWarehouseMaterialByWarehouseId(Long warehouseId);

    /**
     * 查询仓库可储存物料信息列表
     *
     * @param wmsWarehouseMaterial 仓库可储存物料信息
     * @return 仓库可储存物料信息集合
     */
    public List<WmsWarehouseMaterial> selectWmsWarehouseMaterialList(WmsWarehouseMaterial wmsWarehouseMaterial);

    /**
     * 新增仓库可储存物料信息
     *
     * @param wmsWarehouseMaterial 仓库可储存物料信息
     * @return 结果
     */
    public int insertWmsWarehouseMaterial(WmsWarehouseMaterial wmsWarehouseMaterial);

    /**
     * 修改仓库可储存物料信息
     *
     * @param wmsWarehouseMaterial 仓库可储存物料信息
     * @return 结果
     */
    public int updateWmsWarehouseMaterial(WmsWarehouseMaterial wmsWarehouseMaterial);

    /**
     * 批量删除仓库可储存物料信息
     *
     * @param warehouseMaterialIds 需要删除的仓库可储存物料信息主键集合
     * @return 结果
     */
    public int deleteWmsWarehouseMaterialByWarehouseMaterialIds(Long[] warehouseMaterialIds);

    /**
     * 删除仓库可储存物料信息信息
     *
     * @param warehouseMaterialId 仓库可储存物料信息主键
     * @return 结果
     */
    public int deleteWmsWarehouseMaterialByWarehouseMaterialId(Long warehouseMaterialId);


    /**
     * 查询仓库可储存物料信息列表,join material
     *
     * @param wmsWarehouseMaterial 仓库可储存物料信息
     * @return 仓库可储存物料信息
     */
    public List<WmsWarehouseMaterial> selectWmsWarehouseMaterialJoinList(WmsWarehouseMaterial wmsWarehouseMaterial);

    /**
     * 批量新增仓库配置物料信息
     *
     * @param warehouseId 仓库ID
     * @param materialIds 物料组
     */
    public void batchInsertWarehouseMaterial(Long warehouseId, Long[] materialIds);
}
