Browse Source

非生产-领料 导入校验

master
刘云峰 1 year ago
parent
commit
75b598a897
  1. 42
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs
  2. 37
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs

42
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs

@ -10,6 +10,7 @@ using Win_in.Sfs.Auth.Application.Contracts;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
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.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
@ -22,15 +23,18 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
private readonly IUnplannedIssueRequestManager _unplannedIssueRequestManager;
private readonly IBalanceAppService _balanceAppService;
private readonly IDepartmentAppService _departmentAppService;
private readonly ILocationAppService _locationAppService;
public UnplannedIssueRequestForDongyangAppService(IUnplannedIssueRequestRepository repository,
IUnplannedIssueRequestManager unplannedIssueRequestManager,
IDepartmentAppService departmentApp, IBalanceAppService balanceAppService, IDepartmentAppService departmentAppService) : base(repository, unplannedIssueRequestManager)
IDepartmentAppService departmentApp, IBalanceAppService balanceAppService, IDepartmentAppService departmentAppService, ILocationAppService locationAppService) : base(repository, unplannedIssueRequestManager)
{
_unplannedIssueRequestManager = unplannedIssueRequestManager;
_departmentApp = departmentApp;
_balanceAppService = balanceAppService;
_departmentAppService = departmentAppService;
_locationAppService = locationAppService;
}
/// <summary>
@ -52,6 +56,42 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
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);
}
}

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

@ -23,18 +23,21 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ
{
private readonly IDepartmentAppService _departmentApp;
private readonly LocationManager _locationManager;
private readonly ILocationAppService _locationAppService;
private readonly IUnplannedReceiptRequestManager _unplannedReceiptRequestManager;
public UnplannedReceiptRequestForDongyangAppService(IUnplannedReceiptRequestRepository repository,
IUnplannedReceiptRequestManager unplannedReceiptRequestManager,
IDepartmentAppService departmentApp,
LocationManager locationManager
LocationManager locationManager,
ILocationAppService locationAppService
) : base(repository, unplannedReceiptRequestManager)
{
_unplannedReceiptRequestManager = unplannedReceiptRequestManager;
_departmentApp = departmentApp;
this._locationManager = locationManager;
_locationManager = locationManager;
_locationAppService = locationAppService;
}
/// <summary>
@ -58,13 +61,37 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ
{
if (detail.UnplannedReceiptType == EnumUnplannedReceiptType.Raw)
{
//这写原料 检验
//_locationManager
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.UnplannedReceiptType == EnumUnplannedReceiptType.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);

Loading…
Cancel
Save