diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/test/TestAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/test/TestAppService.cs index 4c5397d7f..1bd57d744 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/test/TestAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/test/TestAppService.cs @@ -28,7 +28,7 @@ namespace Win_in.Sfs.Basedata.Application; /// 接口模拟测试 /// [AllowAnonymous] - +[Route($"{BasedataConsts.RootPath}test")] public class TestService:ApplicationService { private readonly IServiceProvider _serviceProvider; @@ -244,6 +244,11 @@ public class AgvRequestUnplannedDetailDto1 + + + + + /// /// 闻荫调海康入参 /// @@ -256,7 +261,7 @@ public class AgvRequest1 [Display(Name = "物料编号")] public string MatCode { set; get; } [Display(Name = "物料数量")] - public string MatQty { set; get; } + public decimal MatQty { set; get; } [Display(Name = "来源工位")] public string BeginPosition { set; get; } [Display(Name = "目标工位")] @@ -279,7 +284,7 @@ public class AgvRequestUnplanned1 [Display(Name = "物料编号")] public string MatCode { set; get; } [Display(Name = "物料数量")] - public string MatQty { set; get; } + public decimal MatQty { set; get; } [Display(Name = "来源工位")] public string BeginPosition { set; get; } [Display(Name = "目标工位")] @@ -293,7 +298,7 @@ public class AgvRequestBack1 [Display(Name = "物料编号")] public string MatCode { set; get; } [Display(Name = "物料数量")] - public string ReturnQty { set; get; } + public decimal ReturnQty { set; get; } [Display(Name = "目标工位")] public string EndPosition { set; get; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AgvJobs/DTOS/AgvDto.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AgvJobs/DTOS/AgvDto.cs index 32628d42a..392713d2f 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AgvJobs/DTOS/AgvDto.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AgvJobs/DTOS/AgvDto.cs @@ -119,9 +119,14 @@ public class AgvRequestUnplannedDetailDto /// /// 闻荫调海康入参 /// -[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.2.0.0 (NJsonSchema v11.1.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class AgvRequest { + + + + + /// /// 任务类型 /// diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/IAssembleIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/IAssembleIssueJobAppService.cs index beac4305f..c76db88e3 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/IAssembleIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/IAssembleIssueJobAppService.cs @@ -29,4 +29,6 @@ public interface IAssembleIssueJobAppService Task GetByNumber2Async(string number); Task GetJobByPackingCodeAsync(string packingCode); Task CallBackAgvAsync(AgvRequestDto request); + + Task CallAgvAsync(AssembleIssueJobDTO input); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/ICoatingIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/ICoatingIssueJobAppService.cs index 444d6db81..ac9476fe8 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/ICoatingIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/ICoatingIssueJobAppService.cs @@ -28,4 +28,6 @@ public interface ICoatingIssueJobAppService Task GetByNumber2Async(string number); Task GetJobByPackingCodeAsync(string packingCode); + Task CallBackAgvAsync(AgvRequestDto request); + Task CallAgvAsync(CoatingIssueJobDTO input); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/IInjectionIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/IInjectionIssueJobAppService.cs index 81e67c8c0..08cd707f0 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/IInjectionIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/IInjectionIssueJobAppService.cs @@ -27,4 +27,9 @@ public interface IInjectionIssueJobAppService Task GetByNumber2Async(string number); Task GetJobByPackingCodeAsync(string packingCode); + + Task CallBackAgvAsync(AgvRequestDto request); + + Task CallAgvAsync(InjectionIssueJobDTO input); } + diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/IKittingIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/IKittingIssueJobAppService.cs index d2e0e8999..a6cae3f8d 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/IKittingIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/IKittingIssueJobAppService.cs @@ -27,4 +27,6 @@ public interface IKittingIssueJobAppService Task GetByNumber2Async(string number); Task GetJobByPackingCodeAsync(string packingCode); + Task CallBackAgvAsync(AgvRequestDto request); + Task CallAgvAsync(KittingIssueJobDTO input); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/SparePartIssueJobs/ISparePartIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/SparePartIssueJobs/ISparePartIssueJobAppService.cs index ab2ea4478..a82a31739 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/SparePartIssueJobs/ISparePartIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/SparePartIssueJobs/ISparePartIssueJobAppService.cs @@ -27,4 +27,7 @@ public interface ISparePartIssueJobAppService Task GetByNumber2Async(string number); Task GetJobByPackingCodeAsync(string packingCode); + + Task CallBackAgvAsync(AgvRequestDto request); + Task CallAgvAsync(SparePartIssueJobDTO input); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/IUnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/IUnplannedIssueJobAppService.cs index bdc757940..5a23814cc 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/IUnplannedIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/IUnplannedIssueJobAppService.cs @@ -11,6 +11,7 @@ public interface IUnplannedIssueJobAppService Task CreateByRecommendAsync(UnplannedIssueRequest requestDto); Task IsAllJobOverByRequestNumberAsync(string requestNumber); + Task CallAgvAsync(UnplannedIssueJobDTO input); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedReceiptJobs/IUnplannedReceiptJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedReceiptJobs/IUnplannedReceiptJobAppService.cs index d0f3daa2d..69b63deef 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedReceiptJobs/IUnplannedReceiptJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedReceiptJobs/IUnplannedReceiptJobAppService.cs @@ -30,4 +30,7 @@ public interface IUnplannedReceiptJobAppService /// /// Task IsAllJobOverByRequestNumberAsync(string requestNumber); + + + Task CallAgvAsync(UnplannedReceiptJobDTO input); } 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 4ebaffb6d..821a0c061 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 @@ -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 _options; private readonly ILogger _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 options, - ILogger logger + ILogger 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 OutPutTaskAsync(AgvRequest request) + + + [HttpPost("assemble-test-callagv-id")] + public async Task 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 Assemble_CallAgvAsync1(AssembleIssueJobDTO jobdto) + { + var ret = await _assembleIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); return ret; + } + [HttpPost("coating-test-callagv-id")] + public async Task 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 Coating_CallAgvAsync(CoatingIssueJobDTO jobdto) + { + var ret = await _coatingIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); + return ret; + } + [HttpPost("injection-test-callagv-id")] + public async Task 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 Injection_CallAgvAsync1(InjectionIssueJobDTO jobdto) + { + var ret = await _injectionIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); + return ret; + } + [HttpPost("kitting-test-callagv-id")] + public async Task 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 Kitting_CallAgvAsync1(KittingIssueJobDTO jobdto) + { + var ret = await _kittingIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); + return ret; + } + + [HttpPost("sparePart-test-callagv-id")] + public async Task 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 SparePart_CallAgvAsync1(SparePartIssueJobDTO jobdto) + { + var ret = await _sparePartIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); + return ret; + } + [HttpPost("unplannedIssue-test-callagv-id")] + public async Task 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 UnplannedIssue_CallAgvAsync1(UnplannedIssueJobDTO jobdto) + { + var ret = await _unplannedIssueJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); + return ret; + } + [HttpPost("unplannedReceipt-test-callagv-id")] + public async Task 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 UnplannedReceipt_CallAgvAsync1(UnplannedReceiptJobDTO jobdto) + { + var ret = await _unplannedReceiptJobAppService.CallAgvAsync(jobdto).ConfigureAwait(false); + return ret; + } + } diff --git a/build/src/docker/publish/conf/settings/appsettings.Development.json b/build/src/docker/publish/conf/settings/appsettings.Development.json index 35b986bc4..67832a5fa 100644 --- a/build/src/docker/publish/conf/settings/appsettings.Development.json +++ b/build/src/docker/publish/conf/settings/appsettings.Development.json @@ -15,14 +15,15 @@ "AgvOptions": { - "Address": "http://localhost:59094/", + "Address": "http://dev.ccwin-in.com:60084/api/basedata/test/", // 用户名 "UserName": "", // 密码 "Password": "", // 令牌 "Token": "", - "Path": "Test/pushOutTask4FW" + + "Path": "" },