eis/inc/zad/DataAlarm.h

71 lines
2.0 KiB
C++

/*********************************************************************
*
* 文 件: DataAlarm.h 跟踪处理模块
*
* 版权所有: Shanghai Baosight Software Co., Ltd.
* %USER%
*********************************************************************/
#pragma once
#include <base/TCMTime.h>
#include <zlib/MemTable.hpp>
#include <zlib/coilDef.h>
#include <zlib/MemCachedClient.h>
#include <zlib/MemTrk.h>
#include <zcus/RestAPI.h>
#include <zlib/MemCoil.h>
#include <zcus/RuleAlarm.h>
#include <glob/ProxyMag.h>
#include "T_LOV_JUDGE.h"
#include "T_ALARM_MSG.h"
using namespace baosight;
/*********************************************************************
* 类 名: DataAlarm
* 版权所有: Shanghai Baosight Software Co., Ltd.
* 类 职 责:用于处理入出口以钢卷为单位的跟踪
*
*********************************************************************/
class DataAlarm
{
public:
DataAlarm();
virtual ~DataAlarm();
/**********************************************************************
* 概述: 跟踪功能分派
*
**********************************************************************/
int dispatch(int eventNo,const ::Ice::ByteSeq& seq);
public:
int baseAlarm();
double getItemValue(string item);
string SteelGrade(int zone);
bool Alarm(int value,string grade);
string isBA(int zone);
string WorkDeal(int zone);
public:
/**********************************************************************
* 概述: //钢卷上卷
**********************************************************************/
private:
short Proxy(int eventNo,const string& proxyName, const char* keyValue,int length);
private:
// RuleAlarm* mp_rulealarm;
RestAPI* mp_restapi;
CMemTable<PDI>* pt_pdi;
CMemTable<PDO>* pt_pdo;
BinaryTele* p_tele;
CMemCoil* mp_coil;
CMemTrk* mp_trk;
T_ALARM_MSG* AlarmMsg;
MessageICEPrx mqp_proxy;
vector<T_LOV_JUDGE::STR_T_LOV_JUDGE> judge;
string db_where;
string db_order;
char msz_unit_no[32]; // 机组名
};