eis/inc/dao/MaterialInfo.h

447 lines
21 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*********************************************************************
*
* 文 件: 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