|
using JiepeiWMS.IServices;
|
using JiepeiWMS.Model.Models;
|
using JiepeiWMS.Services.BASE;
|
using JiepeiWMS.IRepository.Base;
|
using System.Threading.Tasks;
|
using System.Collections.Generic;
|
|
namespace JiepeiWMS.Services
|
{
|
public class WMProductClassServices : BaseServices<WMProductClass>, IWMProductClassServices
|
{
|
private readonly IBaseRepository<WMProductClass> _dal;
|
public WMProductClassServices(IBaseRepository<WMProductClass> dal)
|
{
|
this._dal = dal;
|
base.BaseDal = dal;
|
}
|
|
|
/// <summary>
|
/// 获取父级Id列表
|
/// </summary>
|
/// <param name="Id"></param>
|
/// <returns></returns>
|
public async Task<List<WMProductClass>> GetParentIdList(int Id)
|
{
|
return await base.Query(a => a.ParentId == Id);
|
}
|
|
/// <summary>
|
/// 获取父级Id列表
|
/// </summary>
|
/// <param name="code">编码</param>
|
/// <param name="level">等级</param>
|
/// <param name="orgId">主体</param>
|
/// <returns></returns>
|
public async Task<List<WMProductClass>> GetClassCodeList(string code, int level)
|
{
|
var productClassList = new List<WMProductClass>();
|
|
switch (level)
|
{
|
case 2:
|
productClassList = await base.Query(a => a.ClassCode.Contains(code.Substring(0, level - 1)) && a.LevelId < level);
|
break;
|
case 3:
|
productClassList = await base.Query(a => a.ClassCode.Contains(code.Substring(0, level - 1)) && a.LevelId < level);
|
break;
|
case 4:
|
productClassList = await base.Query(a => a.ClassCode.Contains(code.Substring(0, level)) && a.LevelId < level);
|
break;
|
case 5:
|
productClassList = await base.Query(a => a.ClassCode.Contains(code.Substring(0, level + 1)) && a.LevelId < level);
|
break;
|
default:
|
break;
|
}
|
|
return productClassList;
|
}
|
}
|
}
|