123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- /*************************************************************
- /* Copyright (C), 2008-2010, StoneU Tech. Co., Ltd.
- /* 文件名: DBInterface.h
- /* 作者: Jesse
- /* 创建日期: 2010-08-02
- /* 版本号: V1.0
- /* 描述: 实现多种数据库的支持
- /* 其它:
- /* 主要类模块: CDBInterface
- /* 历史修改记录:
- 作者 时间 版本 描述
- Jesse 10/08/02 1.0 创建这个模块
- ***************************************************************/
- #ifndef _DB_INTERFACE_H
- #define _DB_INTERFACE_H
- namespace DBInterface
- {
- const int MAX_DB_TYPE = 20;
- /*************************************************
- /* 类名
- /* {
- /* 构造函数;
- /* 析构函数;
- /* 提供全局访问函数;
- /* 静态类指针变量;
- /* 数据库类型成员变量;
- /*
- /* }
- **************************************************/
- class CDBInterface
- {
- public:
- CDBInterface()
- {
- };
- ~CDBInterface()
- {
- };
- // 静态成员函数,提供全局访问的接口
- static CDBInterface* GetInstancePtr();
- // 设置数据库类型
- void SetDBType(char *pDBType);
- //获取表最大的ID, 通用函数
- INT GetMaxID( CHAR *pTableName, CHAR *pFieldName, CHAR *pMaxID );
- //获取表最大的ID, 通用函数 最后一行
- INT GetMaxIDByLastLow( CHAR *pTableName, CHAR *pFieldName, CHAR *pMaxID );
- // 分配用户角色
- void InitUserRoleInfo();
- // 回收用户角色
- void UnInitUserRoleInfo();
- // 获取有权限的设备UID
- int GetHasPurviewUidList(list<string>& list1);
- // 获取具有某个设备权限的用户信息
- int GetUserInfoList(char *pUid, list<string>& list1, list<string>& list2, list<string>& list3, list<string>& list4);
- // 获取用户信息
- int GetUserInfoList(list<string>& list1, list<string>& list2, list<string>& list3, list<string>& list4);
- // 得到时间计划
- INT GetDatePlan( int nPlanType, CHAR *pPlanID, unsigned char nBufDate[7][24] );
- // 得到时间计划
- INT GetDatePlan( int nPlanType, CHAR *pUid, int nVarID, unsigned char nBufDate[7][24] );
- // 获取设备资料
- INT GetDevInfo();
- // 修改设备资料
- INT EditDevInfo();
- // 修改设备资料
- INT EditDevInfo(int nDevideIndex, char *pDevUid);
- //获取变量
- INT GetVarInfo(void *pPara, CHAR *pUid);
- //修改变量
- INT EditVarInfo(int nDeviceIndex, int nVarIndex, CHAR *pUid, int nVarID);
- // 获取Summary资料
- INT GetSummaryInfo(char *pUid, char *pVarDesc, char *pID);
- // 插入告警记录
- INT InsertWarningRecord(
- char* pEquipDesc, // 设备描述
- char* pVarDesc, // 变量描述
- char* pHappentime, // 发生时间
- int iCurrStatus, // 当前状态
- double dbCurrValue, // 当前值
- char* pMemos, // 备注
- char* pContent // 报警内容
- );
- //插入数据记录
- INT InsertDataRecord(
- int &iMaxID,
- CHAR* pDevName, // 设备名称
- CHAR* pHappenTime, // 发生时间
- CHAR* pVarName, // 变量名称
- CHAR *pVarDesc, // 变量描述
- double dbCurrValue // 当前值
- );
- //插入Summary记录
- INT InsertSummaryRecord(
- CHAR* pDevName, // 设备名称
- CHAR* pHappenTime, // 发生时间
- CHAR* pMemo, // 备注
- CHAR *pVarDesc, // 变量描述
- double dbCurrValue, // 当前值
- CHAR* pVarUid, // 设备Uid
- CHAR* pVarName // 变量名称
- );
- //更新Summary记录
- INT EditSummaryRecord(
- CHAR *pDevName, // 设备名称
- CHAR *pHappenTime, // 发生时间
- CHAR* pMemo, // 备注
- int iID, // ID
- CHAR* pVarDesc, // 变量描述
- double dbCurrValue, // 当前值
- CHAR* pVarUid, // 设备Uid
- CHAR* pVarName // 变量名称
- );
- //更新Summary记录
- INT EditSummaryRecord(
- CHAR *pDevName, // 设备名称
- CHAR *pHappenTime, // 发生时间
- CHAR* pMemo, // 备注
- CHAR* pVarDesc, // 变量描述
- double dbCurrValue, // 当前值
- CHAR* pVarUid, // 设备Uid
- CHAR* pVarName // 变量名称
- );
- //插入Sms记录
- INT InsertSmsRecord(
- CHAR* pTelNum, // 电话号码
- CHAR* pContactName, // 联系人姓名
- CHAR* pSendTime, // 发送时间
- CHAR* pContent, // 内容
- CHAR* pMemo // 备注
- );
- //插入Notice记录
- INT InsertNoticeRecord(
- CHAR* pTelNum, // 电话号码
- CHAR* pContactName, // 联系人姓名
- CHAR* pSendTime, // 发送时间
- CHAR* pContent, // 内容
- CHAR* pMemo // 备注
- );
- //插入Email记录
- INT InsertEmailRecord(
- CHAR* pEmailAddr, // Email地址
- CHAR* pContactName, // 联系人姓名
- CHAR* pSendTime, // 发送时间
- CHAR* pContent, // 内容
- CHAR* pMemo // 备注
- );
- // 获取报警状态ID对应的意义,用来组织报警内容
- INT GetAlarmStatusDescList(char chDevUid[MAX_UID], int nVarID, list<string>& list1, list<string>& list2);
- // 获取是否设置时间计划
- BOOL IsExistDatePlan(char *pDevUid, int nVarID);
- // 获取变量对应的bit位信息
- INT GetVarItemInfo(char chDevUid[MAX_ID], int nVarItemID, CHAR *pStartBit, CHAR *pEndBit);
- INT GetAllActionWithAlarm( );
- private:
- static CDBInterface* m_pDBInterface;
- char m_chDBType[MAX_DB_TYPE];
- CString GetInvalidMessage( CString sVarName,int iInitValue,int iMinValue,int iMaxValue,int iLowerValue,int iUpperValue,int iNormalValue,int iWarningLevel );//得到不合法的变量问题
- };
- };
- #endif
|