123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #ifndef FROMWEBAPI_H
- #define FROMWEBAPI_H
- #include "spdlog/spdlog.h"
- #include "lhhttpapi.h"
- #include "GlobalVariable.h"
- class RoomOnWorkInfo;
- class PersonCountRuleInfo;
- class EndAlarmParam;
- class FromWebAPI
- {
- public:
- FromWebAPI();
- ~FromWebAPI();
- /* 初始化WebAPI */
- bool initWebApi(const QString& url,const QString& serID, const QString appType, const QString& serverIP = "");
-
- /* 写入算法信息,写入tAction表 */
- bool writeAlgorithmInfo(std::vector<AlgorithmInfo>& vecInfo);
- /* 删除算法信息 */
- bool deleteAlgorithmInfo(std::vector<AlgorithmInfo>& vecDeleteInfo);
- /* 获取tAction数据 */
- bool getAlgorithmInfo(std::vector<AlgorithmInfo>& vecInfo);
- /* 插入设备信息 */
- bool insertDeviceInfo(std::vector<DeviceInfo>& vecInfo);
- /* 更新设备信息 */
- bool updateDeviceInfo(std::vector<DeviceInfo>& vecUpdateInfo);
- /* 删除设备信息 */
- bool deleteDeviceInfo(std::vector<DeviceInfo>& vecDeleteInfo);
- /* 从EQM获取CamerInfo信息 */
- bool getDeviceInfo(std::vector<DeviceInfo>& vecInfo);
- /* 获取通道信息 */
- bool getChannelInfo(std::map<int, std::string>& mapChannelName);
- std::string getChannelInfo(int chnID);
- /* 获取摄像机信息 */
- bool getCameraInfo(std::map<int, std::string>& mapCameraName);
-
- /* 插入设备和算法关联信息 */
- bool insertDeviceAlgorithmInfo(std::vector<DeviceInfo>& vecInfo);
- /* 更新设备和算法关联表 */
- bool updateDeviceAlgorithmInfo(std::vector<DeviceInfo>& vecInfo);
- /* 删除设备和算法关联表 */
- bool deleteDeviceAlgorithmInfo(std::vector<DeviceInfo>& vecInfo);
- /* 删除设备和算法关联表 */
- bool deleteDeviceAlgorithmInfo(std::list<int>& vecID);
- /* 获取设备和算法信息关联表,需要先从EQM数据库中获取到设备信息,然后根据读取到的设备信息,取出已经删除的设备ID */
- bool getDeviceAlgorithmInfo(std::vector<DeviceInfo>& vecInfo, std::list<int>& listDevIDDelete);
- /* 获取每个算法的详细信息 */
- bool getActionInfo(ListActionInfo& listInfo);
- /* 获取摄像机和房间关联信息 */
- bool getRoomCameraInfo(std::list<RoomCameraInfo>& vecInfo);
- /* ================================================================================
- * “tAlarmInfo”表相关操作
- * ================================================================================ */
- /* 写入报警信息 */
- bool insertAlarmInfo(const AlarmInfo& alarmInfo);
- bool insertAlarmInfo(const AlarmInfo& alarmInfo, int& PKID);
- /* 更新报警结束时间 */
- bool updateAlarmEndTime(const AlarmInfo& alarmInfo);
- /* 根据PKID更新报警记录,用来结束报警 */
- bool endAlarmInfoByPKID(const int PKID, const QDateTime dateTime);
- /* 更新人员信息 */
- bool updatePersonInfo(RoomOnWorkInfo& roomInfo);
- /* 通过频率ID和应用ID获取最大的PKID报警 */
- bool getMaxAlarmPKID(const int ChannelID, const AppFunction AppID, int& PKID);
- /* 清空在岗离岗报警的在岗人员信息 */
- bool clearOnWorkAlarmInfo(const int PKID, const bool onWork, const std::string actionDes);
- /* 获取人员计数规则 */
- bool getPersonCountRuleInfo(std::list<PersonCountRuleInfo>& vecInfo);
- /* 获取报警时段,也同时获取报警的应用信息 */
- bool getAlarmAppInfo(std::list<AppAndTimeInfo>& listInfo);
- /* 结束人员计数报警,通过频率ID和应用ID */
- bool endPersonCountAlarm(EndAlarmParam& alarmParam);
- /* 写入在岗信息 */
- bool insertOnWorkInfo(const RoomFaceInfo& onWorkInfo);
-
- /* 写入在岗离岗数据 */
-
- private:
- std::shared_ptr<spdlog::logger> m_logger = nullptr;
- lhhttpapi* m_httpApi = nullptr;
- QString m_userToken;
- };
- #endif /* FROMWEBAPI_H */
|