91 lines
1.8 KiB
C++
91 lines
1.8 KiB
C++
/*********************************************************************
|
|
*
|
|
* 版权所有: Shanghai Baosight Software Co., Ltd.
|
|
*
|
|
* 概述:
|
|
|
|
* 版本历史
|
|
* 1.0 2014-08-18 jamie 增加注释
|
|
*
|
|
*********************************************************************/
|
|
#ifndef _PLANFACTORY_H
|
|
#define _PLANFACTORY_H
|
|
#include <pmg/Plan.h>
|
|
|
|
using namespace baosight;
|
|
|
|
class PLAN_TYPE
|
|
{
|
|
public:
|
|
|
|
static const int SEQ = 0;
|
|
static const int PDI = 1;
|
|
static const int ROLL = 2;
|
|
};
|
|
|
|
class PLAN_CASE
|
|
{
|
|
public:
|
|
|
|
static const int REQUEST = 0;
|
|
static const int RECEIVE = 1;
|
|
static const int REVOKE = 2;
|
|
static const int CREATE = 3;
|
|
static const int ADJUST = 4;
|
|
static const int ANSWER = 5;
|
|
};
|
|
|
|
static string CASE_INFO[10] = { "request","receive","revoke","create","adjust","answer",};
|
|
|
|
class PlanFactory
|
|
{
|
|
private:
|
|
PlanFactory();
|
|
virtual ~PlanFactory();
|
|
|
|
public:
|
|
//处理计划顺相关事件
|
|
virtual int planSeq(int caseNo,int eventNo,const Ice::ByteSeq& seq);
|
|
|
|
//处理原始数据相关事件
|
|
virtual int planPDI(int caseNo,int eventNo,const Ice::ByteSeq& seq);
|
|
|
|
//处理轧辊数据相关事件
|
|
virtual int planRoll(int caseNo,int eventNo,const Ice::ByteSeq& seq);
|
|
|
|
public:
|
|
//计划置next
|
|
virtual int planNext(int eventNo,const Ice::ByteSeq& seq);
|
|
//计划删除
|
|
virtual int planDel(int eventNo,const Ice::ByteSeq& seq);
|
|
//执行sql
|
|
virtual int exesql(int eventNo,const Ice::ByteSeq& seq);
|
|
//默认消息
|
|
virtual int defaultMsg(int eventNo,const Ice::ByteSeq& seq);
|
|
|
|
public:
|
|
static PlanFactory* GetInstancePtr();
|
|
static PlanFactory& GetInstance();
|
|
static bool release(void);
|
|
|
|
private:
|
|
// 概述: 计划功能分派
|
|
virtual int dispatch(int planType,int caseNo,int eventNo,const Ice::ByteSeq& seq);
|
|
|
|
private:
|
|
static PlanFactory* mp_singleton;
|
|
|
|
private:
|
|
map<int,Plan*> mplan;
|
|
|
|
private:
|
|
DataAccess* mp_dataAccess;
|
|
AutoTele* mp_tele;
|
|
char almsg[512];
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|