Browse Source

提交

Agv分支2024-11-19
赵新宇 5 months ago
parent
commit
6a87fe2606
  1. 7
      InterFaceContorl/Dy_Exchange/src/Dy_Exchange.Application/Dy_ExchangeApplicationModule.cs
  2. 30
      InterFaceContorl/Dy_Exchange/src/Dy_Exchange.Application/Z_Business/DataExchangeInterfaceConfigAppService.cs
  3. 24
      InterFaceContorl/Dy_Exchange/src/Dy_Exchange.Application/Z_Business/DataExchangeInterfaceOptions.cs
  4. 2
      InterFaceContorl/Dy_Exchange/src/Dy_Exchange.HttpApi.Host/Dy_ExchangeHttpApiHostModule.cs
  5. 60
      InterFaceContorl/Dy_Exchange/src/Dy_Exchange.HttpApi.Host/appsettings.json
  6. 14
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AgvJobs/DTOS/AgvDto.cs
  7. 4
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AgvJobs/IAgvJobAccountService.cs
  8. 98
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AgvJobs/AgvJobAccountService.cs
  9. 29
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AgvJobs/AgvJobInputService.cs
  10. 13
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs
  11. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs
  12. 3
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJobAppService.cs
  13. 40
      build/src/docker/publish/conf/settings/appsettings.Development.json

7
InterFaceContorl/Dy_Exchange/src/Dy_Exchange.Application/Dy_ExchangeApplicationModule.cs

@ -1,4 +1,6 @@
using Volo.Abp.Account; using Dy_Exchange.Z_Business;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Account;
using Volo.Abp.AutoMapper; using Volo.Abp.AutoMapper;
using Volo.Abp.FeatureManagement; using Volo.Abp.FeatureManagement;
using Volo.Abp.Identity; using Volo.Abp.Identity;
@ -23,9 +25,12 @@ public class Dy_ExchangeApplicationModule : AbpModule
{ {
public override void ConfigureServices(ServiceConfigurationContext context) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
var configuration = context.Services.GetConfiguration();
Configure<AbpAutoMapperOptions>(options => Configure<AbpAutoMapperOptions>(options =>
{ {
options.AddMaps<Dy_ExchangeApplicationModule>(); options.AddMaps<Dy_ExchangeApplicationModule>();
}); });
Configure<DataExchangeInterfaceOptions>(configuration.GetSection("DataExchangeInterfaceOptions"));
} }
} }

30
InterFaceContorl/Dy_Exchange/src/Dy_Exchange.Application/Z_Business/DataExchangeInterfaceConfigAppService.cs

@ -6,6 +6,7 @@ using System.Net.Http;
using System.Net.NetworkInformation; using System.Net.NetworkInformation;
using System.Security.Policy; using System.Security.Policy;
using System.Text; using System.Text;
using System.Text.Json;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Dy_Exchange.Enums; using Dy_Exchange.Enums;
@ -13,6 +14,8 @@ using Dy_Exchange.Permissions;
using Dy_Exchange.Z_Business.Dtos; using Dy_Exchange.Z_Business.Dtos;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using NPOI.SS.Formula.Functions;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
@ -33,6 +36,7 @@ public class DataExchangeInterfaceConfigAppService : ZbxBase<DataExchangeInterfa
protected override string UpdatePolicyName { get; set; } = Dy_ExchangePermissions.DataExchangeInterfaceConfig.Update; protected override string UpdatePolicyName { get; set; } = Dy_ExchangePermissions.DataExchangeInterfaceConfig.Update;
protected override string DeletePolicyName { get; set; } = Dy_ExchangePermissions.DataExchangeInterfaceConfig.Delete; protected override string DeletePolicyName { get; set; } = Dy_ExchangePermissions.DataExchangeInterfaceConfig.Delete;
public string wmsCode = "WMS"; public string wmsCode = "WMS";
public string cmdStartPath = @"D:\Proc_DyNevWms\publish\start.cmd"; public string cmdStartPath = @"D:\Proc_DyNevWms\publish\start.cmd";
public string cmdClosePath1 = @"D:\Proc_DyNevWms\publish\stop.cmd"; public string cmdClosePath1 = @"D:\Proc_DyNevWms\publish\stop.cmd";
@ -40,10 +44,17 @@ public class DataExchangeInterfaceConfigAppService : ZbxBase<DataExchangeInterfa
public string wmsUrl = "http://10.164.233.5:60085/swagger/AbpTenant/swagger.json"; public string wmsUrl = "http://10.164.233.5:60085/swagger/AbpTenant/swagger.json";
private readonly IDataExchangeInterfaceConfigRepository _repository; private readonly IDataExchangeInterfaceConfigRepository _repository;
private readonly IOptions<DataExchangeInterfaceOptions> _options;
public DataExchangeInterfaceConfigAppService(IDataExchangeInterfaceConfigRepository repository) : base(repository) public DataExchangeInterfaceConfigAppService(IDataExchangeInterfaceConfigRepository repository, IOptions<DataExchangeInterfaceOptions> options) : base(repository)
{ {
_repository = repository; _repository = repository;
_options = options;
} }
[HttpPost("CheckWmsStatusAsync")] [HttpPost("CheckWmsStatusAsync")]
@ -55,6 +66,7 @@ public class DataExchangeInterfaceConfigAppService : ZbxBase<DataExchangeInterfa
public static bool IsPortInUse(int port) public static bool IsPortInUse(int port)
{ {
bool inUse = false; bool inUse = false;
IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties(); IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties();
@ -117,7 +129,7 @@ public class DataExchangeInterfaceConfigAppService : ZbxBase<DataExchangeInterfa
public async Task<bool> CloseWmsAsync() public async Task<bool> CloseWmsAsync()
{ {
var list=await _repository.GetListAsync().ConfigureAwait(false); var list=await _repository.GetListAsync().ConfigureAwait(false);
var removeWmsCodeList=list.Where(p => p.Code != wmsCode).ToList(); var removeWmsCodeList=list.Where(p => p.Code != _options.Value.WmsCode).ToList();
if (removeWmsCodeList.Any(p => p.Status == EnumStatus.Running||p.Active==true)) if (removeWmsCodeList.Any(p => p.Status == EnumStatus.Running||p.Active==true))
{ {
throw new UserFriendlyException($"有未关闭的接口程序{removeWmsCodeList.First().Code}无法关闭WMS"); throw new UserFriendlyException($"有未关闭的接口程序{removeWmsCodeList.First().Code}无法关闭WMS");
@ -131,15 +143,15 @@ public class DataExchangeInterfaceConfigAppService : ZbxBase<DataExchangeInterfa
throw new UserFriendlyException($"接口刚刚关闭,请5分钟后再关闭WMS。最后一次关闭时间相差{Math.Abs((int)difference.TotalMinutes)}分钟"); throw new UserFriendlyException($"接口刚刚关闭,请5分钟后再关闭WMS。最后一次关闭时间相差{Math.Abs((int)difference.TotalMinutes)}分钟");
} }
var wmsConfig=await _repository.FindAsync(p => p.Code == wmsCode).ConfigureAwait(false); var wmsConfig=await _repository.FindAsync(p => p.Code == _options.Value.WmsCode).ConfigureAwait(false);
if (wmsConfig == null) if (wmsConfig == null)
{ {
throw new UserFriendlyException("未找到WMS配置项目"); throw new UserFriendlyException("未找到WMS配置项目");
} }
var stop1= ExecuteBatFile(cmdClosePath1); var stop1= ExecuteBatFile(_options.Value.CmdClosePath1);
Thread.Sleep(2000); // 休眠2秒 Thread.Sleep(2000); // 休眠2秒
var stop2 = ExecuteBatFile(cmdClosePath2); var stop2 = ExecuteBatFile(_options.Value.CmdClosePath2);
return true; return true;
} }
@ -157,9 +169,9 @@ public class DataExchangeInterfaceConfigAppService : ZbxBase<DataExchangeInterfa
[HttpPut("Base/Update")] [HttpPut("Base/Update")]
public override async Task<DataExchangeInterfaceConfigDto> UpdateAsync(Guid id, CreateUpdateDataExchangeInterfaceConfigDto input) public override async Task<DataExchangeInterfaceConfigDto> UpdateAsync(Guid id, CreateUpdateDataExchangeInterfaceConfigDto input)
{ {
if (input.Code != wmsCode&&input.Active==true) if (input.Code != _options.Value.WmsCode&&input.Active==true)
{ {
bool isPageLoaded = await IsPageLoadedSuccessfullyAsync(wmsUrl).ConfigureAwait(false); bool isPageLoaded = await IsPageLoadedSuccessfullyAsync(_options.Value.WmsUrl).ConfigureAwait(false);
if (!isPageLoaded) if (!isPageLoaded)
{ {
throw new UserFriendlyException("WMS未启动成功,请稍后再启动接口"); throw new UserFriendlyException("WMS未启动成功,请稍后再启动接口");
@ -167,12 +179,12 @@ public class DataExchangeInterfaceConfigAppService : ZbxBase<DataExchangeInterfa
} }
//开启wms //开启wms
if (input.Code == wmsCode&&input.Active==true) if (input.Code == _options.Value.WmsCode&&input.Active==true)
{ {
input.Status = EnumStatus.Running; input.Status = EnumStatus.Running;
await StartWmsAsync().ConfigureAwait(false); await StartWmsAsync().ConfigureAwait(false);
} }
if(input.Code == wmsCode && input.Active == false) if(input.Code == _options.Value.WmsCode && input.Active == false)
{ {
input.Status = EnumStatus.Closed; input.Status = EnumStatus.Closed;
await CloseWmsAsync().ConfigureAwait(false); await CloseWmsAsync().ConfigureAwait(false);

24
InterFaceContorl/Dy_Exchange/src/Dy_Exchange.Application/Z_Business/DataExchangeInterfaceOptions.cs

@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dy_Exchange.Z_Business
{
public class DataExchangeInterfaceOptions
{
//public string wmsCode = "WMS";
//public string cmdStartPath = @"D:\Proc_DyNevWms\publish\start.cmd";
//public string cmdClosePath1 = @"D:\Proc_DyNevWms\publish\stop.cmd";
//public string cmdClosePath2 = @"D:\Proc_DyNevWms\publish\TaskKill.exe";
//public string wmsUrl = "http://10.164.233.5:60085/swagger/AbpTenant/swagger.json";
public string WmsCode { get; set; }
public string CmdStartPath { get; set; }
public string CmdClosePath1 { get; set; }
public string CmdClosePath2 { get; set; }
public string WmsUrl { get; set; }
}
}

2
InterFaceContorl/Dy_Exchange/src/Dy_Exchange.HttpApi.Host/Dy_ExchangeHttpApiHostModule.cs

@ -57,6 +57,8 @@ public class Dy_ExchangeHttpApiHostModule : AbpModule
ConfigureDistributedLocking(context, configuration); ConfigureDistributedLocking(context, configuration);
ConfigureCors(context, configuration); ConfigureCors(context, configuration);
ConfigureSwaggerServices(context, configuration); ConfigureSwaggerServices(context, configuration);
} }
private void ConfigureCache(IConfiguration configuration) private void ConfigureCache(IConfiguration configuration)

60
InterFaceContorl/Dy_Exchange/src/Dy_Exchange.HttpApi.Host/appsettings.json

@ -1,26 +1,38 @@
{ {
"App": { "App": {
"CorsOrigins": "http://192.168.0.146:20033", "CorsOrigins": "http://192.168.0.146:20033",
"Audit": { "Audit": {
"IsEnabled": false // "IsEnabled": false //
// //
} }
}, },
"ConnectionStrings": { "ConnectionStrings": {
"Default": "Server=.;Database=Dy_FasterZ_Exchange;uid=sa;pwd=sasa;timeout=6000;Encrypt=False;", "Default": "Server=.;Database=Dy_FasterZ_Exchange;uid=sa;pwd=sasa;timeout=6000;Encrypt=False;",
"Dy_Exchange": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_DataExchange_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=60000;Encrypt=False;" "Dy_Exchange": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_DataExchange_CC;uid=ccwin-in;pwd=Microsoft@2022;timeout=60000;Encrypt=False;"
}, },
"Redis": { "Redis": {
"Configuration": "127.0.0.1" "Configuration": "127.0.0.1"
}, },
"AuthServer": {
"Authority": "http://192.168.1.75:60080",
"RequireHttpsMetadata": "false",
"SwaggerClientId": "Dy_Exchange_Swagger" "AuthServer": {
}, "Authority": "http://192.168.1.75:60080",
"StringEncryption": { "RequireHttpsMetadata": "false",
"DefaultPassPhrase": "ybgU8NieQZNjguXe" "SwaggerClientId": "Dy_Exchange_Swagger"
}, },
"AlwaysAllowAuthorization": "true", "StringEncryption": {
"urls": "http://192.168.1.75:60081" "DefaultPassPhrase": "ybgU8NieQZNjguXe"
},
"AlwaysAllowAuthorization": "true",
"urls": "http://192.168.1.75:60081",
"DataExchangeInterfaceOptions": {
"WmsCode": "WMS",
"CmdStartPath": "D:\\Proc_DyNevWms\\publish\\start.cmd",
"CmdClosePath1": "D:\\Proc_DyNevWms\\publish\\stop.cmd",
"CmdClosePath2": "D:\\Proc_DyNevWms\\publish\\TaskKill.exe",
"WmsUrl": "http://10.164.233.5:60085/swagger/AbpTenant/swagger.json"
}
} }

14
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AgvJobs/DTOS/AgvDto.cs

@ -17,6 +17,20 @@ public class AgvRequestHK
public List<AgvRequestHKDetail> Data { set; get; } public List<AgvRequestHKDetail> Data { set; get; }
} }
/// <summary>
/// 海康调闻荫入参数
/// </summary>
public class AgvRequestOnlyJobHK
{
//[Display(Name = "请求编号")]
//public string ReqCode { set; get; }
[Display(Name = "明细")]
public List<AgvRequestHKDetail> Data { set; get; }
}
/// <summary> /// <summary>
/// 海康调闻荫入参明细 /// 海康调闻荫入参明细
/// </summary> /// </summary>

4
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AgvJobs/IAgvJobInputService.cs → be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AgvJobs/IAgvJobAccountService.cs

@ -7,10 +7,10 @@ using Volo.Abp;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
namespace Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public interface AgvJobOutputService: IApplicationService public interface IAgvJobAccountService: IApplicationService
{ {
Task<AgvResultObject> OutTaskAsync(AgvRequest request); Task<AgvResultObject> AccountOutOrderAsync(AgvRequestOnlyJobHK request);
} }

98
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AgvJobs/AgvJobAccountService.cs

@ -0,0 +1,98 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.Application.Services;
using Volo.Abp.Uow;
using Volo.Abp.Users;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Domain;
using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Inventory.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Jobs.IssueJobs.AgvServices;
[AllowAnonymous]
[Route($"{StoreConsts.RootPath}agv-job-Account")]
public class AgvJobAccountService : ApplicationService, IAgvJobAccountService
{
private IAssembleIssueJobAppService _assembleIssueJobAppService;
private ICoatingIssueJobAppService _coatingIssueJobAppService;
private IInjectionIssueJobAppService _injectionIssueJobAppService;
private IKittingIssueJobAppService _kittingIssueJobAppService;
private ISparePartIssueJobAppService _sparePartIssueJobAppService;
public AgvJobAccountService(
IAssembleIssueJobAppService assembleIssueJobAppService,
ICoatingIssueJobAppService coatingIssueJobAppService,
IInjectionIssueJobAppService injectionIssueJobAppService,
IKittingIssueJobAppService kittingIssueJobAppService,
ISparePartIssueJobAppService sparePartIssueJobAppService
)
{
_assembleIssueJobAppService = assembleIssueJobAppService;
_coatingIssueJobAppService= coatingIssueJobAppService;
_injectionIssueJobAppService= injectionIssueJobAppService;
_kittingIssueJobAppService = kittingIssueJobAppService;
_sparePartIssueJobAppService= sparePartIssueJobAppService;
}
public async Task<AgvResultObject> AccountOutOrderAsync(AgvRequestOnlyJobHK request)
{
var res=new AgvResultObject();
res.Code = "0";
foreach (var itm in request.Data)
{
switch (itm.OrderType)
{
case "1":
var assemblejob= new AssembleIssueJobDTO();
foreach (var detail in request.Data)
{
}
var assemb=await _assembleIssueJobAppService.GetByNumberAsync(itm.OrderNum).ConfigureAwait(false);
await _assembleIssueJobAppService.CompleteAsync(assemb.Id).ConfigureAwait(false);
res.ReqCode = assemb.AssembleRequestNumber;
res.Message = "OK";
break;
case "2":
var coating = await _coatingIssueJobAppService.GetByNumberAsync(itm.OrderNum).ConfigureAwait(false);
await _coatingIssueJobAppService.CompleteAsync(coating.Id).ConfigureAwait(false);
break;
case "3":
var injection = await _injectionIssueJobAppService.GetByNumberAsync(itm.OrderNum).ConfigureAwait(false);
await _injectionIssueJobAppService.CompleteAsync(injection.Id).ConfigureAwait(false);
break;
case "4":
var kitting = await _kittingIssueJobAppService.GetByNumberAsync(itm.OrderNum).ConfigureAwait(false);
await _kittingIssueJobAppService.CompleteAsync(kitting.Id).ConfigureAwait(false);
break;
case "5":
var sparePart = await _sparePartIssueJobAppService.GetByNumberAsync(itm.OrderNum).ConfigureAwait(false);
await _sparePartIssueJobAppService.CompleteAsync(sparePart.Id).ConfigureAwait(false);
break;
}
}
}
}

29
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AgvJobs/AgvJobInputService.cs

@ -1,29 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.Application.Services;
using Volo.Abp.Uow;
using Volo.Abp.Users;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Domain;
using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Inventory.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Jobs.IssueJobs.AgvServices;
[AllowAnonymous]
[Route($"{StoreConsts.RootPath}agv-job-out")]
public class AgvJobInputService:ApplicationService
{
}

13
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs

@ -911,19 +911,22 @@ public class AssembleIssueJobAppService
assembleIssueJobDetailDto.Status, assembleIssueJobDetailDto.HandledToLot, assembleIssueJobDetailDto.Status, assembleIssueJobDetailDto.HandledToLot,
handledToQty).ConfigureAwait(false); handledToQty).ConfigureAwait(false);
} }
/// <summary> /// <summary>
/// 调用AGV /// 调用AgvOutPut出库
/// </summary> /// </summary>
/// <param name="job"></param> /// <param name="job"></param>
/// <returns></returns> /// <returns></returns>
private async Task<AgvResultObject> Completed(AssembleIssueJobDTO job) private async Task<AgvResultObject> InvokeAgvOutput(AssembleIssueJobDTO job)
{ {
var assemble = job;
var first = assemble.Details.FirstOrDefault(); var first = job.Details.FirstOrDefault();
var requst = new AgvRequest(); var requst = new AgvRequest();
requst.MatCode = first.ItemCode; requst.MatCode = first.ItemCode;
requst.MatQty = first.HandledToQty; requst.MatQty = first.HandledToQty;
requst.OrderNum = assemble.Number; requst.OrderNum = job.Number;
requst.OrderType = "2"; requst.OrderType = "2";
return await _agvOutJob.OutPutTaskAsync(requst).ConfigureAwait(false); return await _agvOutJob.OutPutTaskAsync(requst).ConfigureAwait(false);
} }

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs

@ -66,6 +66,7 @@ public class KittingIssueJobAppService
_options = options; _options = options;
_transferLibRequestAppService = transferLibRequestAppService; _transferLibRequestAppService = transferLibRequestAppService;
_currentUser = currentUser; _currentUser = currentUser;
_agvOutJob = agvOutJob;
} }
[HttpPost("get-by-number-2")] [HttpPost("get-by-number-2")]

3
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJobAppService.cs

@ -49,7 +49,7 @@ public class SparePartIssueJobAppService
LazyServiceProvider.LazyGetRequiredService<ISparePartIssueRequestAppService>(); LazyServiceProvider.LazyGetRequiredService<ISparePartIssueRequestAppService>();
public SparePartIssueJobAppService( public SparePartIssueJobAppService(
IAgvJobOutputService _agvOutJob, IAgvJobOutputService agvOutJob,
ISparePartIssueJobRepository repository, ISparePartIssueJobManager sparePartIssueJobManager, ISparePartIssueJobRepository repository, ISparePartIssueJobManager sparePartIssueJobManager,
ILocationAppService locationAppService, ILocationAppService locationAppService,
ISparePartIssueNoteAppService sparePartIssueNoteAppService, IExpectOutAppService expectOutAppService ISparePartIssueNoteAppService sparePartIssueNoteAppService, IExpectOutAppService expectOutAppService
@ -65,6 +65,7 @@ public class SparePartIssueJobAppService
_options = options; _options = options;
_transferLibRequestAppService = transferLibRequestAppService; _transferLibRequestAppService = transferLibRequestAppService;
_currentUser = currentUser; _currentUser = currentUser;
_agvOutJob = agvOutJob;
} }
[HttpPost("get-by-number-2")] [HttpPost("get-by-number-2")]

40
build/src/docker/publish/conf/settings/appsettings.Development.json

@ -1,18 +1,32 @@
{ {
"AlwaysAllowAuthorization": "true", "AlwaysAllowAuthorization": "true",
"RestoOptions": "RestoOptions": {
{
"Address": "http://7e42682n64.goho.co:21171/",
//
"UserName": "",
//
"Password": "",
//
"Token": "",
"Path": "zozocnApi/custom/receiveProductionPlan"
},
"AgvOptions": {
"Address": "http://dev.ccwin-in.com:60084/",
//
"UserName": "",
//
"Password": "",
//
"Token": "",
"Path": "Cargostate/pushOutTask4FW"
},
"Address" :"http://7e42682n64.goho.co:21171/",
//
"UserName" :"",
//
"Password" :"",
//
"Token" :"",
"Path" :"zozocnApi/custom/receiveProductionPlan"
},
@ -151,11 +165,11 @@
"BaseUrl": "http://localhost:59095/" "BaseUrl": "http://localhost:59095/"
}, },
"Label": { "Label": {
"BaseUrl": "http://dev.ccwin-in.com:60082/" "BaseUrl": "http://dev.ccwin-in.com:60082/"
//"BaseUrl": "http://localhost:59092/" //"BaseUrl": "http://localhost:59092/"
}, },
"Message": { "Message": {
"BaseUrl": "http://dev.ccwin-in.com:60082/" "BaseUrl": "http://dev.ccwin-in.com:60082/"
//"BaseUrl": "http://localhost:59092/" //"BaseUrl": "http://localhost:59092/"
}, },
"Store": { "Store": {

Loading…
Cancel
Save