#ifndef INTERACTIVEDATA_H #define INTERACTIVEDATA_H #include #include #include #include #include #include #include #include "template_singleton.h" #include "DataListModel.h" #define MATERIALS_TYPE_ALL "0" class InteractiveData : public QObject { SINGLETON_DEFINE(InteractiveData) // 定义为单例类 Q_OBJECT Q_PROPERTY(QSet roles READ roles WRITE setRoles NOTIFY rolesChanged) Q_PROPERTY(QSet permissions READ permissions WRITE setPermissions NOTIFY permissionsChanged) signals: void rolesChanged(); void permissionsChanged(); public: Q_INVOKABLE bool isHavePower(const QString &operation); QSet roles(); void setRoles(const QSet &roles); QSet permissions(); void setPermissions(const QSet &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 m_roles; // 用户角色 QSet 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 m_dataCacheExceptionTypeDictCode; // 异常类型字典 Code 列表 QHash m_dataCacheExceptionTypeDictLabel; // 异常类型字典 Code Label 绑定关系 QHash m_dataCacheExceptionTypeDictValue; // 异常类型字典 Code Value 绑定关系 // 严重程度字典值 QList m_dataCacheSeverityLevelDictCode; // 严重程度字典 Code 列表 QHash m_dataCacheSeverityLevelDictLabel; // 严重程度字典 Code Label 绑定关系 QHash m_dataCacheSeverityLevelDictValue; // 严重程度字典 Code Value 绑定关系 // 物资属性 QList m_dataCacheMaterialPropId; // 物资属性 ID 列表 QHash m_dataCacheMaterialPropName; // 物资属性 ID Name 绑定关系 QHash m_dataCacheMaterialPropPropertyId; // 物资属性 ID 属性项ID 绑定关系 QHash m_dataCacheMaterialPropPropertyName;// 物资属性 ID 属性项名称 绑定关系 // 物资类型 QList m_dataCacheMaterialTypeId; // 物资类型 ID 列表 QHash m_dataCacheMaterialTypeName; // 物资类型 ID 名称 绑定关系 QHash m_dataCacheMaterialTypeIcon; // 物资类型 ID 图标 绑定关系 QHash m_dataCacheMaterialTypePicture; // 物资类型 ID 图片 绑定关系 QHash m_dataCacheMaterialTypeAncestors; // 物资类型 ID 上层属性 绑定关系 QHash m_dataCacheMaterialTypePropertyIds; // 物资类型 ID 属性项ids 绑定关系 // 物资信息 QList m_dataCacheMaterialInfoId; // 物资信息 ID 列表 QHash m_dataCacheMaterialInfoName; // 物资信息 ID 名称 绑定关系 QHash m_dataCacheMaterialInfoRfid; // 物资信息 ID rfid 绑定关系 QHash m_dataCacheMaterialInfoLoan; // 物资信息 ID 借出状态 绑定关系 QHash m_dataCacheMaterialInfoStat; // 物资信息 ID 异常状态 绑定关系 QHash m_dataCacheMaterialInfoDate; // 物资信息 ID 过期时间 绑定关系 QHash m_dataCacheMaterialInfoTypeId; // 物资信息 ID 类型ID 绑定关系 QHash m_dataCacheMaterialInfoPropId; // 物资信息 ID 属性ID 绑定关系 QHash m_dataCacheMaterialInfoCabinetId; // 物资信息 ID 机柜ID 绑定关系 // 异常信息类型 QList m_dataCacheExMaterialTypeId; // 物资类型 ID 列表 QHash m_dataCacheExMaterialTypeExNumber; // 物资异常类型数量绑定关系 // 异常信息处理 QList m_dataCacheExMaterialInfoId; // 异常物资信息 ID 列表 QHash m_dataCacheExMaterialInfoName; // 异常物资信息 ID 名称 绑定关系 QHash m_dataCacheExMaterialInfoRfid; // 异常物资信息 ID rfid 绑定关系 QHash m_dataCacheExMaterialInfoLoan; // 异常物资信息 ID 借出状态 绑定关系 QHash m_dataCacheExMaterialInfoStat; // 异常物资信息 ID 状态 绑定关系 QHash m_dataCacheExMaterialInfoDate; // 异常物资信息 ID 过期时间 绑定关系 QHash m_dataCacheExMaterialInfoTypeId; // 异常物资信息 ID 类型ID 绑定关系 QHash m_dataCacheExMaterialInfoPropId; // 异常物资信息 ID 属性ID 绑定关系 // 错放物资信息 QList m_dataCacheMaterialLoadRfid; // 错放物资信息 RFID 列表 QHash m_dataCacheMaterialLoanName; // 错放物资信息 RFID 名称 绑定关系 // QHash m_dataCacheMaterialLoanRfid; // 错放物资信息 RFID rfid 绑定关系 QHash m_dataCacheMaterialLoanTypeIcon; // 错放物资信息 RFID 类型图标 绑定关系 QHash 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