DBInterface.h 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  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 int 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. //获取表最大的ID, 通用函数 最后一行
  46. INT GetMaxIDByLastLow( CHAR *pTableName, CHAR *pFieldName, CHAR *pMaxID );
  47. // 分配用户角色
  48. void InitUserRoleInfo();
  49. // 回收用户角色
  50. void UnInitUserRoleInfo();
  51. // 获取有权限的设备UID
  52. int GetHasPurviewUidList(list<string>& list1);
  53. // 获取具有某个设备权限的用户信息
  54. int GetUserInfoList(char *pUid, list<string>& list1, list<string>& list2, list<string>& list3, list<string>& list4);
  55. // 获取用户信息
  56. int GetUserInfoList(list<string>& list1, list<string>& list2, list<string>& list3, list<string>& list4);
  57. // 得到时间计划
  58. INT GetDatePlan( int nPlanType, CHAR *pPlanID, unsigned char nBufDate[7][24] );
  59. // 得到时间计划
  60. INT GetDatePlan( int nPlanType, CHAR *pUid, int nVarID, unsigned char nBufDate[7][24] );
  61. // 获取设备资料
  62. INT GetDevInfo();
  63. // 修改设备资料
  64. INT EditDevInfo();
  65. // 修改设备资料
  66. INT EditDevInfo(int nDevideIndex, char *pDevUid);
  67. //获取变量
  68. INT GetVarInfo(void *pPara, CHAR *pUid);
  69. //修改变量
  70. INT EditVarInfo(int nDeviceIndex, int nVarIndex, CHAR *pUid, int nVarID);
  71. // 获取Summary资料
  72. INT GetSummaryInfo(char *pUid, char *pVarDesc, char *pID);
  73. // 插入告警记录
  74. INT InsertWarningRecord(
  75. char* pEquipDesc, // 设备描述
  76. char* pVarDesc, // 变量描述
  77. char* pHappentime, // 发生时间
  78. int iCurrStatus, // 当前状态
  79. double dbCurrValue, // 当前值
  80. char* pMemos, // 备注
  81. char* pContent // 报警内容
  82. );
  83. //插入数据记录
  84. INT InsertDataRecord(
  85. int &iMaxID,
  86. CHAR* pDevName, // 设备名称
  87. CHAR* pHappenTime, // 发生时间
  88. CHAR* pVarName, // 变量名称
  89. CHAR *pVarDesc, // 变量描述
  90. double dbCurrValue // 当前值
  91. );
  92. //插入Summary记录
  93. INT InsertSummaryRecord(
  94. CHAR* pDevName, // 设备名称
  95. CHAR* pHappenTime, // 发生时间
  96. CHAR* pMemo, // 备注
  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. int iID, // ID
  108. CHAR* pVarDesc, // 变量描述
  109. double dbCurrValue, // 当前值
  110. CHAR* pVarUid, // 设备Uid
  111. CHAR* pVarName // 变量名称
  112. );
  113. //更新Summary记录
  114. INT EditSummaryRecord(
  115. CHAR *pDevName, // 设备名称
  116. CHAR *pHappenTime, // 发生时间
  117. CHAR* pMemo, // 备注
  118. CHAR* pVarDesc, // 变量描述
  119. double dbCurrValue, // 当前值
  120. CHAR* pVarUid, // 设备Uid
  121. CHAR* pVarName // 变量名称
  122. );
  123. //插入Sms记录
  124. INT InsertSmsRecord(
  125. CHAR* pTelNum, // 电话号码
  126. CHAR* pContactName, // 联系人姓名
  127. CHAR* pSendTime, // 发送时间
  128. CHAR* pContent, // 内容
  129. CHAR* pMemo // 备注
  130. );
  131. //插入Notice记录
  132. INT InsertNoticeRecord(
  133. CHAR* pTelNum, // 电话号码
  134. CHAR* pContactName, // 联系人姓名
  135. CHAR* pSendTime, // 发送时间
  136. CHAR* pContent, // 内容
  137. CHAR* pMemo // 备注
  138. );
  139. //插入Email记录
  140. INT InsertEmailRecord(
  141. CHAR* pEmailAddr, // Email地址
  142. CHAR* pContactName, // 联系人姓名
  143. CHAR* pSendTime, // 发送时间
  144. CHAR* pContent, // 内容
  145. CHAR* pMemo // 备注
  146. );
  147. // 获取报警状态ID对应的意义,用来组织报警内容
  148. INT GetAlarmStatusDescList(char chDevUid[MAX_UID], int nVarID, list<string>& list1, list<string>& list2);
  149. // 获取是否设置时间计划
  150. BOOL IsExistDatePlan(char *pDevUid, int nVarID);
  151. // 获取变量对应的bit位信息
  152. INT GetVarItemInfo(char chDevUid[MAX_ID], int nVarItemID, CHAR *pStartBit, CHAR *pEndBit);
  153. INT GetAllActionWithAlarm( );
  154. private:
  155. static CDBInterface* m_pDBInterface;
  156. char m_chDBType[MAX_DB_TYPE];
  157. CString GetInvalidMessage( CString sVarName,int iInitValue,int iMinValue,int iMaxValue,int iLowerValue,int iUpperValue,int iNormalValue,int iWarningLevel );//得到不合法的变量问题
  158. };
  159. };
  160. #endif