DPS/include/M_ProjectDAO.h

72 lines
2.4 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_EntityModelDAO;
2025-06-23 18:01:09 +08:00
/// M_项目
2025-06-23 10:41:33 +08:00
class M_ProjectDAO : public M_ObjectDAO
{
private:
2025-06-23 18:01:09 +08:00
static int _sCurrProjectID; ///<当前项目ID
2025-06-23 10:41:33 +08:00
public:
2025-06-23 18:01:09 +08:00
string _author; ///<项目创建者
string _createTime; ///<项目创建时间
int _focus; ///<是否关注
string _openTime; ///<项目最后打开时间
int _type; ///<项目类型baseDao的type属性
string _uID; ///<项目id (2023.09.04 由int改为string,做GUID的作用)
string _updateTime; ///<项目修改时间
2025-06-23 10:41:33 +08:00
ODI M_ProjectDAO();
virtual ODI ~M_ProjectDAO();
ODI virtual Mapper* createMapper();
ODI static DAO* createObject();
// [7/29/2022 wwu]
2025-06-23 18:01:09 +08:00
static ODI void setCurrProjectID(int projectID); //在项目打开时,需要上层应用进行设置
2025-06-23 10:41:33 +08:00
static ODI int getCurrProjectID();
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);
// [9/4/2023 wwu]
2025-06-23 18:01:09 +08:00
///自保存接口当insert时会自动生成GUID并保存
2025-06-23 10:41:33 +08:00
virtual ODI ResultMsg save(int commitType = COMMIT_T_IMMEDIATELY);
2025-06-23 18:01:09 +08:00
///与数据模型的关系
2025-06-23 10:41:33 +08:00
ODI ResultMsg addEntityModel(M_EntityModelDAO* pEntityModel, int commitType = COMMIT_T_IMMEDIATELY);
ODI ResultMsg removeEntityModel(M_EntityModelDAO* pEntityModel, int commitType = COMMIT_T_IMMEDIATELY);
ODI ResultMsg getEntityModelList(list< M_EntityModelDAO*> & emlist);
2025-06-23 18:01:09 +08:00
/// 导入导出 // [8/2/2022 wwu]
2025-06-23 10:41:33 +08:00
static ODI ResultMsg exportProject(list<int> exportProjectIds, string exportPath);
2025-06-23 18:01:09 +08:00
static ODI ResultMsg getImportProjectList(list<M_ProjectDAO*>& PList, string importFilePath);//获取导入项目文件项目列表
2025-06-23 10:41:33 +08:00
2025-06-23 18:01:09 +08:00
static ODI ResultMsg importProject(string importFilePath, list<int> importProjectIds);//导入选中的项目"
2025-06-23 10:41:33 +08:00
static ODI ResultMsg FindAll(list<M_ProjectDAO*> & pnewlist);
static ODI ResultMsg FindByID(int id, M_ProjectDAO * &pnewdao);
static ResultMsg ODI FindByAuthor(string author, list<M_ProjectDAO*>&newlist);
static ResultMsg ODI FindByFocus(int focus, list<M_ProjectDAO*>&newlist);
static ResultMsg ODI FindByName(string name, list<M_ProjectDAO*>&newlist);
static ResultMsg ODI FindByUID(string uID, list<M_ProjectDAO*>&newlist);
static ResultMsg ODI FindByType(int typeCode, list<M_ProjectDAO*>& newlist);
};
}