Browse Source

添加库位类型校验

master
郑勃旭 1 year ago
parent
commit
265aaae596
  1. 24
      be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs
  2. 35
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs

24
be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs

@ -464,6 +464,30 @@ public class BalanceAppService
return dtos;
}
/// <summary>
/// 根据发料任务需求,算出推荐的库存 (在获取时 已经添加预占用)
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
[HttpGet("recommend-list-location")]
public virtual async Task<List<BalanceDTO>> GetRecommendBalancesAsync(RecommendBalanceRequestInput input)
{
var traceId = GuidGenerator.Create();
var itemCode = input.ItemCode;
var qty = input.Qty;
var locationTypes = input.LocationTypes;
var locationAreas = input.LocationAreas;
var statuses = input.Statuses;
Logger.LogDebug(traceId + "|Input:" + input);
var balances = await _balanceManager.GetRecommendBalancesAsync(traceId, itemCode, qty, locationTypes, locationAreas, statuses).ConfigureAwait(false);
var dtos = ObjectMapper.Map<List<Balance>, List<BalanceDTO>>(balances);
return dtos;
}
/// <summary>
/// pda发料执行查询使用
/// </summary>

35
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs

@ -22,12 +22,16 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ
{
private readonly IDepartmentAppService _departmentApp;
private readonly IUnplannedReceiptRequestManager _unplannedReceiptRequestManager;
private readonly ILocationAppService _locationAppService;
private readonly IBalanceAppService _balanceAppService;
public UnplannedReceiptRequestForDongyangAppService(IUnplannedReceiptRequestRepository repository,
IUnplannedReceiptRequestManager unplannedReceiptRequestManager,
IDepartmentAppService departmentApp) : base(repository, unplannedReceiptRequestManager)
IDepartmentAppService departmentApp, ILocationAppService locationAppService, IBalanceAppService balanceAppService) : base(repository, unplannedReceiptRequestManager)
{
_unplannedReceiptRequestManager = unplannedReceiptRequestManager;
_departmentApp = departmentApp;
_locationAppService = locationAppService;
_balanceAppService = balanceAppService;
}
/// <summary>
@ -51,12 +55,37 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ
{
if (detail.UnplannedReceiptType == EnumUnplannedReceiptType.Raw)
{
//这写原料 检验
var locationDto= await _locationAppService.GetByCodeAsync(detail.LocationCode);
if (locationDto.Type!=EnumLocationType.RAW||locationDto.Type!=EnumLocationType.SEMI)
{
throw new UserFriendlyException($"【{detail.LocationCode}】库位类型错误," +
$"不是{EnumLocationType.RAW.GetDisplayName()}" +
$"或{EnumLocationType.SEMI.GetDisplayName()}】");
}
//需要赋值一个这个方法 去掉区域参数 换成库位参数
//_balanceAppService.GetRecommendBalancesAsync(new RecommendBalanceRequestInput()
//{
// ItemCode = detail.ItemCode,
//});
}
if (detail.UnplannedReceiptType == EnumUnplannedReceiptType.Wip)
{
//这写线边 校验
var locationDto = await _locationAppService.GetByCodeAsync(detail.LocationCode);
if (locationDto.Type != EnumLocationType.WIP)
{
throw new UserFriendlyException($"【{detail.LocationCode}】库位类型错误," +
$"不是{EnumLocationType.WIP.GetDisplayName()}");
}
//需要赋值一个这个方法 去掉区域参数 换成库位参数
//_balanceAppService.GetRecommendBalancesAsync(new RecommendBalanceRequestInput()
//{
// ItemCode = detail.ItemCode,
//});
}
await SetDetailPropertiesAsync(detail).ConfigureAwait(false);

Loading…
Cancel
Save