86 lines
3.0 KiB
C++
86 lines
3.0 KiB
C++
#pragma once
|
|
|
|
#include "DPData.h"
|
|
|
|
//数据模型类
|
|
class DataModelData : public DPData
|
|
{
|
|
Q_OBJECT
|
|
Q_PROPERTY(unsigned int type READ getType WRITE setType) //类型
|
|
Q_PROPERTY(QString description READ getDescription WRITE setDescription) //描述
|
|
Q_PROPERTY(unsigned int version READ getVersion WRITE setVersion) //版本
|
|
Q_PROPERTY(QString createTime READ getCreateTime WRITE setCreateTime)
|
|
Q_PROPERTY(QString updateTime READ getUpdateTime WRITE setUpdateTime)
|
|
Q_PROPERTY(QString displayName READ getDisplayName WRITE setDisplayName) //显示名称
|
|
public:
|
|
DataModelData();
|
|
~DataModelData();
|
|
|
|
unsigned int getType() { return _type; }
|
|
void setType(unsigned int type) { _type = type; }
|
|
QString getDescription() const { return _description; }
|
|
void setDescription(QString des) { _description = des; }
|
|
unsigned int getVersion() const { return _version; }
|
|
void setVersion(unsigned int ver) { _version = ver; }
|
|
QString getCreateTime() const { return _createTime; }
|
|
void setCreateTime(QString createTime) { this->_createTime = createTime; }
|
|
QString getUpdateTime() const { return _updateTime; }
|
|
void setUpdateTime(QString updateTime) { this->_updateTime = updateTime; }
|
|
QString getDisplayName() const { return _displayName; }
|
|
void setDisplayName(QString name) { _displayName = name; }
|
|
|
|
void getNewProperty(json& parameter, QVariantMap& values);
|
|
void setNewData(json& parameter);
|
|
void setEditData(json& parameter);
|
|
public:
|
|
/*保存当前数据模型*/
|
|
bool saveSelf();
|
|
/*增加下层数据*/
|
|
bool addChild(DPData* newData);
|
|
/*删除下层数据*/
|
|
bool deleteChild(unsigned int id);
|
|
/*删除本对象*/
|
|
bool deleteSelf();
|
|
/*更新本对象*/
|
|
// bool updateSelf(DPData& newData);
|
|
/*从数据库加载一条数据到当前对象*/
|
|
void loadData(DBPlatformSpace::DAO* pDao);
|
|
/*获取所有下层数据*/
|
|
void getAllChildren(DPData* pManager , bool reload);
|
|
/*清理总map中的child*/
|
|
void removeChildinDPMap();
|
|
|
|
/*升版*/
|
|
bool upgradeVersion(DataModelData* & pNew);
|
|
/*降版*/
|
|
void downgradeVersion();
|
|
/*实例生成*/
|
|
bool createInstance(QString& msg);
|
|
/*复制数据模型*/
|
|
bool copyData(DataModelData*& pNew, json& parameter);
|
|
|
|
void saveToDao();
|
|
/*是否相同显示名称数据模型*/
|
|
bool isDuplicateDisplayName(QString name);
|
|
bool isDuplicatName(QString name, QString propertyName);
|
|
void toJson(json& jsonObj, bool recursive = false);
|
|
|
|
//设置需求文档数据
|
|
void setFileData(FileGenerate* generator, QStringList flag );
|
|
/*先处理mn关系的数据类用于需求文档输出*/
|
|
void takeRelationTableName();
|
|
|
|
|
|
//基类的_name 为 数据模型标识
|
|
int _type = 0; //数据模型类型
|
|
QString _description; //描述
|
|
QString _displayName; //显示名称
|
|
unsigned int _version = 0; //版本号
|
|
bool _isVerLocked = false; //版本是否锁定
|
|
bool _isDeleted = false; //是否已删除
|
|
bool _isReleased = false; //是否已发布
|
|
QString _createTime; /*创建时间*/
|
|
QString _updateTime; /*更新时间*/
|
|
bool _initChildren = false;
|
|
};
|