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;
+ }
+
+
+
+
///
/// 根据物品和库位 检查是否存在发料任务
///