电梯代码优化
This commit is contained in:
@@ -190,18 +190,18 @@ namespace Tnb.WarehouseMgr
|
||||
public async Task<bool> SendOpenCloseCmd(string devName, int value)
|
||||
{
|
||||
var flag = false;
|
||||
/*Dictionary<string, string> dicCommand = new(StringComparer.OrdinalIgnoreCase)
|
||||
Dictionary<string, string> dicCommand = new(StringComparer.OrdinalIgnoreCase)
|
||||
{
|
||||
["DevName"] = devName,
|
||||
["token"] = _elevatorCtlCfg.token,
|
||||
["TagName"] = "DoorExecute",
|
||||
["Value"] = value.ToString()
|
||||
};*/
|
||||
};
|
||||
var eleStatusMap = await RedisHelper.HGetAllAsync(devName);
|
||||
try
|
||||
{
|
||||
//_ = await HttpClientHelper.GetAsync(_elevatorCtlCfg.WriteTagUrl, pars: dicCommand);
|
||||
flag = await RedisHelper.HSetAsync(devName, ElevatorConsts.DoorExecute, value);
|
||||
_ = await HttpClientHelper.GetAsync(_elevatorCtlCfg.WriteTagUrl, pars: dicCommand);
|
||||
//flag = await RedisHelper.HSetAsync(devName, ElevatorConsts.DoorExecute, value);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
@@ -236,16 +236,16 @@ namespace Tnb.WarehouseMgr
|
||||
/// <returns></returns>
|
||||
public async Task<dynamic> WriteTagAsync(string devName, string tagName, int value)
|
||||
{
|
||||
/*Dictionary<string, string> dicCommand = new(StringComparer.OrdinalIgnoreCase)
|
||||
Dictionary<string, string> dicCommand = new(StringComparer.OrdinalIgnoreCase)
|
||||
{
|
||||
["DevName"] = devName,
|
||||
["token"] = _elevatorCtlCfg.token,
|
||||
["TagName"] = tagName,
|
||||
["Value"] = value.ToString()
|
||||
};
|
||||
return await HttpClientHelper.GetAsync(_elevatorCtlCfg.WriteTagUrl, pars: dicCommand);*/
|
||||
return await HttpClientHelper.GetAsync(_elevatorCtlCfg.WriteTagUrl, pars: dicCommand);
|
||||
|
||||
return await RedisHelper.HSetAsync(devName, tagName, value);
|
||||
//return await RedisHelper.HSetAsync(devName, tagName, value);
|
||||
|
||||
}
|
||||
|
||||
@@ -272,7 +272,7 @@ namespace Tnb.WarehouseMgr
|
||||
if (eleStatusMap.ContainsKey(tagName))
|
||||
{
|
||||
JObject jo = JObject.Parse(eleStatusMap[tagName]);
|
||||
return jo.Value<int>("V");
|
||||
return jo.Value<int>("Value");
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
@@ -355,7 +355,7 @@ namespace Tnb.WarehouseMgr
|
||||
{
|
||||
if (statusMap.ContainsKey(tag))
|
||||
{
|
||||
jos.Add(JObject.Parse(tag));
|
||||
jos.Add(JObject.Parse(statusMap[tag]));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -377,7 +377,7 @@ namespace Tnb.WarehouseMgr
|
||||
continue;
|
||||
}
|
||||
string? tagName = jo!.Value<string>("TagName");
|
||||
int value = jo!.Value<int>("V");
|
||||
int value = jo!.Value<int>("Value");
|
||||
|
||||
if (propertyMap.TryGetValue(tagName!, out var setProperty))
|
||||
{
|
||||
@@ -457,12 +457,12 @@ namespace Tnb.WarehouseMgr
|
||||
{
|
||||
_ = await SendOpenCloseCmd(devName, (int)EnumAgvControl.前门关门);
|
||||
}
|
||||
isSuccefuly = await WriteTagAsync(devName, ElevatorConsts.FloorExecute, floor); //呼叫电梯到指定楼层
|
||||
//if (!string.IsNullOrEmpty(result))
|
||||
//{
|
||||
// JObject jo = JObject.Parse(result);
|
||||
// isSuccefuly = jo?.Value<string>("Result")?.Equals("Ok", StringComparison.OrdinalIgnoreCase) ?? false;
|
||||
//}
|
||||
dynamic result = await WriteTagAsync(devName, ElevatorConsts.FloorExecute, floor); //呼叫电梯到指定楼层
|
||||
if (!string.IsNullOrEmpty(result))
|
||||
{
|
||||
JObject jo = JObject.Parse(result);
|
||||
isSuccefuly = jo?.Value<string>("Result")?.Equals("Ok", StringComparison.OrdinalIgnoreCase) ?? false;
|
||||
}
|
||||
}
|
||||
return isSuccefuly;
|
||||
}
|
||||
@@ -486,22 +486,8 @@ namespace Tnb.WarehouseMgr
|
||||
{
|
||||
throw new ArgumentNullException(nameof(input.devNames));
|
||||
}
|
||||
//var tasks = ParallelWriteTagAsync(input);
|
||||
List<Dictionary<string, string>> devInfoList = new();
|
||||
foreach (var dn in input.devNames)
|
||||
{
|
||||
var eleStatusMap = await RedisHelper.HGetAllAsync(dn);
|
||||
if (eleStatusMap?.Count > 0)
|
||||
{
|
||||
devInfoList.Add(eleStatusMap);
|
||||
}
|
||||
}
|
||||
foreach (var devMap in devInfoList)
|
||||
{
|
||||
devMap[ElevatorConsts.AGVControl] = input.value.ToString();
|
||||
}
|
||||
|
||||
//var writeRes = await Task.WhenAll(tasks);
|
||||
var tasks = ParallelWriteTagAsync(input);
|
||||
var writeRes = await Task.WhenAll(tasks);
|
||||
var timedTaskSvc = _backgudSvc as TimedTaskBackgroundService;
|
||||
if (timedTaskSvc != null)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user