| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- #ifndef INTERACTIVEDATA_H
- #define INTERACTIVEDATA_H
- #include <QMap>
- #include <QList>
- #include <QVector>
- #include <QString>
- #include <QReadWriteLock>
- #include <QReadLocker>
- #include <QWriteLocker>
- #include "template_singleton.h"
- #include "DataListModel.h"
- #define MATERIALS_TYPE_ALL "0"
- class InteractiveData : public QObject
- {
- SINGLETON_DEFINE(InteractiveData) // 定义为单例类
- Q_OBJECT
- Q_PROPERTY(QSet<QString> roles READ roles WRITE setRoles NOTIFY rolesChanged)
- Q_PROPERTY(QSet<QString> permissions READ permissions WRITE setPermissions NOTIFY permissionsChanged)
- signals:
- void rolesChanged();
- void permissionsChanged();
- public:
- Q_INVOKABLE bool isHavePower(const QString &operation);
- QSet<QString> roles();
- void setRoles(const QSet<QString> &roles);
- QSet<QString> permissions();
- void setPermissions(const QSet<QString> &permissions);
- private:
- explicit InteractiveData();
- public:
- QReadWriteLock m_dataCacheLock; // 数据缓存锁
- int m_checkPlanStatus = -1; // 当前物资柜检查计划ID
- QString m_token; // token存储
- QString m_cabinetId; // 物资柜ID
- QString m_userName; // 用户名
- QSet<QString> m_roles; // 用户角色
- QSet<QString> m_permissions; // 用户许可
- // 用于http返回重复消息性能优化的json临时存储
- QByteArray m_jsonCacheExceptionTypeDict; // 异常类型字典缓存Json
- QByteArray m_jsonCacheSeverityLevelDict; // 严重程度字典缓存Json
- QByteArray m_jsonCacheMaterialProp; // 物资属性数据缓存Json
- QByteArray m_jsonCacheMaterialType; // 物资类型数据缓存Json
- QByteArray m_jsonCacheMaterialInfo; // 物资信息数据缓存Json
- QByteArray m_jsonCacheExMaterialInfo; // 异常物资数据缓存Json
- QByteArray m_jsonCacheMaterialsLoanExceptionInfo; // 物资借出异常缓存Json
- // 数据缓存列表
- // 异常类型字典值
- QList<QString> m_dataCacheExceptionTypeDictCode; // 异常类型字典 Code 列表
- QHash<QString, QString> m_dataCacheExceptionTypeDictLabel; // 异常类型字典 Code Label 绑定关系
- QHash<QString, QString> m_dataCacheExceptionTypeDictValue; // 异常类型字典 Code Value 绑定关系
- // 严重程度字典值
- QList<QString> m_dataCacheSeverityLevelDictCode; // 严重程度字典 Code 列表
- QHash<QString, QString> m_dataCacheSeverityLevelDictLabel; // 严重程度字典 Code Label 绑定关系
- QHash<QString, QString> m_dataCacheSeverityLevelDictValue; // 严重程度字典 Code Value 绑定关系
- // 物资属性
- QList<QString> m_dataCacheMaterialPropId; // 物资属性 ID 列表
- QHash<QString, QString> m_dataCacheMaterialPropName; // 物资属性 ID Name 绑定关系
- QHash<QString, QString> m_dataCacheMaterialPropPropertyId; // 物资属性 ID 属性项ID 绑定关系
- QHash<QString, QString> m_dataCacheMaterialPropPropertyName;// 物资属性 ID 属性项名称 绑定关系
- // 物资类型
- QList<QString> m_dataCacheMaterialTypeId; // 物资类型 ID 列表
- QHash<QString, QString> m_dataCacheMaterialTypeName; // 物资类型 ID 名称 绑定关系
- QHash<QString, QString> m_dataCacheMaterialTypeIcon; // 物资类型 ID 图标 绑定关系
- QHash<QString, QString> m_dataCacheMaterialTypePicture; // 物资类型 ID 图片 绑定关系
- QHash<QString, QStringList> m_dataCacheMaterialTypeAncestors; // 物资类型 ID 上层属性 绑定关系
- QHash<QString, QStringList> m_dataCacheMaterialTypePropertyIds; // 物资类型 ID 属性项ids 绑定关系
- // 物资信息
- QList<QString> m_dataCacheMaterialInfoId; // 物资信息 ID 列表
- QHash<QString, QString> m_dataCacheMaterialInfoName; // 物资信息 ID 名称 绑定关系
- QHash<QString, QString> m_dataCacheMaterialInfoRfid; // 物资信息 ID rfid 绑定关系
- QHash<QString, QString> m_dataCacheMaterialInfoLoan; // 物资信息 ID 借出状态 绑定关系
- QHash<QString, QString> m_dataCacheMaterialInfoStat; // 物资信息 ID 异常状态 绑定关系
- QHash<QString, QString> m_dataCacheMaterialInfoDate; // 物资信息 ID 过期时间 绑定关系
- QHash<QString, QString> m_dataCacheMaterialInfoTypeId; // 物资信息 ID 类型ID 绑定关系
- QHash<QString, QString> m_dataCacheMaterialInfoPropId; // 物资信息 ID 属性ID 绑定关系
- QHash<QString, QString> m_dataCacheMaterialInfoCabinetId; // 物资信息 ID 机柜ID 绑定关系
- // 异常信息类型
- QList<QString> m_dataCacheExMaterialTypeId; // 物资类型 ID 列表
- QHash<QString, int> m_dataCacheExMaterialTypeExNumber; // 物资异常类型数量绑定关系
- // 异常信息处理
- QList<QString> m_dataCacheExMaterialInfoId; // 异常物资信息 ID 列表
- QHash<QString, QString> m_dataCacheExMaterialInfoName; // 异常物资信息 ID 名称 绑定关系
- QHash<QString, QString> m_dataCacheExMaterialInfoRfid; // 异常物资信息 ID rfid 绑定关系
- QHash<QString, QString> m_dataCacheExMaterialInfoLoan; // 异常物资信息 ID 借出状态 绑定关系
- QHash<QString, QString> m_dataCacheExMaterialInfoStat; // 异常物资信息 ID 状态 绑定关系
- QHash<QString, QString> m_dataCacheExMaterialInfoDate; // 异常物资信息 ID 过期时间 绑定关系
- QHash<QString, QString> m_dataCacheExMaterialInfoTypeId; // 异常物资信息 ID 类型ID 绑定关系
- QHash<QString, QString> m_dataCacheExMaterialInfoPropId; // 异常物资信息 ID 属性ID 绑定关系
- // 错放物资信息
- QList<QString> m_dataCacheMaterialLoadRfid; // 错放物资信息 RFID 列表
- QHash<QString, QString> m_dataCacheMaterialLoanName; // 错放物资信息 RFID 名称 绑定关系
- // QHash<QString, QString> m_dataCacheMaterialLoanRfid; // 错放物资信息 RFID rfid 绑定关系
- QHash<QString, QString> m_dataCacheMaterialLoanTypeIcon; // 错放物资信息 RFID 类型图标 绑定关系
- QHash<QString, QString> m_dataCacheMaterialLoanTypePicture; // 错放物资信息 RFID 类型图片 绑定关系
- // 本柜子的物资
- // 用于qml显示的model
- DataListModel m_modelMaterialType; // 物资类型 model
- DataListModel m_modelMaterialInfo; // 物资信息 model
- DataListModel m_modelMaterialManualReplace; // 手动更换 model
- DataListModel m_modelMaterialException; // 物资异常 Model
- DataListModel m_modelMaterialDissolve; // 物资解除错放 model
- DataListModel m_modelMaterialMisplace; // 物资错放异常 model
- DataListModel m_modelMaterialBinded; // 物资绑定 model
- DataListModel m_modelMaterialUnbind; // 物资解绑 model
- DataListModel m_modelMaterialTake; // 物资领取 model
- DataListModel m_modelMaterialBack; // 物资归还 model
- };
- #endif // INTERACTIVEDATA_H
|