Browse Source

素材出库添加调用

Agv分支2024-11-19
赵新宇 5 months ago
parent
commit
61b853ccb8
  1. 82
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs
  2. 68
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs

82
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs

@ -239,7 +239,7 @@ public class CoatingIssueJobAppService
var coatingIssueJobDto = ObjectMapper.Map<CoatingIssueJob, CoatingIssueJobDTO>(coatingIssueJob);
var fromLocationDto=await _locationAppService.GetByCodeAsync(issueJobDetailDto.HandledFromLocationCode).ConfigureAwait(false);
var fromLocationDto = await _locationAppService.GetByCodeAsync(issueJobDetailDto.HandledFromLocationCode).ConfigureAwait(false);
var toLocationDto = await _locationAppService.GetByCodeAsync(issueJobDetailDto.HandledToLocationCode).ConfigureAwait(false);
issueJobDetailDto.HandledFromLocationArea = fromLocationDto.AreaCode;
@ -463,13 +463,13 @@ public class CoatingIssueJobAppService
Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")));
}
var client = new IssueJobToRestoClient(_options.Value.Address, httpclient,_options.Value.Path);
var client = new IssueJobToRestoClient(_options.Value.Address, httpclient, _options.Value.Path);
var flag=DateTime.Now.ToString("yyyyMMddHHmmss");
var flag = DateTime.Now.ToString("yyyyMMddHHmmss");
_logger.LogInformation($"标志{flag}开始调用高通WMS:传递值{System.Text.Json.JsonSerializer.Serialize(main)}");
//_logger.LogInformation(MakeGrid($"标志{flag}开始调用高通WMS明细", main.Details.ToList()));
ret = await client.SyncIssueJobStereoAsync(main).ConfigureAwait(false);
@ -481,7 +481,7 @@ public class CoatingIssueJobAppService
ret = new ReusltObject();
ret.Code = int.Parse(GaoTongResultStatus.Failure);
ret.Message = ex.Message;
ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
}
return ret;
@ -507,7 +507,7 @@ public class CoatingIssueJobAppService
var dtos = ObjectMapper.Map<List<CoatingIssueJob>, List<CoatingIssueJobDTO>>(entities);
if (entities.Count == 0)
{
errors.Add($"任务号{string.Join(",", numbers)}不存在!") ;
errors.Add($"任务号{string.Join(",", numbers)}不存在!");
}
if (input.Jobs.Count == entities.Count)
{
@ -547,7 +547,9 @@ public class CoatingIssueJobAppService
{
ret = new ReusltObject
{
Code = int.Parse(GaoTongResultStatus.Failure), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = ex.Message
Code = int.Parse(GaoTongResultStatus.Failure),
OperateTime = DateTime.Now.ToString("yyyy-MM-dd"),
Message = ex.Message
};
return ret;
}
@ -666,7 +668,7 @@ public class CoatingIssueJobAppService
_logger.LogInformation($"立体库任务检查开始{flag}");
if (loctionDto.Type == EnumLocationType.DimensionalStorehouse)
{
_logger.LogInformation($"立体库任务开始标记{flag}");
//TODO 立体库
var ret = await SyncIssueJobStereoAsync(new List<CoatingIssueJobDTO> { coatingIssueJobDto },
@ -1014,9 +1016,73 @@ public class CoatingIssueJobAppService
}
return ret;
}
/// <summary>
/// 回库调用
/// </summary>
/// <param name="job"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
private async Task<AgvResultObject> ReturnBackAsync(CoatingIssueJobDTO job)
{
var ret = new AgvResultObject
{
Code = "0",
ReqCode = job.CoatingRequestNumber,
Message = "OK"
};
using var unitOfWork = _unitOfWorkManager.Begin();
try
{
var first = job.Details.FirstOrDefault();
var request = new AgvRequestBack();
request.MatCode = first.ItemCode;
request.ReturnQty = first.HandledToQty;
request.EndPosition = job.Number;
var httpclient = _httpClientFactory.CreateClient();
_agvOptions.Value.Address = string.IsNullOrEmpty(_agvOptions.Value.Address)
? "http://7e42682n64.goho.co:21171/"
: _agvOptions.Value.Address; //测试地址
_agvOptions.Value.Token =
string.IsNullOrEmpty(_agvOptions.Value.Token) ? string.Empty : _agvOptions.Value.Token; //测试token
_agvOptions.Value.UserName =
string.IsNullOrEmpty(_agvOptions.Value.UserName) ? "" : _agvOptions.Value.UserName; //测试用户名
_agvOptions.Value.Password =
string.IsNullOrEmpty(_agvOptions.Value.Password) ? "" : _agvOptions.Value.Password; //测试密码
_agvOptions.Value.Path = string.IsNullOrEmpty(_agvOptions.Value.Path)
? "zozocnApi/custom/receiveProductionPlan"
: _agvOptions.Value.Path; //测试密码
var flag = DateTime.Now.ToString("yyyyMMddHHmmss");
if (!string.IsNullOrEmpty(_agvOptions.Value.Token))
{
var token = _agvOptions.Value.Token;
httpclient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
}
if (!string.IsNullOrEmpty(_agvOptions.Value.UserName) && !string.IsNullOrEmpty(_agvOptions.Value.Password))
{
var username = _agvOptions.Value.UserName;
var password = _agvOptions.Value.Password;
httpclient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")));
}
var client = new AgvJobClient(_agvOptions.Value.Address, httpclient, _agvOptions.Value.Path);
ret = await client.NotifyOutTaskBack4FWAsync(request).ConfigureAwait(false);
}
catch (Exception e)
{
ret = new AgvResultObject();
ret.Code = "1";
ret.Message = e.Message;
ret.ReqCode = job.CoatingRequestNumber;
await unitOfWork.RollbackAsync().ConfigureAwait(false);
throw new UserFriendlyException($"接口报错 错误信息{e.Message}");
}
return ret;
}
#endregion
}

68
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs

@ -979,6 +979,74 @@ public class KittingIssueJobAppService
}
return ret;
}
/// <summary>
/// 回库调用
/// </summary>
/// <param name="job"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
private async Task<AgvResultObject> ReturnBackAsync(KittingIssueJobDTO job)
{
var ret = new AgvResultObject
{
Code = "0",
ReqCode = job.KittingRequestNumber,
Message = "OK"
};
using var unitOfWork = _unitOfWorkManager.Begin();
try
{
var first = job.Details.FirstOrDefault();
var request = new AgvRequestBack();
request.MatCode = first.ItemCode;
request.ReturnQty = first.HandledToQty;
request.EndPosition = first.HandledToLocationCode;
var httpclient = _httpClientFactory.CreateClient();
_agvOptions.Value.Address = string.IsNullOrEmpty(_agvOptions.Value.Address)
? "http://7e42682n64.goho.co:21171/"
: _agvOptions.Value.Address; //测试地址
_agvOptions.Value.Token =
string.IsNullOrEmpty(_agvOptions.Value.Token) ? string.Empty : _agvOptions.Value.Token; //测试token
_agvOptions.Value.UserName =
string.IsNullOrEmpty(_agvOptions.Value.UserName) ? "" : _agvOptions.Value.UserName; //测试用户名
_agvOptions.Value.Password =
string.IsNullOrEmpty(_agvOptions.Value.Password) ? "" : _agvOptions.Value.Password; //测试密码
_agvOptions.Value.Path = string.IsNullOrEmpty(_agvOptions.Value.Path)
? "zozocnApi/custom/receiveProductionPlan"
: _agvOptions.Value.Path; //测试密码
var flag = DateTime.Now.ToString("yyyyMMddHHmmss");
if (!string.IsNullOrEmpty(_agvOptions.Value.Token))
{
var token = _agvOptions.Value.Token;
httpclient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
}
if (!string.IsNullOrEmpty(_agvOptions.Value.UserName) && !string.IsNullOrEmpty(_agvOptions.Value.Password))
{
var username = _agvOptions.Value.UserName;
var password = _agvOptions.Value.Password;
httpclient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")));
}
var client = new AgvJobClient(_agvOptions.Value.Address, httpclient, _agvOptions.Value.Path);
ret = await client.NotifyOutTaskBack4FWAsync(request).ConfigureAwait(false);
}
catch (Exception e)
{
ret = new AgvResultObject();
ret.Code = "1";
ret.Message = e.Message;
ret.ReqCode = job.KittingRequestNumber;
await unitOfWork.RollbackAsync().ConfigureAwait(false);
throw new UserFriendlyException($"接口报错 错误信息{e.Message}");
}
return ret;
}
#endregion

Loading…
Cancel
Save