240 lines
9.7 KiB
C++
240 lines
9.7 KiB
C++
/*********************************************************************
|
||
*
|
||
* 文 件: CoilImgDAO.h
|
||
*
|
||
* 版权所有: Shanghai Baosight Software Co., Ltd.
|
||
*
|
||
* 概述: 为中央段跟踪功能提供数据库访问接口
|
||
* ://TODO
|
||
* ://TODO
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 Wei Shengyu //TODO请添加本次主要修改内容
|
||
* %USER%
|
||
*********************************************************************/
|
||
#ifndef H_COILIMG_DAO_H
|
||
#define H_COILIMG_DAO_H
|
||
|
||
#include "log4cplus/LOG.h"
|
||
#include "common/BasicStruct.h"
|
||
#include "dbinc/T_TRK_IMG.h"
|
||
#include "dbinc/T_TRK_LINE.h"
|
||
#include "dao/MaterialInfo.h"
|
||
#include <vector>
|
||
using namespace baosight;
|
||
using namespace log4cplus;
|
||
|
||
//typedef struct
|
||
//{
|
||
// int innderid;
|
||
// char intercoil[21];
|
||
//}WPDCOIL;
|
||
|
||
/*********************************************************************
|
||
* 类 名: CoilImgDAO
|
||
* 版权所有: Shanghai Baosight Software Co., Ltd.
|
||
* 类 职 责:用于处理中央段以焊缝为单位的跟踪
|
||
* :
|
||
* :
|
||
* 版本历史
|
||
* 1.0 2011-06-10 Wei Shengyu 增加注释
|
||
*
|
||
*********************************************************************/
|
||
class CoilImgDAO
|
||
{
|
||
|
||
public:
|
||
|
||
CoilImgDAO();
|
||
virtual ~CoilImgDAO();
|
||
|
||
// int GetMapInfo( int pos, int *id = NULL, char *coilid = NULL, MU_CODE *pmu = NULL, int *wplen = NULL);
|
||
/**********************************************************************
|
||
* 概述: 根据位置号取得当前位置上的钢卷MU_CODE
|
||
* 函数名: GetMuCode
|
||
* 返回值: int 0:执行成功 <0:执行失败
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* pos: [IN]int 焊缝检测仪号
|
||
* id: [OUT]id * 跟踪索引号
|
||
* coilid: [OUT]char * 内部刚卷号
|
||
* pmu: [OUT]MU_CODE * 材料跟踪代码
|
||
* wplen: [OUT]wplen * 焊缝长度
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 Wei Shengyu 增加注释
|
||
*
|
||
**********************************************************************/
|
||
// int GetMuCode( int pos, MU_CODE& mucode);
|
||
|
||
/**********************************************************************
|
||
* 概述: 根据位置号取得当前位置上的钢卷索引号和内部钢卷号
|
||
* 函数名: GetIndex
|
||
* 返回值: int 0:执行成功 <0:执行失败
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* pos: [IN]int 焊缝检测仪号
|
||
* id: [OUT]int* 钢卷索引号
|
||
* coilid: [OUT]char * 内部钢卷号
|
||
* 版本历史
|
||
* 1.0 2011-06-10 Wei Shengyu 增加注释
|
||
*
|
||
**********************************************************************/
|
||
// int GetIndex( int pos, int *id = NULL, char * coilid = NULL);
|
||
|
||
/**********************************************************************
|
||
* 概述: 根据位置号取得当前位置上的焊缝经过长度
|
||
* 函数名: GetWPlength
|
||
* 返回值: int 0:执行成功 <0:执行失败
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* pos: [IN]int 焊缝检测仪号
|
||
* id: [OUT]long* 焊缝经过长度
|
||
* 版本历史
|
||
* 1.0 2011-06-10 Wei Shengyu 增加注释
|
||
*
|
||
**********************************************************************/
|
||
// int GetWPlength( int pos, int* length);
|
||
|
||
|
||
/**********************************************************************
|
||
* 概述: 取得中央段最大跟踪位置的位置号
|
||
* 函数名: GetMaxWPD
|
||
* 返回值: int 最大跟踪位置的位置号
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 Wei Shengyu //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
//int GetMaxWPD( );
|
||
|
||
/**********************************************************************
|
||
* 概述: 取得焊机位置的已焊接钢卷信息
|
||
* 函数名: GetWeldCoil
|
||
* 返回值: int 0:执行成功 非0:执行失败
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* innerid : [OUT] int * 非空 钢卷索引号
|
||
* coilid : [OUT] char * 内部钢卷号
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-13 Administrator //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
// int GetWeldCoil( int* innerid, char *coilid = NULL);
|
||
|
||
/**********************************************************************
|
||
* 概述: 获得MAP中所有跟踪位置的钢卷序列,并从入口到出口排序
|
||
* 函数名:GetPosDistinct
|
||
* 返回值: < int> 钢卷信息的数据量
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* from : [IN] int 开始搜索的位置号,如果开卷机为0xFFFFFFF
|
||
* to : [IN] int 结束搜索的位置号,如果卷取机为0x7FFFFFF
|
||
* data : [OUT] vector< int, WPDCOIL>& 搜索结果
|
||
* 版本历史
|
||
* 1.0 2011-08-25 Wei Shengyu //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
//virtual int GetPosDistinct( int from, int to, vector< int>& data) = 0;
|
||
|
||
/**********************************************************************
|
||
* 概述: 根据位置号设置当前位置上的钢卷索引号
|
||
* 函数名: SetMap
|
||
* 返回值: int 0:执行成功 <0:执行失败
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* pos: [IN]int 位置号
|
||
* innerid: [IN]int 非0 钢卷索引号,CoilId字段自动设置
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 Wei Shengyu 增加注释
|
||
*
|
||
**********************************************************************/
|
||
// int SetMapById( int pos, int innerid, const int *length = NULL, const int* distance = NULL);
|
||
|
||
/**********************************************************************
|
||
* 概述: 根据位置号设置当前位置上的内部钢卷号
|
||
* 函数名: SetMap
|
||
* 返回值: int 0:执行成功 <0:执行失败
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* pos: [IN]int 位置号
|
||
* coil: [IN]const char* 内部钢卷号,InnerID字段会自动匹配
|
||
* length: [IN]const int* 焊缝长度
|
||
* distance: [IN]const int* 当前焊缝检测仪距下一检测点距离
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-10 Wei Shengyu 增加注释
|
||
*
|
||
**********************************************************************/
|
||
int SetMapByCoil( int pos, const char *coil, const int *innerId = NULL );
|
||
|
||
/**********************************************************************
|
||
* 概述: 根据位置号设置当前位置上带钢经过长度和当前位置距下一位置距离
|
||
* 函数名: SetWPDInfo
|
||
* 返回值: int 0:执行成功 <0:执行失败
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* pos : [IN]int 位置号
|
||
* length : [IN]int 非0 焊缝经过长度
|
||
* distance :[IN] const int * 当前位置距下一位置长度
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-13 Wei Shengyu //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
// int SetWPDInfo( int pos, int length, const int* distance=NULL);
|
||
|
||
/**********************************************************************
|
||
* 概述:当鞍座上没有钢卷时清空MAP表
|
||
* 函数名: CleanMapByPos
|
||
* 返回值: int 0:成功 <0:失败
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* vec : vector<int> 非0 位置号
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-13 Wei Shengyu //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int ClearMapByPos(vector<int> vec);
|
||
|
||
int ClearIMGByPos( int pos );
|
||
|
||
/**********************************************************************
|
||
* 概述: 当钢卷号为空,给innerId赋值为0
|
||
* 函数名: SetInnerId
|
||
* 返回值: int 0:成功 <0:失败
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* vec : vector<int> 非0 位置号的集合
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-13 Wei Shengyu //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int SetInnerId(vector<int>vec);
|
||
|
||
/**********************************************************************
|
||
* 概述: 根据钢卷号查找内部索引号
|
||
* 函数名: GetInnerIdByCoil
|
||
* 返回值: int >0:索引号 <0:失败
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* coilid char * 要查询的钢卷号
|
||
*
|
||
* 版本历史
|
||
* 1.0 2011-06-13 Wei Shengyu //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int GetInnerIdByCoil( char* coilid);
|
||
|
||
|
||
int GetOldImage(string& oldImage);
|
||
|
||
int GetExitOldImage(string& oldImage);
|
||
|
||
protected:
|
||
char *db_msg;
|
||
char *db_where;
|
||
char *db_order;
|
||
|
||
protected:
|
||
T_TRK_LINE *mp_trkline;
|
||
T_TRK_IMG *mp_trkimg;
|
||
};
|
||
|
||
|
||
#endif
|