DPS/DataPlatform/DataAttribute.h

120 lines
5.2 KiB
C
Raw Permalink Normal View History

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:
};