添加变量名称导入

This commit is contained in:
dell
2023-07-27 15:19:54 +08:00
parent 01d9e60036
commit f897bdeae0
19 changed files with 1478 additions and 76 deletions

View File

@ -24,6 +24,12 @@ namespace HT.Cloud.Service.ChartsManage
{
}
public async Task<string> GetDriverGroupList()
{
var list_group = _context.Queryable<MetaGroupEntity>().ToList();
return list_group.ToJson();
}
public async Task<string> GetAllSubsystemTag()
{
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();

View File

@ -22,8 +22,12 @@ namespace HT.Cloud.Service.ChartsManage
public RtchartsService(ISqlSugarClient context) : base(context)
{
}
public async Task<string> GetAllSubsystemTag()
public async Task<string> GetDriverGroupList()
{
var list_group = _context.Queryable<MetaGroupEntity>().ToList();
return list_group.ToJson();
}
public async Task<string> GetAllSubsystemTag()
{
List<SubsysytemNameList> subsystems = new List<SubsysytemNameList>();
var grouped = _context.Queryable<MetaTagEntity>().ToList();

View File

@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using HT.Cloud.Code;
using HT.Cloud.Domain.DevicesManage;
@ -150,6 +151,55 @@ namespace HT.Cloud.Service.DevicesManage
return tree_MetaTagRedata.ToJson();
}
public async Task<string> ImportExcelToTableData(List<MetaTagEntity> metaTags)
{
var reList = new List<Tree_MetaTagEntity>();
var listMetaTag = metaTags;
var treeListMetaTag = new List<Tree_MetaTagEntity>();
foreach (var item in listMetaTag)
{
var tree_MetaTag = PCAutoCopy(item);
treeListMetaTag.Add(tree_MetaTag);
}
var listArray = treeListMetaTag.GroupBy(x => x.Subsystem).ToList();
int gi = 1;
foreach (var item in listArray)
{
var f_MetaTagEntity = new Tree_MetaTagEntity
{
TreeId = gi,
F_TreeId = 0,
Address = item.First().Address,
Subsystem = item.First().Subsystem,
TagID = gi,
};
reList.Add(f_MetaTagEntity);
foreach (var entity in item)
{
entity.F_TreeId = gi;
entity.TreeId = entity.TagID;
entity.Address = "";
reList.Add(entity);
}
gi++;
}
var tree_MetaTagRedata = new Tree_MetaTagRedata
{
code = 0,
msg = "",
count = reList.Count,
data = reList
};
return tree_MetaTagRedata.ToJson();
}
public class MetaTagRedata
{
public int code { get;set; }

View File

@ -15,15 +15,28 @@ using HT.Cloud.Code;
using HT.Cloud.Domain.DevicesManage;
using System.Text.RegularExpressions;
using Org.BouncyCastle.Asn1.X509;
using System.Security.Cryptography;
using System.Threading;
using System.Data;
using iTextSharp.text;
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)
{
}
public async Task<string> GetDriverGroupList()
{
var list_group = _context.Queryable<MetaGroupEntity>().ToList();
return list_group.ToJson();
}
public async Task<string> GetReportFileName(string startdt, string enddt, int timeinterval)
{
//SqlParameter[] sqlParameters =
@ -82,7 +95,77 @@ namespace HT.Cloud.Service.ReportManage
//result.data = fileurl;
return fileurl;
}
/// <summary>
/// sql获取count
/// </summary>
/// <param name="startdt"></param>
/// <param name="enddt"></param>
/// <param name="timeinterval"></param>
/// <returns></returns>
public async Task<object> GetReportNewInitPara(string startdt, string enddt, int timeinterval)
{
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);
int counts = dt_Counts.Rows[0][0].ToInt();
return counts;
}
/// <summary>
/// 代码计算count
/// </summary>
/// <param name="startdt"></param>
/// <param name="enddt"></param>
/// <param name="timeinterval"></param>
/// <returns></returns>
public async Task<object> GetReportNewInitParaInCode(long startdt, long enddt, int timeinterval)
{
var startS = startdt / 1000;
var endS = enddt / 1000;
var counts = ((endS - startS) / timeinterval) + 1;
return counts;
}
public async Task<string> GetReportNewAsync(string page, string limit, string Startdt, string Enddt, string Timeinterval, string 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);
//int counts = dt_Counts.Rows[0][0].ToInt();
string msg = "";
int code = 0;
SugarParameter[] sqlReportParameters ={
new SugarParameter("@startdt",Startdt),
new SugarParameter("@enddt",Enddt),
new SugarParameter("@groupname",GroupName),
new SugarParameter("@timeinterval",Timeinterval),
new SugarParameter("@hpage",page.ToInt()),
new SugarParameter("@hlimit",limit.ToInt())
};
var Report = _context.Ado.UseStoredProcedure().GetDataTable("Query_Report_YL_PAGE", sqlReportParameters);
var jsonResult = JsonConvert.SerializeObject(Report);
var result = new
{
code = code,
msg = msg,
//count = counts,
data = jsonResult
};
string serJson = JsonConvert.SerializeObject(result);
return serJson;
}
public async Task<object> GetReportNew(string startdt, string enddt, int timeinterval)
{
SugarParameter[] sqlParameters ={
@ -128,6 +211,118 @@ namespace HT.Cloud.Service.ReportManage
return relist.ToJson();
//return Report.ToJson();
}
public async Task<string> GetReportDownLoad(DateTime startTime, DateTime endTime ,int interval)
{
var listSub = TimeInOneDay(startTime, endTime);
var pathroot = Directory.GetCurrentDirectory();
string fileurl = "报表 " + startTime.ToString("yyyy年MM月dd日 HH.mm.ss") + "至" + endTime.ToString("yyyy年MM月dd日 HH.mm.ss") + "(" + "时间间隔" + interval.ToString() + "秒" + ")" + "_" + DateTime.Now.ToString("yyyy年MM月dd日 HH.mm.ss") + "导出" + ".xlsx";
//var fileurl = $"电子报表2023_01_03_11_19_53.xlsx";
var path = pathroot + "\\wwwroot\\report\\" + fileurl;//{StartTime}-{EndTime}
var sheets = new Dictionary<string, object>();
try
{
for (int i = 0; i < listSub.Count; i++)
{
var item = listSub[i];
var fstartTime = item.starttime;
var fendTime = item.endtime;
string conn = _context.CurrentConnectionConfig.ConnectionString; //"Data Source=192.168.110.32;Initial Catalog=SCADA;User Id= sa;Password= Sa1qaz;Integrated Security=False;Encrypt=True;TrustServerCertificate=True;";
SqlConnection sqlConnection = new SqlConnection(conn);
SqlCommand command = new SqlCommand("dbo.Query_Report_YL_CHN", sqlConnection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new SqlParameter("@startdt", fstartTime.ToString("yyyy/MM/dd HH:mm:ss")));
command.Parameters.Add(new SqlParameter("@enddt", fendTime.ToString("yyyy/MM/dd HH:mm:ss")));
command.Parameters.Add(new SqlParameter("@timeinterval", interval));
command.CommandTimeout = 999999;
sqlConnection.Open();
var reader = command.ExecuteReader();
//var pathroot = Directory.GetCurrentDirectory();
//string fileurl = "报表_" + startTime.ToString("yyyy_MM_dd_HH_mm_ss")+"至"+ endTime.ToString("yyyy_MM_dd_HH_mm_ss")+"("+"时间间隔"+interval.ToString()+"秒"+")"+"_"+DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss")+"导出" + ".xlsx";
////var fileurl = $"电子报表2023_01_03_11_19_53.xlsx";
//var path = pathroot + "\\wwwroot\\report\\" + fileurl;//{StartTime}-{EndTime}
var sheetName = fstartTime.ToString("yyyy年MM月dd日 HH.mm.ss") + "至" + fendTime.ToString("HH.mm.ss");
//MiniExcel.SaveAs(path, reader, true, sheetName, ExcelType.XLSX, null, false);
sheets.Add(sheetName, reader);
//sqlConnection.Close();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
MiniExcel.SaveAs(path, sheets);
//bool a = true;
////MiniExcel.SaveAs(path, reader);
//while (a)
//{
// Thread.Sleep(1000);
//}
return fileurl.ToJson();
}
/// <summary>
/// 处理分段,截头去尾还需添加
/// </summary>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
public List<TimeMDL> TimeInOneDay(DateTime startTime, DateTime endTime)
{
var hour = startTime.Hour;
var minute = startTime.Minute;
var second = startTime.Second;
var oneendtime = new DateTime(startTime.Year,startTime.Month,startTime.Day,23,59,59);
var twostarttime = startTime.AddHours(0 - hour).AddMinutes(0 - minute).AddSeconds(0 - second).AddDays(1);
var twoendtime = new DateTime( twostarttime.Year, twostarttime.Month,twostarttime.Day,23,59,59);
List<TimeMDL> ListTime = new List<TimeMDL>();
int day = (endTime - startTime).Days;
for (int i = 0; i <= day; i++)
{
TimeMDL temptime = new TimeMDL();
if (i == 0)
{
temptime.starttime = startTime;
temptime.endtime = oneendtime;
ListTime.Add(temptime);
}
else
{
temptime.starttime = twostarttime;
temptime.endtime = twoendtime;
twostarttime = twostarttime.AddDays(1);
twoendtime = twoendtime.AddDays(1);
ListTime.Add(temptime);
}
}
//list在处理 第一行和最后一行
//ListTime[0].starttime = startTime;
ListTime[ListTime.Count-1].endtime = endTime;
return ListTime;
}
public class TimeMDL
{
public DateTime starttime { get; set; }
public DateTime endtime { get; set; }
}
public class SecondHead
{
public string HSYS { get; set;}