#ifndef LDBTOOL_H
|
#define LDBTOOL_H
|
|
//#include <QObject>
|
#include <QSqlDatabase>
|
#include <QSqlTableModel>
|
#include <QSqlQuery>
|
#include <QSqlRecord>
|
#include <QSqlError>
|
#include "DBStruct.h"
|
#include <QJsonDocument>
|
#include <QJsonObject>
|
#include <QDateTime>
|
#include <QMutexLocker>
|
|
class LDBTool
|
{
|
public:
|
// explicit LDBTool(QObject *parent = nullptr);
|
LDBTool();
|
~LDBTool();
|
|
void connectDB();
|
|
//DeviceTable
|
bool insertDeviceTable(Record_Storage_Dev deviceRec);
|
bool deleteDeviceTable(QString strDeviceId);
|
bool deleteDeviceTableAndChnAndSdk(QString str_storage_dev_id);
|
bool updateDeviceTable(Record_Storage_Dev deviceRec);
|
std::list<Record_Storage_Dev> searchDeviceTableAll(void);
|
int searchDeviceNumber(void);
|
Record_Storage_Dev searchDeviceTableByDeviceId(QString strDeviceId);
|
int searchDurationByDeviceId(QString strDeviceId);
|
|
//ChannelTable
|
bool insertChannelTable(Record_Cam_Chn channelRec);
|
bool deleteChannelTable(QString strDeviceId, int nChannelId);
|
bool deleteChannelTableByCamID(QString strCamId);
|
bool updateChannelTable(Record_Cam_Chn channelRec);
|
std::list<Record_Cam_Chn> searchChannelTableAll(void);
|
std::list<Record_Cam_Chn> searchChannelTableByDevlId(QString strDeviceId);
|
Record_Cam_Chn searchOldestRecordfromChnTableByUpdateTime(void);
|
Record_Cam_Chn searchChannelTableByChannelId(QString strDeviceId, int nChannelId);
|
Record_Cam_Chn searchNewestRecordfromChnTableByChannelId(QString strDeviceId, int nChannelId);
|
Record_Cam_Chn searchOldestRecordfromChnTableByChannelId(QString strDeviceId, int nChannelId);
|
std::list<Record_Cam_Chn> searchChannelTableCamType(void);
|
|
//cam_dev
|
bool insertCamDevTable(Record_Cam_Dev channelRec);
|
bool deleteCamDevandSdkByCamID(QString strCamId);
|
bool updateCamDevTable(Record_Cam_Dev camRec);
|
std::list<Record_Cam_Dev> searchCamDevTableAll(void);
|
int searchCamDevNumber(void);
|
bool searchCamDevByCamId(QString strCamId);
|
|
//load_file_info
|
bool insertLoadFileTable(Record_Load_File_info loadfileRec);
|
bool deleteLoadFileTable(QString strDeviceId, int nChannelId, QDateTime tim_startTime);
|
bool deleteLoadFileTablebyDevID(QString strDeviceId);
|
bool updateLoadFileTable(Record_Load_File_info loadfileRec);
|
std::list<Record_Load_File_info> searchLoadFileTableAll(void);
|
Record_Load_File_info searchOldestRecordfromLoadTableByUpdateTime(void);
|
|
//insert rec to loadfile_info && update cam_chn
|
bool insertLoadFileTableAndUpdateChannelTable(Record_Load_File_info loadfileRec,
|
Record_Cam_Chn channelRec);
|
|
//cut_video_info
|
bool insertCutVideoTable(Record_Cut_Video_info cutVideoRec);
|
bool deleteCutVideoTable(QString strDeviceId, int nChannelId, QString strSrcPath);
|
bool deleteCutVideoTablebyDevID(QString strDeviceId);
|
bool updateCutVideoTable(Record_Cut_Video_info cutVideoRec);
|
bool updateCutVideoTable(std::string src_path, std::string dst_path, int total);
|
std::list<Record_Cut_Video_info> searchCutVideoTableAll(void);
|
Record_Cut_Video_info searchOldestRecordfromCutTableByUpdateTime(void);
|
|
//insert rec to cut_video_info && delete load_file_info
|
bool insertCutVideoTableAndDeleteLoadFileTable(Record_Cut_Video_info cutVideoRec,
|
QString strDeviceId, int nChannelId,
|
QDateTime tim_loadStartTime);
|
|
//sdk_hdl_info
|
bool insertSdkHdlTable(Record_Sdk_Hdl_info sdkHdlRec);
|
bool deleteSdkHdlTable(QString strSrcPath);
|
bool updateSdkHdlTable(Record_Sdk_Hdl_info sdkHdlRec);
|
bool updateSdkHdlTablePos(QString str_src_path,int pos);
|
std::list<Record_Sdk_Hdl_info> searchSdkHdlTableAll(void);
|
bool deleteSdkHdlTablebyDevID(QString strDevId);
|
|
//insert rec to sdk_hdl_info && delete cut_video_info
|
bool insertSdkHdlTableAndDeleteCutVideoTable(Record_Sdk_Hdl_info sdkHdlRec,\
|
QString strDeviceId, \
|
int nChannelId, \
|
QString strCutSrcPath);
|
|
//chn_sdk
|
bool insertChnSdkTable(Record_Chn_Sdk chnSdkRec);
|
bool deleteChnSdkTable(QString strDeviceId, int nChannelId);
|
bool updateChnSdkTable(Record_Chn_Sdk chnSdkRec);
|
std::list<Record_Chn_Sdk> searchChnSdkTableAll(void);
|
Record_Chn_Sdk searchChnSdkTableByChannelId(QString strDeviceId, int nChannelId);
|
// Record_Chn_Sdk searchChnSdkTableByCam(QString strCamId);
|
|
bool updateDevChnAndSdk(Record_Cam_Chn channelRec, Record_Chn_Sdk chnSdkRec);
|
// bool updateCamAndSdk(Record_Cam_Chn channelRec, Record_Chn_Sdk chnSdkRec);
|
|
bool insertCamSdkTable(Record_Cam_Sdk camSdkRec);
|
bool deleteCamSdkTable(QString strCamDevId);
|
bool updateCamSdkTable(Record_Cam_Sdk camSdkRec);
|
Record_Cam_Sdk searchCamSdkTableByCamId(QString strCamId);
|
bool updateCamAndSdkTable(Record_Cam_Dev camRec, Record_Cam_Sdk camSdkRec);
|
|
//config
|
bool updateConfigTableByServerInfo(Record_Config configRec);
|
bool updateConfigTableByCutDuration(int n_cut_max_duration,int n_cut_min_duration);
|
Record_Config searchConfigTableWithinServerInfo(void);
|
bool updateConfigTableByDevType(int devType);
|
int searchDevTypeFromConfigTable(void);
|
//Record_Config searchDevIdFromConfigTable(void);
|
bool updateDevNameConfigTable(QString dev_name);
|
//name_key_match
|
bool insertRecordVedioPath(QString pathKey,QString filePath);
|
QString searchRecordVedioPathByKey(QString pathKey);
|
|
//rule_week
|
bool updateCameraWeekRule(const LActRuleWeekRecord& weekRule);
|
std::vector<LActRuleWeekRecord> searchCameraWeekRuleByCamId(const QString& camId,const int& sdkType);
|
|
//sdk_rule
|
bool updateSdkRule(const SdkRule& sdkRule);
|
SdkRuleMap searchSdkRuleByCamId(const QString& camId);
|
private:
|
QSqlDatabase m_db;
|
QSqlTableModel *m_pModel;
|
|
QMutex m_mutexVisit;
|
};
|
|
#endif // LDBTOOL_H
|