From 75b598a897703a964cd0d27771bb54ed958bbdd4 Mon Sep 17 00:00:00 2001 From: liuyunfeng Date: Fri, 15 Dec 2023 17:50:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=9E=E7=94=9F=E4=BA=A7-=E9=A2=86=E6=96=99?= =?UTF-8?q?=20=E5=AF=BC=E5=85=A5=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...lannedIssueRequestForDongyangAppService.cs | 42 ++++++++++++++++++- ...nnedReceiptRequestForDongyangAppService.cs | 37 +++++++++++++--- 2 files changed, 73 insertions(+), 6 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs index 47c6694eb..8b439bf7d 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs +++ b/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; } /// @@ -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); } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs index 93ec45d69..c3306faa3 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs +++ b/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; } /// @@ -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);