2024-02-20 15:53:27 +08:00
|
|
|
|
/*******************************************************************************
|
|
|
|
|
* Copyright © 2020 HT.Cloud.Framework 版权所有
|
|
|
|
|
* Author: HT.Cloud
|
|
|
|
|
* Description: WaterCloud快速开发平台
|
|
|
|
|
* Website:
|
|
|
|
|
*********************************************************************************/
|
|
|
|
|
|
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using HT.Cloud.Code;
|
|
|
|
|
using HT.Cloud.Service.SystemSecurity;
|
|
|
|
|
using Quartz;
|
|
|
|
|
|
|
|
|
|
namespace HT.Cloud.Web.Areas.SystemSecurity.Controllers
|
|
|
|
|
{
|
|
|
|
|
[Area("PenMeiReportManage")]
|
|
|
|
|
[HandlerLogin(needLogin: false)]
|
|
|
|
|
[HandlerAuthorize(needAuth: false)]
|
|
|
|
|
public class PenMeiNetWorkStateController : BaseController
|
|
|
|
|
{
|
|
|
|
|
public ServerStateService _serverStateService { get; set; }
|
|
|
|
|
|
2024-07-10 16:08:09 +08:00
|
|
|
|
public RealTimeIOStateService _realTimeIOState { get; set; }
|
2024-02-20 15:53:27 +08:00
|
|
|
|
|
2024-07-10 16:08:09 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 绑定数据仓库的数据库ID
|
|
|
|
|
/// </summary>
|
|
|
|
|
private string systemDescription = GlobalContext.SystemConfig.SystemDescription;
|
|
|
|
|
[HttpGet]
|
2024-02-20 15:53:27 +08:00
|
|
|
|
public async Task<ActionResult> GetServerDataJson()
|
|
|
|
|
{
|
|
|
|
|
return await Task.Run(() =>
|
|
|
|
|
{
|
|
|
|
|
/*
|
|
|
|
|
* 一
|
|
|
|
|
* 1、安装java集成开发环境,根据示例重构jimu报表的代码。
|
|
|
|
|
* 2、jimu报表的java环境继承到.Net中过于繁琐和前端功能较简单放弃使用jumu报表,使用另一款.Net作为服务端的cell报表。
|
|
|
|
|
* 二
|
|
|
|
|
* 1、下载cell报表前端源码,安装前端Vue3源码环境,通过反编译补全功能代码和与后端的Api请求。
|
|
|
|
|
* 2、去除无用功能和界面,只保留报表功能,将所有原项目logo和名称标记替换为恒拓相关。
|
|
|
|
|
* 三
|
|
|
|
|
* 1、获取cellreport后端源码,编辑源码库的静态资源,下载补全项目引用的开源类库。
|
|
|
|
|
* 2、修改水印函数库文件,将唯一不可修改的导出pdf水印替换为空或恒拓环保科技。
|
|
|
|
|
* 四
|
|
|
|
|
* 1、将前端和后端源码编译打包,重构项目运行结构,前后端集成为一个服务实力,部署测试。
|
|
|
|
|
* 2、报表软件交给曲工进行报表编辑和运行测试,同时进行debug调试。
|
|
|
|
|
* 五
|
|
|
|
|
* 1、将曲工编辑好的报表集成至管理平台。
|
|
|
|
|
* 2、比较JS自动绘图组件,选择适合自动生成的组件进行io模块自动构建。
|
|
|
|
|
*/
|
|
|
|
|
//windows环境
|
|
|
|
|
var computer = ComputerHelper.GetComputerInfo();
|
|
|
|
|
var arm = computer.RAMRate;
|
|
|
|
|
var cpu = computer.CPURate;
|
|
|
|
|
var iis = computer.RunTime;
|
|
|
|
|
var TotalRAM = computer.TotalRAM;
|
|
|
|
|
string ip = WebHelper.GetWanIp();
|
|
|
|
|
string ipLocation = WebHelper.GetIpLocation(ip);
|
|
|
|
|
var IP = string.Format("{0} ({1})", ip, ipLocation);
|
|
|
|
|
return Content(new { ARM = arm, CPU = cpu, IIS = iis, TotalRAM = TotalRAM, IP = IP }.ToJson());
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<ActionResult> GetServerData()
|
|
|
|
|
{
|
|
|
|
|
var data = (await _serverStateService.GetList(2)).OrderBy(a => a.F_Date).ToList();
|
|
|
|
|
return Content(data.ToJson());
|
|
|
|
|
}
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<ActionResult> GetRealIOGroup()
|
|
|
|
|
{
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var listgroup = _realTimeIOState.GetIOGroup(systemDescription);
|
2024-02-20 15:53:27 +08:00
|
|
|
|
|
|
|
|
|
return Content(listgroup.ToJson());
|
|
|
|
|
}
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<ActionResult> GetRealIOInfo()
|
|
|
|
|
{
|
|
|
|
|
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var listinfo = _realTimeIOState.GetIOInfo(systemDescription);
|
2024-02-20 15:53:27 +08:00
|
|
|
|
|
|
|
|
|
return Content(listinfo.ToJson());
|
|
|
|
|
}
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<ActionResult> GetRealIOState()
|
|
|
|
|
{
|
2024-07-10 16:08:09 +08:00
|
|
|
|
var listgroup = _realTimeIOState.GetIOGroup(systemDescription);
|
|
|
|
|
var listinfo = _realTimeIOState.GetIOInfo(systemDescription);
|
2024-09-03 14:16:18 +08:00
|
|
|
|
var data = _realTimeIOState.GetRtData(systemDescription);
|
2024-02-20 15:53:27 +08:00
|
|
|
|
return Content(data.Result);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|