拆分多库模式

This commit is contained in:
dell
2023-08-24 09:28:09 +08:00
parent a83653655b
commit 8b307e203b
69 changed files with 1267 additions and 184 deletions

View File

@ -15,19 +15,24 @@ namespace HT.Cloud.Service.ReportManage
{
public class HistoryAlarmService : BaseService<HistoryAlarmEntity>, IDenpendency
{
public HistoryAlarmService(ISqlSugarClient context) : base(context)
/// <summary>
/// 绑定数据仓库的数据库ID
/// </summary>
private string dataDBNumber = GlobalContext.SystemConfig.DataDBNumber;
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");
//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<Ht_History_ReportEntity>($"SELECT * FROM HT_{driverName}_{groupName}_ALARM");
List<GroupNameList> subsystems = new List<GroupNameList>();
var list_group = _context.Queryable<MetaGroupEntity>().ToList();
var list_group = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().ToList();
int i = 0;
foreach (var group in list_group)
{
@ -38,13 +43,13 @@ namespace HT.Cloud.Service.ReportManage
}
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");
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<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();
//var grouped = _context.AsTenant().QueryableWithAttr<HistoryAlarmEntity>().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)
{
@ -55,10 +60,10 @@ namespace HT.Cloud.Service.ReportManage
}
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 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<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();
@ -87,7 +92,7 @@ namespace HT.Cloud.Service.ReportManage
new SugarParameter("@Htagid",tagid)
};
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm", sqlParameters);
var dt = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm", sqlParameters);
var valuelist = DataTableConvertModel<AlarmValue>.ConvertDataTableToList(dt);
return valuelist.ToJson();
@ -142,7 +147,7 @@ namespace HT.Cloud.Service.ReportManage
};
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm_Count", sqlParameters);
var dt = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm_Count", sqlParameters);
var valuelist = DataTableConvertModel<AlarmValueCount>.ConvertDataTableToList(dt);
return valuelist.ToJson();
@ -155,17 +160,17 @@ namespace HT.Cloud.Service.ReportManage
{
new SugarParameter("@Hhour",Hhour)
};
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm_History", sqlParameters);
var dt = _context.AsTenant().GetConnection(dataDBNumber).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 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<HistoryAlarmEntity>($"SELECT * FROM HT_{driverName}_{groupName}_ALARM");
var subSystem = list.Where(x => x.Description == alarmName).First().Subsystem;
return subSystem.ToJson();

View File

@ -26,16 +26,18 @@ namespace HT.Cloud.Service.ReportManage
{
public class HistoryReportService : BaseService<HistoryReportEntity>, IDenpendency
{
//private string Startdt = "";
//private string Enddt = "";
//private int Timeinterval = 0;
public HistoryReportService(ISqlSugarClient context) : base(context)
/// <summary>
/// 绑定数据仓库的数据库ID
/// </summary>
private string dataDBNumber = GlobalContext.SystemConfig.DataDBNumber;
public HistoryReportService(ISqlSugarClient context) : base(context)
{
}
public async Task<string> GetDriverGroupList()
{
var list_group = _context.Queryable<MetaGroupEntity>().ToList();
var list_group = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().ToList();
return list_group.ToJson();
}
@ -66,7 +68,7 @@ namespace HT.Cloud.Service.ReportManage
var Report = _context.Ado.UseStoredProcedure().GetDataTable("Query_Report_YL", sqlParameters);
var Report = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("Query_Report_YL", sqlParameters);
Report.TableName = "Report";
@ -112,7 +114,7 @@ namespace HT.Cloud.Service.ReportManage
new SugarParameter("@enddt",enddt),
new SugarParameter("@timeinterval",timeinterval)
};
var dt_Counts = _context.Ado.UseStoredProcedure().GetDataTable("Query_Report_YL_COUNT", sqlParameters);
var dt_Counts = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("Query_Report_YL_COUNT", sqlParameters);
int counts = dt_Counts.Rows[0][0].ToInt();
return counts;
}
@ -133,13 +135,13 @@ namespace HT.Cloud.Service.ReportManage
}
public async Task<string> GetReportNewAsync(string page, string limit, string Startdt, string Enddt, string Timeinterval, string systemName)
{
var groupName = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
var groupName = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().Where(x => x.GroupDescription == systemName).First().GroupName;
//SugarParameter[] sqlParameters ={
// new SugarParameter("@startdt",Startdt),
// new SugarParameter("@enddt",Enddt),
// new SugarParameter("@timeinterval",Timeinterval)
//};
//var dt_Counts = _context.Ado.UseStoredProcedure().GetDataTable("Query_Report_YL_COUNT", sqlParameters);
//var dt_Counts = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("Query_Report_YL_COUNT", sqlParameters);
//int counts = dt_Counts.Rows[0][0].ToInt();
string msg = "";
int code = 0;
@ -151,7 +153,7 @@ namespace HT.Cloud.Service.ReportManage
new SugarParameter("@hpage",page.ToInt()),
new SugarParameter("@hlimit",limit.ToInt())
};
var Report = _context.Ado.UseStoredProcedure().GetDataTable("Query_Report_PAGE", sqlReportParameters);
var Report = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("Query_Report_PAGE", sqlReportParameters);
var jsonResult = JsonConvert.SerializeObject(Report);
@ -176,7 +178,7 @@ namespace HT.Cloud.Service.ReportManage
new SugarParameter("@enddt",enddt),
new SugarParameter("@timeinterval",timeinterval)
};
var Report = _context.Ado.UseStoredProcedure().GetDataTable("Query_Report_YL", sqlParameters);
var Report = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("Query_Report_YL", sqlParameters);
Report.TableName = "Report";
//return JsonConvert.SerializeObject(Report);
@ -185,21 +187,21 @@ namespace HT.Cloud.Service.ReportManage
}
public async Task<string> GetReportFirstHead(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<Ht_History_ReportEntity>($"SELECT * FROM HT_{driverName}_{groupName}_REPORT");
//var list = _context.Queryable<Ht_History_ReportEntity>().ToList();
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<Ht_History_ReportEntity>($"SELECT * FROM HT_{driverName}_{groupName}_REPORT");
//var list = _context.AsTenant().QueryableWithAttr<Ht_History_ReportEntity>().ToList();
List<string> list_name_two = list.Select(t => t.HSYS).GroupBy(c => c).Select(c => c.First()).ToList();
return list_name_two.ToJson();
}
public async Task<string> GetReportSecondHead(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<Ht_History_ReportEntity>($"SELECT * FROM HT_{driverName}_{groupName}_REPORT");
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<Ht_History_ReportEntity>($"SELECT * FROM HT_{driverName}_{groupName}_REPORT");
List<string> list_name_two = list.Select(t => t.HSYS).GroupBy(c => c).Select(c => c.First()).ToList();
var relist = new List<SecondHead>();
foreach(var t in list_name_two)

View File

@ -14,13 +14,18 @@ namespace HT.Cloud.Service.ReportManage
{
public class MetaTagAlarmService : BaseService<MetaTagAlarmEntity>, IDenpendency
{
public MetaTagAlarmService(ISqlSugarClient context) : base(context)
/// <summary>
/// 绑定数据仓库的数据库ID
/// </summary>
private string dataDBNumber = GlobalContext.SystemConfig.DataDBNumber;
public MetaTagAlarmService(ISqlSugarClient context) : base(context)
{
}
public async Task<string> GetDriverGroupList()
{
List<GroupNameList> subsystems = new List<GroupNameList>();
var list_group = _context.Queryable<MetaGroupEntity>().ToList();
var list_group = _context.AsTenant().QueryableWithAttr<MetaGroupEntity>().ToList();
int i = 0;
foreach (var group in list_group)
{
@ -32,7 +37,7 @@ namespace HT.Cloud.Service.ReportManage
public async Task<string> GetAllSubsystemTag()
{
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
var grouped = repository.IQueryable().ToList();
var grouped = _context.AsTenant().QueryableWithAttr<MetaTagAlarmEntity>().ToList();
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,7 +51,7 @@ namespace HT.Cloud.Service.ReportManage
{
var subsysname = subsysytemName;
var response = repository.IQueryable().Where(x => x.Subsystem == subsysname).Select(x => new { x.TagID, x.Description, x.Units }).ToList();
var response = _context.AsTenant().QueryableWithAttr<MetaTagAlarmEntity>().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)
{
@ -72,7 +77,7 @@ namespace HT.Cloud.Service.ReportManage
new SugarParameter("@Htagid",tagid)
};
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm", sqlParameters);
var dt = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm", sqlParameters);
var valuelist = DataTableConvertModel<AlarmValue>.ConvertDataTableToList(dt);
return valuelist.ToJson();
@ -127,7 +132,7 @@ namespace HT.Cloud.Service.ReportManage
};
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm_Count", sqlParameters);
var dt = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm_Count", sqlParameters);
var valuelist = DataTableConvertModel<AlarmValueCount>.ConvertDataTableToList(dt);
return valuelist.ToJson();
@ -140,14 +145,14 @@ namespace HT.Cloud.Service.ReportManage
{
new SugarParameter("@Hhour",Hhour)
};
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm_History", sqlParameters);
var dt = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("Query_Tag_Alarm_History", sqlParameters);
var valuelist = DataTableConvertModel<AlarmValueCountDesc>.ConvertDataTableToList(dt);
return valuelist.ToJson();
}
public async Task<string> GetAlarmSubSystem(string alarmName)
{
var subSystem = repository.IQueryable().Where(x => x.Description == alarmName).First().Subsystem;
var subSystem = _context.AsTenant().QueryableWithAttr<MetaTagAlarmEntity>().Where(x => x.Description == alarmName).First().Subsystem;
return subSystem.ToJson();
}
private class AlarmValueCount

View File

@ -13,21 +13,27 @@ using Newtonsoft.Json.Linq;
using System.Data;
using HT.Cloud.Code;
using HT.Cloud.Domain.ChartsManage;
using HT.Cloud.Domain.DevicesManage;
namespace HT.Cloud.Service.ReportManage
{
public class RtReportService : BaseService<RtReportEntity>, IDenpendency
{
public RtReportService(ISqlSugarClient context) : base(context)
/// <summary>
/// 绑定数据仓库的数据库ID
/// </summary>
private string dataDBNumber = GlobalContext.SystemConfig.DataDBNumber;
public RtReportService(ISqlSugarClient context) : base(context)
{
}
public async Task<string> GetRtSubsysTagValue()
{
var srcList = repository.IQueryable().ToList();
var srcList = _context.AsTenant().QueryableWithAttr<RtReportEntity>().ToList();
var remoteRtDataServer = _context.Queryable<RtchartsEntity>().First().remotertdataserver;
var remoteRtDataServer = _context.AsTenant().QueryableWithAttr<RtchartsEntity>().First().remotertdataserver;
var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer);