|
|
@ -24,25 +24,51 @@ using Microsoft.Extensions.Options; |
|
|
|
using Win_in.Sfs.Wms.Store.Options; |
|
|
|
using Microsoft.Extensions.Logging; |
|
|
|
using Win_in.Sfs.Shared.Application.Contracts; |
|
|
|
using Win_in.Sfs.Wms.Store.Application; |
|
|
|
|
|
|
|
|
|
|
|
namespace Win_in.Sfs.Wms.Store.Jobs.AgvJobs; |
|
|
|
[AllowAnonymous] |
|
|
|
[Route($"{StoreConsts.RootPath}agv-job-in")] |
|
|
|
public class AgvJobOutputService : ApplicationService, IAgvJobOutputService |
|
|
|
[Route($"{StoreConsts.RootPath}agv-job-test")] |
|
|
|
public class AgvJobOutputService : ApplicationService |
|
|
|
{ |
|
|
|
private readonly UnitOfWorkManager _unitOfWorkManager; |
|
|
|
private readonly IHttpClientFactory _httpClientFactory; |
|
|
|
private readonly IOptions<AgvOptions> _options; |
|
|
|
private readonly ILogger<AgvJobOutputService> _logger; |
|
|
|
|
|
|
|
private readonly IAssembleIssueJobAppService _assembleIssueJobAppService; |
|
|
|
private readonly ICoatingIssueJobAppService _coatingIssueJobAppService; |
|
|
|
private readonly IInjectionIssueJobAppService _injectionIssueJobAppService; |
|
|
|
private readonly IKittingIssueJobAppService _kittingIssueJobAppService; |
|
|
|
private readonly ISparePartIssueJobAppService _sparePartIssueJobAppService; |
|
|
|
private readonly IUnplannedIssueJobAppService _unplannedIssueJobAppService; |
|
|
|
private readonly IUnplannedReceiptJobAppService _unplannedReceiptJobAppService; |
|
|
|
|
|
|
|
public AgvJobOutputService( |
|
|
|
UnitOfWorkManager unitOfWorkManager, |
|
|
|
IHttpClientFactory httpClientFactory, |
|
|
|
IOptions<AgvOptions> options, |
|
|
|
ILogger<AgvJobOutputService> logger |
|
|
|
ILogger<AgvJobOutputService> logger, |
|
|
|
IAssembleIssueJobAppService assembleIssueJobAppService, |
|
|
|
ICoatingIssueJobAppService coatingIssueJobAppService, |
|
|
|
IInjectionIssueJobAppService injectionIssueJobAppService, |
|
|
|
IKittingIssueJobAppService kittingIssueJobAppService, |
|
|
|
ISparePartIssueJobAppService sparePartIssueJobAppService, |
|
|
|
IUnplannedIssueJobAppService unplannedIssueJobAppService, |
|
|
|
IUnplannedReceiptJobAppService unplannedReceiptJobAppService |
|
|
|
|
|
|
|
) |
|
|
|
{ |
|
|
|
_assembleIssueJobAppService = assembleIssueJobAppService; |
|
|
|
_coatingIssueJobAppService = coatingIssueJobAppService; |
|
|
|
_injectionIssueJobAppService = injectionIssueJobAppService; |
|
|
|
_kittingIssueJobAppService = kittingIssueJobAppService; |
|
|
|
_sparePartIssueJobAppService = sparePartIssueJobAppService; |
|
|
|
_unplannedIssueJobAppService = unplannedIssueJobAppService; |
|
|
|
_unplannedReceiptJobAppService = unplannedReceiptJobAppService; |
|
|
|
|
|
|
|
|
|
|
|
_logger = logger; |
|
|
|
_unitOfWorkManager = unitOfWorkManager; |
|
|
|
_httpClientFactory = httpClientFactory; |
|
|
@ -51,44 +77,106 @@ public class AgvJobOutputService : ApplicationService, IAgvJobOutputService |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[HttpPost("out-put-task")] |
|
|
|
public async Task<AgvResultObject> OutPutTaskAsync(AgvRequest request) |
|
|
|
|
|
|
|
|
|
|
|
[HttpPost("assemble-test-callagv-id")] |
|
|
|
public async Task<Win_in.Sfs.Wms.Store.Application.Contracts.ReusltObject> Assemble_CallAgvAsync(Guid id) |
|
|
|
{ |
|
|
|
var httpclient = _httpClientFactory.CreateClient(); |
|
|
|
_options.Value.Address = string.IsNullOrEmpty(_options.Value.Address) |
|
|
|
? "http://7e42682n64.goho.co:21171/" |
|
|
|
: _options.Value.Address; //测试地址
|
|
|
|
_options.Value.Token = |
|
|
|
string.IsNullOrEmpty(_options.Value.Token) ? string.Empty : _options.Value.Token; //测试token
|
|
|
|
_options.Value.UserName = |
|
|
|
string.IsNullOrEmpty(_options.Value.UserName) ? "" : _options.Value.UserName; //测试用户名
|
|
|
|
_options.Value.Password = |
|
|
|
string.IsNullOrEmpty(_options.Value.Password) ? "" : _options.Value.Password; //测试密码
|
|
|
|
_options.Value.Path = string.IsNullOrEmpty(_options.Value.Path) |
|
|
|
? "zozocnApi/custom/receiveProductionPlan" |
|
|
|
: _options.Value.Path; //测试密码
|
|
|
|
var flag = DateTime.Now.ToString("yyyyMMddHHmmss"); |
|
|
|
// _logger.LogInformation($"标志{flag}开始调用高通WMS:传递值{JsonSerializer.Serialize(main)}");
|
|
|
|
if (!string.IsNullOrEmpty(_options.Value.Token)) |
|
|
|
{ |
|
|
|
var token = _options.Value.Token; |
|
|
|
httpclient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); |
|
|
|
} |
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(_options.Value.UserName) && !string.IsNullOrEmpty(_options.Value.Password)) |
|
|
|
{ |
|
|
|
var username = _options.Value.UserName; |
|
|
|
var password = _options.Value.Password; |
|
|
|
httpclient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", |
|
|
|
Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}"))); |
|
|
|
} |
|
|
|
|
|
|
|
var client = new AgvJobClient(_options.Value.Address, httpclient, _options.Value.Path); |
|
|
|
var ret = await client.PushOutTask4FWAsync(request).ConfigureAwait(false); |
|
|
|
var jobdto= await _assembleIssueJobAppService.GetAsync(id).ConfigureAwait(false); |
|
|
|
var ret= await _assembleIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[HttpPost("assemble-test-callagv1")] |
|
|
|
public async Task<Win_in.Sfs.Wms.Store.Application.Contracts.ReusltObject> Assemble_CallAgvAsync1(AssembleIssueJobDTO jobdto) |
|
|
|
{ |
|
|
|
var ret = await _assembleIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
|
|
|
|
[HttpPost("coating-test-callagv-id")] |
|
|
|
public async Task<Win_in.Sfs.Wms.Store.Application.Contracts.ReusltObject> Coating_CallAgvAsync(Guid id) |
|
|
|
{ |
|
|
|
var jobdto= await _coatingIssueJobAppService.GetAsync(id).ConfigureAwait(false); |
|
|
|
var ret = await _coatingIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
[HttpPost("coating-test-callagv")] |
|
|
|
public async Task<Win_in.Sfs.Wms.Store.Application.Contracts.ReusltObject> Coating_CallAgvAsync(CoatingIssueJobDTO jobdto) |
|
|
|
{ |
|
|
|
var ret = await _coatingIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
[HttpPost("injection-test-callagv-id")] |
|
|
|
public async Task<Win_in.Sfs.Wms.Store.Application.Contracts.ReusltObject> Injection_CallAgvAsync(Guid id) |
|
|
|
{ |
|
|
|
var jobdto = await _injectionIssueJobAppService.GetAsync(id).ConfigureAwait(false); |
|
|
|
var ret = await _injectionIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
[HttpPost("injection-test-callagv")] |
|
|
|
public async Task<Win_in.Sfs.Wms.Store.Application.Contracts.ReusltObject> Injection_CallAgvAsync1(InjectionIssueJobDTO jobdto) |
|
|
|
{ |
|
|
|
var ret = await _injectionIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
[HttpPost("kitting-test-callagv-id")] |
|
|
|
public async Task<Win_in.Sfs.Wms.Store.Application.Contracts.ReusltObject> Kitting_CallAgvAsync(Guid id) |
|
|
|
{ |
|
|
|
var jobdto=await _kittingIssueJobAppService.GetAsync(id).ConfigureAwait(false); |
|
|
|
var ret = await _kittingIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
|
|
|
|
[HttpPost("kitting-test-callagv")] |
|
|
|
public async Task<Win_in.Sfs.Wms.Store.Application.Contracts.ReusltObject> Kitting_CallAgvAsync1(KittingIssueJobDTO jobdto) |
|
|
|
{ |
|
|
|
var ret = await _kittingIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
|
|
|
|
[HttpPost("sparePart-test-callagv-id")] |
|
|
|
public async Task<Win_in.Sfs.Wms.Store.Application.Contracts.ReusltObject> SparePart_CallAgvAsync(Guid id) |
|
|
|
{ |
|
|
|
var jobdto = await _sparePartIssueJobAppService.GetAsync(id).ConfigureAwait(false); |
|
|
|
var ret = await _sparePartIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
|
|
|
|
[HttpPost("sparePart-test-callagv")] |
|
|
|
public async Task<Win_in.Sfs.Wms.Store.Application.Contracts.ReusltObject> SparePart_CallAgvAsync1(SparePartIssueJobDTO jobdto) |
|
|
|
{ |
|
|
|
var ret = await _sparePartIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
[HttpPost("unplannedIssue-test-callagv-id")] |
|
|
|
public async Task<Win_in.Sfs.Wms.Store.Application.Contracts.ReusltObject> UnplannedIssue_CallAgvAsync(Guid id) |
|
|
|
{ |
|
|
|
var jobdto = await _unplannedIssueJobAppService.GetAsync(id).ConfigureAwait(false); |
|
|
|
var ret = await _unplannedIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
[HttpPost("unplannedIssue-test-callagv")] |
|
|
|
public async Task<Win_in.Sfs.Wms.Store.Application.Contracts.ReusltObject> UnplannedIssue_CallAgvAsync1(UnplannedIssueJobDTO jobdto) |
|
|
|
{ |
|
|
|
var ret = await _unplannedIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
[HttpPost("unplannedReceipt-test-callagv-id")] |
|
|
|
public async Task<Win_in.Sfs.Wms.Store.Application.Contracts.ReusltObject> UnplannedReceipt_CallAgvAsync(Guid id) |
|
|
|
{ |
|
|
|
var jobdto = await _unplannedReceiptJobAppService.GetAsync(id).ConfigureAwait(false); |
|
|
|
var ret = await _unplannedReceiptJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
[HttpPost("unplannedReceipt-test-callagv")] |
|
|
|
public async Task<Win_in.Sfs.Wms.Store.Application.Contracts.ReusltObject> UnplannedReceipt_CallAgvAsync1(UnplannedReceiptJobDTO jobdto) |
|
|
|
{ |
|
|
|
var ret = await _unplannedReceiptJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); |
|
|
|
return ret; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|