95 lines
3.5 KiB
C#
95 lines
3.5 KiB
C#
/*******************************************************************************
|
||
* 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 PenMeiJMReportNewController : BaseController
|
||
{
|
||
public ServerStateService _serverStateService { get; set; }
|
||
|
||
public RealTimeIOStateService _realTimeIOState { get; set; }
|
||
|
||
/// <summary>
|
||
/// 绑定数据仓库的数据库ID
|
||
/// </summary>
|
||
private string systemDescription = GlobalContext.SystemConfig.SystemDescription;
|
||
[HttpGet]
|
||
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()
|
||
{
|
||
var listgroup = _realTimeIOState.GetIOGroup(systemDescription);
|
||
|
||
return Content(listgroup.ToJson());
|
||
}
|
||
[HttpGet]
|
||
public async Task<ActionResult> GetRealIOInfo()
|
||
{
|
||
|
||
var listinfo = _realTimeIOState.GetIOInfo(systemDescription);
|
||
|
||
return Content(listinfo.ToJson());
|
||
}
|
||
[HttpGet]
|
||
public async Task<ActionResult> GetRealIOState()
|
||
{
|
||
var listgroup = _realTimeIOState.GetIOGroup(systemDescription);
|
||
var listinfo = _realTimeIOState.GetIOInfo(systemDescription);
|
||
var data = _realTimeIOState.GetRtData();
|
||
return Content(data.Result);
|
||
}
|
||
}
|
||
} |