DPS/include/M_FolderDAO.h

83 lines
2.8 KiB
C
Raw Permalink Normal View History

2025-06-23 10:41:33 +08:00
#pragma once
#include "M_ObjectDAO.h"
namespace DBPlatformSpace
{
class M_EntityTableDAO;
class M_EntityModelDAO;
class M_SceneInfoDAO;
2025-06-23 18:01:09 +08:00
#define FOLDER_TYPE_TEMP 2 //临时数据模块(建立数据模型时,默认建立一个)
2025-06-23 10:41:33 +08:00
2025-06-23 18:01:09 +08:00
/// M_数据模块
2025-06-23 10:41:33 +08:00
class M_FolderDAO : public M_ObjectDAO
{
public:
2025-06-23 18:01:09 +08:00
//说明基类里的_name用于保存 “模型标识”
int _addVersion; ///<建立版本
string _description; ///<描述
string _displayName; ///<显示名称
int _folderType; ///<数据模块类型
int _isGenerateDAO; ///<是否生成数据接口类
2025-06-23 10:41:33 +08:00
2025-06-23 18:01:09 +08:00
int _t_M_EntityModelID; ///<所属数据模型
int _t_M_FolderID; ///<所属数据模块
2025-06-23 10:41:33 +08:00
ODI M_FolderDAO();
virtual ODI ~M_FolderDAO();
2025-06-23 18:01:09 +08:00
/// 此自删除接口,会将下属的数据一同删除
2025-06-23 10:41:33 +08:00
virtual ODI ResultMsg delself(int commitType = COMMIT_T_IMMEDIATELY);
virtual ODI ResultMsg delself(string& strResultIDDeleted,int commitType = COMMIT_T_IMMEDIATELY);
// [6/8/2022 wwu]
2025-06-23 18:01:09 +08:00
///与子数据模块的关系
2025-06-23 10:41:33 +08:00
ODI ResultMsg addM_SubFolderDAO(M_FolderDAO* pSubFolder, int commitType = COMMIT_T_IMMEDIATELY);
ODI ResultMsg removeSubFolderDAO(M_FolderDAO* pSubFolder, int commitType = COMMIT_T_IMMEDIATELY);
ODI ResultMsg getSubFolderDAOList(list< M_FolderDAO*>& mflist);
2025-06-23 18:01:09 +08:00
ResultMsg getAllSubFolderDAOList(list< M_FolderDAO*>& mflist); //包含所有下层、下下层、...的子模块
2025-06-23 10:41:33 +08:00
2025-06-23 18:01:09 +08:00
///与数据类的关系
2025-06-23 10:41:33 +08:00
ODI ResultMsg addM_EntityTableDAO(M_EntityTableDAO* pEntityTable);
ODI ResultMsg removeM_EntityTableDAO(M_EntityTableDAO* pEntityTable);
ODI ResultMsg getM_EntityTableDAOList(list< M_EntityTableDAO*>& etlist);
// [8/11/2022 wwu]
ODI bool isHaveEntityTable(int tableID);
// [6/25/2022 wwu]
2025-06-23 18:01:09 +08:00
///获取上级
2025-06-23 10:41:33 +08:00
ODI ResultMsg getEntityModelOwner(M_EntityModelDAO * & modelOwner);
ODI ResultMsg getParentFolder(M_FolderDAO* & pFolderOwner);
// [7/10/2022 wwu]
2025-06-23 18:01:09 +08:00
// 代码生成
2025-06-23 10:41:33 +08:00
ODI ResultMsg CreateCode(string codeFileFolderPath, list<string>& resultCodeFilesPathList);
// [7/20/2022 wwu]
2025-06-23 18:01:09 +08:00
///与数据字典数据的关系
2025-06-23 10:41:33 +08:00
ODI ResultMsg addSceneInfo(M_SceneInfoDAO* pSceneInfo, int commitType = COMMIT_T_IMMEDIATELY);
ODI ResultMsg getSceneInfoList(list< M_SceneInfoDAO*>& pSceneInfolist);
ODI virtual Mapper* createMapper();
ODI static DAO* createObject();
static ODI ResultMsg FindAll(list<M_FolderDAO*> & pnewlist);
static ODI ResultMsg FindByID(int id, M_FolderDAO * &pnewdao);
static ODI ResultMsg FindRootFolderByEntityModelID(int modelId, list<M_FolderDAO*>& pnewlist);
static ODI ResultMsg FindByEntityModelID(int modelId, list<M_FolderDAO*>& pnewlist);
static ODI ResultMsg FindByEntityModelIDAndFolderType(int modelId, int folderType, list<M_FolderDAO*>& pnewlist);
static ODI ResultMsg FindByParentFolderID(int parentFolderId, list<M_FolderDAO*>& pnewlist);
};
}