2025-06-23 10:41:33 +08:00
|
|
|
|
#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; }
|
|
|
|
|
|
2025-06-23 18:01:09 +08:00
|
|
|
|
/*保存本身数据*/
|
2025-06-23 10:41:33 +08:00
|
|
|
|
bool saveSelf();
|
|
|
|
|
void saveToDao();
|
2025-06-23 18:01:09 +08:00
|
|
|
|
/*删除本对象*/
|
2025-06-23 10:41:33 +08:00
|
|
|
|
bool deleteSelf();
|
2025-06-23 18:01:09 +08:00
|
|
|
|
/*从数据库加载一条数据到当前对象*/
|
2025-06-23 10:41:33 +08:00
|
|
|
|
void loadData(DBPlatformSpace::DAO* pDao);
|
2025-06-23 18:01:09 +08:00
|
|
|
|
/*获取新的属性*/
|
2025-06-23 10:41:33 +08:00
|
|
|
|
void getNewProperty(json& parameter, QVariantMap& valueMap);
|
|
|
|
|
void setNewData(json& parameter);
|
|
|
|
|
|
|
|
|
|
void toJson(json& jsonObj, bool recursive = false);
|
2025-06-23 18:01:09 +08:00
|
|
|
|
//修改属性名字
|
2025-06-23 10:41:33 +08:00
|
|
|
|
void reName();
|
2025-06-23 18:01:09 +08:00
|
|
|
|
//判断名称标识合法性
|
2025-06-23 10:41:33 +08:00
|
|
|
|
bool checkNameillegal(QString& errMsg);
|
|
|
|
|
bool checkNameSize(int min, int max, QString& errMsg);
|
2025-06-23 18:01:09 +08:00
|
|
|
|
bool checkLetter(QString& errmsg, int index); //判断第几个字符
|
|
|
|
|
bool illegalName(QString& errMsg); //关系属性名是否相似
|
|
|
|
|
//处理属性显示名称,名称标识,若有同名,加序号
|
2025-06-23 10:41:33 +08:00
|
|
|
|
void checkImportAttributeName(DPData* pParent);
|
|
|
|
|
|
|
|
|
|
void setFileData(FileGenerate* generator, QStringList flag);
|
|
|
|
|
|
|
|
|
|
|
2025-06-23 18:01:09 +08:00
|
|
|
|
/*复制属性到指定数据类*/
|
2025-06-23 10:41:33 +08:00
|
|
|
|
// bool copyToDstDataClass(int dataClassID, DataAttribute*& newData);
|
|
|
|
|
|
2025-06-23 18:01:09 +08:00
|
|
|
|
QString _displayfield; //[2023014add]数据检索与编辑模块在前端显示的字段名
|
2025-06-23 10:41:33 +08:00
|
|
|
|
|
2025-06-23 18:01:09 +08:00
|
|
|
|
QString _strDisplayName; //显示名称
|
|
|
|
|
QString _strInternalName; //内部名称
|
|
|
|
|
QString _strDescription; //描述
|
|
|
|
|
int _wCreateVersion = 0; //创建版本
|
|
|
|
|
int _wDeleteVersion = 0; //删除版本
|
2025-06-23 10:41:33 +08:00
|
|
|
|
QString _strDefaultValue;
|
2025-06-23 18:01:09 +08:00
|
|
|
|
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; //是否主键
|
2025-06-23 10:41:33 +08:00
|
|
|
|
protected:
|
|
|
|
|
private:
|
|
|
|
|
};
|