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
|
{
|
/// <summary>
|
/// 货位仓储实现层
|
/// </summary>
|
public class LocationInfoRepository : RepositoryBase<Dt_LocationInfo>, ILocationInfoRepository
|
{
|
public LocationInfoRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
|
{
|
|
}
|
|
|
/// <summary>
|
/// 根据货位编号集合获取货位信息
|
/// </summary>
|
/// <param name="locationCodes"></param>
|
/// <returns></returns>
|
public List<Dt_LocationInfo> GetLocationInfos(List<string> locationCodes)
|
{
|
return QueryData(x => locationCodes.Contains(x.LocationCode));
|
}
|
|
/// <summary>
|
/// 批量修改货位状态
|
/// </summary>
|
/// <param name="locationInfos"></param>
|
/// <param name="locationStatus"></param>
|
public void UpdateLocationStatus(List<Dt_LocationInfo> locationInfos, LocationStatusEnum locationStatus)
|
{
|
locationInfos.ForEach(x =>
|
{
|
x.LocationStatus = locationStatus.ObjToInt();
|
});
|
UpdateData(locationInfos);
|
}
|
|
/// <summary>
|
/// 获取可出库货位编号
|
/// </summary>
|
/// <param name="warehouseId"></param>
|
/// <returns></returns>
|
public List<string> GetCanOutLocationCodes(int warehouseId)
|
{
|
return QueryData(x => x.LocationCode, x => x.WarehouseId == warehouseId && x.LocationStatus == LocationStatusEnum.InStock.ObjToInt() && x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()).Distinct().ToList();
|
}
|
}
|
}
|