Files
HTCloud/HT.Cloud.Service/ReportManage/RtReportService.cs

114 lines
3.5 KiB
C#
Raw Permalink Normal View History

using MiniExcelLibs;
using Serenity.Services;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HT.Cloud.Domain.ReportManage;
using Newtonsoft.Json.Linq;
using System.Data;
using HT.Cloud.Code;
using HT.Cloud.Domain.ChartsManage;
2023-08-24 09:28:09 +08:00
using HT.Cloud.Domain.DevicesManage;
namespace HT.Cloud.Service.ReportManage
{
public class RtReportService : BaseService<RtReportEntity>, IDenpendency
{
2023-08-24 09:28:09 +08:00
/// <summary>
/// 绑定数据仓库的数据库ID
/// </summary>
private string dataDBNumber = GlobalContext.SystemConfig.DataDBNumber;
public RtReportService(ISqlSugarClient context) : base(context)
{
}
public async Task<string> GetRtSubsysTagValue()
{
2023-08-24 09:28:09 +08:00
var srcList = _context.AsTenant().QueryableWithAttr<RtReportEntity>().ToList();
2023-08-24 09:28:09 +08:00
var remoteRtDataServer = _context.AsTenant().QueryableWithAttr<RtchartsEntity>().First().remotertdataserver;
var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer);
JObject valueJson = JObject.Parse(responseStr);
var srcTagRtValues = new List<SrcTagRtValue>();
foreach(var src in srcList)
{
string SubsysName = src.HSYS.ToString();
string Description = src.HPRO.ToString();
string TagName = src.HVAR.ToString();
string srcValue = valueJson[TagName].ToString();
string hSig = src.HSIG.ToString();
string Value = "";
if (hSig == "SS")
{
if (srcValue == "True")
Value = "开启";
else
Value = "停止";
}
else if (hSig == "OC")
{
if (srcValue == "True")
Value = "开";
else
Value = "关";
}
else if (hSig == "VP")
{
Value = Convert.ToDouble(srcValue).ToString("f2");
}
else if (hSig == "PE")
{
Value = srcValue + "%";
}
else if (hSig == "YN")
{
if (srcValue == "True")
Value = "是";
else
Value = "否";
}
else if (hSig == "AM")
{
if (srcValue == "True")
Value = "自动";
else
Value = "手动";
}
srcTagRtValues.Add(new SrcTagRtValue() {TagName = TagName, Description = Description, Value = Value });
}
var dt = new Dictionary<string, string>();
2023-04-25 10:27:55 +08:00
try
{
2023-04-25 10:27:55 +08:00
foreach (var src in srcTagRtValues)
{
dt.Add(src.TagName, src.Value);
}
}
2023-04-25 10:27:55 +08:00
catch(Exception ex) { Console.Write(ex.ToString()); }
dt.Add("RtTime",DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
return dt.ToJson();
}
public class SrcTagRtValue
{
public string TagName {get;set;}
public string Description { get; set; }
public string Value { get; set; }
}
}
}