DBInterface.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. /*************************************************************
  2. /* Copyright (C), 2008-2010, StoneU Tech. Co., Ltd.
  3. /* 文件名: DBInterface.h
  4. /* 作者: Jesse
  5. /* 创建日期: 2010-08-02
  6. /* 版本号: V1.0
  7. /* 描述: 实现多种数据库的支持
  8. /* 其它:
  9. /* 主要类模块: CDBInterface
  10. /* 历史修改记录:
  11. 作者 时间 版本 描述
  12. Jesse 10/08/02 1.0 创建这个模块
  13. ***************************************************************/
  14. #ifndef _DB_INTERFACE_H
  15. #define _DB_INTERFACE_H
  16. namespace DBInterface
  17. {
  18. const MAX_DB_TYPE = 20;
  19. /*************************************************
  20. /* 类名
  21. /* {
  22. /* 构造函数;
  23. /* 析构函数;
  24. /* 提供全局访问函数;
  25. /* 静态类指针变量;
  26. /* 数据库类型成员变量;
  27. /*
  28. /* }
  29. **************************************************/
  30. class CDBInterface
  31. {
  32. public:
  33. CDBInterface()
  34. {
  35. };
  36. ~CDBInterface()
  37. {
  38. };
  39. // 静态成员函数,提供全局访问的接口
  40. static CDBInterface* GetInstancePtr();
  41. // 设置数据库类型
  42. void SetDBType(char *pDBType);
  43. //获取表最大的ID, 通用函数
  44. INT GetMaxID( CHAR *pTableName, CHAR *pFieldName, CHAR *pMaxID );
  45. // 分配用户角色
  46. void InitUserRoleInfo();
  47. // 回收用户角色
  48. void UnInitUserRoleInfo();
  49. // 获取有权限的设备UID
  50. int GetHasPurviewUidList(list<string>& list1);
  51. // 获取具有某个设备权限的用户信息
  52. int GetUserInfoList(char *pUid, list<string>& list1, list<string>& list2, list<string>& list3, list<string>& list4);
  53. // 获取用户信息
  54. int GetUserInfoList(list<string>& list1, list<string>& list2, list<string>& list3, list<string>& list4);
  55. // 得到时间计划
  56. INT GetDatePlan( int nPlanType, CHAR *pPlanID, unsigned char nBufDate[7][24] );
  57. // 得到时间计划
  58. INT GetDatePlan( int nPlanType, CHAR *pUid, int nVarID, unsigned char nBufDate[7][24] );
  59. // 获取设备资料
  60. INT GetDevInfo();
  61. // 修改设备资料
  62. INT EditDevInfo();
  63. // 修改设备资料
  64. INT EditDevInfo(int nDevideIndex, char *pDevUid);
  65. //获取变量
  66. INT GetVarInfo(void *pPara, CHAR *pUid);
  67. //获取变量
  68. INT EditVarInfo(int nDeviceIndex, int nVarIndex, CHAR *pUid, int nVarID);
  69. // 获取Summary资料
  70. INT GetSummaryInfo(char *pUid, char *pVarDesc, char *pID);
  71. // 插入告警记录
  72. INT InsertWarningRecord(
  73. char* pEquipDesc, // 设备描述
  74. char* pVarDesc, // 变量描述
  75. char* pHappentime, // 发生时间
  76. int iCurrStatus, // 当前状态
  77. double dbCurrValue, // 当前值
  78. char* pMemos, // 备注
  79. char* pContent // 报警内容
  80. );
  81. //插入Summary记录
  82. INT InsertSummaryRecord(
  83. CHAR* pDevName, // 设备名称
  84. CHAR* pHappenTime, // 发生时间
  85. CHAR* pMemo, // 备注
  86. CHAR *pVarDesc, // 变量描述
  87. double dbCurrValue, // 当前值
  88. CHAR* pVarUid, // 设备Uid
  89. CHAR* pVarName // 变量名称
  90. );
  91. //更新Summary记录
  92. INT EditSummaryRecord(
  93. CHAR *pDevName, // 设备名称
  94. CHAR *pHappenTime, // 发生时间
  95. CHAR* pMemo, // 备注
  96. int iID, // ID
  97. CHAR* pVarDesc, // 变量描述
  98. double dbCurrValue, // 当前值
  99. CHAR* pVarUid, // 设备Uid
  100. CHAR* pVarName // 变量名称
  101. );
  102. //更新Summary记录
  103. INT EditSummaryRecord(
  104. CHAR *pDevName, // 设备名称
  105. CHAR *pHappenTime, // 发生时间
  106. CHAR* pMemo, // 备注
  107. CHAR* pVarDesc, // 变量描述
  108. double dbCurrValue, // 当前值
  109. CHAR* pVarUid, // 设备Uid
  110. CHAR* pVarName // 变量名称
  111. );
  112. //插入Sms记录
  113. INT InsertSmsRecord(
  114. CHAR* pTelNum, // 电话号码
  115. CHAR* pContactName, // 联系人姓名
  116. CHAR* pSendTime, // 发送时间
  117. CHAR* pContent, // 内容
  118. CHAR* pMemo // 备注
  119. );
  120. //插入Notice记录
  121. INT InsertNoticeRecord(
  122. CHAR* pTelNum, // 电话号码
  123. CHAR* pContactName, // 联系人姓名
  124. CHAR* pSendTime, // 发送时间
  125. CHAR* pContent, // 内容
  126. CHAR* pMemo // 备注
  127. );
  128. //插入Email记录
  129. INT InsertEmailRecord(
  130. CHAR* pEmailAddr, // Email地址
  131. CHAR* pContactName, // 联系人姓名
  132. CHAR* pSendTime, // 发送时间
  133. CHAR* pContent, // 内容
  134. CHAR* pMemo // 备注
  135. );
  136. // 获取报警状态ID对应的意义,用来组织报警内容
  137. INT GetAlarmStatusDescList(char chDevUid[MAX_UID], int nVarID, list<string>& list1, list<string>& list2);
  138. // 获取是否设置时间计划
  139. BOOL IsExistDatePlan(char *pDevUid, int nVarID);
  140. // 获取变量对应的bit位信息
  141. INT GetVarItemInfo(char chDevUid[MAX_ID], int nVarItemID, CHAR *pStartBit, CHAR *pEndBit);
  142. private:
  143. static CDBInterface* m_pDBInterface;
  144. char m_chDBType[MAX_DB_TYPE];
  145. };
  146. };
  147. #endif