using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.Enums;
using WIDESEAWCS_Common;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_BasicInfoRepository
{
///
/// 货位仓储实现层
///
public class LocationInfoRepository : RepositoryBase, ILocationInfoRepository
{
public LocationInfoRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
{
}
///
/// 根据货位编号集合获取货位信息
///
///
///
public List GetLocationInfos(List locationCodes)
{
return QueryData(x => locationCodes.Contains(x.LocationCode));
}
///
/// 批量修改货位状态
///
///
///
public void UpdateLocationStatus(List locationInfos, LocationStatusEnum locationStatus)
{
locationInfos.ForEach(x =>
{
x.LocationStatus = locationStatus.ObjToInt();
});
UpdateData(locationInfos);
}
///
/// 获取可出库货位编号
///
///
///
public List GetCanOutLocationCodes(int warehouseId)
{
return QueryData(x => x.LocationCode, x => x.WarehouseId == warehouseId && x.LocationStatus == LocationStatusEnum.InStock.ObjToInt() && x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()).Distinct().ToList();
}
///
/// 获取料箱对应出库货位
///
///
public List GetCanOut(List strings)
{
return QueryData(x => strings.Contains(x.PalletCode)).ToList();
}
}
}