296 lines
11 KiB
C++
296 lines
11 KiB
C++
/*********************************************************************
|
||
*
|
||
* 文 件: 处理轧辊相关的功能,换辊等
|
||
*
|
||
* 版权所有: Shanghai Baosight Software Co., Ltd.
|
||
*
|
||
* 概述://TODO请添加本文件包含功能详细描述
|
||
* ://TODO
|
||
* ://TODO
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-06-25 tonny //TODO请添加本次主要修改内容
|
||
* %USER%
|
||
*********************************************************************/
|
||
#ifndef _ROLL_MACHINE_H_
|
||
#define _ROLL_MACHINE_H_
|
||
|
||
#include <map>
|
||
#include <vector>
|
||
#include <string>
|
||
#include <cda/RollDefine.h>
|
||
#include <cda/RollDAO.h>
|
||
#include <cold/RollTele.h>
|
||
|
||
using namespace std;
|
||
namespace baosight{
|
||
|
||
class RollTele;
|
||
/*********************************************************************
|
||
* 类 名: 轧机类。一直在考虑要不要将该类功能分开成2个类,因为RollMachine拥有CopyRoll等方法实际是可笑的
|
||
* 版权所有: Shanghai Baosight Software Co., Ltd.
|
||
* 类 职 责://TODO请添加类职责描述
|
||
* ://TODO
|
||
* ://TODO
|
||
* 版本历史
|
||
* 1.0 2010-06-25 tonny //TODO请添加本次主要修改内容
|
||
*
|
||
*********************************************************************/
|
||
class RollMachine
|
||
{
|
||
public:
|
||
/**********************************************************************
|
||
* 概述: 构造函数
|
||
* 函数名: RollMachine
|
||
* 返回值: //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* name : [IN/OUT] string 轧机名 <//TODO:参数描述>
|
||
* stand : [IN/OUT] int 机架数 <//TODO:参数描述>
|
||
* workroll : [IN/OUT] int 工作辊数目 <//TODO:参数描述>
|
||
* midroll : [IN/OUT] int 中间辊数目 <//TODO:参数描述>
|
||
* burroll : [IN/OUT] int 支承辊数目 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
RollMachine(string name="",int stand = 1,int workroll = 2,int midroll = 2,int burroll = 2);
|
||
|
||
virtual ~RollMachine();
|
||
|
||
//根据轧辊号获得轧辊信息
|
||
int GetRollInfo(string rollNo,RollInfo& rollInfo);
|
||
/**********************************************************************
|
||
* 概述: 获取轧辊列表
|
||
* 函数名: GetRollInfo
|
||
* 返回值: int
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* rollType: string
|
||
* rollStatus: string
|
||
* rollPos: string
|
||
* vRoll: VecRoll &
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-10-14 echo_li 初次建立
|
||
*
|
||
**********************************************************************/
|
||
int GetRollInfo(string rollType,string rollStatus,string rollPos,int standNo,VecRoll& vRoll);
|
||
/**********************************************************************
|
||
* 概述: 获得机架数目
|
||
* 函数名: GetStandCount
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int GetStandCount(){return m_standCount;}
|
||
|
||
/**********************************************************************
|
||
* 概述: 获得工作辊数目
|
||
* 函数名: GetWorkRollCount
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int GetWorkRollCount(){return m_workrollCount;}
|
||
|
||
/**********************************************************************
|
||
* 概述: 获得支承辊数目
|
||
* 函数名: GetBurRollCount
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int GetBurRollCount(){return m_midrollCount;}
|
||
|
||
/**********************************************************************
|
||
* 概述: 获得中间辊数目
|
||
* 函数名: GetMidRollCount
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
int GetMidRollCount(){return m_burrollCount;}
|
||
|
||
/**********************************************************************
|
||
* 概述: 换辊,抽出旧辊插入新辊
|
||
* 函数名: ChangeRoll
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* mode : [IN] int 换辊模式
|
||
* stand : [IN] int 机架号
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
virtual int ChangeRoll( unsigned short mode, int stand = 1);
|
||
|
||
//根据轧辊号换辊
|
||
virtual int ChangeRoll(string rollNo);
|
||
|
||
/**********************************************************************
|
||
* 概述: 预备换辊
|
||
* 函数名: PrepareChangeRoll
|
||
* 返回值: int //TODO:返回值描述 返回成功切换到Next状态的辊数
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* data : vector<string> //TODO:参数取值范围 <//TODO:参数描述>
|
||
* stand : int 默认为0 机架号:0表示按照轧辊数据里的机架号换备辊
|
||
* 大于0表示按照此机架号换备辊
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
virtual int PrepareChangeRolls( vector<string> v_rollNo, int stand = 0);
|
||
|
||
virtual int ChangeRollStatus(string roll, string status);
|
||
|
||
virtual int ChangeRollStand( string roll, int stand);
|
||
|
||
//发送轧辊设定值给L1
|
||
virtual int SendSetData( VecRoll &rolldata);
|
||
|
||
//发送新辊实绩值给L3
|
||
virtual int SendNewData( VecRoll &rolldata);
|
||
|
||
//发送旧辊实绩值给L3
|
||
virtual int SendOldData( VecRoll &rolldata);
|
||
|
||
//钢卷剪切后,累计轧制里程、轧辊重量、轧制时间、
|
||
virtual int DoRollStatistics(const RollProdData& data );
|
||
//根据MU_CODE读取数据,进行轧制里程的累计
|
||
virtual int DoRollStatistics(const MU_CODE& muCode);
|
||
|
||
/**********************************************************************
|
||
* 概述: 复制轧辊数据,根据提供的oldRollNo,复制其全部数据,并将辊号改为newRollNo
|
||
* 函数名: CopyRoll
|
||
* 返回值: int //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* oldRollNo : [IN/OUT] string //TODO:参数取值范围 <//TODO:参数描述>
|
||
* newRollNo : [IN/OUT] string //TODO:参数取值范围 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
virtual int CopyRoll(string oldRollNo,string newRollNo);
|
||
|
||
/**********************************************************************
|
||
* 概述: 删除轧辊数据,根据提供的oldRollNo,删除其全部数据
|
||
* 函数名: DelRoll
|
||
* 返回值: int //TODO:删除失败
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* RollNo : [IN] string 只能输入状态为P或者R的轧辊
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
virtual int DelRoll( string RollNo);
|
||
|
||
/**********************************************************************
|
||
* 概述: 将Next中的辊插入机架
|
||
* 函数名: InsertNewRolls
|
||
* 返回值: int //TODO:删除失败
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* mode : [IN] unsigned short 换辊模式
|
||
* stand : [IN] int 机架号
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
virtual int InsertNewRolls( unsigned short mode, int stand = 1);
|
||
|
||
/**********************************************************************
|
||
* 概述: 将机架中的辊抽出
|
||
* 函数名: ExtractOldRolls
|
||
* 返回值: int //TODO:删除失败
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* mode : [IN] unsigned short 换辊模式
|
||
* stand : [IN] int 机架号
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
virtual int ExtractOldRolls( unsigned short mode, int stand = 1);
|
||
|
||
/**********************************************************************
|
||
* 概述: 根据模式检查Next辊是否存在
|
||
* 函数名: CheckChangeRoll
|
||
* 返回值: short
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* mode: int 换辊模式
|
||
* rolldata VecRoll 返回符合模式的Next辊信息
|
||
* stand int 机架号
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-10-12 echo_li 初次建立
|
||
*
|
||
*
|
||
**********************************************************************/
|
||
virtual short NextRollExist( unsigned short mode, VecRoll & rolldata, int stand = 1);
|
||
|
||
/**********************************************************************
|
||
* 概述: 根据模式检查Current辊是否存在
|
||
* 函数名: CheckChangeRoll
|
||
* 返回值: short
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* mode: int 换辊模式
|
||
* rolldata VecRoll 返回符合模式的Next辊信息
|
||
* stand int 机架号
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-10-12 echo_li 初次建立
|
||
*
|
||
*
|
||
**********************************************************************/
|
||
virtual short CurrentRollExist( unsigned short mode, VecRoll & rolldata, int stand = 1);
|
||
|
||
string ToString();
|
||
|
||
/**********************************************************************
|
||
* 概述: 设定具体的访问对象
|
||
* 函数名: SetObejct
|
||
* 返回值: void //TODO:返回值描述
|
||
* 参数列表: 参数类型 取值范围 描述
|
||
* dao : [IN/OUT] RollDAO * //TODO:参数取值范围 <//TODO:参数描述>
|
||
* tel : [IN/OUT] RollTele * //TODO:参数取值范围 <//TODO:参数描述>
|
||
*
|
||
* 版本历史
|
||
* 1.0 2010-07-26 tonny //TODO请添加本次主要修改内容
|
||
*
|
||
**********************************************************************/
|
||
void SetObejct(RollDAO* dao,RollTele* tel);
|
||
|
||
private:
|
||
/* int GetRollDataByRollNo*/
|
||
|
||
private:
|
||
RollDAO* mp_rollDao;
|
||
RollTele* mp_tel;
|
||
string m_machineName;//轧机名字
|
||
int m_standCount;
|
||
int m_workrollCount;
|
||
int m_midrollCount;
|
||
int m_burrollCount;
|
||
};
|
||
|
||
|
||
|
||
}
|
||
#endif
|