From 6f26a29660ce03e93a92ce37f25aec3990461970 Mon Sep 17 00:00:00 2001 From: mahao Date: Wed, 26 Apr 2023 10:32:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=A9=BA=E5=80=BCCheck?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TransferNotes/TransferNoteAppService.cs | 14 ++++++++++- .../WipWarehouseAdjustNoteAppService.cs | 12 ++++++++++ .../ProductRecycleRequestAppService.cs | 11 +++++++++ .../ProductionReturnRequestAppService.cs | 23 ++++++++++++++++++ .../TransferRequestAppService.cs | 12 ++++++++++ .../WipWarehouseAdjustRequestAppService.cs | 24 +++++++++++++++++++ 6 files changed, 95 insertions(+), 1 deletion(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs index 43b0d71ae..ba964b00d 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs @@ -6,6 +6,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; +using Volo.Abp; using Volo.Abp.Application.Dtos; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Domain; @@ -64,7 +65,8 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase var balanceDto = await _balanceAppService.GetByItemLocationAndPackingAsync(detail.FromPackingCode, detail.ItemCode, detail.FromLocationCode).ConfigureAwait(false); var toLocationDto= await _locationAppService.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false); - + CheckLocation(toLocationDto, detail); + detail.OnTheWayLocationCode = bool.FalseString; detail.ItemCode=balanceDto.ItemCode; detail.ArriveDate=balanceDto.ArriveDate; @@ -104,6 +106,16 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase return dictionary; } + #region 校验 + private void CheckLocation(LocationDTO locationDto, TransferNoteDetail detail) + { + if (locationDto == null) + { + throw new UserFriendlyException($"库位代码为【{detail.ToLocationCode}】不存在"); + } + } + #endregion + /// /// 按条件获取线边调拨的分页列表 /// request sample diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/WipWarehouseAdjustNotes/WipWarehouseAdjustNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/WipWarehouseAdjustNotes/WipWarehouseAdjustNoteAppService.cs index 49dcab912..57537e720 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/WipWarehouseAdjustNotes/WipWarehouseAdjustNoteAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/WipWarehouseAdjustNotes/WipWarehouseAdjustNoteAppService.cs @@ -6,6 +6,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; +using Volo.Abp; using Volo.Abp.Application.Dtos; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Domain; @@ -64,6 +65,7 @@ public class WipWarehouseAdjustNoteAppService : SfsStoreWithDetailsAppServiceBas var balanceDto = await _balanceAppService.GetByItemLocationAndPackingAsync(detail.FromPackingCode, detail.ItemCode, detail.FromLocationCode).ConfigureAwait(false); var toLocationDto = await _locationAppService.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false); + CheckLocation(toLocationDto, detail); detail.ItemCode = balanceDto.ItemCode; detail.ArriveDate = balanceDto.ArriveDate; @@ -103,6 +105,16 @@ public class WipWarehouseAdjustNoteAppService : SfsStoreWithDetailsAppServiceBas return dictionary; } + #region 校验 + private void CheckLocation(LocationDTO toLocationDto, WipWarehouseAdjustNoteDetail detail) + { + if (toLocationDto == null) + { + throw new UserFriendlyException($"库位代码为【{detail.ToLocationCode}】不存在"); + } + } + #endregion + /// /// 确认对应的记录单 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ProductRecycleRequests/ProductRecycleRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ProductRecycleRequests/ProductRecycleRequestAppService.cs index 9275973f6..ec4cb26e1 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ProductRecycleRequests/ProductRecycleRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ProductRecycleRequests/ProductRecycleRequestAppService.cs @@ -114,6 +114,7 @@ public class ProductRecycleRequestAppService : var locationDto = await _locationAppService.GetByCodeAsync(detail.LocationCode) .ConfigureAwait(false); + CheckLocation(locationDto, detail.LocationCode); await SetDetailPropertiesAsync(detail).ConfigureAwait(false); } @@ -122,6 +123,16 @@ public class ProductRecycleRequestAppService : return dictionary; } + #region 校验 + private void CheckLocation(LocationDTO locationDTO, string locationCode) + { + if (locationDTO == null) + { + throw new UserFriendlyException($"库位代码为【{locationCode}】不存在"); + } + } + #endregion + private async Task SetRequestAutoPropertiesAsync(ProductRecycleRequest entity) { var tranType = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.ProductRecycle, EnumTransSubType.None).ConfigureAwait(false); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ProductionReturnRequests/ProductionReturnRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ProductionReturnRequests/ProductionReturnRequestAppService.cs index 2b7f6a0d5..617bc4e55 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ProductionReturnRequests/ProductionReturnRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ProductionReturnRequests/ProductionReturnRequestAppService.cs @@ -79,11 +79,16 @@ public class ProductionReturnRequestAppService : foreach (var detail in productionReturnRequest.Details) { var itemBasicDto = await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); + CheckItemBasic(itemBasicDto, detail.ItemCode); + detail.Uom = itemBasicDto.BasicUom; detail.StdPackQty=itemBasicDto.StdPackQty; var fromLocationDto= await _locationAppService.GetByCodeAsync(detail.FromLocationCode).ConfigureAwait(false); + CheckLocation(fromLocationDto, detail.FromLocationCode); + var toLocationDto = await _locationAppService.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false); + CheckLocation(toLocationDto, detail.ToLocationCode); detail.FromLocationArea = fromLocationDto.AreaCode; detail.FromWarehouseCode = fromLocationDto.WarehouseCode; @@ -100,6 +105,24 @@ public class ProductionReturnRequestAppService : return dictionary; } + #region 校验 + private void CheckItemBasic(ItemBasicDTO itemBasicDto, string itemCode) + { + if (itemBasicDto == null) + { + throw new UserFriendlyException($"物品代码为【{itemCode}】不存在"); + } + } + + private void CheckLocation(LocationDTO locationDTO, string locationCode) + { + if (locationDTO == null) + { + throw new UserFriendlyException($"库位代码为【{locationCode}】不存在"); + } + } + #endregion + #region import protected virtual async Task CheckImportInputBusinessAsync(ProductionReturnRequestImportInput importInput, EnumImportMethod importMethod, List validationRresult) { diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferRequests/TransferRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferRequests/TransferRequestAppService.cs index c0b214534..2b99b9ce4 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferRequests/TransferRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferRequests/TransferRequestAppService.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; +using Volo.Abp; using Volo.Abp.Application.Dtos; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Shared.Application.Contracts; @@ -109,6 +110,7 @@ public class TransferRequestAppService : SfsStoreRequestAppServiceBase detail.ItemCode, detail.FromLocationCode).ConfigureAwait(false); var toLocationDto = await _locationAppService.GetByCodeAsync(detail.ToLocationCode) .ConfigureAwait(false); + CheckLocation(toLocationDto, detail.ToLocationCode); detail.ItemCode = balanceDto.ItemCode; detail.ArriveDate = balanceDto.ArriveDate; @@ -150,6 +152,16 @@ public class TransferRequestAppService : SfsStoreRequestAppServiceBase return dictionary; } + #region 校验 + private void CheckLocation(LocationDTO locationDTO, string locationCode) + { + if (locationDTO == null) + { + throw new UserFriendlyException($"库位代码为【{locationCode}】不存在"); + } + } + #endregion + private async Task SetEntityPropertiesAsync(TransferRequest entity, EnumTransSubType subType) { var tranType = await TransactionTypeAclService.GetByTransTypeAsync(EnumTransType.Transfer, subType) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/WipWarehouseAdjustRequests/WipWarehouseAdjustRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/WipWarehouseAdjustRequests/WipWarehouseAdjustRequestAppService.cs index 5b0d6f098..229401e12 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/WipWarehouseAdjustRequests/WipWarehouseAdjustRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/WipWarehouseAdjustRequests/WipWarehouseAdjustRequestAppService.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; +using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.Domain.Entities; using Volo.Abp.ObjectMapping; @@ -78,10 +79,15 @@ public class WipWarehouseAdjustRequestAppService : SfsStoreRequestAppServiceBase detail.ToLocationCode = detail.FromLocationCode;//调整库位一致 var itemBasicDto =await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); + CheckItemBasic(itemBasicDto, detail.ItemCode); + var toLocationDto = await _locationAppService.GetByCodeAsync(detail.ToLocationCode) .ConfigureAwait(false); + CheckLocation(toLocationDto, detail.ToLocationCode); + var fromLocationDto = await _locationAppService.GetByCodeAsync(detail.FromLocationCode) .ConfigureAwait(false); + CheckLocation(fromLocationDto, detail.FromLocationCode); detail.ItemCode = itemBasicDto.Code; detail.ItemDesc1 = itemBasicDto.Desc1; @@ -117,6 +123,24 @@ public class WipWarehouseAdjustRequestAppService : SfsStoreRequestAppServiceBase return dictionary; } + #region 校验 + private void CheckItemBasic(ItemBasicDTO itemBasicDto, string itemCode) + { + if (itemBasicDto == null) + { + throw new UserFriendlyException($"物品代码为【{itemCode}】不存在"); + } + } + + private void CheckLocation(LocationDTO locationDto, string locationCode) + { + if (locationDto == null) + { + throw new UserFriendlyException($"库位代码为【{locationCode}】不存在"); + } + } + #endregion + private async Task SetEntityPropertiesAsync(WipWarehouseAdjustRequest entity, EnumTransSubType subType) { var tranType = await TransactionTypeAclService.GetByTransTypeAsync(EnumTransType.Adjust, subType)