|
|
@ -87,6 +87,7 @@ public class KittingIssueJobAppService |
|
|
|
_agvOptions = agvOptions; |
|
|
|
_itemBasicAppService = itemBasicAppService; |
|
|
|
_locationDeliveryAppService = locationDeliveryAppService; |
|
|
|
_logger = logger; |
|
|
|
} |
|
|
|
|
|
|
|
[HttpPost("get-by-number-2")] |
|
|
@ -909,61 +910,68 @@ public class KittingIssueJobAppService |
|
|
|
return ReturnMessage("-1", $"{entity.Number}任务单据已结束!"); |
|
|
|
} |
|
|
|
|
|
|
|
foreach (var detail in entity.Details) |
|
|
|
try |
|
|
|
{ |
|
|
|
var detailDto = new KittingIssueJobDetailDTO(); |
|
|
|
if (!string.IsNullOrEmpty(detail.TransferLibFromLocationCode)) |
|
|
|
foreach (var detail in entity.Details) |
|
|
|
{ |
|
|
|
//库移的最终目标 挪到 推荐的目标
|
|
|
|
var fromloc = await _locationAppService.GetByCodeAsync(detail.TransferLibFromLocationCode).ConfigureAwait(false); |
|
|
|
var toloc = await _locationAppService.GetByCodeAsync(detail.RecommendToLocationCode).ConfigureAwait(false); |
|
|
|
|
|
|
|
detailDto.InjectFrom(detail); |
|
|
|
|
|
|
|
detailDto.HandledToLocationCode = toloc.Code; |
|
|
|
detailDto.HandledToLocationGroup = toloc.LocationGroupCode; |
|
|
|
detailDto.HandledToLocationArea = toloc.AreaCode; |
|
|
|
detailDto.HandledToLocationErpCode = toloc.ErpLocationCode; |
|
|
|
detailDto.HandledToWarehouseCode = toloc.WarehouseCode; |
|
|
|
detailDto.HandledToQty = request.Data.First().MatQty; |
|
|
|
detailDto.HandledToLot = detail.TransferLibToLot; |
|
|
|
detailDto.HandledToPackingCode = detail.TransferLibToPackingCode; |
|
|
|
|
|
|
|
detailDto.HandledFromLocationCode = fromloc.Code; |
|
|
|
detailDto.HandledFromLocationGroup = fromloc.LocationGroupCode; |
|
|
|
detailDto.HandledFromLocationArea = fromloc.AreaCode; |
|
|
|
detailDto.HandledFromLocationErpCode = fromloc.ErpLocationCode; |
|
|
|
detailDto.HandledFromWarehouseCode = fromloc.WarehouseCode; |
|
|
|
detailDto.HandledFromQty = request.Data.First().MatQty;//2024-12-16 和励 张旭确认的 因为没有人工干预 也没校验 一托就直接顶走了
|
|
|
|
detailDto.HandledFromLot = detail.TransferLibToLot; |
|
|
|
detailDto.HandledFromPackingCode = detail.TransferLibToPackingCode; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
var fromloc = await _locationAppService.GetByCodeAsync(detail.RecommendFromLocationCode).ConfigureAwait(false); |
|
|
|
var toloc = await _locationAppService.GetByCodeAsync(detail.RecommendToLocationCode).ConfigureAwait(false); |
|
|
|
|
|
|
|
detailDto.InjectFrom(detail); |
|
|
|
|
|
|
|
detailDto.HandledToLocationCode = toloc.Code; |
|
|
|
detailDto.HandledToLocationGroup = toloc.LocationGroupCode; |
|
|
|
detailDto.HandledToLocationArea = toloc.AreaCode; |
|
|
|
detailDto.HandledToLocationErpCode = toloc.ErpLocationCode; |
|
|
|
detailDto.HandledToWarehouseCode = toloc.WarehouseCode; |
|
|
|
detailDto.HandledToQty = request.Data.First().MatQty; |
|
|
|
detailDto.HandledToLot = detail.RecommendToLot; |
|
|
|
detailDto.HandledToPackingCode = detail.RecommendToPackingCode; |
|
|
|
|
|
|
|
detailDto.HandledFromLocationCode = fromloc.Code; |
|
|
|
detailDto.HandledFromLocationGroup = fromloc.LocationGroupCode; |
|
|
|
detailDto.HandledFromLocationArea = fromloc.AreaCode; |
|
|
|
detailDto.HandledFromLocationErpCode = fromloc.ErpLocationCode; |
|
|
|
detailDto.HandledFromWarehouseCode = fromloc.WarehouseCode; |
|
|
|
detailDto.HandledFromQty = request.Data.First().MatQty;//2024-12-16 和励 张旭确认的 因为没有人工干预 也没校验 一托就直接顶走了
|
|
|
|
detailDto.HandledFromLot = detail.RecommendToLot; |
|
|
|
detailDto.HandledFromPackingCode = detail.RecommendToPackingCode; |
|
|
|
var detailDto = new KittingIssueJobDetailDTO(); |
|
|
|
if (!string.IsNullOrEmpty(detail.TransferLibFromLocationCode)) |
|
|
|
{ |
|
|
|
//库移的最终目标 挪到 推荐的目标
|
|
|
|
var fromloc = await _locationAppService.GetByCodeAsync(detail.TransferLibFromLocationCode).ConfigureAwait(false); |
|
|
|
var toloc = await _locationAppService.GetByCodeAsync(detail.RecommendToLocationCode).ConfigureAwait(false); |
|
|
|
|
|
|
|
detailDto.InjectFrom(detail); |
|
|
|
|
|
|
|
detailDto.HandledToLocationCode = toloc.Code; |
|
|
|
detailDto.HandledToLocationGroup = toloc.LocationGroupCode; |
|
|
|
detailDto.HandledToLocationArea = toloc.AreaCode; |
|
|
|
detailDto.HandledToLocationErpCode = toloc.ErpLocationCode; |
|
|
|
detailDto.HandledToWarehouseCode = toloc.WarehouseCode; |
|
|
|
detailDto.HandledToQty = request.Data.First().MatQty; |
|
|
|
detailDto.HandledToLot = detail.TransferLibToLot; |
|
|
|
detailDto.HandledToPackingCode = detail.TransferLibToPackingCode; |
|
|
|
|
|
|
|
detailDto.HandledFromLocationCode = fromloc.Code; |
|
|
|
detailDto.HandledFromLocationGroup = fromloc.LocationGroupCode; |
|
|
|
detailDto.HandledFromLocationArea = fromloc.AreaCode; |
|
|
|
detailDto.HandledFromLocationErpCode = fromloc.ErpLocationCode; |
|
|
|
detailDto.HandledFromWarehouseCode = fromloc.WarehouseCode; |
|
|
|
detailDto.HandledFromQty = request.Data.First().MatQty;//2024-12-16 和励 张旭确认的 因为没有人工干预 也没校验 一托就直接顶走了
|
|
|
|
detailDto.HandledFromLot = detail.TransferLibToLot; |
|
|
|
detailDto.HandledFromPackingCode = detail.TransferLibToPackingCode; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
var fromloc = await _locationAppService.GetByCodeAsync(detail.RecommendFromLocationCode).ConfigureAwait(false); |
|
|
|
var toloc = await _locationAppService.GetByCodeAsync(detail.RecommendToLocationCode).ConfigureAwait(false); |
|
|
|
|
|
|
|
detailDto.InjectFrom(detail); |
|
|
|
|
|
|
|
detailDto.HandledToLocationCode = toloc.Code; |
|
|
|
detailDto.HandledToLocationGroup = toloc.LocationGroupCode; |
|
|
|
detailDto.HandledToLocationArea = toloc.AreaCode; |
|
|
|
detailDto.HandledToLocationErpCode = toloc.ErpLocationCode; |
|
|
|
detailDto.HandledToWarehouseCode = toloc.WarehouseCode; |
|
|
|
detailDto.HandledToQty = request.Data.First().MatQty; |
|
|
|
detailDto.HandledToLot = detail.RecommendToLot; |
|
|
|
detailDto.HandledToPackingCode = detail.RecommendToPackingCode; |
|
|
|
|
|
|
|
detailDto.HandledFromLocationCode = fromloc.Code; |
|
|
|
detailDto.HandledFromLocationGroup = fromloc.LocationGroupCode; |
|
|
|
detailDto.HandledFromLocationArea = fromloc.AreaCode; |
|
|
|
detailDto.HandledFromLocationErpCode = fromloc.ErpLocationCode; |
|
|
|
detailDto.HandledFromWarehouseCode = fromloc.WarehouseCode; |
|
|
|
detailDto.HandledFromQty = request.Data.First().MatQty;//2024-12-16 和励 张旭确认的 因为没有人工干预 也没校验 一托就直接顶走了
|
|
|
|
detailDto.HandledFromLot = detail.RecommendToLot; |
|
|
|
detailDto.HandledFromPackingCode = detail.RecommendToPackingCode; |
|
|
|
} |
|
|
|
await ExecuteDetailExtAsync(entity.Id, entity.Details.First().Id, detailDto).ConfigureAwait(false); |
|
|
|
} |
|
|
|
await ExecuteDetailExtAsync(entity.Id, entity.Details.First().Id, detailDto).ConfigureAwait(false); |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
return ReturnMessage("-1", ex.Message); |
|
|
|
} |
|
|
|
return ReturnMessage("0", "OK"); |
|
|
|
} |
|
|
@ -975,12 +983,22 @@ public class KittingIssueJobAppService |
|
|
|
/// <returns></returns>
|
|
|
|
private AgvResultObject ReturnMessage(string code, string message) |
|
|
|
{ |
|
|
|
return new AgvResultObject() |
|
|
|
var result = new AgvResultObject() |
|
|
|
{ |
|
|
|
Code = code, |
|
|
|
Message = message, |
|
|
|
ReqCode = "" |
|
|
|
}; |
|
|
|
if(code == "0") |
|
|
|
{ |
|
|
|
_logger.LogInformation("成功:"+JsonSerializer.Serialize(result)); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
_logger.LogInformation("失败:"+JsonSerializer.Serialize(result)); |
|
|
|
} |
|
|
|
|
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
@ -1184,8 +1202,11 @@ public class KittingIssueJobAppService |
|
|
|
httpclient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", |
|
|
|
Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}"))); |
|
|
|
} |
|
|
|
|
|
|
|
var json = JsonSerializer.Serialize(request); |
|
|
|
var client = new AgvJobClient(_agvOptions.Value.Address, httpclient, _agvOptions.Value.Path); |
|
|
|
|
|
|
|
_logger.LogInformation($"{flag}发送AGV任务请求:{json }"); |
|
|
|
|
|
|
|
ret = await client.PushOutTaskKittingAsync(request).ConfigureAwait(false); |
|
|
|
|
|
|
|
} |
|
|
|