From 7a762b109ef49d4620d6f1afe16fb3e123251f16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Sun, 5 Jan 2025 17:45:48 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Jobs/AgvJobs/AgvJobOutputService.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/AgvJobs/AgvJobOutputService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/AgvJobs/AgvJobOutputService.cs index 63908b2f6..7aefca551 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/AgvJobs/AgvJobOutputService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/AgvJobs/AgvJobOutputService.cs @@ -97,8 +97,16 @@ public class AgvJobOutputService : ApplicationService } + [HttpPost("test-callagv-notifyOutTaskBack4FW")] + public async Task TEST_notifyOutTaskBack4FW_CallAgvAsync(AgvRequestBack jobdto) + { + var client = await GetAgvJobClient().ConfigureAwait(false); + var ret = await client.NotifyOutTaskBack4FWAsync(jobdto).ConfigureAwait(false); + return ret; + } + private async Task GetAgvJobClient() { From a8422c0b23a51ba5f73aacadb94c15dbae0613dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Mon, 6 Jan 2025 13:25:27 +0800 Subject: [PATCH 2/4] up --- .../IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs | 2 +- .../IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs | 2 +- .../Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs | 2 +- .../Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAppService.cs | 2 +- 4 files changed, 4 insertions(+), 4 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 849cd0ad4..e23a309e2 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 @@ -1216,7 +1216,7 @@ public class CoatingIssueJobAppService request.OrderType = ((int)EnumJobType.CoatingIssueJob).ToString(); request.BeginPosition = beginPosition; request.EndPosition = endPosition; - request.State = "0"; + request.State = "1"; request.PakingCode = !string.IsNullOrEmpty(first.HandledFromPackingCode) ? first.HandledFromPackingCode : string.Empty; request.Batch = ""; 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 11ea3da06..a48d3f65d 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 @@ -1170,7 +1170,7 @@ public class KittingIssueJobAppService request.MatCode = first.ItemCode; request.MatQty = first.HandledFromQty; request.OrderNum = job.Number; - request.State = "0"; + request.State = "1"; request.PakingCode = !string.IsNullOrEmpty(first.HandledFromPackingCode)?first.HandledFromPackingCode:string.Empty; request.Batch = ""; diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs index f1eb58c1c..012a88931 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs @@ -851,7 +851,7 @@ public class UnplannedIssueJobAppService request.BeginPosition = detail.HandledFromLocationCode; request.EndPosition = detail.HandledFromLocationCode; request.OrderType = job.UnplannedIssueType == EnumUnplannedIssueType.Raw ? ((int)EnumJobType.UnplannedIssueJobHasPacking).ToString() :((int)EnumJobType.UnplannedIssueJobNoPacking).ToString(); ; - request.State = "0"; + request.State = "1"; request.PakingCode = !string.IsNullOrEmpty(detail.HandledPackingCode) ? detail.HandledPackingCode : string.Empty; request.Batch = ""; var httpclient = _httpClientFactory.CreateClient(); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAppService.cs index cb3a039f5..ca77eea35 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAppService.cs @@ -479,7 +479,7 @@ public class UnplannedReceiptJobAppService request.EndPosition = detail.HandledToLocationCode; request.OrderType = job.UnplannedReceiptType == EnumUnplannedReceiptType.Raw ? ((int)EnumJobType.UnplannedReceiptJobHasPacking).ToString() : ((int)EnumJobType.UnplannedReceiptJobNoPacking).ToString(); - request.State = "0"; + request.State = "1"; request.PakingCode = !string.IsNullOrEmpty(detail.HandledPackingCode) ? detail.HandledPackingCode : string.Empty; request.Batch = ""; var httpclient = _httpClientFactory.CreateClient(); From e5b686cf76a6caafd61061b854b838aba715edde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Mon, 6 Jan 2025 14:41:41 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs | 2 +- .../IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs | 2 +- .../IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs index b9e03a79f..83ec2f564 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs @@ -1178,7 +1178,7 @@ public class AssembleIssueJobAppService var first = job.Details.FirstOrDefault(); var request = new AgvRequest(); request.MatCode = first.ItemCode; - request.MatQty = first.HandledFromQty; + request.MatQty = first.RecommendFromQty; request.OrderNum = job.Number; request.OrderType = EnumJobType.AssembleIssueJob.ToString(); request.BeginPosition = beginPosition; 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 e23a309e2..31b731662 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 @@ -1211,7 +1211,7 @@ public class CoatingIssueJobAppService var first = job.Details.FirstOrDefault(); var request = new AgvRequest(); request.MatCode = first.ItemCode; - request.MatQty = first.HandledFromQty; + request.MatQty = first.RecommendFromQty; request.OrderNum = job.Number; request.OrderType = ((int)EnumJobType.CoatingIssueJob).ToString(); request.BeginPosition = beginPosition; 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 a48d3f65d..268519fec 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 @@ -1168,7 +1168,7 @@ public class KittingIssueJobAppService var first = job.Details.FirstOrDefault(); var request = new AgvRequest(); request.MatCode = first.ItemCode; - request.MatQty = first.HandledFromQty; + request.MatQty = first.RecommendFromQty; request.OrderNum = job.Number; request.State = "1"; request.PakingCode = !string.IsNullOrEmpty(first.HandledFromPackingCode)?first.HandledFromPackingCode:string.Empty; From ff95bd9bf4cd14ae74dfb7940510b070cb4f0c3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Mon, 6 Jan 2025 16:45:28 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BD=99=E6=96=99=E5=9B=9E=E5=BA=93?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Jobs/IssueJobController.cs | 17 +++++ .../IssueJobs/IIssueJobAppService.cs | 3 + .../AssembleIssueJobAppService.cs | 3 +- .../Jobs/IssueJobs/IssueJobAppService.cs | 63 ++++++++++++++++++- 4 files changed, 84 insertions(+), 2 deletions(-) diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobController.cs index 3826740d3..29febe161 100644 --- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobController.cs +++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobController.cs @@ -50,6 +50,23 @@ public class IssueJobController : AbpController var result = await _issueJobAppService.GetAsync(id).ConfigureAwait(false); return Ok(result); } + /// + /// 余料回库 + /// + /// + /// + [HttpPost("NotifyOutTaskBack4FW")] + public async Task CallReturn(AgvRequestBack jobdto) + { + return await _issueJobAppService.CallReturn(jobdto).ConfigureAwait(false); + + } + + + + + + /// /// 获取列表 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/IssueJobs/IIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/IssueJobs/IIssueJobAppService.cs index d496a4530..820822a98 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/IssueJobs/IIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/IssueJobs/IIssueJobAppService.cs @@ -23,4 +23,7 @@ public interface IIssueJobAppService /// Task SaveDetail_SplitPackingAsync(SplitPacking_UpdateJobDetailInput input); + + Task CallReturn(AgvRequestBack jobdto); + } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs index 83ec2f564..ab614d38b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs @@ -51,12 +51,13 @@ public class AssembleIssueJobAppService private readonly IAssembleIssueNoteAppService _assembleIssueNoteAppService; private readonly IExpectOutAppService _expectOutAppService; private readonly IHttpClientFactory _httpClientFactory; + private readonly IOptions _agvOptions; private readonly ITransferLibRequestAppService _transferLibRequestAppService; private readonly IOptions _options; private readonly ICurrentUser _currentUser; private readonly UnitOfWorkManager _unitOfWorkManager; - private readonly IOptions _agvOptions; + private readonly ILogger _logger; diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/IssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/IssueJobAppService.cs index 21627669b..29124570a 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/IssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/IssueJobAppService.cs @@ -2,6 +2,9 @@ using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; +using System.Net.Http.Headers; +using System.Net.Http; +using System.Text; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; @@ -15,6 +18,9 @@ using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Domain; using Win_in.Sfs.Wms.Store.Domain.Shared; +using Win_in.Sfs.Wms.Store.Jobs.IssueJobs.proxy; +using Win_in.Sfs.Wms.Store.Options; +using Microsoft.Extensions.Options; namespace Win_in.Sfs.Wms.Store.Application; @@ -26,14 +32,69 @@ public class IssueJobAppService IIssueJobAppService { private readonly IIssueJobManager _issueJobManager; + private readonly IHttpClientFactory _httpClientFactory; + private readonly IOptions _agvOptions; public IssueJobAppService( - IIssueJobRepository repository, IIssueJobManager issueJobManager + IIssueJobRepository repository, IIssueJobManager issueJobManager,IHttpClientFactory httpClientFactory, IOptions agvOptions ) : base(repository, issueJobManager) { _issueJobManager = issueJobManager; + _httpClientFactory = httpClientFactory; + _agvOptions = agvOptions; } + /// + /// 余料回库 + /// + /// + /// + [HttpPost("NotifyOutTaskBack4FW")] + public async Task CallReturn(AgvRequestBack jobdto) + { + var client = await GetAgvJobClient().ConfigureAwait(false); + var ret = await client.NotifyOutTaskBack4FWAsync(jobdto).ConfigureAwait(false); + return ret; + } + private async Task GetAgvJobClient() + { + + 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); + return client; + } + + + + /// /// 根据物品和库位 检查是否存在发料任务 ///