2025-03-17 09:23:17 +08:00

67 lines
2.6 KiB
C++

#ifndef CDATAINFOMANAGE_H
#define CDATAINFOMANAGE_H
#include "Common.h"
#include "dbms/rdb_api/CRdbAccess.h"
#include "dbms/rdb_net_api/CRdbNetApi.h"
#include "public/pub_sysinfo_api/SysInfoApi.h"
#include <QMap>
class CDataInfoManage
{
public:
static CDataInfoManage * instance();
void destory();
QMap<int, QString> getAlarmLevel();
QMap<int, int> getAlarmOrder();
QMap<int, QStringList> getLocation();
QString getLocationDesc(int location);
QMap<int, QString> getDevType();
QString getDevTypeDesc(int devType);
QStringList getDevice(int location = -1, int devType = -1);
QPair<QString, QString> getDeviceBelong(const QString &device);
QString getDevDesc(const QString &device);
QMap<QString, QStringList> getPoint(const QString &device);
bool getCustomAlmLevel(const QString &key, QPair<int, int> &pair);
int getAlarmManner(const QPair<int, int> &alarm);
int getAlarmPriority(const int &alarmManner);
int getChgType();
int getSoeType();
private:
CDataInfoManage();
void loadAlarmLevel();
void loadLocation();
void loadDevType();
void loadDevInfo();
void loadAlarmType();
void loadAlarmStatus();
void loadAlarmManner();
void loadDevPoint();
private:
iot_dbms::CRdbAccess * m_rtdbAccess;
iot_dbms::CRdbNetApi * m_rtdbNetAcs;
iot_public::CSysInfoInterfacePtr m_ptrSysInfo;
int m_nDomain;
QMap<int, QString> m_alarmLevelMap; //< alarm_level_define PRIORITY_ID - PRIORITY_NAME
QMap<int, int > m_alarmOrderMap; //< alarm_level_define PRIORITY_ID - PRIORITY_ORDER
QMap<int, QStringList> m_locationMap; //< sys_model_location_info, LOCATION_ID <LOCATION_ID - DESCRIPTION>
QMap<int, QString> m_devTypeMap; //< dev_type_def, DEV_TYPE_ID - DESCRIPTION
QMap<QString, QPair<int, int> > m_devInfoMap; //< dev_info, TAG_NAME - <LOCATION_ID, DEV_TYPE>
QMap<QString, QString> m_devDescMap; // dev_info TAG_NAME - DESCRIPTION
QMap<QString, QPair<int, int> > m_customAlarmDevMap; //< dev_info.TAG_NAME - <DI_CAHNGE,SOE>
QMap<QPair<int, int>, int> m_alarmStatusMap; //< alarm_status_define, <ALARM_TYPE,STATUS_VALUE> - ALARM_MANNER
QMap<int, int> m_alarmMannerMap; //< alarm_manner_define, MANNER_ID - ALARM_PRIORITY
QMap<QString, QMap<QString, QStringList>> m_devPointMap;//< DEVICE - <tableName, TAG_NAME>
int m_nChgType;
int m_nSoeType;
static CDataInfoManage * m_pInstance;
};
#endif // CDATAINFOMANAGE_H