喷煤趋势报警,趋势轴样式修改完成
This commit is contained in:
86
HT.Cloud.Domain/Entity/ReportManage/HistoryAlarmEntity.cs
Normal file
86
HT.Cloud.Domain/Entity/ReportManage/HistoryAlarmEntity.cs
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace HT.Cloud.Domain.ReportManage
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 创 建:cdl
|
||||||
|
/// 日 期:2023-08-16 15:58
|
||||||
|
/// 描 述:报警信息变量表实体类
|
||||||
|
/// </summary>
|
||||||
|
[SugarTable("HT_HISTORY_ALARM")]
|
||||||
|
public class HistoryAlarmEntity
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="TagID", ColumnDescription = "",ColumnDataType = "smallint(5)",IsIdentity = true)]
|
||||||
|
public int TagID { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="TagName", ColumnDescription = "",ColumnDataType = "nvarchar(512)")]
|
||||||
|
public string TagName { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="DataType", ColumnDescription = "",ColumnDataType = "tinyint(3)")]
|
||||||
|
public bool DataType { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="DataSize", ColumnDescription = "",ColumnDataType = "smallint(5)")]
|
||||||
|
public int DataSize { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="Address", ColumnDescription = "",ColumnDataType = "nvarchar(64)")]
|
||||||
|
public string Address { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="GroupID", ColumnDescription = "",ColumnDataType = "smallint(5)")]
|
||||||
|
public int GroupID { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="IsActive", ColumnDescription = "",ColumnDataType = "bit(1)")]
|
||||||
|
public bool IsActive { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="Description", ColumnDescription = "",ColumnDataType = "nvarchar(128)")]
|
||||||
|
public string Description { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="Subsystem", ColumnDescription = "",ColumnDataType = "nvarchar(64)", IsNullable = true)]
|
||||||
|
public string Subsystem { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="Units", ColumnDescription = "",ColumnDataType = "nvarchar(20)", IsNullable = true)]
|
||||||
|
public string Units { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="WriteAddress", ColumnDescription = "",ColumnDataType = "nvarchar(64)", IsNullable = true)]
|
||||||
|
public string WriteAddress { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 报警类型
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="Alarmtype", ColumnDescription = "报警类型",ColumnDataType = "nvarchar(8)", IsNullable = true)]
|
||||||
|
public string Alarmtype { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="SysType", ColumnDescription = "",ColumnDataType = "nvarchar(8)", IsNullable = true)]
|
||||||
|
public string SysType { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName="SysAddress", ColumnDescription = "",ColumnDataType = "nvarchar(64)", IsNullable = true)]
|
||||||
|
public string SysAddress { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -52,19 +52,20 @@ namespace HT.Cloud.Service.ChartsManage
|
|||||||
return subsystems.ToJson();
|
return subsystems.ToJson();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string> GetAllSubsystemTag()
|
public async Task<string> GetAllSubsystemTag(string groupDescription)
|
||||||
{
|
{
|
||||||
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
|
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
|
||||||
var grouped = _context.Queryable<MetaTagEntity>().ToList();
|
var groupId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == groupDescription).First().GroupID;
|
||||||
List<string> list_name_two = grouped.Select(t => t.Subsystem).GroupBy(c => c).Select(c => c.First()).ToList();
|
var grouped = _context.Queryable<MetaTagEntity>().ToList().Where(x => x.GroupID == groupId);
|
||||||
int i = 0;
|
List<string> list_name_two = grouped.Select(t => t.Subsystem).GroupBy(c => c).Select(c => c.First()).ToList();
|
||||||
foreach (var Meta_Tag in list_name_two)
|
int i = 0;
|
||||||
{
|
foreach (var Meta_Tag in list_name_two)
|
||||||
subsystems.Add(new SubsysytemNameList() { Lable = "a" + i, Value = Meta_Tag });
|
{
|
||||||
i++;
|
subsystems.Add(new SubsysytemNameList() { Lable = "a" + i, Value = Meta_Tag });
|
||||||
}
|
i++;
|
||||||
return subsystems.ToJson();
|
}
|
||||||
}
|
return subsystems.ToJson();
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<string> GetSubsystemAllTag(string subsysytemName,string groupDescription)
|
public async Task<string> GetSubsystemAllTag(string subsysytemName,string groupDescription)
|
||||||
{
|
{
|
||||||
|
215
HT.Cloud.Service/ReportManage/HistoryAlarmService.cs
Normal file
215
HT.Cloud.Service/ReportManage/HistoryAlarmService.cs
Normal file
@ -0,0 +1,215 @@
|
|||||||
|
using HT.Cloud.Code;
|
||||||
|
using HT.Cloud.Domain.DevicesManage;
|
||||||
|
using HT.Cloud.Domain.ReportManage;
|
||||||
|
using Quartz;
|
||||||
|
using SqlSugar;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Reflection.PortableExecutable;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace HT.Cloud.Service.ReportManage
|
||||||
|
{
|
||||||
|
public class HistoryAlarmService : BaseService<HistoryAlarmEntity>, IDenpendency
|
||||||
|
{
|
||||||
|
public HistoryAlarmService(ISqlSugarClient context) : base(context)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
public async Task<string> GetDriverGroupList()
|
||||||
|
{
|
||||||
|
|
||||||
|
//var groupName = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||||
|
//var driverId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||||
|
//var driverName = _context.Queryable<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||||
|
//var list = _context.Ado.SqlQuery<Ht_History_ReportEntity>($"SELECT * FROM HT_{driverName}_{groupName}_ALARM");
|
||||||
|
|
||||||
|
List<GroupNameList> subsystems = new List<GroupNameList>();
|
||||||
|
var list_group = _context.Queryable<MetaGroupEntity>().ToList();
|
||||||
|
int i = 0;
|
||||||
|
foreach (var group in list_group)
|
||||||
|
{
|
||||||
|
subsystems.Add(new GroupNameList() { Lable = "a" + i, Value = group.GroupDescription});
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return subsystems.ToJson();
|
||||||
|
}
|
||||||
|
public async Task<string> GetAllSubsystemTag(string systemName)
|
||||||
|
{
|
||||||
|
var groupName = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||||
|
var driverId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||||
|
var driverName = _context.Queryable<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||||
|
var list = _context.Ado.SqlQuery<HistoryAlarmEntity>($"SELECT * FROM HT_{driverName}_{groupName}_ALARM");
|
||||||
|
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
|
||||||
|
//var grouped = repository.IQueryable().ToList();
|
||||||
|
List<string> list_name_two = list.Select(t => t.Subsystem).GroupBy(c => c).Select(c => c.First()).ToList();
|
||||||
|
int i = 0;
|
||||||
|
foreach (var Meta_Tag in list_name_two)
|
||||||
|
{
|
||||||
|
subsystems.Add(new SubsysytemNameList() { Lable = "a" + i, Value = Meta_Tag });
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return subsystems.ToJson();
|
||||||
|
}
|
||||||
|
public async Task<string> GetSubsystemAllTag(string subsysytemName, string systemName)
|
||||||
|
{
|
||||||
|
var groupName = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||||
|
var driverId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||||
|
var driverName = _context.Queryable<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||||
|
var list = _context.Ado.SqlQuery<HistoryAlarmEntity>($"SELECT * FROM HT_{driverName}_{groupName}_ALARM");
|
||||||
|
|
||||||
|
var subsysname = subsysytemName;
|
||||||
|
var response = list.Where(x => x.Subsystem == subsysname).Select(x => new { x.TagID, x.Description, x.Units }).ToList();
|
||||||
|
var reList = new List<SubAllTagReturn>();
|
||||||
|
foreach (var subsystem in response)
|
||||||
|
{
|
||||||
|
reList.Add(
|
||||||
|
new SubAllTagReturn()
|
||||||
|
{
|
||||||
|
TagID = (short)subsystem.TagID,
|
||||||
|
Description = subsystem.Description,
|
||||||
|
Units = subsystem.Units
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return reList.ToJson();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<string> GetAlarmRecord(short tagid, string startdt, string enddt, string systemName)
|
||||||
|
{
|
||||||
|
|
||||||
|
SugarParameter[] sqlParameters =
|
||||||
|
{
|
||||||
|
new SugarParameter("@Henddt",enddt),
|
||||||
|
new SugarParameter("@Hstartdt",startdt),
|
||||||
|
new SugarParameter("@Htagid",tagid)
|
||||||
|
|
||||||
|
};
|
||||||
|
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm", sqlParameters);
|
||||||
|
var valuelist = DataTableConvertModel<AlarmValue>.ConvertDataTableToList(dt);
|
||||||
|
return valuelist.ToJson();
|
||||||
|
|
||||||
|
|
||||||
|
// var testdata = new List<AlarmValue>
|
||||||
|
// {
|
||||||
|
// new AlarmValue() {
|
||||||
|
// Description= "测试标题",
|
||||||
|
// StartTime = "08点37分",
|
||||||
|
// EndTime = "08点38分"
|
||||||
|
// },
|
||||||
|
// new AlarmValue() {
|
||||||
|
// Description= "测试标题",
|
||||||
|
// StartTime = "08点37分",
|
||||||
|
// EndTime = "08点38分"
|
||||||
|
// },
|
||||||
|
// new AlarmValue() {
|
||||||
|
// Description= "测试标题",
|
||||||
|
// StartTime = "08点37分",
|
||||||
|
// EndTime = "08点38分"
|
||||||
|
// },
|
||||||
|
// new AlarmValue() {
|
||||||
|
// Description= "测试标题",
|
||||||
|
// StartTime = "08点37分",
|
||||||
|
// EndTime = "08点38分"
|
||||||
|
// }
|
||||||
|
//};
|
||||||
|
// return testdata.ToJson();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//var resultlist = new List<ChartData>();
|
||||||
|
//foreach (var value in valuelist)
|
||||||
|
//{
|
||||||
|
// resultlist.Add(new ChartData()
|
||||||
|
// {
|
||||||
|
// name = value.HDATETIME,
|
||||||
|
// value = value.VALUE
|
||||||
|
// });
|
||||||
|
//}
|
||||||
|
//return resultlist.ToJson();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<string> GetAlarmRecordQuick(string HATYPE, string startdt, string enddt, string systemName)
|
||||||
|
{
|
||||||
|
|
||||||
|
SugarParameter[] sqlParameters =
|
||||||
|
{
|
||||||
|
new SugarParameter("@HATYPE",HATYPE),
|
||||||
|
new SugarParameter("@Hstartdt",startdt),
|
||||||
|
new SugarParameter("@Henddt",enddt)
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm_Count", sqlParameters);
|
||||||
|
var valuelist = DataTableConvertModel<AlarmValueCount>.ConvertDataTableToList(dt);
|
||||||
|
return valuelist.ToJson();
|
||||||
|
|
||||||
|
}
|
||||||
|
//GetAlarmRecordQuickDesc
|
||||||
|
public async Task<string> GetAlarmRecordQuickDesc(string hhour, string systemName)
|
||||||
|
{
|
||||||
|
int Hhour = int.Parse(hhour);
|
||||||
|
SugarParameter[] sqlParameters =
|
||||||
|
{
|
||||||
|
new SugarParameter("@Hhour",Hhour)
|
||||||
|
};
|
||||||
|
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm_History", sqlParameters);
|
||||||
|
var valuelist = DataTableConvertModel<AlarmValueCountDesc>.ConvertDataTableToList(dt);
|
||||||
|
return valuelist.ToJson();
|
||||||
|
|
||||||
|
}
|
||||||
|
public async Task<string> GetAlarmSubSystem(string alarmName, string systemName)
|
||||||
|
{
|
||||||
|
var groupName = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
|
||||||
|
var driverId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().DriverID;
|
||||||
|
var driverName = _context.Queryable<MetaDriverEntity>().Where(x => x.DriverID == driverId).First().DriverName;
|
||||||
|
var list = _context.Ado.SqlQuery<HistoryAlarmEntity>($"SELECT * FROM HT_{driverName}_{groupName}_ALARM");
|
||||||
|
|
||||||
|
var subSystem = list.Where(x => x.Description == alarmName).First().Subsystem;
|
||||||
|
return subSystem.ToJson();
|
||||||
|
}
|
||||||
|
private class AlarmValueCount
|
||||||
|
{
|
||||||
|
public string Alarmtype { get; set; }
|
||||||
|
public string Description { get; set; }
|
||||||
|
public int hcount { get; set; }
|
||||||
|
public int hztime { get; set; }
|
||||||
|
}
|
||||||
|
private class AlarmValueCountDesc
|
||||||
|
{
|
||||||
|
public string Tagname { get; set; }
|
||||||
|
public string Description { get; set; }
|
||||||
|
public string Alarmtype { get; set; }
|
||||||
|
public string Typename { get; set; }
|
||||||
|
public string Startdt { get; set; }
|
||||||
|
public string Enddt { get; set; }
|
||||||
|
public int Hztime { get; set; }
|
||||||
|
}
|
||||||
|
private class AlarmValue
|
||||||
|
{
|
||||||
|
public string Description { get; set; }
|
||||||
|
public string startdt { get; set; }
|
||||||
|
public string enddt { get; set; }
|
||||||
|
public int Hztime { get; set; }
|
||||||
|
}
|
||||||
|
private class SubsysytemNameList
|
||||||
|
{
|
||||||
|
public string Lable { get; set; }
|
||||||
|
public string Value { get; set; }
|
||||||
|
}
|
||||||
|
private class GroupNameList
|
||||||
|
{
|
||||||
|
public string Lable { get; set; }
|
||||||
|
public string Value { get; set; }
|
||||||
|
}
|
||||||
|
private class SubAllTagReturn
|
||||||
|
{
|
||||||
|
//x.TagID, x.Description, x.Units
|
||||||
|
public short TagID { get; set; }
|
||||||
|
public string Description { get; set; }
|
||||||
|
public string Units { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -33,24 +33,27 @@ namespace HT.Cloud.Web.Areas.ChartsManage.Controllers
|
|||||||
return Content(data);
|
return Content(data);
|
||||||
}
|
}
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<ActionResult> GetGroupSubsystemTag(ChartGroupDescription chartGroupDescription)
|
public async Task<ActionResult> GetGroupSubsystemTag(string systemName)
|
||||||
{
|
{
|
||||||
|
|
||||||
var data = await _historyChartsService.GetGroupSubsystemTag(chartGroupDescription.GroupDescription);
|
var data = await _historyChartsService.GetGroupSubsystemTag(systemName);
|
||||||
return Content(data);
|
return Content(data);
|
||||||
}
|
}
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<ActionResult> GetAllSubsystemTag()
|
public async Task<ActionResult> GetAllSubsystemTag()
|
||||||
{
|
{
|
||||||
|
string systemName = "制粉系统";
|
||||||
|
|
||||||
var data = await _historyChartsService.GetAllSubsystemTag();
|
var data = await _historyChartsService.GetAllSubsystemTag(systemName);
|
||||||
return Content(data);
|
return Content(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<ActionResult> GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName)
|
public async Task<ActionResult> GetSubsystemAllTag(string SubsysytemName)
|
||||||
{
|
{
|
||||||
var data = await _historyChartsService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName, chartSubsysytemName.GroupDescription);
|
string systemName = "制粉系统";
|
||||||
|
|
||||||
|
var data = await _historyChartsService.GetSubsystemAllTag(SubsysytemName, systemName);
|
||||||
return Content(data);
|
return Content(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -312,9 +312,9 @@
|
|||||||
} else { }
|
} else { }
|
||||||
});
|
});
|
||||||
|
|
||||||
GetDriverGroupList();
|
//GetDriverGroupList();
|
||||||
|
|
||||||
//GetAllSubsystemTag();
|
GetAllSubsystemTag();
|
||||||
|
|
||||||
var starttime = new Date(new Date().setHours(0, 0, 0, 0));
|
var starttime = new Date(new Date().setHours(0, 0, 0, 0));
|
||||||
var starttimeString = starttime.getFullYear() + "-" + parseInt(starttime.getMonth() + 1) + "-" + starttime.getDate() + " " + (starttime.getHours()) + ":" + starttime.getMinutes() + ":" + starttime.getSeconds();
|
var starttimeString = starttime.getFullYear() + "-" + parseInt(starttime.getMonth() + 1) + "-" + starttime.getDate() + " " + (starttime.getHours()) + ":" + starttime.getMinutes() + ":" + starttime.getSeconds();
|
||||||
@ -388,55 +388,55 @@
|
|||||||
|
|
||||||
var StaticSelectTagList = new Array();
|
var StaticSelectTagList = new Array();
|
||||||
//获取所有变量组
|
//获取所有变量组
|
||||||
async function GetDriverGroupList() {
|
//async function GetDriverGroupList() {
|
||||||
debugger;
|
// debugger;
|
||||||
$.ajax({
|
// $.ajax({
|
||||||
url: "/ChartsManage/HistoryCharts/GetDriverGroupList",
|
// url: "/ChartsManage/HistoryCharts/GetDriverGroupList",
|
||||||
type: "Get",
|
// type: "Get",
|
||||||
success: function (redata) {
|
// success: function (redata) {
|
||||||
debugger;
|
// debugger;
|
||||||
var listsubsysname = JSON.parse(redata);
|
// var listsubsysname = JSON.parse(redata);
|
||||||
$('#groupselect').combobox({
|
// $('#groupselect').combobox({
|
||||||
data: listsubsysname,
|
// data: listsubsysname,
|
||||||
valueField: 'Lable',
|
// valueField: 'Lable',
|
||||||
textField: 'Value',
|
// textField: 'Value',
|
||||||
value :'请选择系统',
|
// value :'请选择系统',
|
||||||
checkOnSelect: true,
|
// checkOnSelect: true,
|
||||||
selectOnCheck: true
|
// selectOnCheck: true
|
||||||
});
|
// });
|
||||||
$('#subsystemselect').combobox({
|
// $('#subsystemselect').combobox({
|
||||||
|
|
||||||
value: '请先选择系统',
|
// value: '请先选择系统',
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
}
|
//}
|
||||||
var StaticGroupDescription = "";
|
//var StaticGroupDescription = "";
|
||||||
updateGroupSelect = async function (data) {
|
//updateGroupSelect = async function (data) {
|
||||||
StaticGroupDescription = data.Value;
|
// StaticGroupDescription = data.Value;
|
||||||
var para = { "GroupDescription": data.Value }
|
// var para = { "GroupDescription": data.Value }
|
||||||
//var subsystemAllTag = await Call(api.DataHistoryCharts.GetSubsystemAllTag, para);
|
// //var subsystemAllTag = await Call(api.DataHistoryCharts.GetSubsystemAllTag, para);
|
||||||
debugger;
|
// debugger;
|
||||||
$.ajax({
|
// $.ajax({
|
||||||
url: "/ChartsManage/HistoryCharts/GetGroupSubsystemTag",
|
// url: "/ChartsManage/HistoryCharts/GetGroupSubsystemTag",
|
||||||
type: "Post",
|
// type: "Post",
|
||||||
//dataType: "json",
|
// //dataType: "json",
|
||||||
data: para,
|
// data: para,
|
||||||
success: function (redata) {
|
// success: function (redata) {
|
||||||
var listsubsysname = JSON.parse(redata);
|
// var listsubsysname = JSON.parse(redata);
|
||||||
$('#subsystemselect').combobox({
|
// $('#subsystemselect').combobox({
|
||||||
data: listsubsysname,
|
// data: listsubsysname,
|
||||||
valueField: 'Lable',
|
// valueField: 'Lable',
|
||||||
textField: 'Value',
|
// textField: 'Value',
|
||||||
value: '请选择子系统',
|
// value: '请选择子系统',
|
||||||
checkOnSelect: true,
|
// checkOnSelect: true,
|
||||||
selectOnCheck: true
|
// selectOnCheck: true
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
|
||||||
|
|
||||||
}
|
//}
|
||||||
//获取所有子系统列表ok 废弃
|
//获取所有子系统列表ok 废弃
|
||||||
async function GetAllSubsystemTag() {
|
async function GetAllSubsystemTag() {
|
||||||
debugger;
|
debugger;
|
||||||
@ -463,7 +463,7 @@
|
|||||||
//获取选中子系统tag
|
//获取选中子系统tag
|
||||||
updateSelect = async function (data) {
|
updateSelect = async function (data) {
|
||||||
//var groupDescription = ('#groupselect').combobox().getValue();
|
//var groupDescription = ('#groupselect').combobox().getValue();
|
||||||
var para = { "GroupDescription": StaticGroupDescription, "SubsysytemName": data.Value }
|
var para = { /*"GroupDescription": StaticGroupDescription,*/ "SubsysytemName": data.Value }
|
||||||
//var subsystemAllTag = await Call(api.DataHistoryCharts.GetSubsystemAllTag, para);
|
//var subsystemAllTag = await Call(api.DataHistoryCharts.GetSubsystemAllTag, para);
|
||||||
debugger;
|
debugger;
|
||||||
myajax = $.ajax({
|
myajax = $.ajax({
|
||||||
@ -825,8 +825,8 @@
|
|||||||
@*<ul id="dataTree" class="dtree" data-id="0"></ul>*@
|
@*<ul id="dataTree" class="dtree" data-id="0"></ul>*@
|
||||||
<div id="aleft" style="float:left;width:100%;height:100%">
|
<div id="aleft" style="float:left;width:100%;height:100%">
|
||||||
<div class="easyui-panel" title="选择设备信息" style="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){updateGroupSelect(rec)}" style="width:100%;height:40px">
|
@*<div class="easyui-combobox" id="groupselect" name="group" data-options="onSelect:function(rec){updateGroupSelect(rec)}" style="width:100%;height:40px">
|
||||||
</div>
|
</div>*@
|
||||||
<div class="easyui-combobox" id="subsystemselect" name="state" data-options="onSelect:function(rec){updateSelect(rec)}" style="width:100%;height:40px">
|
<div class="easyui-combobox" id="subsystemselect" name="state" data-options="onSelect:function(rec){updateSelect(rec)}" style="width:100%;height:40px">
|
||||||
</div>
|
</div>
|
||||||
<div class="easyui-datalist" id="subsystemTagList" title="变量列表" style="position: relative;width:100%;height:auto;overflow:auto;" data-options="
|
<div class="easyui-datalist" id="subsystemTagList" title="变量列表" style="position: relative;width:100%;height:auto;overflow:auto;" data-options="
|
||||||
|
@ -42,15 +42,16 @@ namespace HT.Cloud.Web.Areas.ChartsManage.Controllers
|
|||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<ActionResult> GetAllSubsystemTag()
|
public async Task<ActionResult> GetAllSubsystemTag()
|
||||||
{
|
{
|
||||||
|
string systemName = "喷煤系统";
|
||||||
var data = await _historyChartsService.GetAllSubsystemTag();
|
var data = await _historyChartsService.GetAllSubsystemTag(systemName);
|
||||||
return Content(data);
|
return Content(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<ActionResult> GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName)
|
public async Task<ActionResult> GetSubsystemAllTag(string SubsysytemName)
|
||||||
{
|
{
|
||||||
var data = await _historyChartsService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName, chartSubsysytemName.GroupDescription);
|
string systemName = "喷煤系统";
|
||||||
|
var data = await _historyChartsService.GetSubsystemAllTag(SubsysytemName, systemName);
|
||||||
return Content(data);
|
return Content(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -625,10 +625,10 @@
|
|||||||
// min: 0,
|
// min: 0,
|
||||||
// 让表格的刻度向靠里侧显示
|
// 让表格的刻度向靠里侧显示
|
||||||
axisTick: {
|
axisTick: {
|
||||||
inside: true
|
inside: false
|
||||||
},
|
},
|
||||||
axisLabel: {
|
axisLabel: {
|
||||||
inside: true,
|
inside: false,
|
||||||
align: 'left',
|
align: 'left',
|
||||||
verticalAlign: 'bottom',
|
verticalAlign: 'bottom',
|
||||||
},
|
},
|
||||||
|
@ -532,7 +532,12 @@
|
|||||||
return chardatalist;
|
return chardatalist;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//true
|
||||||
|
//false
|
||||||
|
//第一条Y轴是否显示轴线
|
||||||
|
const oneAxisLineShow = true;
|
||||||
|
//其他Y轴是否显示轴线
|
||||||
|
const otherAxisLineShow = false;
|
||||||
|
|
||||||
showchart = async function () {
|
showchart = async function () {
|
||||||
//(document.getElementById('echarts-records'), 'walden');
|
//(document.getElementById('echarts-records'), 'walden');
|
||||||
@ -562,9 +567,21 @@
|
|||||||
|
|
||||||
var xDataArr = new Array();
|
var xDataArr = new Array();
|
||||||
var yDataArr = new Array();
|
var yDataArr = new Array();
|
||||||
|
var maxArr = new Array();
|
||||||
|
var minArr = new Array();
|
||||||
|
var intervalArr = new Array();
|
||||||
for (var listindex = 0; listindex < chardatalist.length; listindex++) {
|
for (var listindex = 0; listindex < chardatalist.length; listindex++) {
|
||||||
let ydata = chardatalist[listindex].map(x => { return x.value });
|
let ydata = chardatalist[listindex].map(x => { return x.value });
|
||||||
let xdata = chardatalist[listindex].map(x => { return x.name });
|
let xdata = chardatalist[listindex].map(x => { return x.name });
|
||||||
|
debugger;
|
||||||
|
let maxSrc = Math.max.apply(null, ydata);
|
||||||
|
let newMax = Math.ceil(maxSrc / 5) * 5;
|
||||||
|
maxArr.push(newMax);
|
||||||
|
let minSrc = Math.min.apply(null, ydata);
|
||||||
|
let newMin = Math.floor(minSrc / 5) * 5
|
||||||
|
minArr.push(newMin);
|
||||||
|
let interval = (newMax - newMin) / 5
|
||||||
|
intervalArr.push(interval);
|
||||||
xDataArr.push(xdata);
|
xDataArr.push(xdata);
|
||||||
yDataArr.push(ydata);
|
yDataArr.push(ydata);
|
||||||
}
|
}
|
||||||
@ -591,32 +608,37 @@
|
|||||||
let yAxisdata = {
|
let yAxisdata = {
|
||||||
name: JSON.parse(JSON.stringify(unitnames[ci])),
|
name: JSON.parse(JSON.stringify(unitnames[ci])),
|
||||||
nameLocation: 'center',
|
nameLocation: 'center',
|
||||||
|
nameGap:5,
|
||||||
|
nameRotate:270,
|
||||||
|
max: maxArr[ci],
|
||||||
|
min: minArr[ci],
|
||||||
|
interval: intervalArr[ci],
|
||||||
|
//splitNumber:21,
|
||||||
type: 'value',
|
type: 'value',
|
||||||
//position:'left',
|
//position:'left',
|
||||||
//坐标轴两边留白策略,设置max、min后失效
|
//坐标轴两边留白策略,设置max、min后失效
|
||||||
boundaryGap: ['5%', '2%'],
|
boundaryGap: ['5%', '2%'],
|
||||||
// max: 700,
|
|
||||||
// min: 0,
|
|
||||||
// 让表格的刻度向靠里侧显示
|
// 让表格的刻度向靠里侧显示
|
||||||
axisTick: {
|
axisTick: {
|
||||||
show: true,
|
show: true,
|
||||||
inside: true
|
inside: false,
|
||||||
|
length: 9,
|
||||||
},
|
},
|
||||||
minorTick:{
|
minorTick:{
|
||||||
show:true,
|
show:true,
|
||||||
length: 7,
|
length: 5,
|
||||||
},
|
},
|
||||||
minorSplitLine: {
|
minorSplitLine: {
|
||||||
show: true,
|
show: true,
|
||||||
},
|
},
|
||||||
axisLabel: {
|
axisLabel: {
|
||||||
inside: true,
|
inside: false,
|
||||||
align: 'left',
|
align: 'right',
|
||||||
verticalAlign: 'bottom',
|
verticalAlign: 'bottom',
|
||||||
},
|
},
|
||||||
// 设置刻度线的颜色等样式
|
// 设置刻度线的颜色等样式
|
||||||
axisLine: {
|
axisLine: {
|
||||||
show: true,
|
show: oneAxisLineShow,
|
||||||
onZero: true,
|
onZero: true,
|
||||||
onZeroAxisIndex:0,
|
onZeroAxisIndex:0,
|
||||||
lineStyle: {
|
lineStyle: {
|
||||||
@ -641,8 +663,12 @@
|
|||||||
let yAxisdata = {
|
let yAxisdata = {
|
||||||
name: JSON.parse(JSON.stringify(unitnames[ci])),
|
name: JSON.parse(JSON.stringify(unitnames[ci])),
|
||||||
nameLocation: 'center',
|
nameLocation: 'center',
|
||||||
// max: 800,
|
nameGap: 5,
|
||||||
// min: 0,
|
nameRotate: 270,
|
||||||
|
max: maxArr[ci],
|
||||||
|
min: minArr[ci],
|
||||||
|
interval: intervalArr[ci],
|
||||||
|
//splitNumber: 21,
|
||||||
type: 'value',
|
type: 'value',
|
||||||
position: 'left',
|
position: 'left',
|
||||||
//坐标轴两边留白策略,设置max、min后失效
|
//坐标轴两边留白策略,设置max、min后失效
|
||||||
@ -650,22 +676,23 @@
|
|||||||
//alignTicks:true,
|
//alignTicks:true,
|
||||||
axisTick: {
|
axisTick: {
|
||||||
show:true,
|
show:true,
|
||||||
inside: true
|
inside: false,
|
||||||
},
|
length: 9,
|
||||||
minorTick: {
|
|
||||||
show: true,
|
|
||||||
length: 7,
|
|
||||||
},
|
},
|
||||||
|
//minorTick: {
|
||||||
|
// show: true,
|
||||||
|
// length: 5,
|
||||||
|
//},
|
||||||
minorSplitLine:{
|
minorSplitLine:{
|
||||||
show:true,
|
show:true,
|
||||||
},
|
},
|
||||||
axisLabel: {
|
axisLabel: {
|
||||||
inside: true,
|
inside: false,
|
||||||
align: 'left',
|
align: 'right',
|
||||||
verticalAlign: 'bottom',
|
verticalAlign: 'bottom',
|
||||||
},
|
},
|
||||||
axisLine: {
|
axisLine: {
|
||||||
show: true,
|
show: otherAxisLineShow,
|
||||||
onZero: false,
|
onZero: false,
|
||||||
lineStyle: {
|
lineStyle: {
|
||||||
//color: color[ci],
|
//color: color[ci],
|
||||||
@ -674,7 +701,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
splitLine: {
|
splitLine: {
|
||||||
show: false //想要不显示网格线,改为false
|
show: true //想要不显示网格线,改为false
|
||||||
},
|
},
|
||||||
// 设置坐标轴偏移位置
|
// 设置坐标轴偏移位置
|
||||||
offset: (ci) * 40
|
offset: (ci) * 40
|
||||||
@ -919,6 +946,7 @@
|
|||||||
<body style="height:100%">
|
<body style="height:100%">
|
||||||
|
|
||||||
<script type="text/javascript" src="~/lib/echarts-5.3.0/dist/echarts.js"></script>
|
<script type="text/javascript" src="~/lib/echarts-5.3.0/dist/echarts.js"></script>
|
||||||
|
|
||||||
<div class="layui-fluid" style="padding:0 0px;height:100%">
|
<div class="layui-fluid" style="padding:0 0px;height:100%">
|
||||||
<div class="layui-row layui-col-space5" style="height:100%">
|
<div class="layui-row layui-col-space5" style="height:100%">
|
||||||
<div class="layui-col-md2 layui-col-xs3" style="height:100%;padding-right:12px;">
|
<div class="layui-col-md2 layui-col-xs3" style="height:100%;padding-right:12px;">
|
||||||
|
@ -969,7 +969,30 @@
|
|||||||
yAxis.push(yAxisdata);
|
yAxis.push(yAxisdata);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
*一
|
||||||
|
1、复用制粉趋势界面源码建立喷煤趋势界面。
|
||||||
|
2、改进趋势图的曲线颜色设定,按照单位分类,相同单位变量绑定同一色系。
|
||||||
|
3、曲线对应Y轴数量合并,根据单词选择变量中单位类型数量,生成对应单位的轴。
|
||||||
|
4、修改补充冀南钢铁喷煤制粉技术方案。
|
||||||
|
*二
|
||||||
|
1、增加顶部趋势图列显示,对应变量和曲线颜色,点击可显示和隐藏曲线。
|
||||||
|
2、增加趋势鼠标滚轮放大功能,在趋势上滚动滚轮对应缩短和增加时间跨度。
|
||||||
|
3、增加拖拽功能,在缩小时间跨度后,左键拖拽左右平移时间轴。
|
||||||
|
4、喷煤趋势后台控制器和数据服务重新构建,按照多系统方式,可查配置变量模板和多系统部署时不同数据。
|
||||||
|
5、协助水分仪上位机微波趋势显示修改,加大Y轴水分值量程,增加X轴时间跨度。
|
||||||
|
*三
|
||||||
|
1、根据曲工的喷煤趋势模板表,自动生成历史趋势界面变量选择项,拆分速率相关变量和重要参数变量。
|
||||||
|
2、调用曲工查询过程,构建选择变量列表依次查询数据,绑定至对应曲线和对应坐标轴。
|
||||||
|
3、构建趋势chart的容器、X轴、Y轴、变量曲线实例、图例、颜色数组、鼠标提示框,组合生成趋势。
|
||||||
|
*四
|
||||||
|
1、套用实时趋势的界面、前端JS、后端控制器、服务等实现代码,复用至喷煤实时趋势并制作该界面。
|
||||||
|
2、接入采集服务的实时数据库,设置实时趋势初始化时记录三秒钟实时数据来进行实时趋势初始化。
|
||||||
|
*五
|
||||||
|
1、生成喷煤趋势变量随机数通过采集服务Api写入300cpu中,用来模拟实时趋势。
|
||||||
|
2、添加趋势刷新方法,按周期刷新趋势数据。
|
||||||
|
3、构建实时趋势,设置曲线数据从采集服务中的实时数据中每秒增加数据,最大数据量50个。
|
||||||
|
*/
|
||||||
|
|
||||||
//for (var ci = 0; ci < StaticSelectTagList.length; ci++) {
|
//for (var ci = 0; ci < StaticSelectTagList.length; ci++) {
|
||||||
// if (ci == 0) {
|
// if (ci == 0) {
|
||||||
|
@ -0,0 +1,154 @@
|
|||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using HT.Cloud.Code;
|
||||||
|
using HT.Cloud.Domain.ChartsManage;
|
||||||
|
using HT.Cloud.Service;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
using HT.Cloud.Service.ChartsManage;
|
||||||
|
using HT.Cloud.Service.ReportManage;
|
||||||
|
using Serenity.Services;
|
||||||
|
|
||||||
|
namespace HT.Cloud.Web.Areas.ReportManage.Controllers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 创 建:cdl
|
||||||
|
/// 日 期:2023-02-23 11:10
|
||||||
|
/// 描 述:历史趋势控制器类
|
||||||
|
/// </summary>
|
||||||
|
[Area("PenMeiReportManage")]
|
||||||
|
public class PenMeiHistoryAlarmController : BaseController
|
||||||
|
{
|
||||||
|
public HistoryAlarmService _historyAlarmService { get;set;}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
public async Task<ActionResult> GetDriverGroupList()
|
||||||
|
{
|
||||||
|
var data = await _historyAlarmService.GetDriverGroupList();
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
public async Task<ActionResult> GetAllSubsystemTag()
|
||||||
|
{
|
||||||
|
string systemName = "喷煤系统";
|
||||||
|
|
||||||
|
var data = await _historyAlarmService.GetAllSubsystemTag(systemName);
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult> GetSubsystemAllTag(ChartSubsysytemName chartSubsysytemName)
|
||||||
|
{
|
||||||
|
string systemName = "喷煤系统";
|
||||||
|
|
||||||
|
var data = await _historyAlarmService.GetSubsystemAllTag(chartSubsysytemName.SubsysytemName, systemName);
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult> GetAlarmRecord(Alarm_Params charts_Params)
|
||||||
|
{
|
||||||
|
string systemName = "喷煤系统";
|
||||||
|
|
||||||
|
short TagID = short.Parse(charts_Params.TagID);
|
||||||
|
var StartTime = Gettime(charts_Params.StartTime);
|
||||||
|
var EndTime = Gettime(charts_Params.EndTime);
|
||||||
|
|
||||||
|
var data = await _historyAlarmService.GetAlarmRecord(TagID, StartTime, EndTime, systemName);
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult> GetAlarmRecordQuick(Alarm_Quick_Params alarm_Quick_Params)
|
||||||
|
{
|
||||||
|
string systemName = "喷煤系统";
|
||||||
|
|
||||||
|
var Alarmtype = alarm_Quick_Params.Alarmtype;
|
||||||
|
var StartTime = Gettime(alarm_Quick_Params.StartTime);
|
||||||
|
var EndTime = Gettime(alarm_Quick_Params.EndTime);
|
||||||
|
|
||||||
|
var data = await _historyAlarmService.GetAlarmRecordQuick(Alarmtype, StartTime, EndTime, systemName);
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult> GetAlarmRecordQuickDesc(Alarm_Quick_Desc_Params alarm_Quick_Desc_Params)
|
||||||
|
{
|
||||||
|
string systemName = "喷煤系统";
|
||||||
|
|
||||||
|
var hhour = alarm_Quick_Desc_Params.Hhour;
|
||||||
|
|
||||||
|
var data = await _historyAlarmService.GetAlarmRecordQuickDesc(hhour, systemName);
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<ActionResult> GetAlarmSubSystem(SubSystem_Params subSystem_Params)
|
||||||
|
{
|
||||||
|
string systemName = "喷煤系统";
|
||||||
|
|
||||||
|
var AlarmName = subSystem_Params.AlarmName;
|
||||||
|
var data = await _historyAlarmService.GetAlarmSubSystem(AlarmName,systemName);
|
||||||
|
return Content(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Gettime(string longtime)
|
||||||
|
{
|
||||||
|
long jsTimeStamp = long.Parse(longtime);
|
||||||
|
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
|
||||||
|
DateTime dt = startTime.AddMilliseconds(jsTimeStamp);
|
||||||
|
return (dt.ToString("yyyy/MM/dd HH:mm:ss"));
|
||||||
|
}
|
||||||
|
|
||||||
|
//public class SubAllTagReturn
|
||||||
|
//{
|
||||||
|
// //x.TagID, x.Description, x.Units
|
||||||
|
// public short TagID { get; set; }
|
||||||
|
// public string Description { get; set; }
|
||||||
|
// public string Units { get; set; }
|
||||||
|
//}
|
||||||
|
|
||||||
|
//public class SubsysytemNameList
|
||||||
|
//{
|
||||||
|
// public string Lable { get; set; }
|
||||||
|
// public string Value { get; set; }
|
||||||
|
//}
|
||||||
|
|
||||||
|
public class ChartSubsysytemName
|
||||||
|
{
|
||||||
|
public string SubsysytemName { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
//public class HDATETIMEVALUE
|
||||||
|
//{
|
||||||
|
// public String HDATETIME { get; set; }
|
||||||
|
// public decimal VALUE { get; set; }
|
||||||
|
//}
|
||||||
|
//public class ChartData
|
||||||
|
//{
|
||||||
|
// public decimal value { get; set; }
|
||||||
|
// public String name { get; set; }
|
||||||
|
//}
|
||||||
|
public class SubSystem_Params
|
||||||
|
{
|
||||||
|
public string AlarmName { get; set; }
|
||||||
|
}
|
||||||
|
public class Alarm_Params
|
||||||
|
{
|
||||||
|
public string TagID { get; set; }
|
||||||
|
public string StartTime { get; set; }
|
||||||
|
public string EndTime { get; set; }
|
||||||
|
}
|
||||||
|
public class Alarm_Quick_Params
|
||||||
|
{
|
||||||
|
public string Alarmtype { get; set; }
|
||||||
|
public string StartTime { get; set; }
|
||||||
|
public string EndTime { get; set; }
|
||||||
|
}
|
||||||
|
public class Alarm_Quick_Desc_Params
|
||||||
|
{
|
||||||
|
public string Hhour { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
@ -123,6 +123,13 @@
|
|||||||
描 述:订单管理控制器类
|
描 述:订单管理控制器类
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:HT.Cloud.Web.Areas.ReportManage.Controllers.PenMeiHistoryAlarmController">
|
||||||
|
<summary>
|
||||||
|
创 建:cdl
|
||||||
|
日 期:2023-02-23 11:10
|
||||||
|
描 述:历史趋势控制器类
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="T:HT.Cloud.Web.Areas.ReportManage.Controllers.MetaTagAlarmController">
|
<member name="T:HT.Cloud.Web.Areas.ReportManage.Controllers.MetaTagAlarmController">
|
||||||
<summary>
|
<summary>
|
||||||
创 建:cdl
|
创 建:cdl
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
"SqlMode": "TenantSql", //数据库模式多租户或者多库 "MoreSql"
|
"SqlMode": "TenantSql", //数据库模式多租户或者多库 "MoreSql"
|
||||||
"ProjectPrefix": "watercloud", //项目中的前缀
|
"ProjectPrefix": "watercloud", //项目中的前缀
|
||||||
"ReviseSystem": false, //是否重置密码
|
"ReviseSystem": false, //是否重置密码
|
||||||
"LoginErrorCount": 4, //登录错误次数
|
"LoginErrorCount": 18, //登录错误次数
|
||||||
"IsCluster": false, //集群参数 开启时需要去quartz下载响应数据库
|
"IsCluster": false, //集群参数 开启时需要去quartz下载响应数据库
|
||||||
"NeedClear": false, //是否删除定时调度任务
|
"NeedClear": false, //是否删除定时调度任务
|
||||||
"SqlConfig": [
|
"SqlConfig": [
|
||||||
|
Reference in New Issue
Block a user