|
@ -10,6 +10,7 @@ using Win_in.Sfs.Auth.Application.Contracts; |
|
|
using Win_in.Sfs.Basedata.Application.Contracts; |
|
|
using Win_in.Sfs.Basedata.Application.Contracts; |
|
|
using Win_in.Sfs.Shared.Domain; |
|
|
using Win_in.Sfs.Shared.Domain; |
|
|
using Win_in.Sfs.Shared.Domain.Shared; |
|
|
using Win_in.Sfs.Shared.Domain.Shared; |
|
|
|
|
|
using Win_in.Sfs.Shared.Domain.Shared.Enums.Store; |
|
|
using Win_in.Sfs.Wms.Inventory.Application.Contracts; |
|
|
using Win_in.Sfs.Wms.Inventory.Application.Contracts; |
|
|
using Win_in.Sfs.Wms.Store.Application.Contracts; |
|
|
using Win_in.Sfs.Wms.Store.Application.Contracts; |
|
|
using Win_in.Sfs.Wms.Store.Domain; |
|
|
using Win_in.Sfs.Wms.Store.Domain; |
|
@ -22,15 +23,18 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA |
|
|
private readonly IUnplannedIssueRequestManager _unplannedIssueRequestManager; |
|
|
private readonly IUnplannedIssueRequestManager _unplannedIssueRequestManager; |
|
|
private readonly IBalanceAppService _balanceAppService; |
|
|
private readonly IBalanceAppService _balanceAppService; |
|
|
private readonly IDepartmentAppService _departmentAppService; |
|
|
private readonly IDepartmentAppService _departmentAppService; |
|
|
|
|
|
private readonly ILocationAppService _locationAppService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public UnplannedIssueRequestForDongyangAppService(IUnplannedIssueRequestRepository repository, |
|
|
public UnplannedIssueRequestForDongyangAppService(IUnplannedIssueRequestRepository repository, |
|
|
IUnplannedIssueRequestManager unplannedIssueRequestManager, |
|
|
IUnplannedIssueRequestManager unplannedIssueRequestManager, |
|
|
IDepartmentAppService departmentApp, IBalanceAppService balanceAppService, IDepartmentAppService departmentAppService) : base(repository, unplannedIssueRequestManager) |
|
|
IDepartmentAppService departmentApp, IBalanceAppService balanceAppService, IDepartmentAppService departmentAppService, ILocationAppService locationAppService) : base(repository, unplannedIssueRequestManager) |
|
|
{ |
|
|
{ |
|
|
_unplannedIssueRequestManager = unplannedIssueRequestManager; |
|
|
_unplannedIssueRequestManager = unplannedIssueRequestManager; |
|
|
_departmentApp = departmentApp; |
|
|
_departmentApp = departmentApp; |
|
|
_balanceAppService = balanceAppService; |
|
|
_balanceAppService = balanceAppService; |
|
|
_departmentAppService = departmentAppService; |
|
|
_departmentAppService = departmentAppService; |
|
|
|
|
|
_locationAppService = locationAppService; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// <summary>
|
|
@ -52,6 +56,42 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA |
|
|
|
|
|
|
|
|
foreach (var detail in unplannedIssueRequest.Details) |
|
|
foreach (var detail in unplannedIssueRequest.Details) |
|
|
{ |
|
|
{ |
|
|
|
|
|
if (detail.UnplannedIssueType == EnumUnplannedIssueType.Raw) |
|
|
|
|
|
{ |
|
|
|
|
|
var locationDto = await _locationAppService.GetByCodeAsync(detail.LocationCode).ConfigureAwait(false); |
|
|
|
|
|
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.UnplannedIssueType == EnumUnplannedIssueType.Wip) |
|
|
|
|
|
{ |
|
|
|
|
|
var locationDto = await _locationAppService.GetByCodeAsync(detail.LocationCode).ConfigureAwait(false); |
|
|
|
|
|
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); |
|
|
await SetDetailPropertiesAsync(detail).ConfigureAwait(false); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|