#pragma once #include "DPData.h" class DataAttribute:public DPData { Q_OBJECT Q_PROPERTY(QString displayName READ getDisplayName WRITE setDisplayName) Q_PROPERTY(QString InternalName READ getInternalName WRITE setInternalName) Q_PROPERTY(QString description READ getDes WRITE setDes) Q_PROPERTY(int createVerion READ getCreateVersion WRITE setCreateVersion) Q_PROPERTY(int deleteVerion READ getDeleteVersion WRITE setDeleteVersion) Q_PROPERTY(QString defaultValue READ getDefaultValue WRITE setDefaultValue) Q_PROPERTY(int dataType READ getDataType WRITE setDataType) Q_PROPERTY(int isIndex READ getIsIndex WRITE setIsIndex) Q_PROPERTY(int isOnly READ getIsOnly WRITE setIsOnly) Q_PROPERTY(int isAutoIncrement READ getIsAutoincrement WRITE setIsAutoincrement) Q_PROPERTY(int maxLen READ getMaxLen WRITE setMaxLen) Q_PROPERTY(int minLen READ getMinLen WRITE setMinLen) Q_PROPERTY(int numLen READ getNumLen WRITE setNumLen) Q_PROPERTY(int numPresision READ getNumPresision WRITE setNumPresision) Q_PROPERTY(int isFindKey READ getIsFindkey WRITE setIsFindkey) Q_PROPERTY(int fkTableId READ getFKTableId WRITE setFKTableId) Q_PROPERTY(int fkType READ getFKType WRITE setFKType) Q_PROPERTY(int isPK READ getIsPK WRITE setIsPK) public: DataAttribute(); ~DataAttribute(); void setDisplayName(QString displayName) { _strDisplayName = displayName; } QString getDisplayName() const { return _strDisplayName; } void setInternalName(QString name) { _strInternalName = name; } QString getInternalName() const { return _strInternalName; } void setDes(QString des) { _strDescription = des; } QString getDes() const { return _strDescription; } void setCreateVersion(int cVersion) { _wCreateVersion = cVersion; } int getCreateVersion() const { return _wCreateVersion; } void setDeleteVersion(int dVersion) { _wDeleteVersion = dVersion; } int getDeleteVersion() const { return _wDeleteVersion; } void setDefaultValue(QString value) { _strDefaultValue = value; } QString getDefaultValue() const { return _strDefaultValue; } void setDataType(int type) { _wDataType = type; } int getDataType() const { return _wDataType; } void setIsIndex(int bIs) { _wIsIndex = bIs; } int getIsIndex() const { return _wIsIndex; } void setIsOnly(int bIs) { _wIsOnly = bIs; } int getIsOnly() const { return _wIsOnly; } void setIsAutoincrement(int bIs) { _wIsAutoincrement = bIs; } int getIsAutoincrement() const { return _wIsAutoincrement; } void setMaxLen(int len) { _wMaxLength = len; } unsigned int getMaxLen() const { return _wMaxLength; } void setMinLen(int len) { _wMinLength = len; } int getMinLen() const { return _wMinLength; } void setNumLen(int len) { _wNumLength = len; } int getNumLen() const { return _wNumLength; } void setNumPresision(int presision) { _wNumPresision = presision; } int getNumPresision() const { return _wNumPresision; } void setIsFindkey(int bIs) { _wIsFindKey = bIs; } int getIsFindkey() const { return _wIsFindKey; } void setFKTableId(int id) { _wFkTableID = id; } int getFKTableId() const { return _wFkTableID; } int getFKType() const { return _FKType; } void setFKType(int fkType) { _FKType = fkType; } int getIsPK() const { return _isPrimaryKey; } void setIsPK(int bIs) { _isPrimaryKey = bIs; } /*保存本身数据*/ bool saveSelf(); void saveToDao(); /*删除本对象*/ bool deleteSelf(); /*从数据库加载一条数据到当前对象*/ void loadData(DBPlatformSpace::DAO* pDao); /*获取新的属性*/ void getNewProperty(json& parameter, QVariantMap& valueMap); void setNewData(json& parameter); void toJson(json& jsonObj, bool recursive = false); //修改属性名字 void reName(); //判断名称标识合法性 bool checkNameillegal(QString& errMsg); bool checkNameSize(int min, int max, QString& errMsg); bool checkLetter(QString& errmsg, int index); //判断第几个字符 bool illegalName(QString& errMsg); //关系属性名是否相似 //处理属性显示名称,名称标识,若有同名,加序号 void checkImportAttributeName(DPData* pParent); void setFileData(FileGenerate* generator, QStringList flag); /*复制属性到指定数据类*/ // bool copyToDstDataClass(int dataClassID, DataAttribute*& newData); QString _displayfield; //[2023014add]数据检索与编辑模块在前端显示的字段名 QString _strDisplayName; //显示名称 QString _strInternalName; //内部名称 QString _strDescription; //描述 int _wCreateVersion = 0; //创建版本 int _wDeleteVersion = 0; //删除版本 QString _strDefaultValue; int _wDataType = 0; //数据类型(1整型 2字符串 3 实型) int _wIsIndex = 0; //是否是索引 int _wIsOnly = 0; //是否唯一 int _wIsAutoincrement = 0 ; //是否自增 int _wMaxLength = 0; //最大长度 int _wMinLength = 0; //最小长度 int _wNumLength = 0; //数值位数 int _wNumPresision = 0; //数值精度 int _wIsFindKey = 0; //是否为查找序列 // unsigned int _type = 0; //属性类型:0 普通属性 1 外键关联属性 int _FKType = 0; //0: 普通属性 1: 1对1关系外键; 2 :1对n关系外键 int _wFkTableID = 0; //外界关联数据类id QString _fkname; //关联数据类名称 (暂时为导入时使用) int _isPrimaryKey = 0; //是否主键 protected: private: };