#ifndef COALSTATISTICSCHARTWIDGET_H #define COALSTATISTICSCHARTWIDGET_H #include "component/qcustomplot/qcustomplot.h" #include #include QT_CHARTS_USE_NAMESPACE namespace Ui { class CoalStatisticsChartWidget; } enum TimeUnit { Hour = 0, // 时 Day = 1, // 天 Month = 2, // 月 Year = 3 // 年 }; class CoalStatisticsChartWidget : public QWidget { Q_OBJECT public: explicit CoalStatisticsChartWidget(QWidget *parent = nullptr); ~CoalStatisticsChartWidget(); signals: void querySuccessInfo(QString &queryInfo); private slots: /** * @brief on_pushButton_coalStatisOk_clicked 点击确定按钮 */ void on_pushButton_coalStatisOk_clicked(); private: /** * @brief initCoalStatisticsBarChart 初始化煤量统计柱状图 */ void initCoalStatisticsBarChart(); /** * @brief formatTimeRange 格式化时间范围 * @param beginTimeStr * @param endTimeStr * @param formattedBeginTime * @param formattedEndTime */ void formatTimeRange(const QString &beginTimeStr, const QString &endTimeStr, QString &formattedBeginTime, QString &formattedEndTime); /** * @brief getLastSixFullHours 计算前六个整点时间 * @param currentTime 当前时间 * @return 六个整点数 */ QList getLastSixFullHours(const QDateTime ¤tTime); /** * @brief initCustomCoalStatisticsBarChart 初始化用户自定义柱状图 */ void initCustomCoalStatisticsBarChart(); void initCustomPlotBarChart(); /** * @brief getCoalStatisInfoByHttpRequest 通过Http请求获取煤量统计信息 * @param startTime 请求起始时间 * @param endTime 请求终止时间 * @param statisticUnit 统计单位 * @param volumeDataMap 体积统计结果Map */ void getCoalStatisInfoByHttpRequest(const QString &startTime, const QString &endTime, const QString &statisticUnit); /** * @brief updateCoalStatisticsChart 更新煤溜统计柱状图数据 * @param volumeDataMap 统计结果数据 */ void updateCoalStatisticsChart(const QMap &volumeDataMap); private: Ui::CoalStatisticsChartWidget *ui; QChart *m_chart; QChartView *m_chartView; QBarSeries *m_series; QBarCategoryAxis *m_axisX; // QDateTimeAxis* m_axisX; // QValueAxis* m_axisX; QValueAxis *m_axisY; QTimer *m_timer; QCustomPlot *m_customPlot; QCPBars *m_barGraph; QSettings *m_systemSetting; double m_toalValue = 0.0; /** * @brief m_volumeDataMap 查询出煤量数据 */ QMap m_volumeDataMap; }; #endif // COALSTATISTICSCHARTWIDGET_H