Files
clients/FilterProcess/sconsumerstatistics.h
2017-08-08 12:20:01 +09:00

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