63 lines
1.6 KiB
C++
63 lines
1.6 KiB
C++
#ifndef SCOUSUMERSTATISTICS_H
|
|
#define SCOUSUMERSTATISTICS_H
|
|
|
|
#include <QString>
|
|
#include <QJsonDocument>
|
|
#include <QJsonArray>
|
|
#include <QJsonObject>
|
|
#include <QMap>
|
|
#include <QList>
|
|
#include <QDebug>
|
|
|
|
struct stCountInfo
|
|
{
|
|
int allCount;
|
|
int bodyCount;
|
|
int replyCount;
|
|
};
|
|
|
|
struct stConsumerCategoryStatistics
|
|
{
|
|
QString categoryName;
|
|
QMap<QString, stCountInfo> mapCountInfoOfDate;
|
|
};
|
|
|
|
class SCousumerStatistics
|
|
{
|
|
private:
|
|
QJsonArray m_BodyJsonArray;
|
|
QJsonArray m_ReplyJsonArray;
|
|
QJsonArray m_AllJsonArray;
|
|
|
|
QList<QString> m_listBanCategoryName;
|
|
|
|
QList<stConsumerCategoryStatistics> m_listConsumerCategoryStatistics;
|
|
|
|
private:
|
|
QJsonArray convertStringToJsonArray(QString _strJson);
|
|
QString getCategoryNameFromJsonObject(QJsonObject _jsonObject);
|
|
QJsonArray getDataArrayFromJsonDocument(QJsonDocument _jsonDocument);
|
|
QJsonArray getValueArrayFromJsonObject(QJsonObject _jsonObject);
|
|
|
|
void setBanCategoryName();
|
|
void makeConsumerStatistics();
|
|
void makeBodyStatistics();
|
|
void makeReplyStatistics();
|
|
void makeAllStatistics();
|
|
|
|
bool hasCategory(QString _strCategoryName);
|
|
bool isBanCategory(QString _strCategoryName);
|
|
bool isLastDayOfMonth(QString _strDate);
|
|
stConsumerCategoryStatistics& getCategory(QString _strCategoryName);
|
|
stConsumerCategoryStatistics createCategory(QString _strCategoryName);
|
|
void sumBodyAndReplyCount(stConsumerCategoryStatistics& _consumerCategoryStatistics);
|
|
public:
|
|
SCousumerStatistics(QString _strBodyJson, QString _strReplyJson, QString _strAllJson);
|
|
void print();
|
|
void print2();
|
|
|
|
bool saveCousumerStatisticsToExcelFile(int _nCompany);
|
|
};
|
|
|
|
#endif // SCOUSUMERSTATISTICS_H
|