eis/inc/glob/DataAccess.h

477 lines
17 KiB
C
Raw Normal View History

#ifndef DATAACCESS_H_
#define DATAACCESS_H_
/*********************************************************************
*
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: DataAccess.h <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
*
* <EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Shanghai Baosight Software Co., Ltd.
*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>дԭʼ<EFBFBD><EFBFBD><EFBFBD>ݽӿ<EFBFBD>
* <EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽӿ<EFBFBD>
* <EFBFBD><EFBFBD>
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-05-06 echo_li
* %USER%
*********************************************************************/
#include <log4cplus/LOG.h>
#include <dao/Schedule.h>
#include <dao/InsertMaterial.h>
#include <glob/AutoTele.h>
#include <glob/BinaryTele.h>
#include <glob/PapRcvGenSQL.h>
#include <vector>
namespace baosight
{
typedef vector<string > VCTVALUE; /* [n]:value */
typedef map< string, VCTVALUE> MAPCOLUMN; /* [first]:columnname, [second]:value vector */
typedef map< string, MAPCOLUMN > MAPTABLE; /* [first]:tablename, [second]:column map */
typedef map< string, VCTVALUE> MAPSQL; /* [first]:columnname, [second]:sql vector */
/*********************************************************************
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: DataAccess
* <EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Shanghai Baosight Software Co., Ltd.
* <EFBFBD><EFBFBD> ְ <EFBFBD><EFBFBD>:ԭʼ<EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* :
* :
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
*********************************************************************/
class DataAccess
{
public:
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>ԭʼ<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MU_CODE,sourceΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>InsertMaterial<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WritePrimaryData
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* tele: AutoTele&
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short WritePrimarySingle();
short InsertPrimarySingle();
short UpdatePrimarySingle();
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MU_CODEΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼),<EFBFBD><EFBFBD><EFBFBD><EFBFBD>InsertMaterial<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WriteSingleRecordByPH
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WriteSingleRecordByLO
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WriteSingleRecordByOR
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* tele: AutoTele&
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short WriteSingleRecordByPH( const string& table);
//short WriteSingleRecordByLO( const string& table);
//short WriteSingleRecordByOR( const string& table);
short InsertSingleRecordByPH( const string& table);
short InsertSingleRecordByLO( const string& table);
short InsertSingleRecordByOR( const string& table);
short UpdateSingleRecordByPH( const string& table);
short UpdateSingleRecordByLO( const string& table);
short UpdateSingleRecordByOR( const string& table);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> InsertSingleRecord
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* table: const string&
* pkcolumn: const vector<string>& ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
short InsertSingleRecord( const string& table);
short InsertSingleRecord( const string& faketable, const string& table);
short UpdateSingleRecord( const string& table, const vector<string>& pkcolumn);
short UpdateSingleRecord( const string& faketable, const vector<string>& pkcolumn, const string& table);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MU_CODEΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼),<EFBFBD><EFBFBD><EFBFBD><EFBFBD>InsertMaterial<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WriteMultiRecordsByPH
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WriteMultiRecordsByLO
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WriteMultiRecordsByOR
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* table: const string&
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
short WriteMultiRecordsByPH( const string& table, unsigned int count = 0, unsigned int index = 0);
short WriteMultiRecordsByLO( const string& table, unsigned int count = 0, unsigned int index = 0);
short WriteMultiRecordsByOR( const string& table, unsigned int count = 0, unsigned int index = 0);
//short WriteMultiRecords( const string& table, const string& pkcoloumn="", const string& pkvalue="", int count = 0);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ʹ<EFBFBD><EFBFBD>Update<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WriteTableByUpdate
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* tele: AutoTele&
* table: const string&
* where: const string& <EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
short WriteTableByUpdate( AutoTele& tele, const string& table, const string& where);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>MU<EFBFBD><EFBFBD>MUR<EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD>¼ֵ
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> InsertMaterialInfo
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* coilid: char * <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MU_CODE<EFBFBD>ĸ־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* phMu: MU_CODE& <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>PH MU_CODE
* loMu: MU_CODE& <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>LO MU_CODE
* orMu: MU_CODE& <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>OR MU_CODE
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
short InsertMaterialInfo( const string& coilid, MU_CODE &phMu, MU_CODE &loMu, MU_CODE &orMu);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>MU<EFBFBD><EFBFBD>MUR<EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><EFBFBD><EFBFBD>¼
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> InsertMaterialInfo
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* coilid: char * <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MU_CODE<EFBFBD>ĸ־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
short InsertMaterialInfo( const string& coilid);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>AutoTele<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ֵ
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> InsertMaterialInfo
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* tele: AutoTele& <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AutoTele<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
void Analyze( AutoTele& tele);
void Analyze( BinaryTele& tele);
void PrintSQLS();
public:
DataAccess( );
~DataAccess();
private:
short InsertPDI( );
short UpdatePDI( );
void GetInsertSQL( const MAPTABLE& mapdata, MAPSQL& columnsql, MAPSQL& valuesql);
void GetUpdateSQL( const MAPTABLE& mapdata, MAPSQL& valuesql);
short InsertPhysicals( const string& table, const string& colPart, const string& valpart);
short InsertLogicals( const string& table, const string& colPart, const string& valpart);
short InsertOrders( const string& table, const string& colPart, const string& valpart);
short UpdatePhysicals( const string& table, const string& valpart);
short UpdateLogicals( const string& table, const string& valpart);
short UpdateOrders( const string& table, const string& valpart);
void GenItemBySingle( const TeleItem& item, MAPCOLUMN& maptable, unsigned int col);
void GenItemByGroup( const TeleItem& item, MAPCOLUMN& maptable, unsigned int col);
void GetItemData( AutoTele& arep);
void GetItemData( BinaryTele& arep);
string ValueToString( const TeleItem& item) const;
short InsertDefectPH( const string& table, const VCTVALUE& colPart, const VCTVALUE& valpart);
short UpdateDefectPH( const string& table, const VCTVALUE& valpart);
// rmbai 2012-03-18
void SetItem( const TeleItem& eitem, string tabName, string cols);
int FindRepeatGroupItemCount(AutoTele& arep,int index, string tabName);
int SetRepeatItem(AutoTele& arep,int startindex,int reaptCount,int groupItemCount,string tabName);
//void GetUpdateSQL( AutoTele& arep, MAPVCTSTRING& valpart);
//void GetInsertSQL( AutoTele& arep, MAPVCTSTRING& colpart, MAPVCTSTRING& valpart);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: дMES<EFBFBD><EFBFBD>ME<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> InsertMaterialInfo
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* coilInfo: S_COILINFO &
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short InsertMaterialInfo(S_COILINFO& coilInfo);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ҫд<EFBFBD><EFBFBD><EFBFBD>ݵı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GetTableList
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* arep: S_TeleItem *
* arepmax: int
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short GetTableList(S_TeleItem* arep, int arepmax);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: д<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> InsertTables
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* eventNo: int
* arep: S_TeleItem *
* arepmax: int
* tabcount: int
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short InsertTables(int eventNo, S_TeleItem* arep, int arepmax, int tabcount);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: дPrimaryLogicals<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> InsertLogicals
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* eventNo: int
* arep: S_TeleItem *
* arepmax: int
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short InsertLogicals(int eventNo, S_TeleItem* arep, int arepmax);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: дPrimaryOrder<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> InsertOrders
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* eventNo: int
* arep: S_TeleItem *
* arepmax: int
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short InsertOrders(int eventNo, S_TeleItem* arep, int arepmax);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: дEntryDefect<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> InsertDefect
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* eventNo: int
* arep: S_TeleItem *
* arepmax: int
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short InsertDefect(int eventNo, S_TeleItem* arep, int arepmax);
/**********************************************************************
*
*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: delete data by materialInfo
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DeleteOneTable
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* eventNo: int
* arep: S_TeleItem *
* arepmax: int
1.0 2011-07-19 RMBAI <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
* *
***********************************************************************/
//short DeleteOneTable(int eventNo,std::string tabelname);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>eventNo<EFBFBD><EFBFBD>naTabName<EFBFBD><EFBFBD>ȡKeyValue,<EFBFBD>ٺ<EFBFBD>stmtINS,stmtVAL<EFBFBD><EFBFBD>֯<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SQL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ͨ<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>SQL<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> InsertOneTable
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* eventNo: int
* naTabName: string
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short InsertOneTable(int eventNo, string naTabName);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ƴ<EFBFBD><EFBFBD>SQL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GetInsertSQL
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> void
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* arep: S_TeleItem *
* arepmax: int
* tableName: string
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//void GetInsertSQL(S_TeleItem* arep, int arepmax,string tableName);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ƴ<EFBFBD><EFBFBD>SQL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GetUpdateSQL
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> void
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* arep: S_TeleItem *
* arepmax: int
* tableName: string
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//void GetUpdateSQL(S_TeleItem* arep, int arepmax,string tableName);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: д<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UpdateTables
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* eventNo: int
* arep: S_TeleItem *
* arepmax: int
* tabcount: int
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short UpdateTables(int eventNo, S_TeleItem* arep, int arepmax, int tabcount);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: дPrimaryLogicals<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UpdateLogicals
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* eventNo: int
* arep: S_TeleItem *
* arepmax: int
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short UpdateLogicals(int eventNo, S_TeleItem* arep, int arepmax);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: дPrimaryOrder<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UpdateOrders
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* eventNo: int
* arep: S_TeleItem *
* arepmax: int
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short UpdateOrders(int eventNo, S_TeleItem* arep, int arepmax);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: дEntryDefect<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UpdateDefect
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* eventNo: int
* arep: S_TeleItem *
* arepmax: int
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short UpdateDefect(int eventNo, S_TeleItem* arep, int arepmax);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: insertOneTable <EFBFBD><EFBFBD><EFBFBD><EFBFBD>eventNo<EFBFBD><EFBFBD>naTabName<EFBFBD><EFBFBD>ȡKeyValue,
* <EFBFBD>ٺ<EFBFBD>stmtINS,stmtVAL<EFBFBD><EFBFBD>֯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SQL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ͨ<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>SQL<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UpdateOneTable
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* eventNo: int
* naTabName: string
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short UpdateOneTable(int eventNo, string naTabName);
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CalculateDivLen
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> short
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* muCode: const MU_CODE &
* arep: S_TeleItem *
* arepmax: int
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-02 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
//short CalculateDivLen(const MU_CODE& muCode, S_TeleItem* arep, int arepmax);
private:
Schedule* mp_scheduleDao;
MAT_STRUCTURE m_material;
MaterialInfo m_matInfo;
//vector<string> m_tabList;
int m_writemode; /* CN_RETURAL_INSERT or CN_RETURAL_UPDATE */
int tabCount;
int m_stmLen;
MAPTABLE m_teleItem;
MAPSQL m_insColPart;
MAPSQL m_insValPart;
MAPSQL m_updatePart;
S_INS_UPD_PARAMS insUpdParams;
//S_DIVLEN m_divLen;
private:
};
}
#endif