/********************************************************************* * * 文 件: MaterialInfo.h //TODO请概述文件功能 * * 版权所有: Shanghai Baosight Software Co., Ltd. * * 概述:处理MUCODE * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * %USER% *********************************************************************/ #ifndef MATERIALINFO_H #define MATERIALINFO_H #include #include #include #include "dbinc/T_TRK_BREAK.h" using namespace baosight; namespace baosight{ class MaterialInfo { private: MatStruct* ms; private: char* dbMessage; // Pointer for ORACLE Messages public: MaterialInfo(); public: virtual ~MaterialInfo(void); public: /********************************************************************** * 概述: 表明该类型的MECODE中,当前MECODE处在哪个具体的位置 * 函数名: matPos * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int matPos(MU_CODE muCode); /********************************************************************** * 概述: 输入任何类型的MECODE(包括入口和出口),获得该MECODE相关的所有信息 * 函数名: matStruct * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 * matStruct : [IN/OUT] MAT_STRUCTURE * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int matStruct(MU_CODE muCode,MAT_STRUCTURE* matStruct); /********************************************************************** * 概述: 输入任何类型的MECODE,获得逻辑卷数 * 函数名: noLogMaterial * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int noLogMaterial(MU_CODE muCode); /********************************************************************** * 概述: 输入OR类型的MECODE,获得合同卷数 * 函数名: noOrderMaterial * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int noOrderMaterial(MU_CODE muCode); /********************************************************************** * 概述: 输入任意类型的MECODE,获得总合同卷数 * 函数名: noAllOrder * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int noAllOrder(MU_CODE muCode); /********************************************************************** * 概述:把出口的MEOCDE转化为在线的MECODE * 函数名: setMuCode2InLineStatus * 返回值: void //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCodeIn : [IN/OUT] MU_CODE * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ void setMuCode2InLineStatus( MU_CODE* muCodeIn); /********************************************************************** * 概述: 输入为出口PHY卷的MECODE,输出为入口PHY卷的MECODE,如果输入为出口分卷的OR类型的MECODE,输出为母卷OR类型的MECODE; * 函数名: entryMaterial * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCodeIn : [IN/OUT] MU_CODE //TODO:参数取值范围 * muCodeOut : [IN/OUT] MU_CODE * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int entryMaterial( MU_CODE muCodeIn,MU_CODE* muCodeOut); /********************************************************************** * 概述:输入入口OR类型的MECODE,输出为出口OR类型的MECODE * 函数名: exitMaterial * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCodeIn : [IN/OUT] MU_CODE //TODO:参数取值范围 * muCodeOut : [IN/OUT] MU_CODE * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int exitMaterial( MU_CODE muCodeIn,MU_CODE* muCodeOut); /********************************************************************** * 概述: 输入出口OR类型的MECODE,输出为入口OR类型的MECODE * 函数名: processMaterial * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCodeIn : [IN/OUT] MU_CODE //TODO:参数取值范围 * muCodeOut : [IN/OUT] MU_CODE * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int processMaterial( MU_CODE muCodeIn,MU_CODE* muCodeOut); /********************************************************************** * 概述: 输入OR类型的MECODE,输出逻辑卷MECODE * 函数名: logMuCode * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCodeIn : [IN/OUT] MU_CODE //TODO:参数取值范围 * muCodeOut : [IN/OUT] MU_CODE * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int logMuCode( MU_CODE muCodeIn,MU_CODE* muCodeOut); /********************************************************************** * 概述: 获取当前MECODE的状态 * 函数名: getStatus * 返回值: short //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ short getStatus( MU_CODE muCode); /********************************************************************** * 概述: 设置当前MECODE的状态 * 函数名: setStatus * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 * state : [IN/OUT] short //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int setStatus( MU_CODE muCode, short state); /********************************************************************** * 概述: 获取MECODE * 函数名: getMuCodeOfExtId * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * extId : [IN/OUT] char * //TODO:参数取值范围 * meTyp : [IN/OUT] char * //TODO:参数取值范围 * muCode : [IN/OUT] MU_CODE * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int getMuCodeOfExtId( char* extId , char* meTyp , MU_CODE* muCode ); /********************************************************************** * 概述: //TODO:请添加函数描述 * 函数名: setMuCodeFromTMU * 返回值: void //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCodeOut : [IN/OUT] MU_CODE * //TODO:参数取值范围 * me : [IN/OUT] T_MU * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ void setMuCodeFromTMU( MU_CODE* muCodeOut , T_MU* me ); /********************************************************************** * 概述: //暂时不使用 * 函数名: serialiesMuCodes * 返回值: void //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * mS : [IN/OUT] MatStruct * //TODO:参数取值范围 * logicalMeCodes : [IN/OUT] MU_CODE * //TODO:参数取值范围 * orderMeCodes : [IN/OUT] MU_CODE * //TODO:参数取值范围 * lMC : [IN/OUT] short * //TODO:参数取值范围 * oMC : [IN/OUT] short * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ void serialiesMuCodes(MatStruct* mS ,MU_CODE* logicalMeCodes ,MU_CODE* orderMeCodes ,short* lMC ,short* oMC ); /********************************************************************** * 概述: //暂时不使用 * 函数名: serialiesMuCodes * 返回值: void //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * mS : [IN/OUT] MAT_STRUCTURE * //TODO:参数取值范围 * logicalMuCodes : [IN/OUT] MU_CODE * //TODO:参数取值范围 * orderMuCodes : [IN/OUT] MU_CODE * //TODO:参数取值范围 * lMC : [IN/OUT] short * //TODO:参数取值范围 * oMC : [IN/OUT] short * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ void serialiesMuCodes(MAT_STRUCTURE* mS ,MU_CODE* logicalMuCodes ,MU_CODE* orderMuCodes ,short* lMC ,short* oMC ); /********************************************************************** * 概述: // 输入分卷后子卷的MECODE,输出父卷的MECODE * 函数名: getParentMaterial * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] const MU_CODE //TODO:参数取值范围 * parentMuCode : [IN/OUT] MU_CODE * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int getParentMaterial(const MU_CODE muCode,MU_CODE* parentMuCode); /********************************************************************** * 概述: //暂时不使用 * 函数名: setBasId * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int setBasId(MU_CODE muCode); /********************************************************************** * 概述: //暂时不使用 * 函数名: setAllBasIds * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int setAllBasIds(MU_CODE muCode); /********************************************************************** * 概述: //暂时不使用 * 函数名: getLastDivPart * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCodeIn : [IN/OUT] MU_CODE //TODO:参数取值范围 * muCodeOut : [IN/OUT] MU_CODE * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int getLastDivPart ( MU_CODE muCodeIn , MU_CODE* muCodeOut ); public: /********************************************************************** * 概述: //TODO:请添加函数描述 * 函数名: getLenScrapCut * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 * pos : [IN/OUT] char * //TODO:参数取值范围 * shearId : [IN/OUT] short //TODO:参数取值范围 * length : [IN/OUT] float * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int getLenScrapCut( MU_CODE muCode,char* pos,short shearId,float* length ); /********************************************************************** * 概述: //TODO:请添加函数描述 * 函数名: getLenInspCut * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 * pos : [IN/OUT] char * //TODO:参数取值范围 * shearId : [IN/OUT] short //TODO:参数取值范围 * length : [IN/OUT] float * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int getLenInspCut( MU_CODE muCode,char* pos,short shearId,float* length); /********************************************************************** * 概述: //TODO:请添加函数描述 * 函数名: getNewVPrUnit * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * vPrUnit : [IN/OUT] long * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int getNewVPrUnit(long* vPrUnit ); private: /********************************************************************** * 概述: //TODO:请添加函数描述 * 函数名: mbLookback * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * mB : [IN/OUT] T_TRK_BREAK * //TODO:参数取值范围 * where : [IN/OUT] char * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int mbLookback( T_TRK_BREAK *mB , char* where ); private: /********************************************************************** * 概述: //TODO:请添加函数描述 * 函数名: readMbLookBack * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCodeOut : [IN/OUT] MU_CODE * //TODO:参数取值范围 * mu : [IN/OUT] T_MU * //TODO:参数取值范围 * wh : [IN/OUT] char * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int readMbLookBack( MU_CODE* muCodeOut ,T_MU* mu , char* wh ); private: /********************************************************************** * 概述: //TODO:请添加函数描述 * 函数名: doBasIdUpdate * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * meId : [IN/OUT] long //TODO:参数取值范围 * muCreator : [IN/OUT] char * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int doBasIdUpdate( long meId , char* muCreator); public: /********************************************************************** * 概述: //TODO:请添加函数描述 * 函数名: resetAllBasIds * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int resetAllBasIds(MU_CODE muCode); private: /********************************************************************** * 概述: //TODO:请添加函数描述 * 函数名: doBasIdReset * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * meId : [IN/OUT] long //TODO:参数取值范围 * muCreator : [IN/OUT] char * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ int doBasIdReset( long meId , char* muCreator); }; } #endif //MATERIALINFO_H