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.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);
} }
} }

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

Loading…
Cancel
Save