Browse Source

更新版本

dev_DY_CC
赵新宇 12 months ago
parent
commit
4b18fcb9a6
  1. 65
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Incoming/InjectionMoldingRequestReader.cs
  2. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Incoming/InjectionMoldingTaskIncomingBackgroundWorker.cs
  3. 6
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/InjectionMoldingTaskOptions.cs
  4. 7
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/appsettings.json
  5. 42
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/test/TestAppService.cs
  6. 5
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs
  7. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/IssueJobToRestoClient.cs

65
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Incoming/InjectionMoldingRequestReader.cs

@ -21,6 +21,8 @@ using System.IdentityModel.Tokens.Jwt;
using Volo.Abp; using Volo.Abp;
using System.Net.NetworkInformation; using System.Net.NetworkInformation;
using Win_in.Sfs.Shared.Domain.Shared.Enums.Store; using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
using System.Threading;
using System.Diagnostics;
namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent.Incoming; namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent.Incoming;
public class InjectionMoldingRequestReader : IReader public class InjectionMoldingRequestReader : IReader
@ -62,14 +64,18 @@ public class InjectionMoldingRequestReader : IReader
{ {
try try
{ {
// 获取注塑叫料任务数量 var sleepTime = (_options.Value.AutoRemote.TimeCycle*60/ _options.Value.AutoRemote.Interval)-10;
//var count = await _injectionRequest.GetCountAsync().ConfigureAwait(false); var invterval = _options.Value.AutoRemote.Interval;
//List<InjectionIssueRequestEditInput> joblist = new List<InjectionIssueRequestEditInput>();
//if (count == 0) var successTime = 0;
//{
// 调用 ReaderCameraApi 方法获取摄像头信息
for (int i = 0; i <invterval; i++)
{
Stopwatch sw = Stopwatch.StartNew();
Client client = new Client(_options.Value.AutoRemote.IpAddress, _httpClientFactory.CreateClient());//调用客户记录 Client client = new Client(_options.Value.AutoRemote.IpAddress, _httpClientFactory.CreateClient());//调用客户记录
var flag = await client.GetMacStaticAsync().ConfigureAwait(false); var flag = await client.GetMacStaticAsync().ConfigureAwait(false);
@ -79,13 +85,11 @@ public class InjectionMoldingRequestReader : IReader
_logger.LogInformation($"读取到摄像头信息为不可用{DateTime.Now},请检查摄像头"); _logger.LogInformation($"读取到摄像头信息为不可用{DateTime.Now},请检查摄像头");
return new List<IncomingFromExternal>(); return new List<IncomingFromExternal>();
} }
if (string.IsNullOrEmpty(_options.Value.AutoRemote.AreaIDs)) if (string.IsNullOrEmpty(_options.Value.AutoRemote.AreaIDs))
{ {
_logger.LogInformation($"没有设置指定区域AutoRemote->AreaIDs"); _logger.LogInformation($"没有设置指定区域AutoRemote->AreaIDs");
return new List<IncomingFromExternal>(); return new List<IncomingFromExternal>();
} }
var ids = _options.Value.AutoRemote.AreaIDs.Split(","); var ids = _options.Value.AutoRemote.AreaIDs.Split(",");
List<ResponCargoItem> camralist = new List<ResponCargoItem>(); List<ResponCargoItem> camralist = new List<ResponCargoItem>();
foreach (var itm in ids)//遍历区域查找所有货物 foreach (var itm in ids)//遍历区域查找所有货物
@ -93,8 +97,9 @@ public class InjectionMoldingRequestReader : IReader
var idsList = await client.GetCargoStaticAsync(itm).ConfigureAwait(false); var idsList = await client.GetCargoStaticAsync(itm).ConfigureAwait(false);
camralist.AddRange(idsList); camralist.AddRange(idsList);
} }
camralist = camralist.Where(p=>p.Flag==0).ToList(); successTime++;
if (successTime == invterval)
{
List<UnCompletedRequestDto> inputdetail = new List<UnCompletedRequestDto>(); List<UnCompletedRequestDto> inputdetail = new List<UnCompletedRequestDto>();
foreach (var item in camralist) foreach (var item in camralist)
@ -161,14 +166,48 @@ public class InjectionMoldingRequestReader : IReader
} }
// 创建新的注塑请求并将数据写入数据库 // 创建新的注塑请求并将数据写入数据库
await _injectionRequest.CreateAsync(input).ConfigureAwait(false); await _injectionRequest.CreateAsync(input).ConfigureAwait(false);
} }
}
else
{
Thread.Sleep(sleepTime * 1000);
}
sw.Stop();
_logger.LogInformation($"读取成功次数{successTime},耗时 ${sw.ElapsedMilliseconds / 1000 / 60}分钟");
}
//Client client = new Client(_options.Value.AutoRemote.IpAddress, _httpClientFactory.CreateClient());//调用客户记录
//var flag= await client.GetMacStaticAsync().ConfigureAwait(false);
//if (flag!=1)
//{
// // 记录错误日志并返回空列表
// _logger.LogInformation($"读取到摄像头信息为不可用{DateTime.Now},请检查摄像头");
// return new List<IncomingFromExternal>();
//} //}
//else
//if (string.IsNullOrEmpty(_options.Value.AutoRemote.AreaIDs))
//{ //{
// _logger.LogInformation("注塑叫料任务已存在,无需读取"); // _logger.LogInformation($"没有设置指定区域AutoRemote->AreaIDs");
// return new List<IncomingFromExternal>();
//} //}
//var ids=_options.Value.AutoRemote.AreaIDs.Split(",");
//List<ResponCargoItem> camralist = new List<ResponCargoItem>();
//foreach (var itm in ids)//遍历区域查找所有货物
//{
// var idsList= await client.GetCargoStaticAsync(itm).ConfigureAwait(false);
// camralist.AddRange(idsList);
//}
//camralist = camralist.Where(p=>p.Flag==0).ToList();
//}
} }
// 捕获特定异常并记录日志 // 捕获特定异常并记录日志

2
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Incoming/InjectionMoldingTaskIncomingBackgroundWorker.cs

@ -24,7 +24,7 @@ public class InjectionMoldingTaskIncomingBackgroundWorker : AsyncPeriodicBackgro
) : base(timer, serviceScopeFactory) ) : base(timer, serviceScopeFactory)
{ {
_options = options; _options = options;
Timer.Period = options.Value.IncomingOptions.PeriodSeconds * 1000; //default 10 minutes Timer.Period = options.Value.AutoRemote.TimeCycle * 60 * 1000; //default 10 minutes
} }
[UnitOfWork] [UnitOfWork]

6
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/InjectionMoldingTaskOptions.cs

@ -27,6 +27,10 @@ public class InjectionAutoRemote
public string AreaIDs { set; get; } public string AreaIDs { set; get; }
public int Interval { set; get; } // interval
public int TimeCycle { set; get; }
} }
@ -36,7 +40,7 @@ public class InjectionAutoRemote
public class DataExchangeOptions public class DataExchangeOptions
{ {
public bool Active { get; set; } public bool Active { get; set; }
public int PeriodSeconds { get; set; } = 60; public int PeriodSeconds { get; set; } = 300;
public int BatchSize { get; set; } = 10; public int BatchSize { get; set; } = 10;
public int MaxCount { get; set; } = 100; public int MaxCount { get; set; } = 100;
public int RetryTimes { get; set; } = 3; public int RetryTimes { get; set; } = 3;

7
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/appsettings.json

@ -71,7 +71,12 @@
"UserName": "", "UserName": "",
"Password": "", "Password": "",
"Token": "", "Token": "",
"AreaIDs": "1" "AreaIDs": "1",
"Interval" : "3", // interval
"TimeCycle" :"5"
}, },
"IncomingOptions": { "IncomingOptions": {

42
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/test/TestAppService.cs

@ -36,36 +36,36 @@ public class TestService:ApplicationService
_options = options; _options = options;
} }
///// <summary> /// <summary>
///// 生命周期操作 /// 生命周期操作
///// </summary> /// </summary>
//[HttpPost("GetMacStatic")] [HttpPost("GetMacStatic")]
//public async Task<int> GetMacStatic() public async Task<int> GetMacStatic()
//{ {
// return 1; return 1;
//} }
//[HttpPost("GetCargoStatic")] [HttpPost("GetCargoStatic")]
///// <summary> /// <summary>
///// 异步开始生命周期操作不能堵塞 /// 异步开始生命周期操作不能堵塞
///// </summary> /// </summary>
//public async Task<List<ResponCargoItem>> GetCargoStatic(string p_AreaID) public async Task<List<ResponCargoItem>> GetCargoStatic(string p_AreaID)
//{ {
// List<ResponCargoItem> result = new List<ResponCargoItem>(); List<ResponCargoItem> result = new List<ResponCargoItem>();
// result.Add(new ResponCargoItem() { AreaID = "1", CargoID = "PTXB1", PartCode = "TMDLYA0A071AB", Flag = 0 }); result.Add(new ResponCargoItem() { AreaID = "1", CargoID = "PTXB1", PartCode = "TMDLYA0A071AB", Flag = 0 });
// result.Add(new ResponCargoItem() { AreaID = "1", CargoID = "PTXB2", PartCode = "TMDLYA0A061AB", Flag = 0 }); result.Add(new ResponCargoItem() { AreaID = "1", CargoID = "PTXB2", PartCode = "TMDLYA0A061AB", Flag = 0 });
// result.Add(new ResponCargoItem() { AreaID = "2", CargoID = "ZSXB2", PartCode = "TMDLYD0ABM5A", Flag = 0 }); result.Add(new ResponCargoItem() { AreaID = "2", CargoID = "ZSXB2", PartCode = "TMDLYD0ABM5A", Flag = 0 });
// result = result.Where(p => p.AreaID == p_AreaID).ToList(); result = result.Where(p => p.AreaID == p_AreaID).ToList();
// return result; return result;
//} }
[HttpPost("SyncIssueJobStereo")] [HttpPost("SyncIssueJobStereo")]
public virtual async Task<ReusltObject> SyncIssueJobStereoAsync(IssueJobToRestoDTO input) public virtual async Task<ReusltObject> SyncIssueJobStereoAsync(IssueJobToRestoDTO input)

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

@ -397,13 +397,11 @@ public class KittingIssueJobAppService
main.Details = IssueJobToRestoDetailDTOs; main.Details = IssueJobToRestoDetailDTOs;
var httpclient = _httpClientFactory.CreateClient(); var httpclient = _httpClientFactory.CreateClient();
#if DEBUG #if DEBUG
string json= System.Text.Json.JsonSerializer.Serialize(main); string json= System.Text.Json.JsonSerializer.Serialize(main);
_options.Value.Address = "http://localhost:59094/";//测试地址 _options.Value.Address = "http://localhost:59094/";//测试地址
_options.Value.Token = "";//测试token _options.Value.Token = "";//测试token
_options.Value.UserName = "";//测试用户名 _options.Value.UserName = "";//测试用户名
_options.Value.Password = "";//测试密码 _options.Value.Password = "";//测试密码
#endif #endif
if (!string.IsNullOrEmpty(_options.Value.Token)) if (!string.IsNullOrEmpty(_options.Value.Token))
{ {
@ -426,9 +424,7 @@ public class KittingIssueJobAppService
ret.Message=ex.Message; ret.Message=ex.Message;
ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd");
} }
return ret; return ret;
} }
[HttpPost("receive-issue-job-stereo")] [HttpPost("receive-issue-job-stereo")]
@ -447,7 +443,6 @@ public class KittingIssueJobAppService
}; };
try try
{ {
if (input.Jobs.Count > 0) if (input.Jobs.Count > 0)
{ {
var jobs = input.Jobs; var jobs = input.Jobs;

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/IssueJobToRestoClient.cs

@ -95,7 +95,7 @@ namespace MyNamespace
var urlBuilder_ = new System.Text.StringBuilder(); var urlBuilder_ = new System.Text.StringBuilder();
if (!string.IsNullOrEmpty(_baseUrl)) urlBuilder_.Append(_baseUrl); if (!string.IsNullOrEmpty(_baseUrl)) urlBuilder_.Append(_baseUrl);
// Operation Path: "CargoState/SyncIssueJobStereo" // Operation Path: "CargoState/SyncIssueJobStereo"
urlBuilder_.Append("CargoState/SyncIssueJobStereo");//修改路由需求 urlBuilder_.Append("CargoState/SyncIssueJobStereo");//修改路由需求
PrepareRequest(client_, request_, urlBuilder_); PrepareRequest(client_, request_, urlBuilder_);

Loading…
Cancel
Save