#pragma once #include #include #include"Connection.h" #include"IDGenerator.h" #include "json.hpp" using json = nlohmann::json; class DictItem; class DPData; class SysManager { public: SysManager(); ~SysManager(); //获取数据库配置的所有数据字典项 bool getAllDictItem(); //查找指定数据字典项 DPData* findDictItem(int id); //查找指定数据字典数据项 DPData* findDictData(int id); //获取所有数据字典数据项 bool getAllDictChildren(); //清除所有数据字典数据 void clearAllDictData(); //数据字典项数量 int getDictSize() { return _dictItemMap.size(); } //获取数据字典map QMap& getDictItemMap() { return _dictItemMap; } //保存配置信息 void save(json& profile); //把默认数据文件路径保存到配置 void setProfileData(json& data); //从消息参数获得配置 void getSettingData(json& data); void getDictJson(json& jsonobj); //连接相关操作 bool addConnection(int id, Connection* con); Connection* findConnection(int id); bool delConnection(int id); void getConnectionJson(json& jsonobj); QString _profilePath; //配置文件路径 QString _sysDBPath; //系统数据库文件路径 QString _xmlfilePath; //xml模板文件路径 [11/22/2023] QString _defaultAuthor; //默认创建者 QString _codeGeneratePath; //代码生成路径 QString _importFilePath; //导入项目路径 bool _autoDeleteScene = false; //是否主动删除 IDGenerator IDTool; private: QMap _dictItemMap; //一级数据字典 QMap mapConnection; }; SysManager& GetSysManager();