DPS/DataPlatform/SysManager.h

70 lines
1.6 KiB
C
Raw Normal View History

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