|
@ -341,11 +341,11 @@ public class AssembleIssueJobAppService |
|
|
#endif
|
|
|
#endif
|
|
|
|
|
|
|
|
|
//var json = JsonSerializer.Serialize(main);
|
|
|
//var json = JsonSerializer.Serialize(main);
|
|
|
_options.Value.Address = "http://7e42682n64.goho.co:21171/"; //测试地址
|
|
|
_options.Value.Address =string.IsNullOrEmpty(_options.Value.Address)?"http://7e42682n64.goho.co:21171/": _options.Value.Address; //测试地址
|
|
|
_options.Value.Token = ""; //测试token
|
|
|
_options.Value.Token = string.IsNullOrEmpty(_options.Value.Token)? string.Empty: _options.Value.Token; //测试token
|
|
|
_options.Value.UserName = ""; //测试用户名
|
|
|
_options.Value.UserName = string.IsNullOrEmpty(_options.Value.UserName) ? "": _options.Value.UserName; //测试用户名
|
|
|
_options.Value.Password = ""; //测试密码
|
|
|
_options.Value.Password = string.IsNullOrEmpty(_options.Value.Password) ? "": _options.Value.Password; //测试密码
|
|
|
_options.Value.Path = "zozocnApi/custom/receiveProductionPlan"; //测试密码
|
|
|
_options.Value.Path = string.IsNullOrEmpty(_options.Value.Path) ? "zozocnApi/custom/receiveProductionPlan":_options.Value.Path; //测试密码
|
|
|
|
|
|
|
|
|
_logger.LogInformation(System.Text.Json.JsonSerializer.Serialize(_options)); |
|
|
_logger.LogInformation(System.Text.Json.JsonSerializer.Serialize(_options)); |
|
|
|
|
|
|
|
@ -390,13 +390,9 @@ public class AssembleIssueJobAppService |
|
|
var flag = DateTime.Now.ToString("yyyyMMddHHmmss"); |
|
|
var flag = DateTime.Now.ToString("yyyyMMddHHmmss"); |
|
|
_logger.LogInformation($"{flag}接收到立体库确认单据内容:" + json); |
|
|
_logger.LogInformation($"{flag}接收到立体库确认单据内容:" + json); |
|
|
#if DEBUG
|
|
|
#if DEBUG
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
#endif
|
|
|
var errors = new List<string>(); |
|
|
var errors = new List<string>(); |
|
|
var ret = new ReusltObject { Code = int.Parse(GaoTongResultStatus.Success), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = "操作成功" }; |
|
|
var ret = new ReusltObject { Code = int.Parse(GaoTongResultStatus.Success), OperateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Message = "操作成功" }; |
|
|
try |
|
|
try |
|
|
{ |
|
|
{ |
|
|
if (input.Jobs.Count > 0) |
|
|
if (input.Jobs.Count > 0) |
|
@ -415,56 +411,43 @@ public class AssembleIssueJobAppService |
|
|
{ |
|
|
{ |
|
|
errors.Add("立体库提交出库任务和WMS任务不符,请核对! \n"); |
|
|
errors.Add("立体库提交出库任务和WMS任务不符,请核对! \n"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach (var itm in dtos) |
|
|
foreach (var itm in dtos) |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var first = jobs.FirstOrDefault(p => p.JobNumber == itm.Number); |
|
|
var first = jobs.FirstOrDefault(p => p.JobNumber == itm.Number); |
|
|
var itmDetails = itm.Details.ToList(); |
|
|
var itmDetails = itm.Details.ToList(); |
|
|
var details = new List<AssembleIssueJobDetailDTO>(); |
|
|
var details = new List<AssembleIssueJobDetailDTO>(); |
|
|
|
|
|
|
|
|
foreach (var detail in first.Details) |
|
|
foreach (var detail in first.Details) |
|
|
{ |
|
|
{ |
|
|
var loc=await _locationAppService.GetByCodeAsync(detail.FromLocationCode).ConfigureAwait(false); |
|
|
var loc=await _locationAppService.GetByCodeAsync(detail.FromLocationCode).ConfigureAwait(false); |
|
|
|
|
|
|
|
|
if (loc == null) |
|
|
if (loc == null) |
|
|
{ |
|
|
{ |
|
|
errors.Add($"目标库位{detail.FromLocationCode}没查到"); |
|
|
errors.Add($"来源库位{detail.FromLocationCode}没查到"); |
|
|
} |
|
|
} |
|
|
|
|
|
var entity = itmDetails.FirstOrDefault(p => p.ItemCode == detail.ItemCode); |
|
|
|
|
|
|
|
|
|
|
|
if (entity == null) |
|
|
|
|
|
{ |
|
|
|
|
|
errors.Add($"物料号{detail.ItemCode}明细内!"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var entity = itmDetails.FirstOrDefault(p => p.ItemCode == detail.ItemCode); |
|
|
|
|
|
var dto = new AssembleIssueJobDetailDTO(); |
|
|
var dto = new AssembleIssueJobDetailDTO(); |
|
|
//dto.HandledFromLocationCode = entity.HandledFromLocationCode;
|
|
|
|
|
|
//dto.HandledToLocationCode = entity.HandledToLocationCode;
|
|
|
|
|
|
// dto.ItemCode = detail.ItemCode;
|
|
|
|
|
|
dto.InjectFrom(entity); |
|
|
dto.InjectFrom(entity); |
|
|
|
|
|
|
|
|
|
|
|
/* 客户说整单完成后才回传 |
|
|
dto.RecommendFromQty = detail.Qty; |
|
|
dto.RecommendFromQty = detail.Qty; |
|
|
dto.RecommendToQty = detail.Qty; |
|
|
dto.RecommendToQty = detail.Qty; |
|
|
dto.HandledFromQty = detail.Qty; |
|
|
dto.HandledFromQty = detail.Qty; |
|
|
dto.HandledToQty = detail.Qty; |
|
|
dto.HandledToQty = detail.Qty; |
|
|
|
|
|
*/ |
|
|
//dto.HandledToLocationCode = loc.Code;
|
|
|
|
|
|
//dto.HandledToLocationGroup = loc.LocationGroupCode;
|
|
|
|
|
|
//dto.HandledToLocationArea = loc.AreaCode;
|
|
|
|
|
|
//dto.HandledToLocationErpCode = loc.ErpLocationCode;
|
|
|
|
|
|
//dto.HandledToPackingCode = "";
|
|
|
|
|
|
|
|
|
|
|
|
dto.HandledFromLocationCode = loc.Code; |
|
|
dto.HandledFromLocationCode = loc.Code; |
|
|
dto.HandledFromLocationGroup = loc.LocationGroupCode; |
|
|
dto.HandledFromLocationGroup = loc.LocationGroupCode; |
|
|
dto.HandledFromLocationArea = loc.AreaCode; |
|
|
dto.HandledFromLocationArea = loc.AreaCode; |
|
|
dto.HandledFromLocationErpCode = loc.ErpLocationCode; |
|
|
dto.HandledFromLocationErpCode = loc.ErpLocationCode; |
|
|
dto.HandledFromPackingCode = ""; |
|
|
// dto.HandledToLocationCode = entity.HandledToLocationCode;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//dto.Status = entity.Status;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dto.HandledFromPackingCode = ""; |
|
|
details.Add(dto); |
|
|
details.Add(dto); |
|
|
|
|
|
await ExecuteDetailAsync(itm.Id, entity.Id, dto).ConfigureAwait(false); |
|
|
} |
|
|
} |
|
|
if (errors.Count > 0) |
|
|
if (errors.Count > 0) |
|
|
{ |
|
|
{ |
|
@ -474,23 +457,16 @@ public class AssembleIssueJobAppService |
|
|
OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), |
|
|
OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), |
|
|
Message = string.Join(",", errors.ToArray()), |
|
|
Message = string.Join(",", errors.ToArray()), |
|
|
Data = json |
|
|
Data = json |
|
|
|
|
|
|
|
|
}; |
|
|
}; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
itm.Details = details; |
|
|
itm.Details = details; |
|
|
await CompleteAsync(itm.Id, itm).ConfigureAwait(false); |
|
|
// await CompleteAsync(itm.Id, itm).ConfigureAwait(false);
|
|
|
_logger.LogInformation($"{flag}接收到立体库确认单据内容:" + json+"立体库任务完成"); |
|
|
_logger.LogInformation($"{flag}接收到立体库确认单据内容:" + json+"立体库任务完成"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
|
{ |
|
|
{ |
|
|
errors.Add("立体库确认单据里无数据! \n"); |
|
|
errors.Add("立体库确认单据里无数据! \n"); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
catch (Exception ex) |
|
|
catch (Exception ex) |
|
|