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; using HT.Cloud.Domain.DevicesManage; namespace HT.Cloud.Service.ReportManage { public class RtReportService : BaseService, IDenpendency { /// /// 绑定数据仓库的数据库ID /// private string dataDBNumber = GlobalContext.SystemConfig.DataDBNumber; public RtReportService(ISqlSugarClient context) : base(context) { } public async Task GetRtSubsysTagValue() { var srcList = _context.AsTenant().QueryableWithAttr().ToList(); var remoteRtDataServer = _context.AsTenant().QueryableWithAttr().First().remotertdataserver; var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer); JObject valueJson = JObject.Parse(responseStr); var srcTagRtValues = new List(); 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(); try { foreach (var src in srcTagRtValues) { dt.Add(src.TagName, src.Value); } } 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; } } } }