eis/src/dbax/Ed.cpp

456 lines
13 KiB
C++
Raw Normal View History

//-- Version: 2018.7.19 10:29:28
////////////////////////////////////////////////////////////////////////
#include "Ed.h"
Ed::Ed()
:
dbAccess (true),
dbMessage (NULL)
{
ptrEdLogEnt = NULL;
ptrEdOrdEnt = NULL;
ptrEdPhyEnt = NULL;
emptyObjects();
}
Ed::~Ed()
{
if(ptrEdLogEnt != NULL) delete ptrEdLogEnt;
if(ptrEdOrdEnt != NULL) delete ptrEdOrdEnt;
if(ptrEdPhyEnt != NULL) delete ptrEdPhyEnt;
}
// Parameters of table:EdLogEnt
// muCode1
// arg2 = source = 所有者
// Parameters of table:EdOrdEnt
// muCode3
// arg4 = source = 所有者
// Parameters of table:EdPhyEnt
// muCode5
// arg6 = source
Ed::Ed( MU_CODE muCode1 ,const char* arg2 , MU_CODE muCode3 ,const char* arg4 , MU_CODE muCode5 ,const char* arg6 )
{
ptrEdLogEnt = NULL;
ptrEdOrdEnt = NULL;
ptrEdPhyEnt = NULL;
dbAccess = true;
dbMessage = NULL;
ptrEdLogEnt = new T_PDI_LO( muCode1 , arg2);
if ( ptrEdLogEnt->dbAccess == false ) { dbAccess = false; dbMessage = ptrEdLogEnt->dbMessage; emptyObjects(); return; }
ptrEdOrdEnt = new T_PDI_OR( muCode3 , arg4);
if ( ptrEdOrdEnt->dbAccess == false ) { dbAccess = false; dbMessage = ptrEdOrdEnt->dbMessage; emptyObjects(); return; }
ptrEdPhyEnt = new T_PDI_PH( muCode5 , arg6);
if ( ptrEdPhyEnt->dbAccess == false ) { dbAccess = false; dbMessage = ptrEdPhyEnt->dbMessage; emptyObjects(); return; }
}
// Parameters of table:EdLogEnt
// muCode1
// arg2 = source = 所有者
// Parameters of table:EdOrdEnt
// muCode3
// arg4 = source = 所有者
// Parameters of table:EdPhyEnt
// muCode5
// arg6 = source
void
Ed::initInsertKeys( MU_CODE muCode1 ,const char* arg2 , MU_CODE muCode3 ,const char* arg4 , MU_CODE muCode5 ,const char* arg6 )
{
setPrimKey( muCode1 , arg2 , muCode3 , arg4 , muCode5 , arg6 );
ptrEdLogEnt->initInsertKeys( muCode1.actual.muId , muCode1.actual.muCreator , muCode1.actual.musId , arg2);
ptrEdOrdEnt->initInsertKeys( muCode3.actual.muId , muCode3.actual.muCreator , muCode3.actual.musId , arg4);
ptrEdPhyEnt->initInsertKeys( muCode5.actual.muId , muCode5.actual.muCreator , muCode5.actual.musId , arg6);
}
// Parameters of table:EdLogEnt
// muCode1
// arg2 = source = 所有者
// Parameters of table:EdOrdEnt
// muCode3
// arg4 = source = 所有者
// Parameters of table:EdPhyEnt
// muCode5
// arg6 = source
void
Ed::setPrimKey( MU_CODE muCode1 ,const char* arg2 , MU_CODE muCode3 ,const char* arg4 , MU_CODE muCode5 ,const char* arg6 )
{
ptrEdLogEnt->setPrimKey( muCode1.actual.muId , muCode1.actual.muCreator , muCode1.actual.musId , arg2);
ptrEdOrdEnt->setPrimKey( muCode3.actual.muId , muCode3.actual.muCreator , muCode3.actual.musId , arg4);
ptrEdPhyEnt->setPrimKey( muCode5.actual.muId , muCode5.actual.muCreator , muCode5.actual.musId , arg6);
}
// muCode1
// arg2 = source = 所有者
Ed::Ed( MU_CODE muCode1 ,const char* arg2 )
{
ptrEdLogEnt = NULL;
ptrEdOrdEnt = NULL;
ptrEdPhyEnt = NULL;
dbAccess = true;
dbMessage = NULL;
MatStruct material( muCode1 );
if ( !material.dbAccess ){
dbAccess = false;
if ( strlen ( material.dbMessage ) < 200 )
{
strncpy( messageBuffer , material.dbMessage,sizeof(messageBuffer));
}
else
{
messageBuffer[0] = '\0';
}
dbMessage = messageBuffer;
emptyObjects();
return;
}
dbAccess = true;
if ( material.matUnits.actLogicalIndex == -1 )
{
ptrEdLogEnt = new T_PDI_LO(material.matUnits.logMuCode[0] , arg2);
if ( ptrEdLogEnt->dbAccess == false ) { dbAccess = false; dbMessage = ptrEdLogEnt->dbMessage; emptyObjects(); return; }
}
else
{
ptrEdLogEnt = new T_PDI_LO(material.matUnits.logMuCode[material.matUnits.actLogicalIndex] , arg2);
if ( ptrEdLogEnt->dbAccess == false ) { dbAccess = false; dbMessage = ptrEdLogEnt->dbMessage; emptyObjects(); return; }
}
if ( material.matUnits.actOrderIndex == -1 )
{
if ( material.matUnits.actLogicalIndex == -1 )
{
ptrEdOrdEnt = new T_PDI_OR(material.matUnits.ordMuCode[0][0] , arg2);
if ( ptrEdOrdEnt->dbAccess == false ) { dbAccess = false; dbMessage = ptrEdOrdEnt->dbMessage; emptyObjects(); return; }
}
else
{
ptrEdOrdEnt = new T_PDI_OR(material.matUnits.ordMuCode[material.matUnits.actLogicalIndex][0] , arg2);
if ( ptrEdOrdEnt->dbAccess == false ) { dbAccess = false; dbMessage = ptrEdOrdEnt->dbMessage; emptyObjects(); return; }
}
}
else
{
ptrEdOrdEnt = new T_PDI_OR(material.matUnits.ordMuCode[material.matUnits.actLogicalIndex][material.matUnits.actOrderIndex] , arg2);
if ( ptrEdOrdEnt->dbAccess == false ) { dbAccess = false; dbMessage = ptrEdOrdEnt->dbMessage; emptyObjects(); return; }
}
ptrEdPhyEnt = new T_PDI_PH( material.matUnits.phyMuCode , arg2);
if ( ptrEdPhyEnt->dbAccess == false ) { dbAccess = false; dbMessage = ptrEdPhyEnt->dbMessage; emptyObjects(); return; }
}
// muCode1
// arg2 = source = 所有者
void
Ed::initInsertKeys( MU_CODE muCode1 ,const char* arg2 )
{
setPrimKey( muCode1 , arg2 );
dbAccess = true;
dbMessage = NULL;
MatStruct material( muCode1 );
if ( !material.dbAccess ){
dbAccess = false;
if ( strlen ( material.dbMessage ) < 200 )
{
strncpy( messageBuffer , material.dbMessage,sizeof(messageBuffer));
}
else
{
messageBuffer[0] = '\0';
}
dbMessage = messageBuffer;
return;
}
dbAccess = true;
if ( material.matUnits.actLogicalIndex == -1 )
{
ptrEdLogEnt->initInsertKeys( material.matUnits.logMuCode[0].actual.muId , material.matUnits.logMuCode[0].actual.muCreator , material.matUnits.logMuCode[0].actual.musId , arg2);
}
else
{
ptrEdLogEnt->initInsertKeys( material.matUnits.logMuCode[material.matUnits.actLogicalIndex].actual.muId , material.matUnits.logMuCode[material.matUnits.actLogicalIndex].actual.muCreator , material.matUnits.logMuCode[material.matUnits.actLogicalIndex].actual.musId , arg2);
}
if ( material.matUnits.actOrderIndex == -1 )
{
if ( material.matUnits.actLogicalIndex == -1 )
{
ptrEdOrdEnt->initInsertKeys( material.matUnits.ordMuCode[0][0].actual.muId , material.matUnits.ordMuCode[0][0].actual.muCreator , material.matUnits.ordMuCode[0][0].actual.musId , arg2);
}
else
{
ptrEdOrdEnt->initInsertKeys( material.matUnits.ordMuCode[material.matUnits.actLogicalIndex][0].actual.muId , material.matUnits.ordMuCode[material.matUnits.actLogicalIndex][0].actual.muCreator , material.matUnits.ordMuCode[material.matUnits.actLogicalIndex][0].actual.musId , arg2);
}
}
else
{
ptrEdOrdEnt->initInsertKeys( material.matUnits.ordMuCode[material.matUnits.actLogicalIndex][material.matUnits.actOrderIndex].actual.muId , material.matUnits.ordMuCode[material.matUnits.actLogicalIndex][material.matUnits.actOrderIndex].actual.muCreator , material.matUnits.ordMuCode[material.matUnits.actLogicalIndex][material.matUnits.actOrderIndex].actual.musId , arg2);
}
ptrEdPhyEnt->initInsertKeys( material.matUnits.phyMuCode.actual.muId , material.matUnits.phyMuCode.actual.muCreator , material.matUnits.phyMuCode.actual.musId , arg2);
}
// muCode1
// arg2 = source = 所有者
void
Ed::setPrimKey( MU_CODE muCode1 ,const char* arg2 )
{
dbAccess = true;
dbMessage = NULL;
MatStruct material( muCode1 );
if ( !material.dbAccess ){
dbAccess = false;
if ( strlen ( material.dbMessage ) < 200 )
{
strncpy( messageBuffer , material.dbMessage,sizeof(messageBuffer));
}
else
{
messageBuffer[0] = '\0';
}
dbMessage = messageBuffer;
return;
}
dbAccess = true;
if ( material.matUnits.actLogicalIndex == -1 )
{
ptrEdLogEnt->setPrimKey( material.matUnits.logMuCode[0].actual.muId , material.matUnits.logMuCode[0].actual.muCreator , material.matUnits.logMuCode[0].actual.musId , arg2);
}
else
{
ptrEdLogEnt->setPrimKey( material.matUnits.logMuCode[material.matUnits.actLogicalIndex].actual.muId , material.matUnits.logMuCode[material.matUnits.actLogicalIndex].actual.muCreator , material.matUnits.logMuCode[material.matUnits.actLogicalIndex].actual.musId , arg2);
}
if ( material.matUnits.actOrderIndex == -1 )
{
if ( material.matUnits.actLogicalIndex == -1 )
{
ptrEdOrdEnt->setPrimKey( material.matUnits.ordMuCode[0][0].actual.muId , material.matUnits.ordMuCode[0][0].actual.muCreator , material.matUnits.ordMuCode[0][0].actual.musId , arg2);
}
else
{
ptrEdOrdEnt->setPrimKey( material.matUnits.ordMuCode[material.matUnits.actLogicalIndex][0].actual.muId , material.matUnits.ordMuCode[material.matUnits.actLogicalIndex][0].actual.muCreator , material.matUnits.ordMuCode[material.matUnits.actLogicalIndex][0].actual.musId , arg2);
}
}
else
{
ptrEdOrdEnt->setPrimKey( material.matUnits.ordMuCode[material.matUnits.actLogicalIndex][material.matUnits.actOrderIndex].actual.muId , material.matUnits.ordMuCode[material.matUnits.actLogicalIndex][material.matUnits.actOrderIndex].actual.muCreator , material.matUnits.ordMuCode[material.matUnits.actLogicalIndex][material.matUnits.actOrderIndex].actual.musId , arg2);
}
ptrEdPhyEnt->setPrimKey( material.matUnits.phyMuCode.actual.muId , material.matUnits.phyMuCode.actual.muCreator , material.matUnits.phyMuCode.actual.musId , arg2);
}
///////////////////////////////////////////////////
char*
Ed::readDB()
{
if ( dbAccess == false)
{
return dbMessage;
}
if ( dbAccess == false)
{
return dbMessage;
}
char* ret = NULL;
ret = ptrEdLogEnt->readDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdLogEnt->dbMessage;
return(ret);
}
ret = ptrEdOrdEnt->readDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdOrdEnt->dbMessage;
return(ret);
}
ret = ptrEdPhyEnt->readDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdPhyEnt->dbMessage;
return(ret);
}
return(ret);
}
///////////////////////////////////////////////////
char*
Ed::updateDB()
{
if ( dbAccess == false)
{
return dbMessage;
}
char* ret = NULL;
ret = ptrEdLogEnt->updateDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdLogEnt->dbMessage;
return(ret);
}
ret = ptrEdOrdEnt->updateDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdOrdEnt->dbMessage;
return(ret);
}
ret = ptrEdPhyEnt->updateDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdPhyEnt->dbMessage;
return(ret);
}
return(ret);
}
///////////////////////////////////////////////////
char*
Ed::insertDB()
{
if ( dbAccess == false)
{
return dbMessage;
}
char* ret = NULL;
ret = ptrEdLogEnt->insertDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdLogEnt->dbMessage;
return(ret);
}
ret = ptrEdOrdEnt->insertDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdOrdEnt->dbMessage;
return(ret);
}
ret = ptrEdPhyEnt->insertDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdPhyEnt->dbMessage;
return(ret);
}
return(ret);
}
///////////////////////////////////////////////////
char*
Ed::deleteDB()
{
if ( dbAccess == false)
{
return dbMessage;
}
char* ret = NULL;
ret = ptrEdLogEnt->deleteDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdLogEnt->dbMessage;
return(ret);
}
ret = ptrEdOrdEnt->deleteDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdOrdEnt->dbMessage;
return(ret);
}
ret = ptrEdPhyEnt->deleteDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdPhyEnt->dbMessage;
return(ret);
}
return(ret);
}
///////////////////////////////////////////////////
char*
Ed::storeDB()
{
char* ret = NULL;
ptrEdLogEnt->setKeysFromRecord();
ret = ptrEdLogEnt->updateDB();
if ( ret != NULL ){
ret = ptrEdLogEnt->insertDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdLogEnt->dbMessage;
return(ret);
}
}
ptrEdOrdEnt->setKeysFromRecord();
ret = ptrEdOrdEnt->updateDB();
if ( ret != NULL ){
ret = ptrEdOrdEnt->insertDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdOrdEnt->dbMessage;
return(ret);
}
}
ptrEdPhyEnt->setKeysFromRecord();
ret = ptrEdPhyEnt->updateDB();
if ( ret != NULL ){
ret = ptrEdPhyEnt->insertDB();
if ( ret != NULL ){
dbAccess = false;
dbMessage = ptrEdPhyEnt->dbMessage;
return(ret);
}
}
return(ret);
}
//
//Create empty objects
//===================
//
void
Ed::emptyObjects()
{
if (!ptrEdLogEnt) ptrEdLogEnt = new T_PDI_LO();
if (!ptrEdOrdEnt) ptrEdOrdEnt = new T_PDI_OR();
if (!ptrEdPhyEnt) ptrEdPhyEnt = new T_PDI_PH();
}
//
//O P E R A T O R +
//===================
//
Ed
Ed::operator+(const Ed &inst) const
{
Ed ptrEd(*this);
*ptrEd.ptrEdLogEnt = *this->ptrEdLogEnt + *inst.ptrEdLogEnt;
*ptrEd.ptrEdOrdEnt = *this->ptrEdOrdEnt + *inst.ptrEdOrdEnt;
*ptrEd.ptrEdPhyEnt = *this->ptrEdPhyEnt + *inst.ptrEdPhyEnt;
return(ptrEd);
}
//
//A S S I G N M E N T - O P E R A T O R =
//=======================================
//
const Ed&
Ed::operator=(const Ed &inst)
{
if(this != &inst)
{
*this->ptrEdLogEnt = *inst.ptrEdLogEnt;
*this->ptrEdOrdEnt = *inst.ptrEdOrdEnt;
*this->ptrEdPhyEnt = *inst.ptrEdPhyEnt;
}
return(*this);
}
Ed::Ed(const Ed &inst)
{
ptrEdLogEnt = new T_PDI_LO(*inst.ptrEdLogEnt);
ptrEdOrdEnt = new T_PDI_OR(*inst.ptrEdOrdEnt);
ptrEdPhyEnt = new T_PDI_PH(*inst.ptrEdPhyEnt);
}