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; }
 | 
						||
 | 
						||
    }
 | 
						||
 | 
						||
}
 |