ToEQMDataBase.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #ifndef TOEQMDATABASE_H
  2. #define TOEQMDATABASE_H
  3. #include "spdlog/spdlog.h"
  4. #include "lhhttpapi.h"
  5. #include "GlobalVariable.h"
  6. class ToEQMDataBase
  7. {
  8. public:
  9. ToEQMDataBase();
  10. ~ToEQMDataBase();
  11. /* 初始化WebAPI */
  12. bool initWebApi(const QString& url,const QString& serverIP,const QString& serID);
  13. /* 写入算法信息,写入tAction表 */
  14. bool writeAlgorithmInfo(std::vector<AlgorithmInfo>& vecInfo);
  15. /* 删除算法信息 */
  16. bool deleteAlgorithmInfo(std::vector<AlgorithmInfo>& vecDeleteInfo);
  17. /* 获取tAction数据 */
  18. bool getAlgorithmInfo(std::vector<AlgorithmInfo>& vecInfo);
  19. /* 插入设备信息 */
  20. bool insertDeviceInfo(std::vector<DeviceInfo>& vecInfo);
  21. /* 更新设备信息 */
  22. bool updateDeviceInfo(std::vector<DeviceInfo>& vecUpdateInfo);
  23. /* 删除设备信息 */
  24. bool deleteDeviceInfo(std::vector<DeviceInfo>& vecDeleteInfo);
  25. /* 从EQM获取CamerInfo信息 */
  26. bool getDeviceInfo(std::vector<DeviceInfo>& vecInfo);
  27. /* 获取通道信息 */
  28. bool getChannelInfo(std::map<int, std::string>& mapChannelName);
  29. /* 获取摄像机信息 */
  30. bool getCameraInfo(std::map<int, std::string>& mapCameraName);
  31. /* 插入设备和算法关联信息 */
  32. bool insertDeviceAlgorithmInfo(std::vector<DeviceInfo>& vecInfo);
  33. /* 更新设备和算法关联表 */
  34. bool updateDeviceAlgorithmInfo(std::vector<DeviceInfo>& vecInfo);
  35. /* 删除设备和算法关联表 */
  36. bool deleteDeviceAlgorithmInfo(std::vector<DeviceInfo>& vecInfo);
  37. /* 删除设备和算法关联表 */
  38. bool deleteDeviceAlgorithmInfo(std::list<int>& vecID);
  39. /* 获取设备和算法信息关联表,需要先从EQM数据库中获取到设备信息,然后根据读取到的设备信息,取出已经删除的设备ID */
  40. bool getDeviceAlgorithmInfo(std::vector<DeviceInfo>& vecInfo, std::list<int>& listDevIDDelete);
  41. /* 获取每个算法的详细信息 */
  42. bool getActionInfo(ListActionInfo& listInfo);
  43. /* 获取摄像机和房间关联信息 */
  44. bool getRoomCameraInfo(std::list<RoomCameraInfo>& vecInfo);
  45. /* 写入报警信息 */
  46. bool insertAlarmInfo(const AlarmInfo& alarmInfo);
  47. /* 更新报警结束时间 */
  48. bool updateAlarmEndTime(const AlarmInfo& alarmInfo);
  49. /* 获取人员计数规则 */
  50. bool getPersonCountRuleInfo(std::vector<PersonCountRuleInfo>& vecInfo);
  51. /* 获取报警时段,也同时获取报警的应用信息 */
  52. bool getAlarmAppInfo(std::list<AppAndTimeInfo>& listInfo);
  53. /* 写入在岗信息 */
  54. bool insertOnWorkInfo(const RoomFaceInfo& onWorkInfo);
  55. private:
  56. std::shared_ptr<spdlog::logger> m_logger = nullptr;
  57. lhhttpapi* m_httpApi = nullptr;
  58. QString m_userToken;
  59. };
  60. #endif /* TOEQMDATABASE_H */