增加连接串加密,粤北安装版本封存
This commit is contained in:
@ -9,6 +9,11 @@ namespace HT.Cloud.Code.Model
|
||||
/// </summary>
|
||||
public bool Demo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 系统备注
|
||||
/// </summary>
|
||||
public string GroupDescription { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否是调试模式
|
||||
/// </summary>
|
||||
@ -25,7 +30,7 @@ namespace HT.Cloud.Code.Model
|
||||
public string AllowCorsSite { get; set; }
|
||||
|
||||
public string DBProvider { get; set; }
|
||||
public string DBConnectionString { get; set; }
|
||||
public string DBConnectionString{ get; set; }
|
||||
public int DBCommandTimeout { get; set; }
|
||||
|
||||
public string CacheProvider { get; set; }
|
||||
|
124
HT.Cloud.Code/Security/AESKeyEncrypt.cs
Normal file
124
HT.Cloud.Code/Security/AESKeyEncrypt.cs
Normal file
@ -0,0 +1,124 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace HT.Cloud.Code
|
||||
{
|
||||
public static class AESKeyEncrypt
|
||||
{
|
||||
#region 加解密方法二(Sha256和Sha512)
|
||||
/// <summary>
|
||||
/// Creates a SHA256 hash of the specified input.
|
||||
/// </summary>
|
||||
/// <param name="input">The input.</param>
|
||||
/// <returns>A hash</returns>
|
||||
public static string Sha256(this string input)
|
||||
{
|
||||
if (String.IsNullOrEmpty(input)) return string.Empty;
|
||||
using (var sha = SHA256.Create())
|
||||
{
|
||||
var bytes = Encoding.UTF8.GetBytes(input);
|
||||
var hash = sha.ComputeHash(bytes);
|
||||
return Convert.ToBase64String(hash);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Creates a SHA256 hash of the specified input.
|
||||
/// </summary>
|
||||
/// <param name="input">The input.</param>
|
||||
/// <returns>A hash.</returns>
|
||||
public static byte[] Sha256(this byte[] input)
|
||||
{
|
||||
if (input == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
using (var sha = SHA256.Create())
|
||||
{
|
||||
return sha.ComputeHash(input);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Creates a SHA512 hash of the specified input.
|
||||
/// </summary>
|
||||
/// <param name="input">The input.</param>
|
||||
/// <returns>A hash</returns>
|
||||
public static string Sha512(this string input)
|
||||
{
|
||||
if (string.IsNullOrEmpty(input)) return string.Empty;
|
||||
using (var sha = SHA512.Create())
|
||||
{
|
||||
var bytes = Encoding.UTF8.GetBytes(input);
|
||||
var hash = sha.ComputeHash(bytes);
|
||||
return Convert.ToBase64String(hash);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 加密解密法一
|
||||
//默认密钥向量
|
||||
private static byte[] Keys = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F };
|
||||
|
||||
/// <summary>
|
||||
/// DES加密字符串
|
||||
/// </summary>
|
||||
/// <param name="encryptString">待加密的字符串</param>
|
||||
/// <param name="encryptKey">加密密钥,要求为16位</param>
|
||||
/// <returns>加密成功返回加密后的字符串,失败返回源串</returns>
|
||||
|
||||
public static string EncryptDES(string encryptString, string encryptKey = "HT87688588DB3037")
|
||||
{
|
||||
try
|
||||
{
|
||||
byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 16));
|
||||
byte[] rgbIV = Keys;
|
||||
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
|
||||
var DCSP = Aes.Create();
|
||||
MemoryStream mStream = new MemoryStream();
|
||||
CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
|
||||
cStream.Write(inputByteArray, 0, inputByteArray.Length);
|
||||
cStream.FlushFinalBlock();
|
||||
return Convert.ToBase64String(mStream.ToArray());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ex.Message + encryptString;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// DES解密字符串
|
||||
/// </summary>
|
||||
/// <param name="decryptString">待解密的字符串</param>
|
||||
/// <param name="decryptKey">解密密钥,要求为16位,和加密密钥相同</param>
|
||||
/// <returns>解密成功返回解密后的字符串,失败返源串</returns>
|
||||
|
||||
public static string DecryptDES(string decryptString, string decryptKey = "HT87688588DB3037")
|
||||
{
|
||||
try
|
||||
{
|
||||
byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey.Substring(0, 16));
|
||||
byte[] rgbIV = Keys;
|
||||
byte[] inputByteArray = Convert.FromBase64String(decryptString);
|
||||
var DCSP = Aes.Create();
|
||||
MemoryStream mStream = new MemoryStream();
|
||||
CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
|
||||
Byte[] inputByteArrays = new byte[inputByteArray.Length];
|
||||
cStream.Write(inputByteArray, 0, inputByteArray.Length);
|
||||
cStream.FlushFinalBlock();
|
||||
return Encoding.UTF8.GetString(mStream.ToArray());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ex.Message + decryptString;
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
@ -8,7 +8,7 @@ namespace HT.Cloud.DataBase
|
||||
public class DBContexHelper
|
||||
{
|
||||
private static string defaultDbType = GlobalContext.SystemConfig.DBProvider;
|
||||
private static string defaultDbConnectionString = GlobalContext.SystemConfig.DBConnectionString;
|
||||
private static string defaultDbConnectionString = AESKeyEncrypt.DecryptDES(GlobalContext.SystemConfig.DBConnectionString);
|
||||
|
||||
public static ConnectionConfig Contex(string ConnectStr = "", string providerName = "")
|
||||
{
|
||||
|
@ -15,7 +15,7 @@ namespace HT.Cloud.DataBase.Extensions
|
||||
{
|
||||
public class DbHelper
|
||||
{
|
||||
private static string connstring = GlobalContext.SystemConfig.DBConnectionString;
|
||||
private static string connstring = AESKeyEncrypt.DecryptDES(GlobalContext.SystemConfig.DBConnectionString);
|
||||
private static string dbType = GlobalContext.SystemConfig.DBProvider;
|
||||
|
||||
public static int ExecuteSqlCommand(string database, string backupPath)
|
||||
|
55
HT.Cloud.Domain/Entity/ReportManage/RTMainPageEntity.cs
Normal file
55
HT.Cloud.Domain/Entity/ReportManage/RTMainPageEntity.cs
Normal file
@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using SqlSugar;
|
||||
|
||||
namespace HT.Cloud.Domain.ReportManage
|
||||
{
|
||||
/// <summary>
|
||||
/// 创 建:cdl
|
||||
/// 日 期:2023-03-30 14:52
|
||||
/// 描 述:实时报表SQL转换实体类
|
||||
/// </summary>
|
||||
[SugarTable("HT_REALTIME_MAINPAGE")]
|
||||
[TenantAttribute("1")]
|
||||
public class RTMainPageEntity
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "ID", ColumnDescription = "", ColumnDataType = "int(10)")]
|
||||
public int Id { get; set; }
|
||||
/// <summary>
|
||||
/// 元素在主页位置
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "ElementIndex", ColumnDescription = "", ColumnDataType = "int(50)", IsNullable = true)]
|
||||
public string ElementIndex { get; set; }
|
||||
/// <summary>
|
||||
/// 变量名称
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "TagName", ColumnDescription = "", ColumnDataType = "int(128)", IsNullable = true)]
|
||||
public string TagName { get; set; }
|
||||
/// <summary>
|
||||
/// 显示名称
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "Description", ColumnDescription = "", ColumnDataType = "int(128)", IsNullable = true)]
|
||||
public string Description { get; set; }
|
||||
/// <summary>
|
||||
/// 内容
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "HREQ", ColumnDescription = "", ColumnDataType = "int(50)", IsNullable = true)]
|
||||
public string Hreq { get; set; }
|
||||
/// <summary>
|
||||
/// 表达式
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "HSIG", ColumnDescription = "", ColumnDataType = "int(50)", IsNullable = true)]
|
||||
public string Hsig { get; set; }
|
||||
/// <summary>
|
||||
/// 单位
|
||||
///</summary>
|
||||
[SugarColumn(ColumnName = "Units", ColumnDescription = "", ColumnDataType = "int(64)", IsNullable = true)]
|
||||
public string Units { get; set; }
|
||||
|
||||
}
|
||||
}
|
@ -32,10 +32,11 @@ namespace HT.Cloud.Service.ChartsManage
|
||||
var list_group = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().ToList();
|
||||
return list_group.ToJson();
|
||||
}
|
||||
public async Task<string> GetAllSubsystemTag()
|
||||
public async Task<string> GetAllSubsystemTag(string groupDescription)
|
||||
{
|
||||
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
|
||||
var grouped = _context.AsTenant().QueryableWithAttr<MetaTagEntity>().ToList();
|
||||
var groupId = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == groupDescription).First().GroupID;
|
||||
var grouped = _context.AsTenant().QueryableWithAttr<MetaTagEntity>().ToList().Where(x => x.GroupID == groupId);
|
||||
List<string> list_name_two = grouped.Select(t => t.Subsystem).GroupBy(c => c).Select(c => c.First()).ToList();
|
||||
int i = 0;
|
||||
foreach (var Meta_Tag in list_name_two)
|
||||
@ -46,11 +47,12 @@ namespace HT.Cloud.Service.ChartsManage
|
||||
return subsystems.ToJson();
|
||||
}
|
||||
|
||||
public async Task<string> GetSubsystemAllTag(string subsysytemName)
|
||||
public async Task<string> GetSubsystemAllTag(string subsysytemName, string groupDescription)
|
||||
{
|
||||
|
||||
var subsysname = subsysytemName;
|
||||
var response = _context.AsTenant().QueryableWithAttr<MetaTagEntity>().Where(x => x.Subsystem == subsysname).Select(x => new { x.TagID, x.Description, x.Units }).ToList();
|
||||
var groupId = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == groupDescription).First().GroupID;
|
||||
var response = _context.AsTenant().QueryableWithAttr<MetaTagEntity>().Where(x => x.Subsystem == subsysname && x.GroupID == groupId).Select(x => new { x.TagID, x.Description, x.Units }).ToList();
|
||||
var reList = new List<SubAllTagReturn>();
|
||||
foreach (var subsystem in response)
|
||||
{
|
||||
@ -66,12 +68,13 @@ namespace HT.Cloud.Service.ChartsManage
|
||||
return reList.ToJson();
|
||||
}
|
||||
|
||||
public async Task<string> GetChartsTagValueInit(string[] charts_TagIDs)
|
||||
public async Task<string> GetChartsTagValueInit(string[] charts_TagIDs, string systemName)
|
||||
{
|
||||
var tagName_list = new List<string>();
|
||||
|
||||
var result_list = new List<List<ChartData>>();
|
||||
|
||||
var groupName = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
|
||||
foreach (string tagIDTxt in charts_TagIDs)
|
||||
{
|
||||
@ -80,7 +83,7 @@ namespace HT.Cloud.Service.ChartsManage
|
||||
tagName_list.Add(TagName);
|
||||
result_list.Add(new List<ChartData>());
|
||||
}
|
||||
var remoteRtDataServer = _context.AsTenant().QueryableWithAttr<RtchartsEntity>().First().remotertdataserver;
|
||||
var remoteRtDataServer = _context.AsTenant().QueryableWithAttr<RtchartsEntity>().First().remotertdataserver + $"?groupName={groupName}";
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer);
|
||||
@ -113,12 +116,13 @@ namespace HT.Cloud.Service.ChartsManage
|
||||
return result_list.ToJson();
|
||||
}
|
||||
|
||||
public async Task<string> GetChartsTagValue(string[] charts_TagIDs)
|
||||
public async Task<string> GetChartsTagValue(string[] charts_TagIDs, string systemName)
|
||||
{
|
||||
var tagName_list = new List<string>();
|
||||
|
||||
var result_list = new List<List<ChartData>>();
|
||||
|
||||
var groupName = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||
|
||||
foreach (string tagIDTxt in charts_TagIDs)
|
||||
{
|
||||
@ -128,7 +132,7 @@ namespace HT.Cloud.Service.ChartsManage
|
||||
result_list.Add(new List<ChartData>());
|
||||
}
|
||||
|
||||
var remoteRtDataServer = _context.AsTenant().QueryableWithAttr<RtchartsEntity>().First().remotertdataserver;
|
||||
var remoteRtDataServer = _context.AsTenant().QueryableWithAttr<RtchartsEntity>().First().remotertdataserver + $"?groupName={groupName}";
|
||||
var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer);
|
||||
|
||||
JObject valueJson = JObject.Parse(responseStr);
|
||||
|
@ -28,7 +28,7 @@ namespace HT.Cloud.Service
|
||||
{
|
||||
list = new List<ConnectionConfig>();
|
||||
var data = GlobalContext.SystemConfig;
|
||||
var defaultConfig = DBContexHelper.Contex(data.DBConnectionString, data.DBProvider);
|
||||
var defaultConfig = DBContexHelper.Contex(AESKeyEncrypt.DecryptDES(data.DBConnectionString), data.DBProvider);
|
||||
defaultConfig.ConfigId = "0";
|
||||
list.Add(defaultConfig);
|
||||
try
|
||||
@ -53,7 +53,7 @@ namespace HT.Cloud.Service
|
||||
//扩展数据库
|
||||
foreach (var item in data.SqlConfig)
|
||||
{
|
||||
var config = DBContexHelper.Contex(item.DBConnectionString, item.DBProvider);
|
||||
var config = DBContexHelper.Contex(AESKeyEncrypt.DecryptDES(item.DBConnectionString), item.DBProvider);
|
||||
config.ConfigId = item.DBNumber;
|
||||
if (list.Any(a => a.ConfigId == config.ConfigId))
|
||||
{
|
||||
|
@ -152,7 +152,7 @@ namespace HT.Cloud.Service
|
||||
["quartz.jobStore.dataSource"] = "myDS", // 配置数据源名称
|
||||
["quartz.jobStore.tablePrefix"] = "QRTZ_", // quartz所使用的表,在当前数据库中的表前缀
|
||||
["quartz.jobStore.driverDelegateType"] = "Quartz.Impl.AdoJobStore.MySQLDelegate, Quartz", // 配置AdoJobStore使用的DriverDelegate
|
||||
["quartz.dataSource.myDS.connectionString"] = GlobalContext.SystemConfig.DBConnectionString, // 配置数据库连接字符串,自己处理好连接字符串,我这里就直接这么写了
|
||||
["quartz.dataSource.myDS.connectionString"] = AESKeyEncrypt.DecryptDES(GlobalContext.SystemConfig.DBConnectionString), // 配置数据库连接字符串,自己处理好连接字符串,我这里就直接这么写了
|
||||
["quartz.dataSource.myDS.provider"] = "mysql-custom", // 配置数据库提供程序(这里是自定义的,定义的代码在上面)
|
||||
["quartz.jobStore.lockHandler.type"] = "Quartz.Impl.AdoJobStore.UpdateLockRowSemaphore, Quartz",
|
||||
["quartz.serializer.type"] = "json",
|
||||
|
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; }
|
||||
}
|
||||
}
|
||||
}
|
@ -23,7 +23,10 @@ namespace HT.Cloud.Web.Areas.ChartsManage.Controllers
|
||||
public class HistoryChartsController : BaseController
|
||||
{
|
||||
public HistoryChartsService _historyChartsService { get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string groupDescription = GlobalContext.SystemConfig.GroupDescription;
|
||||
|
||||
|
||||
[HttpGet]
|
||||
|
@ -20,8 +20,11 @@ namespace HT.Cloud.Web.Areas.ChartsManage.Controllers
|
||||
public class RtchartsController : BaseController
|
||||
{
|
||||
public RtchartsService _rtchartsService { get;set;}
|
||||
|
||||
[HttpGet]
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string groupDescription = GlobalContext.SystemConfig.GroupDescription;
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetDriverGroupList()
|
||||
{
|
||||
var data = await _rtchartsService.GetDriverGroupList();
|
||||
@ -31,28 +34,28 @@ namespace HT.Cloud.Web.Areas.ChartsManage.Controllers
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetAllSubsystemTag()
|
||||
{
|
||||
var data = await _rtchartsService.GetAllSubsystemTag();
|
||||
var data = await _rtchartsService.GetAllSubsystemTag(groupDescription);
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName)
|
||||
{
|
||||
var data = await _rtchartsService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName);
|
||||
var data = await _rtchartsService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName, groupDescription);
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetChartsTagValueInit(string[] charts_TagIDs)
|
||||
{
|
||||
var data = await _rtchartsService.GetChartsTagValueInit(charts_TagIDs);
|
||||
var data = await _rtchartsService.GetChartsTagValueInit(charts_TagIDs, groupDescription);
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetChartsTagValue(string[] charts_TagIDs)
|
||||
{
|
||||
var data = await _rtchartsService.GetChartsTagValue(charts_TagIDs);
|
||||
var data = await _rtchartsService.GetChartsTagValue(charts_TagIDs, groupDescription);
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
|
@ -459,8 +459,8 @@
|
||||
@*<ul id="dataTree" class="dtree" data-id="0"></ul>*@
|
||||
<div id="aleft" style="float:left;width:100%;height:100%">
|
||||
<div class="easyui-panel" title="选择设备信息" style="width:100%;height:100%">
|
||||
<div class="easyui-combobox" id="groupselect" name="group" data-options="onSelect:function(rec){updateSelect(rec)}" style="width:100%;height:40px">
|
||||
</div>
|
||||
@*<div class="easyui-combobox" id="groupselect" name="group" data-options="onSelect:function(rec){updateSelect(rec)}" style="width:100%;height:40px">
|
||||
</div>*@
|
||||
<div class="easyui-combobox" id="subsystemselect" name="state" data-options="onSelect:function(rec){updateSelect(rec)}" style="width:100%;height:40px">
|
||||
</div>
|
||||
<div class="easyui-datalist" id="subsystemTagList" title="变量列表" style="position: relative;width:100%;height:auto;overflow:auto;" data-options="
|
||||
|
@ -23,7 +23,10 @@ namespace HT.Cloud.Web.Areas.ChartsManage.Controllers
|
||||
public class PenMeiHistoryChartsController : BaseController
|
||||
{
|
||||
public HistoryChartsService _historyChartsService { get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string groupDescription = GlobalContext.SystemConfig.GroupDescription;
|
||||
|
||||
|
||||
[HttpGet]
|
||||
|
@ -23,8 +23,11 @@ namespace HT.Cloud.Web.Areas.ChartsManage.Controllers
|
||||
public class PenMeiHistoryTechChartsController : BaseController
|
||||
{
|
||||
public HistoryTechChartsService _historyTechChartsService { get;set;}
|
||||
|
||||
[HttpPost]
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string groupDescription = GlobalContext.SystemConfig.GroupDescription;
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetAllTagList(ChartTagType chartTagType)
|
||||
{
|
||||
var systemName = "喷煤系统";
|
||||
|
@ -23,8 +23,11 @@ namespace HT.Cloud.Web.Areas.ChartsManage.Controllers
|
||||
public class PenMeiRtTechChartsController : BaseController
|
||||
{
|
||||
public RtTechChartsService _rtTechChartsService { get;set;}
|
||||
|
||||
[HttpPost]
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string groupDescription = GlobalContext.SystemConfig.GroupDescription;
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetAllTagList(ChartTagType chartTagType)
|
||||
{
|
||||
var systemName = "喷煤系统";
|
||||
|
@ -20,8 +20,11 @@ namespace HT.Cloud.Web.Areas.ChartsManage.Controllers
|
||||
public class PenMeiRtchartsController : BaseController
|
||||
{
|
||||
public RtchartsService _rtchartsService { get;set;}
|
||||
|
||||
[HttpGet]
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string groupDescription = GlobalContext.SystemConfig.GroupDescription;
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetDriverGroupList()
|
||||
{
|
||||
var data = await _rtchartsService.GetDriverGroupList();
|
||||
@ -31,28 +34,28 @@ namespace HT.Cloud.Web.Areas.ChartsManage.Controllers
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetAllSubsystemTag()
|
||||
{
|
||||
var data = await _rtchartsService.GetAllSubsystemTag();
|
||||
var data = await _rtchartsService.GetAllSubsystemTag(groupDescription);
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName)
|
||||
{
|
||||
var data = await _rtchartsService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName);
|
||||
var data = await _rtchartsService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName, groupDescription);
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetChartsTagValueInit(string[] charts_TagIDs)
|
||||
{
|
||||
var data = await _rtchartsService.GetChartsTagValueInit(charts_TagIDs);
|
||||
var data = await _rtchartsService.GetChartsTagValueInit(charts_TagIDs, groupDescription);
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> GetChartsTagValue(string[] charts_TagIDs)
|
||||
{
|
||||
var data = await _rtchartsService.GetChartsTagValue(charts_TagIDs);
|
||||
var data = await _rtchartsService.GetChartsTagValue(charts_TagIDs, groupDescription);
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
|
@ -459,8 +459,8 @@
|
||||
@*<ul id="dataTree" class="dtree" data-id="0"></ul>*@
|
||||
<div id="aleft" style="float:left;width:100%;height:100%">
|
||||
<div class="easyui-panel" title="选择设备信息" style="width:100%;height:100%">
|
||||
<div class="easyui-combobox" id="groupselect" name="group" data-options="onSelect:function(rec){updateSelect(rec)}" style="width:100%;height:40px">
|
||||
</div>
|
||||
@*<div class="easyui-combobox" id="groupselect" name="group" data-options="onSelect:function(rec){updateSelect(rec)}" style="width:100%;height:40px">
|
||||
</div>*@
|
||||
<div class="easyui-combobox" id="subsystemselect" name="state" data-options="onSelect:function(rec){updateSelect(rec)}" style="width:100%;height:40px">
|
||||
</div>
|
||||
<div class="easyui-datalist" id="subsystemTagList" title="变量列表" style="position: relative;width:100%;height:auto;overflow:auto;" data-options="
|
||||
|
@ -22,7 +22,10 @@ namespace HT.Cloud.Web.Areas.ReportManage.Controllers
|
||||
public class PenMeiHistoryAlarmController : BaseController
|
||||
{
|
||||
public HistoryAlarmService _historyAlarmService { get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string groupDescription = GlobalContext.SystemConfig.GroupDescription;
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetDriverGroupList()
|
||||
{
|
||||
|
@ -18,8 +18,11 @@ namespace HT.Cloud.Web.Areas.PenMeiReportManage.Controllers
|
||||
public class PenMeiHistoryReportController : BaseController
|
||||
{
|
||||
public HistoryReportService _historyReportService { get; set; }
|
||||
|
||||
[HttpGet]
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string groupDescription = GlobalContext.SystemConfig.GroupDescription;
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetDriverGroupList()
|
||||
{
|
||||
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
|
@ -3,6 +3,7 @@ using System;
|
||||
using System.Threading.Tasks;
|
||||
using HT.Cloud.Service.ChartsManage;
|
||||
using HT.Cloud.Service.ReportManage;
|
||||
using HT.Cloud.Code;
|
||||
|
||||
namespace HT.Cloud.Web.Areas.PenMeiReportManage.Controllers
|
||||
{
|
||||
@ -10,8 +11,11 @@ namespace HT.Cloud.Web.Areas.PenMeiReportManage.Controllers
|
||||
public class RtReportController : BaseController
|
||||
{
|
||||
public RtReportService _rtReportService { get; set; }
|
||||
|
||||
[HttpGet]
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string groupDescription = GlobalContext.SystemConfig.GroupDescription;
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetRtData()
|
||||
{
|
||||
var data = await _rtReportService.GetRtSubsysTagValue();
|
||||
|
@ -19,8 +19,11 @@ namespace HT.Cloud.Web.Areas.ReportManage.Controllers
|
||||
public class HistoryReportController : BaseController
|
||||
{
|
||||
public HistoryReportService _historyReportService { get; set; }
|
||||
|
||||
[HttpGet]
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string groupDescription = GlobalContext.SystemConfig.GroupDescription;
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetDriverGroupList()
|
||||
{
|
||||
//var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
|
@ -0,0 +1,49 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using HT.Cloud.Service.ChartsManage;
|
||||
using HT.Cloud.Service.ReportManage;
|
||||
using HT.Cloud.Code;
|
||||
|
||||
namespace HT.Cloud.Web.Areas.ReportManage.Controllers
|
||||
{
|
||||
[Area("ReportManage")]
|
||||
public class MainPageController : BaseController
|
||||
{
|
||||
public MainPageService _mainPageService { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string groupDescription = GlobalContext.SystemConfig.GroupDescription;
|
||||
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetMainPageInit()
|
||||
{
|
||||
var data = await _mainPageService.GetMainPageInit(groupDescription);
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetMainPageChartInit()
|
||||
{
|
||||
var data = await _mainPageService.GetMainPageChartInit(groupDescription);
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetRtData()
|
||||
{
|
||||
var data = await _mainPageService.GetRtData(groupDescription);
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetRtChartData()
|
||||
{
|
||||
var data = await _mainPageService.GetRtChartData(groupDescription);
|
||||
return Content(data);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -22,7 +22,10 @@ namespace HT.Cloud.Web.Areas.ReportManage.Controllers
|
||||
public class MetaTagAlarmController : BaseController
|
||||
{
|
||||
public MetaTagAlarmService _metaTagAlarmService { get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string groupDescription = GlobalContext.SystemConfig.GroupDescription;
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetDriverGroupList()
|
||||
{
|
||||
|
@ -3,6 +3,7 @@ using System;
|
||||
using System.Threading.Tasks;
|
||||
using HT.Cloud.Service.ChartsManage;
|
||||
using HT.Cloud.Service.ReportManage;
|
||||
using HT.Cloud.Code;
|
||||
|
||||
namespace HT.Cloud.Web.Areas.ReportManage.Controllers
|
||||
{
|
||||
@ -10,8 +11,11 @@ namespace HT.Cloud.Web.Areas.ReportManage.Controllers
|
||||
public class RtReportController : BaseController
|
||||
{
|
||||
public RtReportService _rtReportService { get; set; }
|
||||
|
||||
[HttpGet]
|
||||
/// <summary>
|
||||
/// 绑定数据仓库的数据库ID
|
||||
/// </summary>
|
||||
private string groupDescription = GlobalContext.SystemConfig.GroupDescription;
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetRtData()
|
||||
{
|
||||
var data = await _rtReportService.GetRtSubsysTagValue();
|
||||
|
@ -356,7 +356,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header"><i class="fa fa-fire icon"></i>.NET信息</div>
|
||||
|
@ -8,7 +8,9 @@
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
<DocumentationFile>WaterCloud.Web.xml</DocumentationFile>
|
||||
<RazorCompileOnPublish>false</RazorCompileOnPublish>
|
||||
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
|
||||
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
|
||||
<ServerGarbageCollection>false</ServerGarbageCollection>
|
||||
<ConcurrentGarbageCollection>true</ConcurrentGarbageCollection>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
|
@ -172,18 +172,6 @@
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md10">
|
||||
<div class="layui-row layui-col-space15">
|
||||
@*<div class="layui-col-md6">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header"><a href="javascript:;" layuimini-content-href="/SystemManage/QuickModule/Index" data-title="快捷入口"><i class="fa fa-credit-card icon icon-blue"></i>快捷入口</a></div>
|
||||
<div class="layui-card-body">
|
||||
<div class="welcome-module">
|
||||
<div class="layui-row layui-col-space10 layuimini-qiuck">
|
||||
"<div class="layui-col-xs3 layuimini-qiuck-module"><a href="javascript:;" layuimini-content-href="/SystemSecurity/DbBackup/Index" data-title="数据备份" data-icon="fa null"> <i class="fa null"></i><cite>数据备份</cite></a></div>"
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>*@
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header"><i class="fa fa-warning icon"></i>设备状态</div>
|
||||
@ -194,12 +182,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-blue">实时</span>*@
|
||||
<h5>给煤量T</h5>
|
||||
<h5 id="T1_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_GMJ_VP"></h1>
|
||||
|
||||
<h1 class="no-margins" id="T1"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -208,12 +194,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-cyan">实时</span>*@
|
||||
<h5>煤气流量m³/h</h5>
|
||||
<h5 id ="T2_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_YQL_MQ_QT"></h1>
|
||||
|
||||
<h1 class="no-margins" id="T2"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -222,12 +206,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-orange">实时</span>*@
|
||||
<h5>助燃风流量m³/h</h5>
|
||||
<h5 id="T3_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_YQL_KQ_QT"></h1>
|
||||
|
||||
<h1 class="no-margins" id="T3"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -236,12 +218,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||
<h5>废气流量m³/h</h5>
|
||||
<h5 id="T4_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_YQL_FQ_QT"></h1>
|
||||
|
||||
<h1 class="no-margins" id="T4"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -250,12 +230,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||
<h5>入口温度℃</h5>
|
||||
<h5 id="B1_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_MMJ_RK_TT"></h1>
|
||||
|
||||
<h1 class="no-margins" id="B1"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -264,12 +242,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||
<h5>出口温度℃</h5>
|
||||
<h5 id="B2_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_MMJ_CK_TT"></h1>
|
||||
|
||||
<h1 class="no-margins" id="B2"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -278,12 +254,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||
<h5>磨机压差-Pa</h5>
|
||||
<h5 id="B3_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_MMJ_PT_SUB"></h1>
|
||||
|
||||
<h1 class="no-margins" id="B3"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -292,12 +266,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||
<h5>炉膛温度℃</h5>
|
||||
<h5 id="B4_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_YQL_TT"></h1>
|
||||
|
||||
<h1 class="no-margins" id="B4"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -309,7 +281,7 @@
|
||||
</div>
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header"><i class="fa fa-line-chart icon"></i>给煤量统计</div>
|
||||
<div class="layui-card-header"><i class="fa fa-line-chart icon"></i>生产统计</div>
|
||||
<div class="layui-card-body">
|
||||
<div id="echarts-records" style="width: 100%;min-height:500px"></div>
|
||||
</div>
|
||||
@ -317,9 +289,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md2">
|
||||
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header"><i class="fa fa-warning icon"></i>运行状态</div>
|
||||
@ -330,12 +300,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-blue">实时</span>*@
|
||||
<h5>系统模式</h5>
|
||||
<h5 id="S1_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_SYS_AUTO"></h1>
|
||||
|
||||
<h1 class="no-margins" id="S1"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -344,12 +312,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||
<h5>给煤机</h5>
|
||||
<h5 id="S2_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_GMJ_STATE_RUN"></h1>
|
||||
|
||||
<h1 class="no-margins" id="S2"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -358,12 +324,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||
<h5>磨机</h5>
|
||||
<h5 id="S3_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_MMJ_STATE_RUN"></h1>
|
||||
|
||||
<h1 class="no-margins" id="S3"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -372,12 +336,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||
<h5>主风机</h5>
|
||||
<h5 id="S4_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_PFFJ_STATE_RUN"></h1>
|
||||
|
||||
<h1 class="no-margins" id="S4"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -386,12 +348,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||
<h5>高温风机</h5>
|
||||
<h5 id="S5_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_YQL_GWFJ_STATE_RUN"></h1>
|
||||
|
||||
<h1 class="no-margins" id="S5"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -400,12 +360,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||
<h5>助燃风机</h5>
|
||||
<h5 id="S6_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_YQL_ZRFJ_STATE_RUN"></h1>
|
||||
|
||||
<h1 class="no-margins" id="S6"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -414,25 +372,10 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-green">实时</span>*@
|
||||
<h5>收粉器</h5>
|
||||
<h5 id="S7_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_SF_SYS_RUN"></h1>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@*<div class="layui-col-xs12">
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
<h5>低压泵(1#)</h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_RHZ_DYB1_STATE_RUN"></h1>
|
||||
|
||||
<h1 class="no-margins" id="S7"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -441,170 +384,19 @@
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
<h5>低压泵(2#)</h5>
|
||||
<h5 id="S8_Title"></h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_RHZ_DYB2_STATE_RUN"></h1>
|
||||
|
||||
<h1 class="no-margins" id="S8"></h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs12">
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
<h5>高压泵(1#)</h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_RHZ_GYB1_STATE_RUN"></h1>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs12">
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
<h5>高压泵(2#)</h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_RHZ_GYB2_STATE_RUN"></h1>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>*@
|
||||
<div class="layui-col-xs12">
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
@*<span class="label pull-right layui-bg-orange">实时</span>*@
|
||||
<h5>液压站</h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_YYRH_SYS_RUN"></h1>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@*<div class="layui-col-xs12">
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
<h5>木屑分离器(1#)</h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_GMJ_FLQ1_STATE_RUN"></h1>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs12">
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
<h5>木屑分离器(2#)</h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_GMJ_FLQ2_STATE_RUN"></h1>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs12">
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
<h5>叶轮给料机(1#)</h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_GMJ_GLJ1_STATE_RUN"></h1>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs12">
|
||||
<div class="panel layui-bg-number">
|
||||
<div class="panel-body">
|
||||
<div class="panel-title">
|
||||
<h5>叶轮给料机(2#)</h5>
|
||||
</div>
|
||||
<div class="panel-content">
|
||||
<h1 class="no-margins" id="HT_GMJ_GLJ2_STATE_RUN"></h1>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>*@
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@*<div class="layui-card">
|
||||
<div class="layui-card-header"><i class="fa fa-bullhorn icon icon-tip"></i>系统公告</div>
|
||||
<div class="layui-card-body layui-text layui-watercloud-notice">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header"><i class="fa fa-fire icon"></i>版本信息</div>
|
||||
<div class="layui-card-body layui-text">
|
||||
<table class="layui-table">
|
||||
<colgroup>
|
||||
<col width="100">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>框架名称</td>
|
||||
<td>
|
||||
WaterCloud
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>当前版本</td>
|
||||
<td>@HT.Cloud.Code.GlobalContext.GetVersion()</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>主要特色</td>
|
||||
<td>零门槛 / 响应式 / 清爽 / 极简</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Gitee</td>
|
||||
<td style="padding-bottom: 0;">
|
||||
<div class="layui-btn-container">
|
||||
<a href="https://gitee.com/qian_wei_hong/WaterCloud" target="_blank" style="margin-right: 15px"><img src="https://gitee.com/qian_wei_hong/WaterCloud/badge/star.svg?theme=dark" alt="star"></a>
|
||||
<a href="https://gitee.com/qian_wei_hong/WaterCloud" target="_blank"><img src="https://gitee.com/qian_wei_hong/WaterCloud/badge/fork.svg?theme=dark" alt="fork"></a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header"><i class="fa fa-paper-plane-o icon"></i>作者心语</div>
|
||||
<div class="layui-card-body layui-text layadmin-text">
|
||||
<p>本模板前端基于layuimini,后端对各种框架进行融合而实现。</p>
|
||||
<p>开发文档地址:<a class="layui-btn layui-btn-xs layui-btn-danger" target="_blank" href="https://gitee.com/qian_wei_hong/WaterCloud/wikis/pages">WaterCloud文档</a></p>
|
||||
<p>技术交流QQ群(1065447456):<a target="_blank" href="https://jq.qq.com/?_wv=1027&k=51RHQVG"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="watercloud" title="watercloud"></a>(加群请备注)</p>
|
||||
<p>喜欢此模板的可以给我的Gitee加个Star支持一下</p>
|
||||
</div>
|
||||
</div>*@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -619,117 +411,117 @@
|
||||
// quickModuleInfo();
|
||||
// loadInfo();
|
||||
//});
|
||||
|
||||
|
||||
|
||||
//记录信息 更改为赋值实时数据初始值
|
||||
loadInfo = async function () {
|
||||
$.ajax({
|
||||
url: "/ReportManage/RtReport/GetRtData",
|
||||
url: "/ReportManage/MainPage/GetRtData",
|
||||
Type: "Get",
|
||||
success: function (redata) {
|
||||
var data = JSON.parse(redata);
|
||||
$('#HT_YQL_TT').html(data.HT_YQL_TT);
|
||||
$('#HT_YQL_MQ_QT').html(data.HT_YQL_MQ_QT);
|
||||
$('#HT_YQL_KQ_QT').html(data.HT_YQL_KQ_QT);
|
||||
$('#HT_YQL_FQ_QT').html(data.HT_YQL_FQ_QT);
|
||||
$('#HT_MMJ_RK_TT').html(data.HT_MMJ_RK_TT);
|
||||
$('#HT_MMJ_CK_TT').html(data.HT_MMJ_CK_TT);
|
||||
$('#HT_MMJ_PT_SUB').html(data.HT_MMJ_PT_SUB);
|
||||
$('#HT_GMJ_VP').html(data.HT_GMJ_VP);
|
||||
//
|
||||
$('#HT_SYS_AUTO').html(data.HT_SYS_AUTO);
|
||||
//$('#HT_RHZ_DYB1_STATE_RUN').html(data.HT_RHZ_DYB1_STATE_RUN);
|
||||
//$('#HT_RHZ_DYB2_STATE_RUN').html(data.HT_RHZ_DYB2_STATE_RUN);
|
||||
//$('#HT_RHZ_GYB1_STATE_RUN').html(data.HT_RHZ_GYB1_STATE_RUN);
|
||||
//$('#HT_RHZ_GYB2_STATE_RUN').html(data.HT_RHZ_GYB2_STATE_RUN);
|
||||
$('#HT_YYRH_SYS_RUN').html(data.HT_YYRH_SYS_RUN);
|
||||
//$('#HT_GMJ_FLQ1_STATE_RUN').html(data.HT_GMJ_FLQ1_STATE_RUN);
|
||||
//$('#HT_GMJ_FLQ2_STATE_RUN').html(data.HT_GMJ_FLQ2_STATE_RUN);
|
||||
//$('#HT_GMJ_GLJ1_STATE_RUN').html(data.HT_GMJ_GLJ1_STATE_RUN);
|
||||
//$('#HT_GMJ_GLJ2_STATE_RUN').html(data.HT_GMJ_GLJ2_STATE_RUN);
|
||||
$('#HT_SF_SYS_RUN').html(data.HT_SF_SYS_RUN);
|
||||
$('#HT_PFFJ_STATE_RUN').html(data.HT_PFFJ_STATE_RUN);
|
||||
$('#HT_YQL_GWFJ_STATE_RUN').html(data.HT_YQL_GWFJ_STATE_RUN);
|
||||
$('#HT_YQL_ZRFJ_STATE_RUN').html(data.HT_YQL_ZRFJ_STATE_RUN);
|
||||
$('#HT_MMJ_STATE_RUN').html(data.HT_MMJ_STATE_RUN);
|
||||
$('#HT_GMJ_STATE_RUN').html(data.HT_GMJ_STATE_RUN);
|
||||
$('#T1').html(data.T1);
|
||||
$('#T2').html(data.T2);
|
||||
$('#T3').html(data.T3);
|
||||
$('#T4').html(data.T4);
|
||||
$('#B1').html(data.B1);
|
||||
$('#B2').html(data.B2);
|
||||
$('#B3').html(data.B3);
|
||||
$('#B4').html(data.B4);
|
||||
$('#S1').html(data.S1);
|
||||
$('#S2').html(data.S2);
|
||||
$('#S3').html(data.S3);
|
||||
$('#S4').html(data.S4);
|
||||
$('#S5').html(data.S5);
|
||||
$('#S6').html(data.S6);
|
||||
$('#S7').html(data.S7);
|
||||
$('#S8').html(data.S8);
|
||||
|
||||
|
||||
//var myChart = echarts.init(document.getElementById('echarts-records'));
|
||||
//var option = myChart.getOption();
|
||||
//let xData = data.RtTime;
|
||||
//let yData = data.HT_GMJ_VP;
|
||||
////option.series[0].data.push(yData);
|
||||
//if (option.xAxis[0].data.length > 34) {
|
||||
// option.xAxis[0].data.shift();
|
||||
// option.series[0].data.shift();
|
||||
|
||||
//}
|
||||
//option.xAxis[0].data.push(xData);
|
||||
//option.series[0].data.push(yData);
|
||||
|
||||
|
||||
//myChart.setOption(option);
|
||||
}
|
||||
});
|
||||
$.ajax({
|
||||
url: "/ReportManage/MainPage/GetRtChartData",
|
||||
Type: "Get",
|
||||
success: function (redata) {
|
||||
var data = JSON.parse(redata);
|
||||
|
||||
|
||||
|
||||
var myChart = echarts.init(document.getElementById('echarts-records'));
|
||||
var option = myChart.getOption();
|
||||
let xData = data.RtTime;
|
||||
let yData = data.HT_GMJ_VP;
|
||||
//let xData = data.RtTime;
|
||||
//let yData = data.HT_GMJ_VP;
|
||||
//option.series[0].data.push(yData);
|
||||
if (option.xAxis[0].data.length > 34) {
|
||||
option.xAxis[0].data.shift();
|
||||
option.series[0].data.shift();
|
||||
|
||||
}
|
||||
option.xAxis[0].data.push(xData);
|
||||
option.series[0].data.push(yData);
|
||||
|
||||
//option.xAxis[0].data.push(xData);
|
||||
//option.series[0].data.push(yData);
|
||||
|
||||
|
||||
|
||||
|
||||
option.xAxis[0].data.push(data[0].RtTime);
|
||||
//var yData = [];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
option.series[i].data.push(data[i].Value)
|
||||
}
|
||||
|
||||
|
||||
myChart.setOption(option);
|
||||
}
|
||||
});
|
||||
}
|
||||
////公告
|
||||
//noticeInfo = function () {
|
||||
// $.ajax({
|
||||
// url: "/ClientsData/GetNoticeInfo?v=" + new Date().Format("yyyy-MM-dd hh:mm:ss"),
|
||||
// dataType: "json",
|
||||
// success: function (data) {
|
||||
// var noticeHtml = '';
|
||||
// for (var i = 0; i < data.length; i++) {
|
||||
// noticeHtml += '<div class="layuimini-notice">';
|
||||
// noticeHtml += '<div class="layuimini-notice-title">' + data[i].F_Title + '</div>';
|
||||
// noticeHtml += '<div class="layuimini-notice-extra">' + new Date(data[i].F_CreatorTime).Format("yyyy-MM-dd hh:mm") + '</div>';
|
||||
// noticeHtml += '<div class="layuimini-notice-content layui-hide">';
|
||||
// noticeHtml += '<pre>';
|
||||
// var str = data[i].F_Content;
|
||||
// noticeHtml += str;
|
||||
// noticeHtml += '</pre></div></div >';
|
||||
// }
|
||||
// $('.layui-watercloud-notice').empty();
|
||||
// $('.layui-watercloud-notice').html(noticeHtml);
|
||||
// }
|
||||
// });
|
||||
//}
|
||||
////快捷入口
|
||||
//quickModuleInfo = function () {
|
||||
// $.ajax({
|
||||
// url: "/ClientsData/GetQuickModule?v=" + new Date().Format("yyyy-MM-dd hh:mm:ss"),
|
||||
// dataType: "json",
|
||||
// success: function (data) {
|
||||
// var qiuckHtml = '';
|
||||
// for (var i = 0; i < data.length; i++) {
|
||||
// qiuckHtml += '<div class="layui-col-xs3 layuimini-qiuck-module">';
|
||||
// qiuckHtml += '<a href = "javascript:;" layuimini-content-href="' + data[i].href + '"';
|
||||
// qiuckHtml += ' data-title="' + data[i].title + '"';
|
||||
// if (!!data[i].icon) {
|
||||
// qiuckHtml += ' data-icon="fa ' + data[i].icon + '" >';
|
||||
// qiuckHtml += ' <i class="fa ' + data[i].icon + '"></i>';
|
||||
// }
|
||||
// else {
|
||||
// qiuckHtml += ' data-icon="fa fa-window-maximize" >';
|
||||
// qiuckHtml += ' <i class="fa fa-window-maximize"></i>';
|
||||
// }
|
||||
// qiuckHtml += '<cite>' + data[i].title + '</cite></a ></div >';
|
||||
// }
|
||||
// $('.layuimini-qiuck').empty();
|
||||
// $('.layuimini-qiuck').html(qiuckHtml);
|
||||
// }
|
||||
// });
|
||||
//}
|
||||
|
||||
layui.use(['layer', 'miniTab', 'common'], function () {
|
||||
var $ = layui.jquery,
|
||||
layer = layui.layer,
|
||||
miniTab = layui.miniTab,
|
||||
common = layui.common;
|
||||
|
||||
var StaticChartList = new Array();
|
||||
const CHARTSRGB = ["#8B2252", "#C65911", "#0000EE", "#00F5FF", "#00E5EE", "#27408B", "#FFD700", "#7FFFD4", "#B22222", "#EE7621", "#00C5CD", "#A0522D", "#1E90FF", "#00868B", "#8B4513", "#8B3A3A", "#CD6600", "#CD853F", "#EE7942"
|
||||
, "#D2691E", "#8B008B", "#FFEC8B", "#8B4513", "#CDC673", "#EEEE00", "#FFA500", "#FFD966"];
|
||||
//获取并初始化界面标题
|
||||
$(function () {
|
||||
$.ajax({
|
||||
url: "/ReportManage/RtReport/GetRtData",
|
||||
url: "/ReportManage/MainPage/GetMainPageInit",
|
||||
Type: "Get",
|
||||
success: function (redata) {
|
||||
var dataInit = JSON.parse(redata);
|
||||
loadChart(dataInit.RtTime, dataInit.HT_GMJ_VP);
|
||||
loadInitTile(dataInit);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(function () {
|
||||
$.ajax({
|
||||
url: "/ReportManage/MainPage/GetMainPageChartInit",
|
||||
Type: "Get",
|
||||
success: function (redata) {
|
||||
var dataInit = JSON.parse(redata);
|
||||
StaticChartList = dataInit;
|
||||
loadChart(StaticChartList);
|
||||
//loadChart(dataInit.RtTime, dataInit.HT_GMJ_VP);
|
||||
}
|
||||
});
|
||||
});
|
||||
@ -739,39 +531,78 @@
|
||||
//noticeInfo();
|
||||
//quickModuleInfo();
|
||||
}, 1000); //指定1秒刷新一次
|
||||
/**
|
||||
* 查看公告信息
|
||||
**/
|
||||
//$('body').on('click', '.layuimini-notice', function () {
|
||||
// var title = $(this).children('.layuimini-notice-title').text(),
|
||||
// noticeTime = $(this).children('.layuimini-notice-extra').text(),
|
||||
// content = $(this).children('.layuimini-notice-content').html();
|
||||
// var html = '<div style="padding:15px 20px; text-align:justify; line-height: 22px;border-bottom:1px solid #e2e2e2;background-color: #2f4056;color: #ffffff">\n' +
|
||||
// '<div style="text-align: center;margin-bottom: 20px;font-weight: bold;border-bottom:1px solid #718fb5;padding-bottom: 5px"><h4 class="text-danger">' + title + '</h4></div>\n' +
|
||||
// '<div style="font-size: 12px">' + content + '</div>\n' +
|
||||
// '</div>\n';
|
||||
// parent.layer.open({
|
||||
// type: 1,
|
||||
// title: '系统公告' + '<span style="float: right;right: 1px;font-size: 12px;color: #b1b3b9;margin-top: 1px">' + noticeTime + '</span>',
|
||||
// area: '300px;',
|
||||
// shade: 0.8,
|
||||
// id: 'layuimini-notice',
|
||||
// btn: ['确定'],
|
||||
// btnAlign: 'c',
|
||||
// moveType: 1,
|
||||
// content: html
|
||||
// });
|
||||
//});
|
||||
|
||||
|
||||
function loadInitTile(Tdata) {
|
||||
$('#T1_Title').html(Tdata.T1_Title);
|
||||
$('#T2_Title').html(Tdata.T2_Title);
|
||||
$('#T3_Title').html(Tdata.T3_Title);
|
||||
$('#T4_Title').html(Tdata.T4_Title);
|
||||
$('#B1_Title').html(Tdata.B1_Title);
|
||||
$('#B2_Title').html(Tdata.B2_Title);
|
||||
$('#B3_Title').html(Tdata.B3_Title);
|
||||
$('#B4_Title').html(Tdata.B4_Title);
|
||||
$('#S1_Title').html(Tdata.S1_Title);
|
||||
$('#S2_Title').html(Tdata.S2_Title);
|
||||
$('#S3_Title').html(Tdata.S3_Title);
|
||||
$('#S4_Title').html(Tdata.S4_Title);
|
||||
$('#S5_Title').html(Tdata.S5_Title);
|
||||
$('#S6_Title').html(Tdata.S6_Title);
|
||||
$('#S7_Title').html(Tdata.S7_Title);
|
||||
$('#S8_Title').html(Tdata.S8_Title);
|
||||
}
|
||||
/**
|
||||
* 报表功能
|
||||
*/
|
||||
function loadChart(sxdata,sydata) {
|
||||
var myChart = echarts.init(document.getElementById('echarts-records'));
|
||||
function loadChart(dataInit) {
|
||||
var xData = [];
|
||||
xData.push(dataInit[0].RtTime);
|
||||
var yData = [];
|
||||
xData.push(sxdata);
|
||||
yData.push(sydata);
|
||||
for (var i = 0; i < dataInit.length ; i++)
|
||||
{
|
||||
var yAxisdata = [];
|
||||
yAxisdata.push(dataInit[i].Value)
|
||||
yData.push(yAxisdata);
|
||||
}
|
||||
var legendArr = [];
|
||||
var colorArr = [];
|
||||
var ySeries = [];
|
||||
for (var ci = 0; ci < yData.length; ci++)
|
||||
{
|
||||
colorArr.push(CHARTSRGB[ci])
|
||||
legendArr.push(StaticChartList[ci].Description);
|
||||
ySeries.push(
|
||||
{
|
||||
name: StaticChartList[ci].Description,
|
||||
type: 'line',
|
||||
data: yData[ci],
|
||||
lineStyle: {
|
||||
normal: {
|
||||
width: 2
|
||||
}
|
||||
},
|
||||
label: {
|
||||
show: true, // 在折线拐点上显示数据
|
||||
position: 'bottom',
|
||||
textStyle: {
|
||||
color: 'black',
|
||||
fontSize: 10
|
||||
}
|
||||
},
|
||||
smooth: true,
|
||||
symbol: 'circle',
|
||||
symbolSize: 6,
|
||||
showAllSymbol: true,
|
||||
color: colorArr[ci],
|
||||
}
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
var myChart = echarts.init(document.getElementById('echarts-records'));
|
||||
//var xData = [];
|
||||
//var yData = [];
|
||||
//xData.push(sxdata);
|
||||
//yData.push(sydata);
|
||||
//var cpuData = [];
|
||||
//common.ajax({
|
||||
// url: "/SystemSecurity/ServerMonitoring/GetServerData",
|
||||
@ -797,8 +628,9 @@
|
||||
trigger: 'axis'
|
||||
},
|
||||
legend: {
|
||||
data: ['给煤量(T)']
|
||||
data: legendArr
|
||||
},
|
||||
//legend:legendArr,
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
@ -829,7 +661,7 @@
|
||||
},
|
||||
},
|
||||
yAxis: {
|
||||
name: '给煤量(T)',
|
||||
name: '',
|
||||
nameLocation: 'center',
|
||||
axisTick: {
|
||||
show:true,
|
||||
@ -867,31 +699,32 @@
|
||||
//},
|
||||
type: 'value'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '给煤量(T)', type: 'line',
|
||||
data: yData,
|
||||
lineStyle: {
|
||||
normal: {
|
||||
width: 2
|
||||
}
|
||||
},
|
||||
label: {
|
||||
show: true, // 在折线拐点上显示数据
|
||||
position:'bottom',
|
||||
textStyle:{
|
||||
color:'black',
|
||||
fontSize:10
|
||||
}
|
||||
},
|
||||
smooth: true,
|
||||
symbol: 'circle',
|
||||
symbolSize: 6,
|
||||
showAllSymbol: true,
|
||||
color: '#EE6666',
|
||||
},
|
||||
series:ySeries,
|
||||
//series: [
|
||||
// {
|
||||
// name: '给煤量(T)', type: 'line',
|
||||
// data: yData,
|
||||
// lineStyle: {
|
||||
// normal: {
|
||||
// width: 2
|
||||
// }
|
||||
// },
|
||||
// label: {
|
||||
// show: true, // 在折线拐点上显示数据
|
||||
// position:'bottom',
|
||||
// textStyle:{
|
||||
// color:'black',
|
||||
// fontSize:10
|
||||
// }
|
||||
// },
|
||||
// smooth: true,
|
||||
// symbol: 'circle',
|
||||
// symbolSize: 6,
|
||||
// showAllSymbol: true,
|
||||
// color: '#EE6666',
|
||||
// },
|
||||
|
||||
]
|
||||
//]
|
||||
};
|
||||
myChart.setOption(option);
|
||||
// echarts 窗口缩放自适应
|
||||
|
@ -11,6 +11,11 @@
|
||||
描 述:历史趋势控制器类
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:HT.Cloud.Web.Areas.ChartsManage.Controllers.HistoryChartsController.groupDescription">
|
||||
<summary>
|
||||
绑定数据仓库的数据库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:HT.Cloud.Web.Areas.ChartsManage.Controllers.RtchartsController">
|
||||
<summary>
|
||||
创 建:cdl
|
||||
@ -18,6 +23,11 @@
|
||||
描 述:实时趋势控制器类
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:HT.Cloud.Web.Areas.ChartsManage.Controllers.RtchartsController.groupDescription">
|
||||
<summary>
|
||||
绑定数据仓库的数据库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:HT.Cloud.Web.Areas.ChartsManage.Controllers.PenMeiHistoryChartsController">
|
||||
<summary>
|
||||
创 建:cdl
|
||||
@ -25,6 +35,11 @@
|
||||
描 述:历史趋势控制器类
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:HT.Cloud.Web.Areas.ChartsManage.Controllers.PenMeiHistoryChartsController.groupDescription">
|
||||
<summary>
|
||||
绑定数据仓库的数据库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:HT.Cloud.Web.Areas.ChartsManage.Controllers.PenMeiHistoryTechChartsController">
|
||||
<summary>
|
||||
创 建:cdl
|
||||
@ -32,6 +47,11 @@
|
||||
描 述:历史趋势控制器类
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:HT.Cloud.Web.Areas.ChartsManage.Controllers.PenMeiHistoryTechChartsController.groupDescription">
|
||||
<summary>
|
||||
绑定数据仓库的数据库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:HT.Cloud.Web.Areas.ChartsManage.Controllers.PenMeiRtchartsController">
|
||||
<summary>
|
||||
创 建:cdl
|
||||
@ -39,6 +59,11 @@
|
||||
描 述:实时趋势控制器类
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:HT.Cloud.Web.Areas.ChartsManage.Controllers.PenMeiRtchartsController.groupDescription">
|
||||
<summary>
|
||||
绑定数据仓库的数据库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:HT.Cloud.Web.Areas.ChartsManage.Controllers.PenMeiRtTechChartsController">
|
||||
<summary>
|
||||
创 建:cdl
|
||||
@ -46,6 +71,11 @@
|
||||
描 述:历史趋势控制器类
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:HT.Cloud.Web.Areas.ChartsManage.Controllers.PenMeiRtTechChartsController.groupDescription">
|
||||
<summary>
|
||||
绑定数据仓库的数据库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:HT.Cloud.Web.Areas.ContentManage.Controllers.ArticleCategoryController">
|
||||
<summary>
|
||||
创 建:超级管理员
|
||||
@ -130,6 +160,21 @@
|
||||
描 述:历史趋势控制器类
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:HT.Cloud.Web.Areas.ReportManage.Controllers.PenMeiHistoryAlarmController.groupDescription">
|
||||
<summary>
|
||||
绑定数据仓库的数据库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:HT.Cloud.Web.Areas.ReportManage.Controllers.HistoryReportController.groupDescription">
|
||||
<summary>
|
||||
绑定数据仓库的数据库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:HT.Cloud.Web.Areas.ReportManage.Controllers.MainPageController.groupDescription">
|
||||
<summary>
|
||||
绑定数据仓库的数据库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:HT.Cloud.Web.Areas.ReportManage.Controllers.MetaTagAlarmController">
|
||||
<summary>
|
||||
创 建:cdl
|
||||
@ -137,6 +182,26 @@
|
||||
描 述:历史趋势控制器类
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:HT.Cloud.Web.Areas.ReportManage.Controllers.MetaTagAlarmController.groupDescription">
|
||||
<summary>
|
||||
绑定数据仓库的数据库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:HT.Cloud.Web.Areas.ReportManage.Controllers.RtReportController.groupDescription">
|
||||
<summary>
|
||||
绑定数据仓库的数据库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:HT.Cloud.Web.Areas.PenMeiReportManage.Controllers.PenMeiHistoryReportController.groupDescription">
|
||||
<summary>
|
||||
绑定数据仓库的数据库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:HT.Cloud.Web.Areas.PenMeiReportManage.Controllers.RtReportController.groupDescription">
|
||||
<summary>
|
||||
绑定数据仓库的数据库ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:HT.Cloud.Web.Areas.SystemManage.Controllers.CodegeneratelogController">
|
||||
<summary>
|
||||
创 建:超级管理员
|
||||
|
@ -8,11 +8,12 @@
|
||||
}
|
||||
},
|
||||
"SystemConfig": {
|
||||
"GroupDescription": "喷煤系统", //系统备注
|
||||
"Demo": false, // 是否是演示模式 账号admin 密码0000
|
||||
"LoginMultiple": false, // 是否允许一个账户在多处登录
|
||||
"AllowCorsSite": "http://localhost:8058", // 允许的其他站点访问Api
|
||||
"DBProvider": "SqlServer", //SqlServer //Oracle
|
||||
"DBConnectionString": "Data Source=192.168.110.32;Initial Catalog=HTCLOUD_PM01;User Id= sa;Password= Sa1qaz;Integrated Security=False;Encrypt=True;TrustServerCertificate=True;",
|
||||
"DBConnectionString": "Zk48ARnbLq1Lk+lzxvCij/8Pt/tnmDwn+rE3IgYGjbmDk32vhkYsxag9amyZ1OOMwPA3yWW1gKjVgKPpDBSgVaiansOQtPtF5IQDwQ7q12LOaKRfCsNZGg56LRoA5R2eybLLG8j/xLWDC8/X7aDMHvZ2G8SWZzlDTt8jTQulouSVBP7JtlWXsAj1B5NVUxvlqn5yJiaz89ISUyPp1+A/XQ==",
|
||||
"DBCommandTimeout": 180, // 数据库超时时间,单位秒
|
||||
"CacheProvider": "Memory", // 缓存使用方式 Redis/Memory
|
||||
"RedisConnectionString": "127.0.0.1:6379", //docker部署 172.17.0.1
|
||||
@ -33,7 +34,7 @@
|
||||
{
|
||||
"DBNumber": "1",
|
||||
"DBProvider": "SqlServer", //MySql //Oracle
|
||||
"DBConnectionString": "Data Source=192.168.110.32;Initial Catalog=HTSCADA202308;User Id= sa;Password= Sa1qaz;Integrated Security=False;Encrypt=True;TrustServerCertificate=True;"
|
||||
"DBConnectionString": "Zk48ARnbLq1Lk+lzxvCij/8Pt/tnmDwn+rE3IgYGjbnYiY85KP1HOOhZ7C60SCx1TwEmcNLYzAsnfEdOBXU0nU0Oy8su8Qtkf/CPFKNyOJYTJKdUqu23gKYXItXANHKYm37ayRrKmUCNtdRkxoN9I6Y8N+yLiP1Qjk207DBIXR4vgChSgSPr9USeuNmLVsiBiUuDY+4KnQF8uHwQxMBvWg=="
|
||||
}
|
||||
],
|
||||
"RabbitMq": {
|
||||
|
Binary file not shown.
Reference in New Issue
Block a user