|
@ -12,10 +12,8 @@ using Win_in.Sfs.Shared.Domain.Shared; |
|
|
using Win_in.Sfs.Shared.Domain.Shared.Enums.Store; |
|
|
using Win_in.Sfs.Shared.Domain.Shared.Enums.Store; |
|
|
using Win_in.Sfs.Shared.Event; |
|
|
using Win_in.Sfs.Shared.Event; |
|
|
using Win_in.Sfs.Wms.Inventory.Application.Contracts; |
|
|
using Win_in.Sfs.Wms.Inventory.Application.Contracts; |
|
|
using Win_in.Sfs.Wms.Inventory.Domain; |
|
|
|
|
|
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; |
|
|
using static Win_in.Sfs.Wms.Store.Domain.Shared.StoreSettings; |
|
|
|
|
|
|
|
|
|
|
|
namespace Win_in.Sfs.Wms.Store.Event.BusinessRequest; |
|
|
namespace Win_in.Sfs.Wms.Store.Event.BusinessRequest; |
|
|
|
|
|
|
|
@ -33,13 +31,11 @@ public class KittingIssueRequestEventHandler |
|
|
private readonly ILocationAppService _locationAppService; |
|
|
private readonly ILocationAppService _locationAppService; |
|
|
private readonly IBalanceAppService _balanceAppService; |
|
|
private readonly IBalanceAppService _balanceAppService; |
|
|
private IMapper _mapper; |
|
|
private IMapper _mapper; |
|
|
//private readonly IKittingIssueRequestManager _kittingIssueRequestManager;
|
|
|
|
|
|
|
|
|
|
|
|
public KittingIssueRequestEventHandler( |
|
|
public KittingIssueRequestEventHandler( |
|
|
IKittingIssueJobAppService kittingIssueJobAppService, IProductionLineAppService productionLineAppService, |
|
|
IKittingIssueJobAppService kittingIssueJobAppService, IProductionLineAppService productionLineAppService, |
|
|
ILocationAppService locationAppService, |
|
|
ILocationAppService locationAppService, |
|
|
IBalanceAppService balanceAppService, IProductionLineItemAppService productionLineItemAppService |
|
|
IBalanceAppService balanceAppService, IProductionLineItemAppService productionLineItemAppService |
|
|
//, IKittingIssueRequestManager kittingIssueRequestManager
|
|
|
|
|
|
) |
|
|
) |
|
|
{ |
|
|
{ |
|
|
_kittingIssueJobAppService = kittingIssueJobAppService; |
|
|
_kittingIssueJobAppService = kittingIssueJobAppService; |
|
@ -47,7 +43,6 @@ public class KittingIssueRequestEventHandler |
|
|
_locationAppService = locationAppService; |
|
|
_locationAppService = locationAppService; |
|
|
_balanceAppService = balanceAppService; |
|
|
_balanceAppService = balanceAppService; |
|
|
_productionLineItemAppService = productionLineItemAppService; |
|
|
_productionLineItemAppService = productionLineItemAppService; |
|
|
//_kittingIssueRequestManager = kittingIssueRequestManager;
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// <summary>
|
|
@ -67,8 +62,6 @@ public class KittingIssueRequestEventHandler |
|
|
/// <param name="eventData">Event data</param>
|
|
|
/// <param name="eventData">Event data</param>
|
|
|
public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<List<KittingIssueRequest>> eventData) |
|
|
public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<List<KittingIssueRequest>> eventData) |
|
|
{ |
|
|
{ |
|
|
var entity = eventData.Entity; |
|
|
|
|
|
|
|
|
|
|
|
await Task.CompletedTask.ConfigureAwait(false); |
|
|
await Task.CompletedTask.ConfigureAwait(false); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -179,8 +172,7 @@ public class KittingIssueRequestEventHandler |
|
|
|
|
|
|
|
|
if (kittingIssueJobDetailInputs.Any()) |
|
|
if (kittingIssueJobDetailInputs.Any()) |
|
|
{ |
|
|
{ |
|
|
var kittingIssueJobEditInput = new KittingIssueJobEditInput(); |
|
|
var kittingIssueJobEditInput = await BuildKittingIssueJobCreateInputWithQtyTypeAsync(kittingIssueRequest, |
|
|
kittingIssueJobEditInput = await BuildKittingIssueJobCreateInputWithQtyTypeAsync(kittingIssueRequest, |
|
|
|
|
|
kittingIssueRequestDetails.First()).ConfigureAwait(false); |
|
|
kittingIssueRequestDetails.First()).ConfigureAwait(false); |
|
|
kittingIssueJobEditInput.Details = kittingIssueJobDetailInputs; |
|
|
kittingIssueJobEditInput.Details = kittingIssueJobDetailInputs; |
|
|
jobs.Add(kittingIssueJobEditInput); |
|
|
jobs.Add(kittingIssueJobEditInput); |
|
@ -212,7 +204,6 @@ public class KittingIssueRequestEventHandler |
|
|
return job; |
|
|
return job; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// <summary>
|
|
|
/// 构造注塑任务明细-按数量
|
|
|
/// 构造注塑任务明细-按数量
|
|
|
/// </summary>
|
|
|
/// </summary>
|
|
@ -339,10 +330,8 @@ public class KittingIssueRequestEventHandler |
|
|
{ |
|
|
{ |
|
|
var inputJobs = new List<KittingIssueJobEditInput>(); |
|
|
var inputJobs = new List<KittingIssueJobEditInput>(); |
|
|
|
|
|
|
|
|
var jobs = await _kittingIssueJobAppService.GetByRequestNumberAsync(kittingIssueRequest.Number).ConfigureAwait(false); |
|
|
var jobs = await _kittingIssueJobAppService.GetByRequestNumberAsync(kittingIssueRequest.Number) |
|
|
|
|
|
.ConfigureAwait(false); |
|
|
//已用的库存的集合
|
|
|
|
|
|
useBalanceList = useBalanceList; |
|
|
|
|
|
|
|
|
|
|
|
foreach (var detail in kittingIssueRequestDetailList) |
|
|
foreach (var detail in kittingIssueRequestDetailList) |
|
|
{ |
|
|
{ |
|
@ -354,7 +343,6 @@ public class KittingIssueRequestEventHandler |
|
|
var productionLineDto = await _productionLineAppService |
|
|
var productionLineDto = await _productionLineAppService |
|
|
.GetByLocationCodeAsync(inputDetails.First().ToLocationCode).ConfigureAwait(false); |
|
|
.GetByLocationCodeAsync(inputDetails.First().ToLocationCode).ConfigureAwait(false); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var productLineCodeAndItemCode = await _productionLineItemAppService |
|
|
var productLineCodeAndItemCode = await _productionLineItemAppService |
|
|
.GetByProductLineCodeAndItemCodeAsync(productionLineDto.Code, detail.ItemCode) |
|
|
.GetByProductLineCodeAndItemCodeAsync(productionLineDto.Code, detail.ItemCode) |
|
|
.ConfigureAwait(false); |
|
|
.ConfigureAwait(false); |
|
@ -375,7 +363,7 @@ public class KittingIssueRequestEventHandler |
|
|
if (usableList.Any()) |
|
|
if (usableList.Any()) |
|
|
{ |
|
|
{ |
|
|
var firstUsable = usableList.First(); |
|
|
var firstUsable = usableList.First(); |
|
|
useBalanceList.Add((BalanceDTO)firstUsable); |
|
|
useBalanceList.Add(firstUsable); |
|
|
usableList.Remove(firstUsable); |
|
|
usableList.Remove(firstUsable); |
|
|
|
|
|
|
|
|
var kittingIssueJobEditInput = |
|
|
var kittingIssueJobEditInput = |
|
@ -429,7 +417,6 @@ public class KittingIssueRequestEventHandler |
|
|
/// </summary>
|
|
|
/// </summary>
|
|
|
/// <param name="kittingIssueRequestDetail"></param>
|
|
|
/// <param name="kittingIssueRequestDetail"></param>
|
|
|
/// <param name="balance"></param>
|
|
|
/// <param name="balance"></param>
|
|
|
/// <param name="toLocationGroupCode"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
/// <returns></returns>
|
|
|
private async Task<KittingIssueJobDetailInput> BuildKittingIssueJobDetailWithBoxQtyTypeAsync( |
|
|
private async Task<KittingIssueJobDetailInput> BuildKittingIssueJobDetailWithBoxQtyTypeAsync( |
|
|
KittingIssueRequestDetail kittingIssueRequestDetail, BalanceDTO balance) |
|
|
KittingIssueRequestDetail kittingIssueRequestDetail, BalanceDTO balance) |
|
@ -594,8 +581,6 @@ public class KittingIssueRequestEventHandler |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
usableList = temp; |
|
|
|
|
|
|
|
|
|
|
|
kittingIssueJobEditInputs.AddRange( |
|
|
kittingIssueJobEditInputs.AddRange( |
|
|
await CreateKittingIssueJobWithQtyTypeAsync(kittingIssueRequest, |
|
|
await CreateKittingIssueJobWithQtyTypeAsync(kittingIssueRequest, |
|
|
new List<KittingIssueRequestDetail> { kittingIssueRequestDetail }, temp, |
|
|
new List<KittingIssueRequestDetail> { kittingIssueRequestDetail }, temp, |
|
@ -665,8 +650,6 @@ public class KittingIssueRequestEventHandler |
|
|
requestDetail.ReceivedQty = allReceivedQty; |
|
|
requestDetail.ReceivedQty = allReceivedQty; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//await _kittingIssueRequestManager.UpdateAsync(kittingIssueRequest).ConfigureAwait(false);
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// <summary>
|
|
@ -676,7 +659,6 @@ public class KittingIssueRequestEventHandler |
|
|
/// <returns></returns>
|
|
|
/// <returns></returns>
|
|
|
public async Task<List<SortBalance>> SortByFifoAsync(List<BalanceDTO> balances) |
|
|
public async Task<List<SortBalance>> SortByFifoAsync(List<BalanceDTO> balances) |
|
|
{ |
|
|
{ |
|
|
var sortBalances = new List<SortBalance>(); |
|
|
|
|
|
var config = new MapperConfiguration(cfg => |
|
|
var config = new MapperConfiguration(cfg => |
|
|
{ |
|
|
{ |
|
|
cfg.CreateMap<BalanceDTO, SortBalance>() |
|
|
cfg.CreateMap<BalanceDTO, SortBalance>() |
|
@ -687,7 +669,8 @@ public class KittingIssueRequestEventHandler |
|
|
var resultBalances = _mapper.Map<List<BalanceDTO>, List<SortBalance>>(balances); |
|
|
var resultBalances = _mapper.Map<List<BalanceDTO>, List<SortBalance>>(balances); |
|
|
foreach (var resultBalance in resultBalances) |
|
|
foreach (var resultBalance in resultBalances) |
|
|
{ |
|
|
{ |
|
|
var locationDto=await _locationAppService.GetByCodeAsync(resultBalance.LocationCode).ConfigureAwait(false); |
|
|
var locationDto = |
|
|
|
|
|
await _locationAppService.GetByCodeAsync(resultBalance.LocationCode).ConfigureAwait(false); |
|
|
resultBalance.LocationRow = locationDto.RowCode; |
|
|
resultBalance.LocationRow = locationDto.RowCode; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -703,8 +686,3 @@ public class KittingIssueRequestEventHandler |
|
|
return resultBalances; |
|
|
return resultBalances; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public class SortBalance: BalanceDTO |
|
|
|
|
|
{ |
|
|
|
|
|
public int LocationRow { get; set; } |
|
|
|
|
|
} |
|
|
|
|
|