#pragma once #include "M_ObjectDAO.h" namespace DBPlatformSpace { class M_EntityTableDAO; class M_EntityModelDAO; class M_SceneInfoDAO; #define FOLDER_TYPE_TEMP 2 //临时数据模块(建立数据模型时,默认建立一个) /// M_数据模块 class M_FolderDAO : public M_ObjectDAO { public: //说明:基类里的_name用于保存 “模型标识” int _addVersion; ///<建立版本 string _description; ///<描述 string _displayName; ///<显示名称 int _folderType; ///<数据模块类型 int _isGenerateDAO; ///<是否生成数据接口类 int _t_M_EntityModelID; ///<所属数据模型 int _t_M_FolderID; ///<所属数据模块 ODI M_FolderDAO(); virtual ODI ~M_FolderDAO(); /// 此自删除接口,会将下属的数据一同删除 virtual ODI ResultMsg delself(int commitType = COMMIT_T_IMMEDIATELY); virtual ODI ResultMsg delself(string& strResultIDDeleted,int commitType = COMMIT_T_IMMEDIATELY); // [6/8/2022 wwu] ///与子数据模块的关系 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); ResultMsg getAllSubFolderDAOList(list< M_FolderDAO*>& mflist); //包含所有下层、下下层、...的子模块 ///与数据类的关系 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] ///获取上级 ODI ResultMsg getEntityModelOwner(M_EntityModelDAO * & modelOwner); ODI ResultMsg getParentFolder(M_FolderDAO* & pFolderOwner); // [7/10/2022 wwu] // 代码生成 ODI ResultMsg CreateCode(string codeFileFolderPath, list& resultCodeFilesPathList); // [7/20/2022 wwu] ///与数据字典数据的关系 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 & pnewlist); static ODI ResultMsg FindByID(int id, M_FolderDAO * &pnewdao); static ODI ResultMsg FindRootFolderByEntityModelID(int modelId, list& pnewlist); static ODI ResultMsg FindByEntityModelID(int modelId, list& pnewlist); static ODI ResultMsg FindByEntityModelIDAndFolderType(int modelId, int folderType, list& pnewlist); static ODI ResultMsg FindByParentFolderID(int parentFolderId, list& pnewlist); }; }