增加连接串加密,粤北安装版本封存

This commit is contained in:
dell
2023-09-07 17:21:02 +08:00
parent 28b59aa70e
commit b94dc66092
30 changed files with 799 additions and 426 deletions

View File

@ -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; }

View 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
}
}

View File

@ -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 = "")
{

View File

@ -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)

View 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; }
}
}

View File

@ -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);

View File

@ -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))
{

View File

@ -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",

View 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; }
}
}
}

View File

@ -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]

View File

@ -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);
}

View File

@ -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="

View File

@ -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]

View File

@ -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 = "喷煤系统";

View File

@ -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 = "喷煤系统";

View File

@ -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);
}

View File

@ -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="

View File

@ -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()
{

View File

@ -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");

View File

@ -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();

View File

@ -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");

View File

@ -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);
}
}
}

View File

@ -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()
{

View File

@ -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();

View File

@ -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>

View File

@ -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'">

View File

@ -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 窗口缩放自适应

View File

@ -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>
创 建:超级管理员

View File

@ -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": {