DPS/include/DAO.h

167 lines
3.9 KiB
C
Raw Normal View History

2025-06-23 10:41:33 +08:00
#pragma once
#include <iostream>
#include "CommonDataPublic.h"
#include <list>
//#include <string>
#include <vector>
#include <map>
using namespace std;
//using namespace DBPlatformSpace;
namespace DBPlatformSpace
{
class Mapper;
class InstanceDataManager;
#define COMMIT_T_IMMEDIATELY 0
#define COMMIT_T_GROUP 1
#define DAO_T_BASE 0
#define DAO_T_TOTAL 1
#define DAO_T_SUBDB 2
#define DAO_T_BASEMETA 3
#define DAO_T_DPS 4
///<2F><><EFBFBD><EFBFBD>DAO<41>Ļ<EFBFBD><C4BB><EFBFBD>
class DAO
{
public:
int _ID; ///<DAO<41><4F>Ψһ<CEA8><D2BB>ʶ
string _name; ///<<3C><><EFBFBD><EFBFBD>
int _daoType; ///<(<28><><EFBFBD><EFBFBD>ƽ̨<C6BD>ڲ<EFBFBD><DAB2><EFBFBD>)
ODI DAO();
virtual ODI ~DAO();
virtual ODI ResultMsg save(int commitType = COMMIT_T_IMMEDIATELY);
virtual ODI ResultMsg delself(int commitType = COMMIT_T_IMMEDIATELY);
virtual ODI ResultMsg delAll(int commitType = COMMIT_T_IMMEDIATELY);
virtual ODI Mapper* createMapper();
virtual ODI InstanceDataManager* getIDM();
ODI static vector<int> returnMsgToVId(string rMsg);
ODI static ResultMsg CreateInstancePtr(string daoName, DAO*& pdao);
// [9/13/2023 wwu]
///DAO<41><4F><EFBFBD><EFBFBD>תΪmap<string,string>
///@param mapdao ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>map<61><70><EFBFBD><EFBFBD>
virtual ODI ResultMsg toMapData(map<string, string>& mapdao);
///<2F><>map<string,string>ת<><D7AA>ΪDAO<41><4F><EFBFBD><EFBFBD>
///@param mapdao ת<><D7AA><EFBFBD><EFBFBD>map<61><70><EFBFBD><EFBFBD>Դ
virtual ODI ResultMsg transfromMapData(map<string, string>& mapdao, DAO* &pResultDao);
///<2F><><EFBFBD>ص<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// note: <20><>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual ODI string GetDAOClassName();
//------------------
};
//////////////////////////////////////////////////////////////////////////
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD>ڲ<EFBFBD><DAB2>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>й<EFBFBD><D0B9>̹<EFBFBD><CCB9><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
class totalDAO :public DAO
{
public:
ODI totalDAO(void);
ODI ~totalDAO(void);
//// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECBAAF>
//ODI totalDAO(const totalDAO& C);
//ODI const totalDAO& operator=(const totalDAO& refdao);
virtual ODI InstanceDataManager* getIDM() ;
};
//////////////////////////////////////////////////////////////////////////
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD>ڲ<EFBFBD><DAB2>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
///@note <09>̳<EFBFBD><CCB3>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ȡ<EFBFBD>ӿ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>Ҫִ<D2AA><D6B4> DBPlatform::SetCurrentProject(int prjectId) <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ID<49><44>
class subDBDAO :public DAO
{
public:
///
//int _taskID; ///<<3C><><EFBFBD><EFBFBD>ID (<28>ڲ<EFBFBD><DAB2><EFBFBD>)
ODI subDBDAO(void);
ODI ~subDBDAO(void);
//// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECBAAF>
//ODI subDBDAO(const subDBDAO& C);
//ODI const subDBDAO& operator=(const subDBDAO& refdao);
//virtual ODI int save();
virtual ODI InstanceDataManager* getIDM();
};
//////////////////////////////////////////////////////////////////////////
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD>ڲ<EFBFBD><DAB2>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>
class dataDictionaryDAO :public DAO
{
public:
ODI dataDictionaryDAO(void);
ODI ~dataDictionaryDAO(void);
virtual ODI InstanceDataManager* getIDM();
};
struct IOrderClause;
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD><CCA8>ʱ<EFBFBD>ڲ<EFBFBD><DAB2>ã<EFBFBD>
class DAOFinder
{
public:
ODI ResultMsg findByID(string daoName, int id, DAO* &pdaofind);
ODI ResultMsg findAll(string daoName, list<DAO*>& pdaolist, IOrderClause * pOderbyClause = NULL);
ODI ResultMsg findByOneAttr(string daoName, string attrName, string operation, string attrValue, list<DAO*>& pdaolist, IOrderClause* pOderbyClause = NULL);
ODI ResultMsg findByManyAndAttr( string daoName, vector<string> v_attrName, vector<string> v_operation, vector<string> v_attrValue, list<DAO*>& pdaolist, IOrderClause* pOderbyClause = NULL);
ODI ResultMsg findByManyOrAttr(string daoName, vector<string> v_attrName, vector<string> v_operation, vector<string> v_attrValue, list<DAO*>& pdaolist, IOrderClause* pOderbyClause = NULL);
};
class SectionChildDAO : public subDBDAO
{
public:
int _sectionID; ///<<3C><><EFBFBD><EFBFBD>id
virtual ODI ResultMsg delAllBySectionID(int sectionId, int commitType = COMMIT_T_IMMEDIATELY);
SectionChildDAO();
};
//class TransBulkheadChildDAO : public subDBDAO
//{
//public:
// int _sectionID; ///<<3C><><EFBFBD><EFBFBD>id
// ResultMsg delAllByTransBulkheadID(int transBulkheadId, int commitType = COMMIT_T_IMMEDIATELY);
//};
}