eis/inc/cold/RollMachine.h

296 lines
11 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.

/*********************************************************************
*
* 文 件: 处理轧辊相关的功能,换辊等
*
* 版权所有: 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