Browse Source

修改库移校验位置

master^2
Zheng 5 months ago
parent
commit
2809d27cba
  1. 44
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs
  2. 11
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/TransferNoteEventHandler.cs
  3. 22
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/TransferNoteEventHandler.cs

44
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs

@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Domain.Entities;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
@ -54,6 +55,21 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
Dictionary<TransferNote, EntityState> dictionary)
{
var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key);
foreach (var addTransferNote in addList)
{
foreach (var detail in addTransferNote.Details)
{
var balanceDto = await _balanceAppService.GetByItemLocationPackingAndStatusAsync(detail.FromPackingCode,
detail.ItemCode, detail.FromLocationCode, detail.FromStatus).ConfigureAwait(false);
if (balanceDto.Qty < detail.Qty || balanceDto.Qty < 0)
{
throw new UserFriendlyException($"您申请的【ERP料号】{detail.ItemCode}【库位】{detail.FromLocationCode}【箱码】{detail.FromPackingCode}【状态】{detail.FromStatus}【数量】{detail.Qty}的库存,"
+ $"在实际库存中查询到【ERP料号】{balanceDto.ItemCode}【库位】{balanceDto.LocationCode}【箱码】{balanceDto.PackingCode}【状态】{balanceDto.Status}【数量】{balanceDto.Qty}"
+ $"【库存不足】");
}
}
}
foreach (var transferNote in addList)
{
@ -312,7 +328,20 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
{
var entity = ObjectMapper.Map<TransferNoteEditInput, TransferNote>(input);
entity=await _transferNoteManager.CreateAsync(entity).ConfigureAwait(false);
foreach (var detail in entity.Details)
{
var balanceDto = await _balanceAppService.GetByItemLocationPackingAndStatusAsync(detail.FromPackingCode,
detail.ItemCode, detail.FromLocationCode, detail.FromStatus).ConfigureAwait(false);
if (balanceDto.Qty < detail.Qty || balanceDto.Qty < 0)
{
throw new UserFriendlyException($"您申请的【ERP料号】{detail.ItemCode}【库位】{detail.FromLocationCode}【箱码】{detail.FromPackingCode}【状态】{detail.FromStatus}【数量】{detail.Qty}的库存,"
+ $"在实际库存中查询到【ERP料号】{balanceDto.ItemCode}【库位】{balanceDto.LocationCode}【箱码】{balanceDto.PackingCode}【状态】{balanceDto.Status}【数量】{balanceDto.Qty}"
+ $"【库存不足】");
}
}
entity =await _transferNoteManager.CreateAsync(entity).ConfigureAwait(false);
var dto = ObjectMapper.Map<TransferNote, TransferNoteDTO>(entity);
@ -333,6 +362,19 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
foreach (var entity in entitys)
{
foreach (var detail in entity.Details)
{
var balanceDto = await _balanceAppService.GetByItemLocationPackingAndStatusAsync(detail.FromPackingCode,
detail.ItemCode, detail.FromLocationCode, detail.FromStatus).ConfigureAwait(false);
if (balanceDto.Qty < detail.Qty || balanceDto.Qty < 0)
{
throw new UserFriendlyException($"您申请的【ERP料号】{detail.ItemCode}【库位】{detail.FromLocationCode}【箱码】{detail.FromPackingCode}【状态】{detail.FromStatus}【数量】{detail.Qty}的库存,"
+ $"在实际库存中查询到【ERP料号】{balanceDto.ItemCode}【库位】{balanceDto.LocationCode}【箱码】{balanceDto.PackingCode}【状态】{balanceDto.Status}【数量】{balanceDto.Qty}"
+ $"【库存不足】");
}
}
resultEntity.Add(await _transferNoteManager.CreateAsync(entity).ConfigureAwait(false));
_ = ObjectMapper.Map<TransferNote, TransferNoteDTO>(entity);
}

11
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/DataExchanges/TransferNoteEventHandler.cs

@ -35,17 +35,6 @@ namespace Win_in.Sfs.Wms.Store.Event.DataExchanges
{
var entity = eventData.Entity;
foreach (var detail in entity.Details)
{
var balanceDto = await _balanceAppService.GetRealQtyByPackingCodeAndItemCodeAndLocationCodeAndStatusAsync(detail.FromPackingCode,
detail.ItemCode, detail.FromLocationCode, detail.FromStatus).ConfigureAwait(false);
if (balanceDto.Qty < detail.Qty&& balanceDto.Qty <= 0)
{
throw new UserFriendlyException($"{balanceDto.ItemCode}在库位{balanceDto.LocationCode}中库存不足");
}
}
switch (entity.Type)
{
case "Transfer_Inside":

22
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/TransferNoteEventHandler.cs

@ -42,17 +42,6 @@ public class TransferNoteEventHandler
{
var entity = eventData.Entity;
foreach (var detail in entity.Details)
{
var balanceDto=await _balanceAppService.GetRealQtyByPackingCodeAndItemCodeAndLocationCodeAndStatusAsync(detail.FromPackingCode,
detail.ItemCode, detail.FromLocationCode, detail.FromStatus).ConfigureAwait(false);
if (balanceDto.Qty < detail.Qty)
{
throw new UserFriendlyException($"{balanceDto.ItemCode}在库位{balanceDto.LocationCode}中库存不足");
}
}
var route = entity.UseOnTheWayLocation
? EnumTransferRoute.SourceToOnTheWay
: EnumTransferRoute.SourceToDestination;
@ -72,17 +61,6 @@ public class TransferNoteEventHandler
{
foreach (var entity in eventData.Entity)
{
foreach (var detail in entity.Details)
{
var balanceDto = await _balanceAppService.GetRealQtyByPackingCodeAndItemCodeAndLocationCodeAndStatusAsync(detail.FromPackingCode,
detail.ItemCode, detail.FromLocationCode, detail.FromStatus).ConfigureAwait(false);
if (balanceDto.Qty < detail.Qty&&balanceDto.Qty <= 0)
{
throw new UserFriendlyException($"{balanceDto.ItemCode}在库位{balanceDto.LocationCode}中库存不足");
}
}
var route = entity.UseOnTheWayLocation
? EnumTransferRoute.SourceToOnTheWay
: EnumTransferRoute.SourceToDestination;

Loading…
Cancel
Save