Files
tnb.server/ProductionMgr/Tnb.ProductionMgr/RedisDataService.cs
2023-11-03 15:42:51 +08:00

68 lines
11 KiB
C#

using System.Collections;
using JNPF.Common.Cache;
using JNPF.Common.Extension;
using JNPF.Common.Manager;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.FriendlyException;
using JNPF.TaskScheduler;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Tnb.ProductionMgr.Interfaces;
namespace Tnb.ProductionMgr
{
/// <summary>
/// 数据采集
/// </summary>
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 700)]
[Route("api/[area]/[controller]/[action]")]
public class RedisDataService: IRedisDataService, IDynamicApiController, ITransient
{
private readonly RedisCache _redisCache;
public RedisDataService(RedisCache redisCache)
{
_redisCache = redisCache;
}
/// <summary>
/// 根据机号获取重量
/// </summary>
[HttpPost]
public async Task<dynamic> GetWeight(string device, string jihao)
{
/*
var dic = _redisCache.HGetAll("TY4C-ZHUSU1");
string a= "weighCall_7&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_7\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_4&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_4\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_6&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_6\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_2&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_2\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_5&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_5\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_11&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_11\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_1&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_1\",\"StatusCode\":0,\"Value\":1.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:31:03\"}$weight_12&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_12\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_11&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_11\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_9&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_9\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_4&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_4\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_7&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_7\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_14&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_14\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_7&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_7\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_10&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_10\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_1&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_1\",\"StatusCode\":0,\"Value\":true,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:10:51\"}$weighDone_12&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_12\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_14&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_14\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_14&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_14\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_11&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_11\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_5&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_5\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_9&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_9\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_13&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_13\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_8&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_8\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_2&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_2\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_2&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_2\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_8&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_8\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_3&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_3\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_14&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_14\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_9&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_9\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_7&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_7\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_3&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_3\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_8&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_8\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_1&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_1\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_12&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_12\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_4&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_4\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_1&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_1\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_6&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_6\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_2&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_2\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_3&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_3\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_10&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_10\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_10&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_10\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_13&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_13\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$State&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"State\",\"StatusCode\":0,\"Value\":\"OK\",\"TagValueType\":\"Unkown\",\"TimeStamp\":\"2023-11-02 11:14:28\"}$weighCall_12&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_12\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_6&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_6\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_13&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_13\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_10&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_10\",\"StatusCode\":0,\"Value\":33.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 10:19:44\"}$weighDone_11&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_11\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_9&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_9\",\"StatusCode\":0,\"Value\":11.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 10:15:26\"}$weight_8&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_8\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_4&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_4\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighCall_6&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighCall_6\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_5&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_5\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weighDone_5&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weighDone_5\",\"StatusCode\":0,\"Value\":false,\"TagValueType\":\"Bit\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weightSum_13&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weightSum_13\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$weight_3&{\"DevName\":\"TY4C-ZHUSU1\",\"TagName\":\"weight_3\",\"StatusCode\":0,\"Value\":0.0,\"TagValueType\":\"Float\",\"TimeStamp\":\"2023-11-03 09:09:02\"}$";
foreach (var kvp in dic)
{
a += kvp.Key + "&" + kvp.Value + "$";
}
var ss= a.Split('$', StringSplitOptions.RemoveEmptyEntries);
foreach (var s in ss)
{
var b = s.Split('&');
_redisCache.HSet("TY4C-ZHUSU1", b[0], b[1]);
}
*/
decimal result = 0;
bool flag = await _redisCache.HashExist(device, jihao);
if (!flag)
throw Oops.Bah("没有找到" + device + "----" + jihao + "的数据");
var data = await _redisCache.GetHash(device, jihao);
var res = JsonConvert.DeserializeObject<JObject>(data);
if (res != null && res["Value"] != null)
{
result = decimal.Parse(res["Value"]!.ToString());
}
else
{
throw Oops.Bah("数据格式错误");
}
return result;
}
}
}