Browse Source

修改 kitting叫料

dev_DY_CC
郑勃旭 1 year ago
parent
commit
5bdd2f1ebf
  1. 31
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/KittingIssueRequestEventHandler.cs

31
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/KittingIssueRequestEventHandler.cs

@ -2,7 +2,6 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using AutoMapper.Internal;
using Castle.Components.DictionaryAdapter; using Castle.Components.DictionaryAdapter;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.EventBus; using Volo.Abp.EventBus;
@ -521,11 +520,8 @@ public class KittingIssueRequestEventHandler
{ {
var usableLocationCode = var usableLocationCode =
JsonSerializer.Deserialize<List<string>>(productionLineItemDto.RawLocationCodeListJson); JsonSerializer.Deserialize<List<string>>(productionLineItemDto.RawLocationCodeListJson);
if (!usableLocationCode.Any()) if (usableLocationCode.Any())
{ {
continue;
}
//获取可用库存 //获取可用库存
var input = new RecommendBalanceRequestInput var input = new RecommendBalanceRequestInput
{ {
@ -546,21 +542,20 @@ public class KittingIssueRequestEventHandler
//因为是原料所以按箱叫料 //因为是原料所以按箱叫料
kittingIssueJobEditInputs.AddRange( kittingIssueJobEditInputs.AddRange(
await CreateKittingIssueJobWithBoxQtyTypeAsync(kittingIssueRequest, await CreateKittingIssueJobWithBoxQtyTypeAsync(kittingIssueRequest,
new EditableList<KittingIssueRequestDetail> { kittingIssueRequestDetail }, usableList, new EditableList<KittingIssueRequestDetail> { kittingIssueRequestDetail },
usableList,
useBalanceList).ConfigureAwait(false)); useBalanceList).ConfigureAwait(false));
} }
} }
}
//半成品 //半成品
if (!string.IsNullOrEmpty(productionLineItemDto.ProductLocationCodeListJson)) //因为一个零件 要不是原料 要不是半成品 if (!string.IsNullOrEmpty(productionLineItemDto.ProductLocationCodeListJson)) //因为一个零件 要不是原料 要不是半成品
{ {
var usableLocationCode = var usableLocationCode =
JsonSerializer.Deserialize<List<string>>(productionLineItemDto.ProductLocationCodeListJson); JsonSerializer.Deserialize<List<string>>(productionLineItemDto.ProductLocationCodeListJson);
if (!usableLocationCode.Any()) if (usableLocationCode.Any())
{ {
continue;
}
//获取可用库存 //获取可用库存
var input = new RecommendBalanceRequestInput var input = new RecommendBalanceRequestInput
{ {
@ -568,7 +563,8 @@ public class KittingIssueRequestEventHandler
Qty = kittingIssueRequestDetail.Qty, Qty = kittingIssueRequestDetail.Qty,
Statuses = new EditableList<EnumInventoryStatus> { EnumInventoryStatus.OK }, Statuses = new EditableList<EnumInventoryStatus> { EnumInventoryStatus.OK },
Locations = Locations =
JsonSerializer.Deserialize<List<string>>(productionLineItemDto.ProductLocationCodeListJson), JsonSerializer.Deserialize<List<string>>(productionLineItemDto
.ProductLocationCodeListJson),
IsPackingCode = false IsPackingCode = false
}; };
var usableList = await _balanceAppService.GetUsableListAsync(input).ConfigureAwait(false); var usableList = await _balanceAppService.GetUsableListAsync(input).ConfigureAwait(false);
@ -599,13 +595,16 @@ public class KittingIssueRequestEventHandler
} }
} }
} }
}
if (kittingIssueJobEditInputs.Count > 0) //有库存 可以创建任务 if (kittingIssueJobEditInputs.Count > 0) //有库存 可以创建任务
{ {
//新增任务 //新增任务
var addKittingIssueJobDtos= await _kittingIssueJobAppService.CreateManyAsync(kittingIssueJobEditInputs).ConfigureAwait(false); var addKittingIssueJobDtos = await _kittingIssueJobAppService.CreateManyAsync(kittingIssueJobEditInputs)
.ConfigureAwait(false);
await UpdateKittingIssueRequestDetailQtyAsync(kittingIssueRequest, addKittingIssueJobDtos).ConfigureAwait(false); await UpdateKittingIssueRequestDetailQtyAsync(kittingIssueRequest, addKittingIssueJobDtos)
.ConfigureAwait(false);
return addKittingIssueJobDtos; return addKittingIssueJobDtos;
} }
@ -619,10 +618,12 @@ public class KittingIssueRequestEventHandler
/// <param name="kittingIssueRequest"></param> /// <param name="kittingIssueRequest"></param>
/// <param name="addKittingIssueJobDtos"></param> /// <param name="addKittingIssueJobDtos"></param>
/// <returns></returns> /// <returns></returns>
private async Task UpdateKittingIssueRequestDetailQtyAsync(KittingIssueRequest kittingIssueRequest, List<KittingIssueJobDTO> addKittingIssueJobDtos) private async Task UpdateKittingIssueRequestDetailQtyAsync(KittingIssueRequest kittingIssueRequest,
List<KittingIssueJobDTO> addKittingIssueJobDtos)
{ {
//原有任务 //原有任务
var existKittingIssueJobDtos = await _kittingIssueJobAppService.GetByRequestNumberAsync(kittingIssueRequest.Number) var existKittingIssueJobDtos = await _kittingIssueJobAppService
.GetByRequestNumberAsync(kittingIssueRequest.Number)
.ConfigureAwait(false); .ConfigureAwait(false);
//新增的任务和已有的任务总和 //新增的任务和已有的任务总和

Loading…
Cancel
Save