From 61b853ccb8a49d0d2f8bf598c61bf699292cdf63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Tue, 10 Dec 2024 17:05:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B4=A0=E6=9D=90=E5=87=BA=E5=BA=93=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CoatingIssueJobAppService.cs | 82 +++++++++++++++++-- .../KittingIssueJobAppService.cs | 68 +++++++++++++++ 2 files changed, 142 insertions(+), 8 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs index d0a9c2157..23d220051 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs +++ b/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); - 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>(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 }, @@ -1014,9 +1016,73 @@ public class CoatingIssueJobAppService } return ret; } + /// + /// 回库调用 + /// + /// + /// + /// + private async Task 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 } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs index 1a2e8f130..07a15cba9 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs @@ -979,6 +979,74 @@ public class KittingIssueJobAppService } return ret; } + /// + /// 回库调用 + /// + /// + /// + /// + private async Task 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