diff --git a/WarehouseMgr/Tnb.WarehouseMgr/AgvHeartbeatMonitorService.cs b/WarehouseMgr/Tnb.WarehouseMgr/AgvHeartbeatMonitorService.cs
deleted file mode 100644
index ae3d71ac..00000000
--- a/WarehouseMgr/Tnb.WarehouseMgr/AgvHeartbeatMonitorService.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using JNPF;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Hosting;
-using Tnb.Common.Extension;
-using Tnb.Common.Utils;
-using Tnb.WarehouseMgr.Entities.Configs;
-
-namespace Tnb.WarehouseMgr
-{
- ///
- /// Agv心跳检测服务
- ///
- public class AgvHeartbeatMonitorService : BackgroundService
- {
- private readonly ElevatorControlConfiguration _elevatorControlConfiguration;
- public bool IsStarted { get; set; }
-
- public AgvHeartbeatMonitorService()
- {
- _elevatorControlConfiguration = App.Configuration.Build();
- }
- protected override async Task ExecuteAsync(CancellationToken stoppingToken)
- {
- IsStarted = true;
- var parameter = new Dictionary();
- parameter["DevName"] = _elevatorControlConfiguration.DevName;
- parameter["TagName"] = "AGVKeepalive";
- parameter["Value"] = "123";
- parameter["token"] = _elevatorControlConfiguration.token;
- Task.Run(async () =>
- {
- while (!stoppingToken.IsCancellationRequested)
- {
- try
- {
- var result = await HttpClientHelper.GetAsync(_elevatorControlConfiguration.WriteTagUrl, pars: parameter);
- await Console.Out.WriteLineAsync($"心跳检测结果:{result}");
- await Task.Delay(TimeSpan.FromSeconds(5));
- }
- catch (Exception ex)
- {
-
- throw;
- }
- }
- });
-
- }
-
- public override Task StopAsync(CancellationToken cancellationToken)
- {
- IsStarted = false;
- return Task.CompletedTask;
- }
- }
-
- public static class AgvHeartbeatMonitorServiceExtenstions
- {
- public static IServiceCollection AddAgvHeartbeatMonitor(this IServiceCollection services)
- {
- return services.AddSingleton();
- }
- }
-
-
-}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs
index 73368235..1d025174 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs
@@ -128,7 +128,29 @@ namespace Tnb.WarehouseMgr
return Task.FromResult(isMatch);
}
-
+ ///
+ /// 根据当前目标楼层获取,电梯接口真正的楼层
+ ///
+ ///
+ ///
+ [NonAction]
+ protected Task GetRealFloor(int floor)
+ {
+ var realFloor = 0;
+ if (floor == 4)
+ {
+ realFloor = 5;
+ }
+ else if (floor == 3)
+ {
+ realFloor = 4;
+ }
+ else if (floor == 2)
+ {
+ realFloor = 3;
+ }
+ return Task.FromResult(realFloor);
+ }
///
/// 发布消息
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs
index f2ef4cd2..e70fd132 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs
@@ -90,22 +90,24 @@ namespace Tnb.WarehouseMgr
var elevator = await _db.Queryable().LeftJoin((a, b) => a.id == b.bill_id)
.LeftJoin((a, b, c) => b.location_id == c.startlocation_id)
.LeftJoin((a, b, c, d) => c.startlocation_id == d.location_id)
- .Where((a, b, c, d) => d.point_code == input.sourceName && c.bill_code == input.taskCode)
+ .Where((a, b, c, d) => d.point_code == input.sourceName && input.taskCode.Contains(c.bill_code))
.FirstAsync();
- (int sysStatus, int runStatus, int floorNo, int doorStatus, int agvStatus) = await _elevatorControlService.GetElevatorStatus(elevator.elevator_code, CancellationToken.None);
+ //Log.Information($"elevator!=null?{elevator!=null}");
+
+ (int sysStatus, int runStatus, int floorNo, int doorStatus, int agvStatus) = await _elevatorControlService.GetElevatorStatus("Elevator1", CancellationToken.None);
Log.Information($"电梯当前状态->系统状态:{sysStatus.ToEnum().ToString()},运行状态:{runStatus.ToEnum().ToString()},Agv状态:{agvStatus.ToEnum().ToString()},当前楼层:{floorNo}");
- if (floorNo == 3)
{
+ //var endFloor = elevator.end_floor;
+ var floor = 5;
if (doorStatus.ToEnum() != EnumDoorStatus.开门到位保持)
{
- await _elevatorControlService.SendOpenCloseCmd(elevator.elevator_code, 3); //发送电梯前门开门指令
+ await _elevatorControlService.SendOpenCloseCmd("Elevator1", 3); //发送电梯前门开门指令
}
- if (sysStatus.ToEnum() == EnumSysStatus.正常状态 && runStatus.ToEnum() == EnumRunStatus.停梯
- && doorStatus.ToEnum() == EnumDoorStatus.开门到位保持 && floorNo == 3)
+ if (sysStatus.ToEnum() == EnumSysStatus.正常状态 && runStatus.ToEnum() == EnumRunStatus.停梯)
{
- elevator.current_floor = floorNo;
- await _db.Updateable(elevator).UpdateColumns(it => it.current_floor).ExecuteCommandAsync();
+ //elevator.current_floor = floor;
+ //await _db.Updateable(elevator).UpdateColumns(it => it.current_floor).ExecuteCommandAsync();
return await ToApiResult(HttpStatusCode.OK, "成功");
}
return await ToApiResult(HttpStatusCode.InternalServerError, "电梯还未开门,请重试!");
@@ -154,7 +156,6 @@ namespace Tnb.WarehouseMgr
{
await _elevatorControlService.SendOpenCloseCmd("Elevator1", 3); //发送电梯前门开门指令
}
- Log.Information("fadsfadsfadsfadsfdsa");
if (sysStatus == (int)EnumSysStatus.正常状态 && runStatus == (int)EnumRunStatus.停梯
&& doorStatus == (int)EnumDoorStatus.开门到位保持)
{
@@ -167,10 +168,10 @@ namespace Tnb.WarehouseMgr
}
catch (Exception ex)
{
- Log.Error("更新延迟队列异常",ex);
+ Log.Error("更新延迟队列异常", ex);
throw;
- }
-
+ }
+
return await ToApiResult(HttpStatusCode.OK, "成功");
}
return await ToApiResult(HttpStatusCode.InternalServerError, "电梯还未开门,请重试!");
@@ -262,13 +263,16 @@ namespace Tnb.WarehouseMgr
disTaskIds = disTasks.Select(x => x.id).ToList()
};
await _wareHouseService.TaskExecuteAfter(taskExecuteAfterUpInput);
+ Log.Information("Agv取货完成");
var elevatorQueueItem = await _db.Queryable().FirstAsync(it => disTasks.Select(x => x.id).Contains(it.distask_id) && it.task_status == "执行中");
if (elevatorQueueItem != null)
{
+ Log.Information("开始进入关门流程");
+
var disTask = disTasks.Find(x => x.id == elevatorQueueItem.distask_id);
- if (disTask?.status == WmsWareHouseConst.TASK_BILL_STATUS_COMPLE_ID)
+ //if (disTask?.status == WmsWareHouseConst.TASK_BILL_STATUS_COMPLE_ID)
{
- var doorStatus = await _elevatorControlService.GetTagAsync(elevatorQueueItem.elevator_code, ElevatorConsts.DoorStatus);
+ var doorStatus = await _elevatorControlService.GetTagAsync("Elevator1", ElevatorConsts.DoorStatus);
if (doorStatus.ToEnum() != EnumDoorStatus.关门到位保持)
{
await _elevatorControlService.SendOpenCloseCmd(elevatorQueueItem.elevator_code, 4); //向电梯发送前门关门指令
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/ElevatorControlService.cs b/WarehouseMgr/Tnb.WarehouseMgr/ElevatorControlService.cs
index 94f74050..06231ed2 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/ElevatorControlService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/ElevatorControlService.cs
@@ -169,16 +169,15 @@ namespace Tnb.WarehouseMgr
dicCommand["token"] = _elevatorCtlCfg.token;
dicCommand["TagName"] = "DoorExecute";
dicCommand["Value"] = value.ToString();
- var result = await HttpClientHelper.GetAsync(_elevatorCtlCfg.WriteTagUrl, pars: dicCommand);
- if (result.IsNotEmptyOrNull())
+ try
{
- JObject jo = JObject.Parse(result);
- if (jo != null)
- {
- return jo.Value("Result").Equals("Ok", StringComparison.OrdinalIgnoreCase);
- }
+ await HttpClientHelper.GetAsync(_elevatorCtlCfg.WriteTagUrl, pars: dicCommand);
}
- return false;
+ catch (Exception)
+ {
+ return false;
+ }
+ return true;
}
///
/// 设置Agv控制请求状态
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/PDATransferSignService.cs b/WarehouseMgr/Tnb.WarehouseMgr/PDATransferSignService.cs
index a5ae06c8..13a386a9 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/PDATransferSignService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/PDATransferSignService.cs
@@ -217,15 +217,17 @@ namespace Tnb.WarehouseMgr
catch (Exception ex)
{
await curDb.Ado.RollbackTranAsync();
- TimedTaskErrorInfo ei = new()
+ if(_userManager?.ToKen.IsNullOrEmpty() ?? false)
{
- RequestURL = App.HttpContext?.Request?.Path,
- RequestMethod = App.HttpContext?.Request?.Method,
- userIdentity = await GetUserIdentity(_userManager.ToKen),
- };
- var timedTaskEx = ex.ToTimedTaskException(ei);
- //cts?.Cancel();
- throw timedTaskEx;
+ TimedTaskErrorInfo ei = new()
+ {
+ RequestURL = App.HttpContext?.Request?.Path,
+ RequestMethod = App.HttpContext?.Request?.Method,
+ userIdentity = await GetUserIdentity(_userManager.ToKen),
+ };
+ var timedTaskEx = ex.ToTimedTaskException(ei);
+ throw timedTaskEx;
+ }
}
}
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/TimedTaskBackgroundService.cs b/WarehouseMgr/Tnb.WarehouseMgr/TimedTaskBackgroundService.cs
index a1babb65..97d27d03 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/TimedTaskBackgroundService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/TimedTaskBackgroundService.cs
@@ -45,6 +45,7 @@ namespace Tnb.WarehouseMgr
{
public bool IsStarted { get; set; }
private IEventPublisher _eventPublisher = default!;
+ private ElevatorControlConfiguration _elevatorControlConfiguration = App.Configuration.Build();
private readonly IServiceProvider _serviceProvider;
private static Dictionary> _timedFuncMap = new(StringComparer.OrdinalIgnoreCase);
static TimedTaskBackgroundService()
@@ -89,16 +90,16 @@ namespace Tnb.WarehouseMgr
_eventPublisher = App.GetRequiredService();
var whSvc = App.GetRequiredService();
TimedTask(token => whSvc.GenTaskExecute(token), stoppingToken, 1);
- //齐套出库
- //var kittingOutService = App.GetRequiredService();
- //TimedTask(token => kittingOutService.KittingOutByAdd(token), stoppingToken, 1);
- //TimedTask(token => kittingOutService.KittingOutByIsToBeShipped(token), stoppingToken, 1);
+ ////齐套出库
+ var kittingOutService = App.GetRequiredService();
+ TimedTask(token => kittingOutService.KittingOutByAdd(token), stoppingToken, 1);
+ TimedTask(token => kittingOutService.KittingOutByIsToBeShipped(token), stoppingToken, 1);
//齐套分拣
- //var setSortingService = App.GetRequiredService();
- //TimedTask(token => setSortingService.PackSortingByAdd(token), stoppingToken, 1);
+ var setSortingService = App.GetRequiredService();
+ TimedTask(token => setSortingService.PackSortingByAdd(token), stoppingToken, 2);
- var _elevatorControlConfiguration = App.Configuration.Build();
- TimedTask(async token =>
+
+ TimedTask(async token =>
{
var parameter = new Dictionary();
parameter["DevName"] = _elevatorControlConfiguration.DevName;
@@ -107,7 +108,7 @@ namespace Tnb.WarehouseMgr
parameter["token"] = _elevatorControlConfiguration.token;
var result = await HttpClientHelper.GetAsync(_elevatorControlConfiguration.WriteTagUrl, pars: parameter);
await Console.Out.WriteLineAsync($"心跳检测结果:{result}");
- },stoppingToken,30,TimeSpanUnit.Seconds);
+ }, stoppingToken, 30, TimeSpanUnit.Seconds);
//最低库存检查
var transferSignService = App.GetRequiredService();
TimedTask(token => transferSignService.IsMinStorage(token), stoppingToken, 30, TimeSpanUnit.Minutes);
@@ -130,19 +131,19 @@ namespace Tnb.WarehouseMgr
{
if (ex is TimedTaskException timedTaskEx and not null)
{
- //await _eventPublisher.PublishAsync(new LogEventSource("Log:CreateExLog", timedTaskEx.options!, new SysLogEntity
- //{
- // Id = SnowflakeIdHelper.NextId(),
- // Category = 4,
- // UserId = timedTaskEx.UserId,
- // UserName = timedTaskEx.UserName,
- // IPAddress = NetHelper.Ip,
- // RequestURL = timedTaskEx.RequestURL,
- // RequestMethod = timedTaskEx.RequestMethod,
- // Json = timedTaskEx + "\n" + timedTaskEx.InnerException?.StackTrace + "\n" + timedTaskEx?.TargetSite?.GetParameters().ToString(),
- // //PlatForm = string.Format("{0}-{1}", userAgent.OS.ToString(), userAgent.RawValue),
- // CreatorTime = DateTime.Now
- //}));
+ await _eventPublisher.PublishAsync(new LogEventSource("Log:CreateExLog", timedTaskEx.options!, new SysLogEntity
+ {
+ Id = SnowflakeIdHelper.NextId(),
+ Category = 4,
+ UserId = timedTaskEx.UserId,
+ UserName = timedTaskEx.UserName,
+ IPAddress = NetHelper.Ip,
+ RequestURL = timedTaskEx.RequestURL,
+ RequestMethod = timedTaskEx.RequestMethod,
+ Json = timedTaskEx + "\n" + timedTaskEx.InnerException?.StackTrace + "\n" + timedTaskEx?.TargetSite?.GetParameters().ToString(),
+ //PlatForm = string.Format("{0}-{1}", userAgent.OS.ToString(), userAgent.RawValue),
+ CreatorTime = DateTime.Now
+ }));
}
});
await TaskDelay(timeType, interval);
@@ -182,7 +183,7 @@ namespace Tnb.WarehouseMgr
public override Task StopAsync(CancellationToken cancellationToken)
{
-
+
IsStarted = false;
return Task.CompletedTask;
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs
index 9f3238a4..49506b6c 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs
@@ -343,7 +343,7 @@ namespace Tnb.WarehouseMgr
//获取目标库位为电梯库位的任务
var endLocCodes = disTasks
- .Where(it => it.endlocation_code.StartsWith("DT", StringComparison.OrdinalIgnoreCase) &&
+ .Where(it => it.endlocation_code.StartsWith("DT", StringComparison.OrdinalIgnoreCase) &&
!it.area_code.Contains("ELE", StringComparison.OrdinalIgnoreCase)
).Select(it => (it.endlocation_code, it.device_id, it.id, it.start_floor)).ToList();
if (endLocCodes?.Count > 0)
@@ -454,28 +454,7 @@ namespace Tnb.WarehouseMgr
throw;
}
}
- ///
- /// 根据当前目标楼层获取,电梯接口真正的楼层
- ///
- ///
- ///
- private Task GetRealFloor(int floor)
- {
- var realFloor = 0;
- if (floor == 4)
- {
- realFloor = 5;
- }
- else if (floor == 3)
- {
- realFloor = 4;
- }
- else if (floor == 2)
- {
- realFloor = 3;
- }
- return Task.FromResult(realFloor);
- }
+
///
/// 执行到目标楼层电梯任务
///
@@ -488,6 +467,7 @@ namespace Tnb.WarehouseMgr
try
{
var elevatorQueueItem = await _db.Queryable().FirstAsync(it => it.task_status == "执行中");
+ Log.Information($"是否存在电梯任务项:{elevatorQueueItem != null}");
if (elevatorQueueItem != null)
{
//var disTask = disTasks.Find(x => x.id == elevatorQueueItem.distask_id);
@@ -499,10 +479,12 @@ namespace Tnb.WarehouseMgr
do
{
doorStatus = await _elevatorControlService.GetTagAsync(elevatorQueueItem.elevator_code, ElevatorConsts.DoorStatus);
+ await Task.Delay(2000);
} while (doorStatus != 4);
+ Log.Information($"当前门状态:{doorStatus}");
var floor = await GetRealFloor(disTask.end_floor.ParseToInt());
Log.Information($"目标楼层:{floor}");
- Log.Information($"当前门状态:{doorStatus}");
+
//发送到目标楼的指令
var reuslt = await _elevatorControlService.WriteTagAsync(elevatorQueueItem.elevator_code, ElevatorConsts.FloorExecute, floor);
//电梯任务手动执行任务状态上报
@@ -511,17 +493,20 @@ namespace Tnb.WarehouseMgr
do
{
tuple = await _elevatorControlService.GetElevatorStatus(elevatorQueueItem.elevator_code, CancellationToken.None);
- } while (tuple.sysStatus != 3 && tuple.runStatus != 0 && tuple.floorNo != disTask.end_floor.ParseToInt());
+ await Task.Delay(2000);
+ } while (tuple.sysStatus != 3 && tuple.runStatus != 0);
- Log.Information($"sysStatus:{tuple.sysStatus},runStatus:{tuple.runStatus},floorNo:{tuple.floorNo}");
+ Log.Information($"sysStatus:{tuple.sysStatus},runStatus:{tuple.runStatus},floorNo:{tuple.floorNo},disTask.end_floor={disTask.end_floor}");
- if (tuple.sysStatus.ToEnum() == EnumSysStatus.正常状态 && tuple.runStatus.ToEnum() == EnumRunStatus.停梯
- && tuple.floorNo == disTask.end_floor.ParseToInt())
+ if (tuple.sysStatus.ToEnum() == EnumSysStatus.正常状态 && tuple.runStatus.ToEnum() == EnumRunStatus.停梯)
{
- dynamic input = new ExpandoObject();
- input.disTaskIds = new List { disTask.id };
- await TaskExecuteAfter(input);
- await TaskComplate(input);
+ Log.Information($"disTask.require_id={disTask.require_id}");
+
+ List disTaskIds = new() { disTask.id };
+ TaskExecuteAfterUpInput teaUpInput = new() { disTaskIds = disTaskIds };
+ await TaskExecuteAfter(teaUpInput);
+ TaskCompleUpInput tcUpInput = new() { disTaskIds = disTaskIds };
+ await TaskComplate(tcUpInput);
}
}
}
@@ -712,28 +697,35 @@ namespace Tnb.WarehouseMgr
locIts.Add(loc);
}
-
+ Log.Information("更新载具及库位开始.....");
await _db.Updateable(carryIts).UpdateColumns(it => new { it.is_lock, it.location_id, it.location_code }).ExecuteCommandAsync();
//更新条码的库位和仓库信息
await _db.Updateable(carryCodeIts).UpdateColumns(it => new { it.warehouse_id, it.location_id, it.location_code }).Where(it => multiList.Select(x => x.carry_id).Contains(it.carry_id)).ExecuteCommandAsync();
//更新库位信息,使用状态为 使用,锁定状态为未锁定
await _db.Updateable(locIts).UpdateColumns(it => new { it.is_use, it.is_lock }).ExecuteCommandAsync();
+ Log.Information("更新载具及库位结束.....");
+ Log.Information($"_userManager.LoginType={_userManager.LoginType}");
//更新业务主表的单据状态
foreach (var dt in disTasks)
{
var disTaskCodes = await _db.Queryable().Where(it => it.bill_id == dt.id).ToListAsync();
var upInput = new WareHouseUpInput { bizTypeId = dt.biz_type, requireId = dt.require_id!, distaskCodes = disTaskCodes, carryIds = disTasks.Select(x => x.carry_id).ToList() };
+
upInput.loginType = !_userManager.LoginType.IsNullOrEmpty() ? "app" : "web";
+ Log.Information($"upInput.loginType={upInput.loginType}");
if (dt.is_sign == 1 && dt.chain_type == "3")
{
+ Log.Information("执行业务回更操作.....");
await DoUpdate(upInput);
}
}
}
await _db.Ado.CommitTranAsync();
}
- catch (Exception)
+ catch (Exception ex)
{
+ Log.Error($"任务结束失败", ex);
+ Log.Error($"任务结束失败堆栈异常", ex.StackTrace);
await _db.Ado.RollbackTranAsync();
throw;
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsSetSortingService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsSetSortingService.cs
index 4010eacc..964e62b0 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmsSetSortingService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsSetSortingService.cs
@@ -103,20 +103,22 @@ namespace Tnb.WarehouseMgr
//Console.WriteLine($"ThreadID:{Thread.CurrentThread.ManagedThreadId}\t Thread pool: {Thread.CurrentThread.IsThreadPoolThread}");
var curDb = _db.CopyNew();
- string firstLocationId = "27010980724501", secondLocationId = "27010987857941";
- var endLocation = await curDb.Queryable().SingleAsync(it => it.id == secondLocationId);
- var setSortings = await curDb.Queryable()
- .Where(a => a.status == WmsWareHouseConst.BILLSTATUS_ADD_ID)
- .Select()
- .OrderBy(a => a.seq)
- .ToListAsync();
- var items = await curDb.Queryable().Where(it => it.status == WmsWareHouseConst.BILLSTATUS_ON_ID).ToListAsync();
- var onFlag = items?.Count > 0;
try
{
await curDb.Ado.BeginTranAsync();
+ string firstLocationId = "27010980724501", secondLocationId = "27010987857941";
+ var endLocation = await curDb.Queryable().FirstAsync(it => it.id == secondLocationId);
+
+ var setSortings = await curDb.Queryable()
+ .Where(a => a.status == WmsWareHouseConst.BILLSTATUS_ADD_ID)
+ .Select()
+ .OrderBy(a => a.seq)
+ .ToListAsync();
+ var items = await curDb.Queryable().Where(it => it.status == WmsWareHouseConst.BILLSTATUS_ON_ID).ToListAsync();
+ var onFlag = items?.Count > 0;
+
if (setSortings?.Count > 0 && !onFlag)
{
var singleSorting = setSortings[0];
@@ -263,19 +265,24 @@ namespace Tnb.WarehouseMgr
{
JNPF.Logging.Log.Error("齐套分拣执行时出现错误", ex);
await curDb.Ado.RollbackTranAsync();
- TimedTaskErrorInfo ei = new()
+
+ if (_userManager?.ToKen.IsNullOrEmpty() ?? false)
{
- RequestURL = App.HttpContext?.Request?.Path,
- RequestMethod = App.HttpContext?.Request?.Method,
- userIdentity = await GetUserIdentity(_userManager.ToKen),
- };
- var timedTaskEx = ex.ToTimedTaskException(ei);
- //cts?.Cancel();
- throw timedTaskEx;
+ TimedTaskErrorInfo ei = new()
+ {
+ RequestURL = App.HttpContext?.Request?.Path,
+ RequestMethod = App.HttpContext?.Request?.Method,
+ userIdentity = await GetUserIdentity(_userManager.ToKen),
+ };
+ var timedTaskEx = ex.ToTimedTaskException(ei);
+ //cts?.Cancel();
+ throw timedTaskEx;
+ }
+
}
finally
{
- await Publish(nameof(IWareHouseService.GenTaskExecute));
+ //await Publish(nameof(IWareHouseService.GenTaskExecute));
}
}
diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs
index dfcc3037..c5ce1a7a 100644
--- a/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs
+++ b/WarehouseMgr/Tnb.WarehouseMgr/WmskittingOutService.cs
@@ -80,12 +80,10 @@ namespace Tnb.WarehouseMgr
[HttpPost, Timed(Name = nameof(KittingOutByAdd))]
public async Task KittingOutByAdd(CancellationToken? ct = default)
{
- //if (UserManager.AsscessToken.IsNullOrWhiteSpace()) return;
- //var curUser = await GetUserIdentity();
- if (ct?.IsCancellationRequested ?? false)
- {
- ct?.ThrowIfCancellationRequested();
- }
+ //if (ct?.IsCancellationRequested ?? false)
+ //{
+ // ct?.ThrowIfCancellationRequested();
+ //}
var curDb = _db.CopyNew();
try
{
@@ -171,15 +169,18 @@ namespace Tnb.WarehouseMgr
{
Log.Error("齐套出库,新增时出现错误", ex);
await curDb.Ado.RollbackTranAsync();
- TimedTaskErrorInfo ei = new()
+ if(_userManager?.ToKen.IsNullOrEmpty() ?? false)
{
- RequestURL = App.HttpContext?.Request?.Path,
- RequestMethod = App.HttpContext?.Request?.Method,
- userIdentity = await GetUserIdentity(_userManager.ToKen),
- };
- var timedTaskEx = ex.ToTimedTaskException(ei);
- //cts?.Cancel();
- throw timedTaskEx;
+ TimedTaskErrorInfo ei = new()
+ {
+ RequestURL = App.HttpContext?.Request?.Path,
+ RequestMethod = App.HttpContext?.Request?.Method,
+ userIdentity = await GetUserIdentity(_userManager.ToKen),
+ };
+ var timedTaskEx = ex.ToTimedTaskException(ei);
+ //cts?.Cancel();
+ throw timedTaskEx;
+ }
}
}
///
@@ -278,19 +279,23 @@ namespace Tnb.WarehouseMgr
{
Log.Error("齐套出库,待配送时出现错误", ex);
await curDb.Ado.RollbackTranAsync();
- TimedTaskErrorInfo ei = new()
+ if(_userManager?.ToKen.IsNullOrEmpty() ?? false)
{
- RequestURL = App.HttpContext?.Request?.Path,
- RequestMethod = App.HttpContext?.Request?.Method,
- userIdentity = await GetUserIdentity(_userManager.ToKen),
- };
- var timedTaskEx = ex.ToTimedTaskException(ei);
- //cts?.Cancel();
- throw timedTaskEx;
+ TimedTaskErrorInfo ei = new()
+ {
+ RequestURL = App.HttpContext?.Request?.Path,
+ RequestMethod = App.HttpContext?.Request?.Method,
+ userIdentity = await GetUserIdentity(_userManager.ToKen),
+ };
+ var timedTaskEx = ex.ToTimedTaskException(ei);
+ //cts?.Cancel();
+ throw timedTaskEx;
+
+ }
}
finally
{
- await Publish(nameof(IWareHouseService.GenTaskExecute));
+ //await Publish(nameof(IWareHouseService.GenTaskExecute));
}
}
diff --git a/apihost/Tnb.API.Entry/Startup.cs b/apihost/Tnb.API.Entry/Startup.cs
index 1647effe..88292407 100644
--- a/apihost/Tnb.API.Entry/Startup.cs
+++ b/apihost/Tnb.API.Entry/Startup.cs
@@ -65,10 +65,9 @@ public class Startup : AppStartup
//注册任务消息通知 added by ly on 20230814
services.AddTaskMessageNotify();
+ SnowflakeIdHelper.InitYitIdWorker();
//定时任务
services.AddHostedService();
- //Agv心跳监听服务
- //services.AddHostedService();
}
@@ -116,7 +115,7 @@ public class Startup : AppStartup
endpoints.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=Index}/{id?}");
});
- SnowflakeIdHelper.InitYitIdWorker();
+ //SnowflakeIdHelper.InitYitIdWorker();
bool isStartTimeJob = App.GetConfig("IsStartTimeJob");
if (isStartTimeJob)