599 lines
14 KiB
C#
599 lines
14 KiB
C#
|
|
using APT.BaseData.Domain.ApiModel.PF;
|
|||
|
|
using APT.BaseData.Domain.Entities;
|
|||
|
|
using APT.BaseData.Domain.Enums;
|
|||
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.Threading.Tasks;
|
|||
|
|
|
|||
|
|
namespace APT.BaseData.Domain.ApiModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 图表配置
|
|||
|
|
/// </summary>
|
|||
|
|
public class ChartPageModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 构造
|
|||
|
|
/// </summary>
|
|||
|
|
public ChartPageModel()
|
|||
|
|
{
|
|||
|
|
this.Nav_PageCharts = new List<T_PF_PAGE_CHART>();
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 表单
|
|||
|
|
/// </summary>
|
|||
|
|
public T_PF_FORM Nav_PageForm { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 图表配置信息
|
|||
|
|
/// </summary>
|
|||
|
|
public List<T_PF_PAGE_CHART> Nav_PageCharts { get; set; }
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 图表接口统一数据结构
|
|||
|
|
/// </summary>
|
|||
|
|
public class ChartDataModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 图表名称
|
|||
|
|
/// </summary>
|
|||
|
|
public string Name { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 构造函数
|
|||
|
|
/// </summary>
|
|||
|
|
public ChartDataModel()
|
|||
|
|
{
|
|||
|
|
this.XAxis = new List<ChartDataXAxisModel>();
|
|||
|
|
this.YAxis = new List<ChartDataYAxisModel>();
|
|||
|
|
this.Data = new List<ChartDataDetailModel>();
|
|||
|
|
this.Radar = new List<IndiCatorModel>();
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// X轴数据 至少存在一笔记录
|
|||
|
|
/// </summary>
|
|||
|
|
public List<ChartDataXAxisModel> XAxis { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Y轴数据(可选)
|
|||
|
|
/// </summary>
|
|||
|
|
public List<ChartDataYAxisModel> YAxis { get; set; }
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 分组数据 至少存在一笔
|
|||
|
|
/// </summary>
|
|||
|
|
public List<ChartDataDetailModel> Data { get; set; }
|
|||
|
|
|
|||
|
|
public List<IndiCatorModel> Radar { get; set; }
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// X轴 数据
|
|||
|
|
/// </summary>
|
|||
|
|
public class ChartDataXAxisModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 构造函数
|
|||
|
|
/// </summary>
|
|||
|
|
public ChartDataXAxisModel()
|
|||
|
|
{
|
|||
|
|
this.Data = new List<string>();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 数据
|
|||
|
|
/// </summary>
|
|||
|
|
public List<string> Data { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Y轴数据
|
|||
|
|
/// </summary>
|
|||
|
|
public class ChartDataYAxisModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 数据分组名称 与分组数据中的Name对应
|
|||
|
|
/// </summary>
|
|||
|
|
public string Name { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 最大值
|
|||
|
|
/// </summary>
|
|||
|
|
public double Max { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 最小值
|
|||
|
|
/// </summary>
|
|||
|
|
public double Min { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 是否翻转
|
|||
|
|
/// </summary>
|
|||
|
|
public bool IsInverse { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 分组数据
|
|||
|
|
/// </summary>
|
|||
|
|
public class ChartDataDetailModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
public ChartDataDetailModel()
|
|||
|
|
{
|
|||
|
|
this.Data = new List<ChartDataValueModel>();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public string Key { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 名称
|
|||
|
|
/// </summary>
|
|||
|
|
public string Name { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// PFChartTypeEnum
|
|||
|
|
/// </summary>
|
|||
|
|
public int ChartType { get; set; } = (int)PFChartTypeEnum.bar;
|
|||
|
|
|
|||
|
|
public string Stack { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 颜色
|
|||
|
|
/// </summary>
|
|||
|
|
public string Color { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Y轴索引 从0开始
|
|||
|
|
/// </summary>
|
|||
|
|
public int YAxisIndex { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// X轴索引 从0开始
|
|||
|
|
/// </summary>
|
|||
|
|
public int XAxisIndex { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 类型bar或者line
|
|||
|
|
/// </summary>
|
|||
|
|
public string Type
|
|||
|
|
{
|
|||
|
|
get { return ((PFChartTypeEnum)ChartType).ToString(); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 类型dashed虚线
|
|||
|
|
/// </summary>
|
|||
|
|
public string LineType { get; set; }
|
|||
|
|
|
|||
|
|
public bool LegendSelected { get; set; } = true;
|
|||
|
|
|
|||
|
|
public string LegendIcon { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 值 个数必须与XAxis的Data个数相同
|
|||
|
|
/// </summary>
|
|||
|
|
public List<ChartDataValueModel> Data { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 分段样式
|
|||
|
|
/// </summary>
|
|||
|
|
public List<Piece> Pieces { get; set; }
|
|||
|
|
|
|||
|
|
public PiecesOption PiecesOption { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class Piece
|
|||
|
|
{
|
|||
|
|
public int gt { get; set; }
|
|||
|
|
public int lte { get; set; }
|
|||
|
|
public string color { get; set; }
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class PiecesOption
|
|||
|
|
{
|
|||
|
|
public string symbol { get; set; }
|
|||
|
|
public AreaStyle areaStyle { get; set; }
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 区域样式
|
|||
|
|
/// </summary>
|
|||
|
|
public class AreaStyle
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 透明度
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal opacity { get; set; }
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 值
|
|||
|
|
/// </summary>
|
|||
|
|
public class ChartDataValueModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 构造函数
|
|||
|
|
/// </summary>
|
|||
|
|
public ChartDataValueModel()
|
|||
|
|
{
|
|||
|
|
this.Heads = new List<string>();
|
|||
|
|
this.Data = new List<List<string>>();
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 值
|
|||
|
|
/// </summary>
|
|||
|
|
public double Value { get; set; }
|
|||
|
|
public string TooltipValue { get; set; }
|
|||
|
|
public int YAxisIndex { get; set; }//Y轴
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 表头
|
|||
|
|
/// </summary>
|
|||
|
|
public List<string> Heads { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 表身
|
|||
|
|
/// </summary>
|
|||
|
|
public List<List<string>> Data { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 桑基图图表数据实体模型
|
|||
|
|
/// </summary>
|
|||
|
|
public class SankeyCharModel
|
|||
|
|
{
|
|||
|
|
public List<NodeModel> Nodes { get; set; }
|
|||
|
|
|
|||
|
|
public List<LinkModel> Links { get; set; }
|
|||
|
|
|
|||
|
|
public List<LevelModel> Levels { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class LinkModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 源
|
|||
|
|
/// </summary>
|
|||
|
|
public string source { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 目标
|
|||
|
|
/// </summary>
|
|||
|
|
public string target { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 值
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal value { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 自定义显示内容
|
|||
|
|
/// </summary>
|
|||
|
|
public string text { get; set; }
|
|||
|
|
|
|||
|
|
public Dictionary<string, string> lineStyle { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class NodeModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 名称
|
|||
|
|
/// </summary>
|
|||
|
|
public string name { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 编码
|
|||
|
|
/// </summary>
|
|||
|
|
public string code { get; set; }
|
|||
|
|
|
|||
|
|
public decimal LossRate { get; set; }
|
|||
|
|
|
|||
|
|
public decimal value { get; set; }
|
|||
|
|
|
|||
|
|
public List<ViewModel> views { get; set; }
|
|||
|
|
|
|||
|
|
public Dictionary<string, string> itemStyle { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class LevelModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 名称
|
|||
|
|
/// </summary>
|
|||
|
|
public string name { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 层级
|
|||
|
|
/// </summary>
|
|||
|
|
public int level { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 当前层级总用量
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal value { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 颜色
|
|||
|
|
/// </summary>
|
|||
|
|
public string color { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 视图
|
|||
|
|
/// </summary>
|
|||
|
|
public List<ViewModel> views { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 层级节点数量
|
|||
|
|
/// </summary>
|
|||
|
|
public List<NodeModel> nodes { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class ViewModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 名称
|
|||
|
|
/// </summary>
|
|||
|
|
public string name { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 值
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal value { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 单位
|
|||
|
|
/// </summary>
|
|||
|
|
public string unit { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 雷达图数据实体模型
|
|||
|
|
/// </summary>
|
|||
|
|
public class IndiCatorModel
|
|||
|
|
{
|
|||
|
|
public List<IndiCatorItemModel> IndiCator { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class IndiCatorItemModel
|
|||
|
|
{
|
|||
|
|
public string Text { get; set; }
|
|||
|
|
|
|||
|
|
public decimal Max { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#region 大屏
|
|||
|
|
public class ApplianceInfoModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 名称
|
|||
|
|
/// </summary>
|
|||
|
|
public string Name { get; set; }
|
|||
|
|
|
|||
|
|
public string Code { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 总数
|
|||
|
|
/// </summary>
|
|||
|
|
public int Total { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 在线
|
|||
|
|
/// </summary>
|
|||
|
|
public int Online { get; set; }
|
|||
|
|
public string Img { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
public class EnergyDosageScan
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 名称
|
|||
|
|
/// </summary>
|
|||
|
|
public string Name { get; set; }
|
|||
|
|
|
|||
|
|
public string Code { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 用量
|
|||
|
|
/// </summary>
|
|||
|
|
public List<EnergyDosageTime> EnergyList { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class EnergyDosageTime
|
|||
|
|
{
|
|||
|
|
public string Time { get; set; }
|
|||
|
|
|
|||
|
|
public decimal Value { get; set; }
|
|||
|
|
}
|
|||
|
|
public class EneryUseModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 名称
|
|||
|
|
/// </summary>
|
|||
|
|
public string Name { get; set; }
|
|||
|
|
|
|||
|
|
public string Code { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 总数
|
|||
|
|
/// </summary>
|
|||
|
|
public string Total { get; set; }
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 总数
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal iTotal { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 在线
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal Percent { get; set; }
|
|||
|
|
public string Color { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class EneryUseModelByDept
|
|||
|
|
{
|
|||
|
|
public string Title { get; set; }
|
|||
|
|
public List<EneryUseModel> Data { get; set; }
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 部门本月用电量排行
|
|||
|
|
/// </summary>
|
|||
|
|
public class EneryDosageByDept
|
|||
|
|
{
|
|||
|
|
public string Title { get; set; }
|
|||
|
|
public List<RankingTableData> dataSource { get; set; }
|
|||
|
|
|
|||
|
|
public List<Column> columns { get; set; }
|
|||
|
|
}
|
|||
|
|
public class RankingTableData
|
|||
|
|
{
|
|||
|
|
public int Ranking { get; set; }
|
|||
|
|
|
|||
|
|
public string Name { get; set; }
|
|||
|
|
|
|||
|
|
public string Value { get; set; }
|
|||
|
|
public string Ratio { get; set; }
|
|||
|
|
}
|
|||
|
|
public class SummaryInfoModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 月总能耗
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal MonthEnergyConsu { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 日总能耗
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal DayEnergyConsu { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 同比能耗
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal YearOnYearConsu { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 环比能耗
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal MonthOnMonthConsu { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 用量
|
|||
|
|
/// </summary>
|
|||
|
|
public List<EnergyDosageSummary> EnergyDosageSummary { get; set; }
|
|||
|
|
public string Title { get; set; }
|
|||
|
|
public string Unit { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class EnergyDosageSummary
|
|||
|
|
{
|
|||
|
|
public string Title { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 能源名称
|
|||
|
|
/// </summary>
|
|||
|
|
public string Name { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 能源编码
|
|||
|
|
/// </summary>
|
|||
|
|
public string Code { get; set; }
|
|||
|
|
|
|||
|
|
public string Unit { get; set; }
|
|||
|
|
public string Img { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 月总用量
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal MonthEnergyDosage { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 日总用量
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal DayEnergyDosage { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 月总能耗
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal MonthEnergyConsu { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 日总能耗
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal DayEnergyConsu { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 同比能耗
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal YearOnYearDosage { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 环比能耗
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal MonthOnMonthDosage { get; set; }
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class ListTableModel
|
|||
|
|
{
|
|||
|
|
public string Time { get; set; }
|
|||
|
|
public List<THeadModel> ListTableHead { get; set; }
|
|||
|
|
|
|||
|
|
public List<Dictionary<string, dynamic>> DicList { get; set; }
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
public class THeadModel
|
|||
|
|
{
|
|||
|
|
public string Title { get; set; }
|
|||
|
|
|
|||
|
|
public string DataIndex { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
public class FlowTableModel
|
|||
|
|
{
|
|||
|
|
public List<MargeCellModel> margeCellModels { get; set; }
|
|||
|
|
public List<LinkModel> Links { get; set; }
|
|||
|
|
public List<LevelModel> Levels { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class MargeCellModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 名称
|
|||
|
|
/// </summary>
|
|||
|
|
public string name { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 编码
|
|||
|
|
/// </summary>
|
|||
|
|
public string code { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 子节点数
|
|||
|
|
/// </summary>
|
|||
|
|
public int keyNode { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class TreeNodeModel
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 名称
|
|||
|
|
/// </summary>
|
|||
|
|
public string name { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 值
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal value { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 损耗量
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal loss { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 损耗率
|
|||
|
|
/// </summary>
|
|||
|
|
public decimal lossRate { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 单位
|
|||
|
|
/// </summary>
|
|||
|
|
public string unit { get; set; }
|
|||
|
|
public int childNodeKey { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 子节点
|
|||
|
|
/// </summary>
|
|||
|
|
public List<TreeNodeModel> childNode { get; set; }
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|