using SlnMesnac.Model.domain;
using SlnMesnac.Repository.service.@base;
using System;
using System.Collections.Generic;
using System.Text;

#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* 版权所有 (c) 2024 WenJY 保留所有权利。
* CLR版本:4.0.30319.42000
* 机器名称:LAPTOP-E0N2L34V
* 命名空间:SlnMesnac.Repository.service
* 唯一标识:496f8d2b-70e3-4a05-ae18-a9b0fcd06b82
*
* 创建者:WenJY
* 电子邮箱:wenjy@mesnac.com
* 创建时间:2024-03-27 21:58:35
* 版本:V1.0.0
* 描述:
*
*--------------------------------------------------------------------
* 修改人:
* 时间:
* 修改说明:
*
* 版本:V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace SlnMesnac.Repository.service
{
    public interface IBaseMaterialService : IBaseService<BaseMaterialInfo>
    {

        /// <summary>
        /// 获取所有的物料信息
        /// </summary>
        /// <returns></returns>
        List<BaseMaterialInfo> GetMaterialInfos();

        /// <summary>
        /// 通过物料编码获取物料信息
        /// </summary>
        /// <param name="materialCode"></param>
        /// <returns></returns>
        BaseMaterialInfo GetMaterialInfoByMaterialCode(string materialCode);

        /// <summary>
        /// 通过SAP物料编码获取物料信息
        /// </summary>
        /// <param name="sapMaterialCode"></param>
        /// <returns></returns>
        BaseMaterialInfo GetMaterialInfoBySapMaterialCode(string sapMaterialCode);

        /// <summary>
        /// 通过物料类别获取物料信息
        /// </summary>
        /// <param name="majorTypeId">物料大类</param>
        /// <param name="minorTypeId">物料细类</param>
        /// <returns></returns>
        List<BaseMaterialInfo> GetMaterialInfosByMaterialType(int majorTypeId, string minorTypeId);
    }
}