DPS/DataPlatform/DataAttribute.h

120 lines
5.2 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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