拆分多库模式

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

@ -20,14 +20,19 @@ namespace HT.Cloud.Service.ChartsManage
/// </summary>
public class HistoryChartsService : BaseService<HistoryChartsEntity>, IDenpendency
{
public HistoryChartsService(ISqlSugarClient context) : base(context)
/// <summary>
/// 绑定数据仓库的数据库ID
/// </summary>
private string dataDBNumber = GlobalContext.SystemConfig.DataDBNumber;
public HistoryChartsService(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)
{
@ -40,8 +45,8 @@ namespace HT.Cloud.Service.ChartsManage
public async Task<string> GetGroupSubsystemTag(string groupDescription)
{
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
var groupId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == groupDescription).First().GroupID;
var grouped = _context.Queryable<MetaTagEntity>().ToList().Where(x=>x.GroupID==groupId);
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)
@ -55,8 +60,8 @@ namespace HT.Cloud.Service.ChartsManage
public async Task<string> GetAllSubsystemTag(string groupDescription)
{
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
var groupId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == groupDescription).First().GroupID;
var grouped = _context.Queryable<MetaTagEntity>().ToList().Where(x => x.GroupID == groupId);
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)
@ -71,8 +76,8 @@ namespace HT.Cloud.Service.ChartsManage
{
var subsysname = subsysytemName;
var groupId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == groupDescription).First().GroupID;
var response = _context.Queryable<MetaTagEntity>().Where(x => x.Subsystem == subsysname&&x.GroupID == groupId).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)
{
@ -97,7 +102,7 @@ namespace HT.Cloud.Service.ChartsManage
new SugarParameter("@startdt",startdt),
new SugarParameter("@timeinterval",timeinterval)
};
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Group_Tag", sqlParameters);
var dt = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("Query_Group_Tag", sqlParameters);
//*
//var ds = db.SqlQuery("Query_Report_Period", sqlParameters);///

View File

@ -12,6 +12,7 @@ using HT.Cloud.Domain.DevicesManage;
using Microsoft.AspNetCore.Mvc;
using HT.Cloud.Domain.ReportManage;
using Quartz;
using Serenity.Data;
namespace HT.Cloud.Service.ChartsManage
{
@ -22,25 +23,29 @@ namespace HT.Cloud.Service.ChartsManage
/// </summary>
public class HistoryTechChartsService : BaseService<HistoryTechChartsEntity>, IDenpendency
{
public HistoryTechChartsService(ISqlSugarClient context) : base(context)
/// <summary>
/// 绑定数据仓库的数据库ID
/// </summary>
private string dataDBNumber = GlobalContext.SystemConfig.DataDBNumber;
public HistoryTechChartsService(ISqlSugarClient context) : base(context)
{
}
public async Task<string> GetAllTagList(string systemName, string chartTagType)
{
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_CHARTEntity>($"SELECT * FROM HT_{driverName}_{groupName}_CHART WHERE ChartTagType = '{chartTagType}'");
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_CHARTEntity>($"SELECT * FROM HT_{driverName}_{groupName}_CHART WHERE ChartTagType = '{chartTagType}'");
return list.ToJson();
}
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)
{
@ -53,8 +58,8 @@ namespace HT.Cloud.Service.ChartsManage
public async Task<string> GetGroupSubsystemTag(string groupDescription)
{
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
var groupId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == groupDescription).First().GroupID;
var grouped = _context.Queryable<MetaTagEntity>().ToList().Where(x=>x.GroupID==groupId);
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)
@ -68,7 +73,7 @@ namespace HT.Cloud.Service.ChartsManage
public async Task<string> GetAllSubsystemTag()
{
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
var grouped = _context.Queryable<MetaTagEntity>().ToList();
var grouped = _context.AsTenant().QueryableWithAttr<MetaTagEntity>().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)
@ -83,8 +88,8 @@ namespace HT.Cloud.Service.ChartsManage
{
var subsysname = subsysytemName;
var groupId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == groupDescription).First().GroupID;
var response = _context.Queryable<MetaTagEntity>().Where(x => x.Subsystem == subsysname&&x.GroupID == groupId).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)
{
@ -110,7 +115,7 @@ namespace HT.Cloud.Service.ChartsManage
new SugarParameter("@enddt",enddt),
new SugarParameter("@timeinterval",timeinterval)
};
var dt = _context.Ado.UseStoredProcedure().GetDataTable("Query_Chart_Tag", sqlParameters);
var dt = _context.AsTenant().GetConnection(dataDBNumber).Ado.UseStoredProcedure().GetDataTable("Query_Chart_Tag", sqlParameters);
//*
//var ds = db.SqlQuery("Query_Report_Period", sqlParameters);///

View File

@ -24,7 +24,12 @@ namespace HT.Cloud.Service.ChartsManage
/// </summary>
public class RtTechChartsService : BaseService<RtTechChartsEntity>, IDenpendency
{
public RtTechChartsService(ISqlSugarClient context) : base(context)
/// <summary>
/// 绑定数据仓库的数据库ID
/// </summary>
private string dataDBNumber = GlobalContext.SystemConfig.DataDBNumber;
public RtTechChartsService(ISqlSugarClient context) : base(context)
{
}
@ -32,17 +37,17 @@ namespace HT.Cloud.Service.ChartsManage
{
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_CHARTEntity>($"SELECT * FROM HT_{driverName}_{groupName}_CHART WHERE ChartTagType = '{chartTagType}'");
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_CHARTEntity>($"SELECT * FROM HT_{driverName}_{groupName}_CHART WHERE ChartTagType = '{chartTagType}'");
return list.ToJson();
}
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)
{
@ -55,8 +60,8 @@ namespace HT.Cloud.Service.ChartsManage
public async Task<string> GetGroupSubsystemTag(string groupDescription)
{
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
var groupId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == groupDescription).First().GroupID;
var grouped = _context.Queryable<MetaTagEntity>().ToList().Where(x=>x.GroupID==groupId);
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)
@ -70,7 +75,7 @@ namespace HT.Cloud.Service.ChartsManage
public async Task<string> GetAllSubsystemTag()
{
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
var grouped = _context.Queryable<MetaTagEntity>().ToList();
var grouped = _context.AsTenant().QueryableWithAttr<MetaTagEntity>().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)
@ -85,8 +90,8 @@ namespace HT.Cloud.Service.ChartsManage
{
var subsysname = subsysytemName;
var groupId = _context.Queryable<MetaGroupEntity>().Where(x => x.GroupDescription == groupDescription).First().GroupID;
var response = _context.Queryable<MetaTagEntity>().Where(x => x.Subsystem == subsysname&&x.GroupID == groupId).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)
{
@ -108,14 +113,14 @@ namespace HT.Cloud.Service.ChartsManage
var result_list = new List<List<ChartData>>();
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;
foreach (string tagNameTxt in charts_TagNames)
{
tagName_list.Add(tagNameTxt);
result_list.Add(new List<ChartData>());
}
var remoteRtDataServer = repository.IQueryable().First().remotertdataserver + $"?groupName={groupName}";
var remoteRtDataServer = _context.AsTenant().QueryableWithAttr<RtchartsEntity>().First().remotertdataserver + $"?groupName={groupName}";
for (int i = 0; i < 3; i++)
{
var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer);
@ -154,7 +159,7 @@ namespace HT.Cloud.Service.ChartsManage
var result_list = new List<List<ChartData>>();
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;
foreach (string tagNameTxt in charts_TagNames)
@ -163,7 +168,7 @@ namespace HT.Cloud.Service.ChartsManage
result_list.Add(new List<ChartData>());
}
var remoteRtDataServer = repository.IQueryable().First().remotertdataserver + $"?groupName={groupName}"; ;
var remoteRtDataServer = _context.AsTenant().QueryableWithAttr<RtTechChartsEntity>().First().remotertdataserver + $"?groupName={groupName}"; ;
var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer);
JObject valueJson = JObject.Parse(responseStr);

View File

@ -19,18 +19,23 @@ namespace HT.Cloud.Service.ChartsManage
/// </summary>
public class RtchartsService : BaseService<RtchartsEntity>, IDenpendency
{
public RtchartsService(ISqlSugarClient context) : base(context)
/// <summary>
/// 绑定数据仓库的数据库ID
/// </summary>
private string dataDBNumber = GlobalContext.SystemConfig.DataDBNumber;
public RtchartsService(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();
}
public async Task<string> GetAllSubsystemTag()
{
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
var grouped = _context.Queryable<MetaTagEntity>().ToList();
var grouped = _context.AsTenant().QueryableWithAttr<MetaTagEntity>().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)
@ -45,7 +50,7 @@ namespace HT.Cloud.Service.ChartsManage
{
var subsysname = subsysytemName;
var response = _context.Queryable<MetaTagEntity>().Where(x => x.Subsystem == subsysname).Select(x => new { x.TagID, x.Description, x.Units }).ToList();
var response = _context.AsTenant().QueryableWithAttr<MetaTagEntity>().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)
{
@ -71,11 +76,11 @@ namespace HT.Cloud.Service.ChartsManage
foreach (string tagIDTxt in charts_TagIDs)
{
var tagID = ushort.Parse(tagIDTxt);
var TagName = _context.Queryable<MetaTagEntity>().Where(x => x.TagID == tagID).First().TagName;
var TagName = _context.AsTenant().QueryableWithAttr<MetaTagEntity>().Where(x => x.TagID == tagID).First().TagName;
tagName_list.Add(TagName);
result_list.Add(new List<ChartData>());
}
var remoteRtDataServer = repository.IQueryable().First().remotertdataserver;
var remoteRtDataServer = _context.AsTenant().QueryableWithAttr<RtchartsEntity>().First().remotertdataserver;
for (int i = 0; i < 3; i++)
{
var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer);
@ -118,12 +123,12 @@ namespace HT.Cloud.Service.ChartsManage
foreach (string tagIDTxt in charts_TagIDs)
{
var tagID = ushort.Parse(tagIDTxt);
var TagName = _context.Queryable<MetaTagEntity>().Where(x => x.TagID == tagID).First().TagName;
var TagName = _context.AsTenant().QueryableWithAttr<MetaTagEntity>().Where(x => x.TagID == tagID).First().TagName;
tagName_list.Add(TagName);
result_list.Add(new List<ChartData>());
}
var remoteRtDataServer = repository.IQueryable().First().remotertdataserver;
var remoteRtDataServer = _context.AsTenant().QueryableWithAttr<RtchartsEntity>().First().remotertdataserver;
var responseStr = RemoteHttpRequest.HttpGet(remoteRtDataServer);
JObject valueJson = JObject.Parse(responseStr);