增加连接串加密,粤北安装版本封存
This commit is contained in:
198
HT.Cloud.Service/ReportManage/MainPageService.cs
Normal file
198
HT.Cloud.Service/ReportManage/MainPageService.cs
Normal file
@ -0,0 +1,198 @@
|
||||
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;
|
||||
using Quartz;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace HT.Cloud.Service.ReportManage
|
||||
{
|
||||
public class MainPageService : BaseService<RTMainPageEntity>, IDenpendency
|
||||
{
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string dataDBNumber = GlobalContext.SystemConfig.DataDBNumber;
|
||||
|
||||
public MainPageService(ISqlSugarClient context) : base(context)
|
||||
{
|
||||
}
|
||||
|
||||
public async Task<string> GetRtData(string systemName)
|
||||
{
|
||||
var groupName = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
var driverId = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||
var driverName = _context.AsTenant().QueryableWithAttr<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||
var list = _context.AsTenant().GetConnection(dataDBNumber).Ado.SqlQuery<RTMainPageEntity>($"SELECT * FROM HT_{driverName}_{groupName}_MAINPAGE");
|
||||
|
||||
var remoteRtDataServer = _context.AsTenant().QueryableWithAttr<RtTechChartsEntity>().First().remotertdataserver + $"?groupName={groupName}";
|
||||
|
||||
var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer);
|
||||
|
||||
JObject valueJson = JObject.Parse(responseStr);
|
||||
|
||||
var srcTagRtValues = new List<SrcTagRtValue>();
|
||||
var dt = new Dictionary<string, string>();
|
||||
foreach (var src in list)
|
||||
{
|
||||
string elementIndex = src.ElementIndex.ToString();
|
||||
string Description = src.Description.ToString();
|
||||
string TagName = src.TagName.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 = "手动";
|
||||
}
|
||||
dt.Add(elementIndex, Value);
|
||||
}
|
||||
return dt.ToJson();
|
||||
}
|
||||
|
||||
public async Task<string> GetRtChartData(string systemName)
|
||||
{
|
||||
var groupName = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
var driverId = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||
var driverName = _context.AsTenant().QueryableWithAttr<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||
var list = _context.AsTenant().GetConnection(dataDBNumber).Ado.SqlQuery<RTMainPageEntity>($"SELECT * FROM HT_{driverName}_{groupName}_MAINPAGE");
|
||||
var dlist = list.Where(x => x.ElementIndex.Contains("C") && x.Hsig == "VP").ToList();
|
||||
var rlist = new List<ChartDataFormat>();
|
||||
|
||||
var datetimeNow = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
||||
|
||||
foreach (var item in dlist)
|
||||
{
|
||||
var chartDataFormat = new ChartDataFormat();
|
||||
chartDataFormat.TagName = item.TagName;
|
||||
chartDataFormat.Description = item.Description + $"({item.Units})";
|
||||
|
||||
var remoteRtDataServer = _context.AsTenant().QueryableWithAttr<RtTechChartsEntity>().First().remotertdataserver + $"?groupName={groupName}";
|
||||
|
||||
var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer);
|
||||
|
||||
JObject valueJson = JObject.Parse(responseStr);
|
||||
|
||||
chartDataFormat.Value = valueJson[item.TagName].ToString();
|
||||
|
||||
chartDataFormat.RtTime = datetimeNow;
|
||||
|
||||
rlist.Add(chartDataFormat);
|
||||
}
|
||||
return rlist.ToJson();
|
||||
}
|
||||
|
||||
public async Task<string> GetMainPageInit(string systemName)
|
||||
{
|
||||
var groupName = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
var driverId = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||
var driverName = _context.AsTenant().QueryableWithAttr<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||
var list = _context.AsTenant().GetConnection(dataDBNumber).Ado.SqlQuery<RTMainPageEntity>($"SELECT * FROM HT_{driverName}_{groupName}_MAINPAGE");
|
||||
Dictionary<string,string> dict = new Dictionary<string, string>();
|
||||
foreach (var item in list)
|
||||
{
|
||||
if (item.Hsig == "VP")
|
||||
{
|
||||
dict.Add(item.ElementIndex + "_Title", item.Description + "(" + item.Units + ")");
|
||||
}
|
||||
else
|
||||
{
|
||||
dict.Add(item.ElementIndex + "_Title", item.Description);
|
||||
}
|
||||
}
|
||||
return dict.ToJson();
|
||||
}
|
||||
|
||||
|
||||
public async Task<string> GetMainPageChartInit(string systemName)
|
||||
{
|
||||
var groupName = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
var driverId = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||
var driverName = _context.AsTenant().QueryableWithAttr<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||
var list = _context.AsTenant().GetConnection(dataDBNumber).Ado.SqlQuery<RTMainPageEntity>($"SELECT * FROM HT_{driverName}_{groupName}_MAINPAGE");
|
||||
var dlist = list.Where(x=>x.ElementIndex.Contains("C")&&x.Hsig == "VP").ToList();
|
||||
var rlist = new List<ChartDataFormat>();
|
||||
|
||||
var datetimeNow = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
||||
|
||||
foreach (var item in dlist)
|
||||
{
|
||||
var chartDataFormat = new ChartDataFormat();
|
||||
chartDataFormat.TagName = item.TagName;
|
||||
chartDataFormat.Description = item.Description + $"({item.Units})";
|
||||
|
||||
var remoteRtDataServer = _context.AsTenant().QueryableWithAttr<RtTechChartsEntity>().First().remotertdataserver+ $"?groupName={groupName}";
|
||||
|
||||
var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer);
|
||||
|
||||
JObject valueJson = JObject.Parse(responseStr);
|
||||
|
||||
chartDataFormat.Value = valueJson[item.TagName].ToString();
|
||||
|
||||
chartDataFormat.RtTime = datetimeNow;
|
||||
|
||||
rlist.Add(chartDataFormat);
|
||||
}
|
||||
return rlist.ToJson();
|
||||
}
|
||||
|
||||
public class ChartDataFormat
|
||||
{
|
||||
public string TagName { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string Value { get; set; }
|
||||
public string RtTime { get; set; }
|
||||
}
|
||||
|
||||
public class SrcTagRtValue
|
||||
{
|
||||
public string TagName {get;set;}
|
||||
public string Description { get; set; }
|
||||
public string Value { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user