447 lines
21 KiB
C++
447 lines
21 KiB
C++
/*********************************************************************
|
||
*
|
||
* 文 件: MaterialInfo.h //TODO请概述文件功能
|
||
*
|
||
* 版权所有: Shanghai Baosight Software Co., Ltd.
|
||
*
|
||
* 概述:处理MUCODE
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容
|
||
* %USER%
|
||
*********************************************************************/
|
||
#ifndef MATERIALINFO_H
|
||
#define MATERIALINFO_H
|
||
|
||
#include <dao/NewMuId.h>
|
||
#include <dao/MatStruct.h>
|
||
|
||
#include <base/DbgStructures.h>
|
||
#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:参数取值范围 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int matPos(MU_CODE muCode);
|
||
|
||
/**********************************************************************
|
||
* 概述: 输入任何类型的MECODE(包括入口和出口),获得该MECODE相关的所有信息
|
||
* 函数名: matStruct
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 <//TODO:参数描述>
|
||
* matStruct : [IN/OUT] MAT_STRUCTURE * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int noLogMaterial(MU_CODE muCode);
|
||
|
||
/**********************************************************************
|
||
* 概述: 输入OR类型的MECODE,获得合同卷数
|
||
* 函数名: noOrderMaterial
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int noOrderMaterial(MU_CODE muCode);
|
||
|
||
/**********************************************************************
|
||
* 概述: 输入任意类型的MECODE,获得总合同卷数
|
||
* 函数名: noAllOrder
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int noAllOrder(MU_CODE muCode);
|
||
|
||
/**********************************************************************
|
||
* 概述:把出口的MEOCDE转化为在线的MECODE
|
||
* 函数名: setMuCode2InLineStatus
|
||
* 返回值: void //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* muCodeIn : [IN/OUT] MU_CODE * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
* muCodeOut : [IN/OUT] MU_CODE * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
* muCodeOut : [IN/OUT] MU_CODE * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
* muCodeOut : [IN/OUT] MU_CODE * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
* muCodeOut : [IN/OUT] MU_CODE * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
short getStatus( MU_CODE muCode);
|
||
|
||
/**********************************************************************
|
||
* 概述: 设置当前MECODE的状态
|
||
* 函数名: setStatus
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 <//TODO:参数描述>
|
||
* state : [IN/OUT] short //TODO:参数取值范围 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int setStatus( MU_CODE muCode, short state);
|
||
|
||
/**********************************************************************
|
||
* 概述: 获取MECODE
|
||
* 函数名: getMuCodeOfExtId
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* extId : [IN/OUT] char * //TODO:参数取值范围 <//TODO:参数描述>
|
||
* meTyp : [IN/OUT] char * //TODO:参数取值范围 <//TODO:参数描述>
|
||
* muCode : [IN/OUT] MU_CODE * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
* me : [IN/OUT] T_MU * //TODO:参数取值范围 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
void setMuCodeFromTMU( MU_CODE* muCodeOut , T_MU* me );
|
||
|
||
/**********************************************************************
|
||
* 概述: //暂时不使用
|
||
* 函数名: serialiesMuCodes
|
||
* 返回值: void //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* mS : [IN/OUT] MatStruct * //TODO:参数取值范围 <//TODO:参数描述>
|
||
* logicalMeCodes : [IN/OUT] MU_CODE * //TODO:参数取值范围 <//TODO:参数描述>
|
||
* orderMeCodes : [IN/OUT] MU_CODE * //TODO:参数取值范围 <//TODO:参数描述>
|
||
* lMC : [IN/OUT] short * //TODO:参数取值范围 <//TODO:参数描述>
|
||
* oMC : [IN/OUT] short * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
* logicalMuCodes : [IN/OUT] MU_CODE * //TODO:参数取值范围 <//TODO:参数描述>
|
||
* orderMuCodes : [IN/OUT] MU_CODE * //TODO:参数取值范围 <//TODO:参数描述>
|
||
* lMC : [IN/OUT] short * //TODO:参数取值范围 <//TODO:参数描述>
|
||
* oMC : [IN/OUT] short * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
* parentMuCode : [IN/OUT] MU_CODE * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int setBasId(MU_CODE muCode);
|
||
|
||
/**********************************************************************
|
||
* 概述: //暂时不使用
|
||
* 函数名: setAllBasIds
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* muCode : [IN/OUT] MU_CODE //TODO:参数取值范围 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int setAllBasIds(MU_CODE muCode);
|
||
|
||
/**********************************************************************
|
||
* 概述: //暂时不使用
|
||
* 函数名: getLastDivPart
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* muCodeIn : [IN/OUT] MU_CODE //TODO:参数取值范围 <//TODO:参数描述>
|
||
* muCodeOut : [IN/OUT] MU_CODE * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
* pos : [IN/OUT] char * //TODO:参数取值范围 <//TODO:参数描述>
|
||
* shearId : [IN/OUT] short //TODO:参数取值范围 <//TODO:参数描述>
|
||
* length : [IN/OUT] float * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
* pos : [IN/OUT] char * //TODO:参数取值范围 <//TODO:参数描述>
|
||
* shearId : [IN/OUT] short //TODO:参数取值范围 <//TODO:参数描述>
|
||
* length : [IN/OUT] float * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int getNewVPrUnit(long* vPrUnit );
|
||
private:
|
||
/**********************************************************************
|
||
* 概述: //TODO:请添加函数描述
|
||
* 函数名: mbLookback
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* mB : [IN/OUT] T_TRK_BREAK * //TODO:参数取值范围 <//TODO:参数描述>
|
||
* where : [IN/OUT] char * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
* mu : [IN/OUT] T_MU * //TODO:参数取值范围 <//TODO:参数描述>
|
||
* wh : [IN/OUT] char * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
* muCreator : [IN/OUT] char * //TODO:参数取值范围 <//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:参数取值范围 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int resetAllBasIds(MU_CODE muCode);
|
||
|
||
private:
|
||
/**********************************************************************
|
||
* 概述: //TODO:请添加函数描述
|
||
* 函数名: doBasIdReset
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* meId : [IN/OUT] long //TODO:参数取值范围 <//TODO:参数描述>
|
||
* muCreator : [IN/OUT] char * //TODO:参数取值范围 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int doBasIdReset( long meId , char* muCreator);
|
||
};
|
||
}
|
||
#endif //MATERIALINFO_H
|
||
|