电梯代码优化

This commit is contained in:
yang.lee
2023-12-12 14:28:38 +08:00
parent 5fde13ece9
commit fbdc7de3b9
17 changed files with 275 additions and 282 deletions

View File

@@ -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)
{