与任务执行,新增信号量锁,解决并发环境下数据的一致性问题
This commit is contained in:
@@ -61,7 +61,7 @@ namespace Tnb.WarehouseMgr
|
||||
IEventPublisher eventPublisher,
|
||||
IUserManager userManger,
|
||||
IElevatorControlService elevatorControlService
|
||||
) : base(repository.AsSugarClient())
|
||||
) //: base(repository.AsSugarClient())
|
||||
{
|
||||
_db = repository.AsSugarClient();
|
||||
_wareHouseService = wareHouseService;
|
||||
@@ -69,6 +69,7 @@ namespace Tnb.WarehouseMgr
|
||||
_eventPublisher = eventPublisher;
|
||||
_userManager = userManger;
|
||||
_elevatorControlService = elevatorControlService;
|
||||
_ = InitializationTask;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -111,7 +112,7 @@ namespace Tnb.WarehouseMgr
|
||||
try
|
||||
{
|
||||
Logger.Information($"当前任务Id:{elevator.distask_id}");
|
||||
if (_elevatorMap.TryGetValue(elevator.device_id, out var elevatorCode))
|
||||
if (s_elevatorMap.TryGetValue(elevator.device_id, out var elevatorCode))
|
||||
{
|
||||
var devName = elevatorCode?.ToString() ?? _eleCtlCfg.DevName;
|
||||
(int sysStatus, int runStatus, int floorNo, int doorStatus, int agvStatus) = await _elevatorControlService.GetElevatorStatus(devName, CancellationToken.None);
|
||||
@@ -164,7 +165,7 @@ namespace Tnb.WarehouseMgr
|
||||
.FirstAsync();
|
||||
if (elevator.IsNull())
|
||||
throw new Exception($"根据参数,sourceName:{input.sourceName},taskCode:{input.taskCode},未找到匹配的电梯任务");
|
||||
if (_elevatorMap.TryGetValue(elevator.elevator_id, out var elevatorCode))
|
||||
if (s_elevatorMap.TryGetValue(elevator.elevator_id, out var elevatorCode))
|
||||
{
|
||||
var devName = elevatorCode?.ToString() ?? _eleCtlCfg.DevName;
|
||||
(int sysStatus, int runStatus, int floorNo, int doorStatus, int agvStatus) = await _elevatorControlService.GetElevatorStatus(devName, CancellationToken.None);//elevator.elevator_code
|
||||
|
||||
Reference in New Issue
Block a user