| | |
| | | rec.setValue("password", channelRec.str_password); |
| | | rec.setValue("brand", channelRec.str_brand); |
| | | rec.setValue("reserved", channelRec.str_reserved); |
| | | rec.setValue("type", channelRec.type); |
| | | |
| | | pModel.insertRecord(-1, rec);//TODO |
| | | |
| | |
| | | ERR("deleteLDeviceTable err ,Database Error: " \ |
| | | << pModel_cam.lastError().text().toStdString() \ |
| | | << pModel_sdk.lastError().text().toStdString() \ |
| | | << pModel_week.lastError().text().toStdString() ); |
| | | << pModel_week.lastError().text().toStdString()); |
| | | // QMessageBox::warning(NULL,QObject::tr("deleteLDeviceTable"),QObject::tr("Database Error: %1").arg(pModel.lastError().text())); |
| | | return false; |
| | | } |
| | |
| | | return false; |
| | | } |
| | | } |
| | | bool LDBTool::updateCamDevSnapshot(const QString& strIp,const QString& imgUrl) |
| | | { |
| | | |
| | | bool LDBTool::updateCamDevSnapshot(const QString &strIp, const QString &imgUrl) { |
| | | QMutexLocker mutexLocker(&m_mutexVisit);//TODO |
| | | QSqlTableModel pModel(NULL, m_db); |
| | | pModel.setTable("cam_dev"); |
| | |
| | | rec.setValue("reserved", imgUrl); |
| | | |
| | | int rowCount = pModel.rowCount(); |
| | | if (rowCount > 0) |
| | | { |
| | | if (rowCount > 0) { |
| | | pModel.setRecord(0, rec);//TODO |
| | | } |
| | | |
| | | m_db.transaction();//开始事务操作 |
| | | |
| | | if (pModel.submitAll()) |
| | | { |
| | | if (pModel.submitAll()) { |
| | | m_db.commit();//提交 |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | } else { |
| | | m_db.rollback();//回滚 |
| | | ERR("updateCamDevSnapshot err ,Database Error: " << pModel.lastError().text().toStdString()); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | int LDBTool::searchCamDevNumber(void) { |
| | | QSqlTableModel pModel(NULL, m_db); |
| | | pModel.setTable("cam_dev"); |
| | |
| | | Record_Cam_Dev lChannelRec; |
| | | QSqlRecord rec = pModel.record(i); |
| | | lChannelRec.n_id = rec.value("id").toInt(); |
| | | lChannelRec.type = rec.value("type").toInt(); |
| | | lChannelRec.str_cam_dev_id = rec.value("cam_dev_id").toString(); |
| | | lChannelRec.str_name = rec.value("name").toString(); |
| | | lChannelRec.str_addr = rec.value("addr").toString(); |
| | |
| | | |
| | | return lst; |
| | | } |
| | | bool LDBTool::searchCamDevByCamId(QString strCamId) |
| | | { |
| | | |
| | | bool LDBTool::searchCamDevByCamId(QString strCamId) { |
| | | QMutexLocker mutexLocker(&m_mutexVisit);//TODO |
| | | std::list<Record_Cam_Dev> lst; |
| | | QSqlTableModel pModel(NULL, m_db); |
| | |
| | | |
| | | |
| | | //config 修改裁剪视频时长 |
| | | bool LDBTool::updateConfigTableByCutDuration(int n_cut_max_duration,int n_cut_min_duration) { |
| | | bool LDBTool::updateConfigTableByCutDuration(int n_cut_max_duration, int n_cut_min_duration) { |
| | | QMutexLocker mutexLocker(&m_mutexVisit);//TODO |
| | | QSqlTableModel pModel(NULL, m_db); |
| | | pModel.setTable("config"); |
| | |
| | | lRec.dev_name = rec.value("dev_name").toString(); |
| | | } |
| | | lRec.dev_id = QString::fromStdString(appConfig.getStringProperty("DEV_ID")); |
| | | if(lRec.n_cut_max_duration == 0) |
| | | { |
| | | if (lRec.n_cut_max_duration == 0) { |
| | | lRec.n_cut_max_duration = 20; |
| | | } |
| | | if(lRec.n_cut_min_duration == 0) |
| | | { |
| | | if (lRec.n_cut_min_duration == 0) { |
| | | lRec.n_cut_min_duration = 4; |
| | | } |
| | | return lRec; |
| | | } |
| | | |
| | | |
| | | |
| | | bool LDBTool::insertRecordVedioPath(QString pathKey, QString filePath) { |
| | |
| | | } |
| | | |
| | | |
| | | bool LDBTool::updateCameraWeekRule(const LActRuleWeekRecord &weekRule) { |
| | | QMutexLocker mutexLocker(&m_mutexVisit);//TODO |
| | | QSqlTableModel pModel(NULL, m_db); |
| | | pModel.setTable("rule_week"); |
| | | pModel.setFilter(QObject::tr("camera_id = '%1' and type='%2' and sdk_type='%3'").arg(weekRule.m_strCamId).arg( |
| | | weekRule.m_nType).arg(weekRule.m_nSdkType)); |
| | | pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange |
| | | pModel.select(); |
| | | QSqlRecord rec = pModel.record(0); |
| | | //rec.setGenerated("id", false); |
| | | rec.setValue("camera_id", weekRule.m_strCamId); |
| | | rec.setValue("sdk_type", weekRule.m_nSdkType); |
| | | rec.setValue("type", weekRule.m_nType); |
| | | rec.setValue("begin_time", weekRule.m_strBegin); |
| | | rec.setValue("end_time", weekRule.m_strEnd); |
| | | |
| | | int rowCount = pModel.rowCount(); |
| | | if (rowCount == 0) { |
| | | pModel.insertRecord(-1, rec); |
| | | } else if (rowCount > 0) { |
| | | pModel.setRecord(0, rec);//TODO |
| | | } |
| | | |
| | | m_db.transaction();//开始事务操作 |
| | | |
| | | if (pModel.submitAll()) { |
| | | m_db.commit();//提交 |
| | | return true; |
| | | } else { |
| | | m_db.rollback();//回滚 |
| | | ERR("updateCameraWeekRule ,pModel_load Error: " << pModel.lastError().text().toStdString()); |
| | | |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | std::vector<LActRuleWeekRecord> LDBTool::searchCameraWeekRuleByCamId(const QString &camId, const int &sdkType) { |
| | | std::vector<LActRuleWeekRecord> vecWeek; |
| | | QMutexLocker mutexLocker(&m_mutexVisit);//TODO |
| | | QSqlTableModel pModel(NULL, m_db); |
| | | pModel.setTable("rule_week"); |
| | | pModel.setFilter(QObject::tr("camera_id = '%1' and sdk_type='%2'").arg(camId).arg(sdkType)); |
| | | pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange |
| | | pModel.select(); |
| | | |
| | | int rowCount = pModel.rowCount(); |
| | | for (int i = 0; i < rowCount; ++i) { |
| | | LActRuleWeekRecord lActRuleWeekRec; |
| | | QSqlRecord rec = pModel.record(i); |
| | | lActRuleWeekRec.m_nSdkType = rec.value("sdk_type").toInt(); |
| | | lActRuleWeekRec.m_nType = rec.value("type").toInt(); |
| | | lActRuleWeekRec.m_strBegin = rec.value("begin_time").toString(); |
| | | lActRuleWeekRec.m_strEnd = rec.value("end_time").toString(); |
| | | lActRuleWeekRec.m_strCamId = rec.value("camera_id").toString(); |
| | | vecWeek.push_back(lActRuleWeekRec); |
| | | } |
| | | |
| | | return vecWeek; |
| | | } |
| | | |
| | | |
| | | bool LDBTool::updateCameraWeekRule(const LActRuleWeekRecord& weekRule) |
| | | { |
| | | QMutexLocker mutexLocker(&m_mutexVisit);//TODO |
| | | QSqlTableModel pModel(NULL, m_db); |
| | | pModel.setTable("rule_week"); |
| | | pModel.setFilter(QObject::tr("camera_id = '%1' and type='%2' and sdk_type='%3'").arg(weekRule.m_strCamId).arg(weekRule.m_nType).arg(weekRule.m_nSdkType)); |
| | | pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange |
| | | pModel.select(); |
| | | QSqlRecord rec = pModel.record(0); |
| | | //rec.setGenerated("id", false); |
| | | rec.setValue("camera_id",weekRule.m_strCamId); |
| | | rec.setValue("sdk_type",weekRule.m_nSdkType); |
| | | rec.setValue("type", weekRule.m_nType); |
| | | rec.setValue("begin_time", weekRule.m_strBegin); |
| | | rec.setValue("end_time",weekRule.m_strEnd); |
| | | |
| | | int rowCount = pModel.rowCount(); |
| | | if (rowCount == 0) |
| | | { |
| | | pModel.insertRecord(-1, rec); |
| | | } |
| | | else if (rowCount > 0) |
| | | { |
| | | pModel.setRecord(0, rec);//TODO |
| | | } |
| | | |
| | | m_db.transaction();//开始事务操作 |
| | | |
| | | if (pModel.submitAll()) { |
| | | m_db.commit();//提交 |
| | | return true; |
| | | } else { |
| | | m_db.rollback();//回滚 |
| | | ERR("updateCameraWeekRule ,pModel_load Error: " << pModel.lastError().text().toStdString()); |
| | | |
| | | return false; |
| | | } |
| | | } |
| | | std::vector<LActRuleWeekRecord> LDBTool::searchCameraWeekRuleByCamId(const QString& camId,const int& sdkType) |
| | | { |
| | | std::vector<LActRuleWeekRecord> vecWeek; |
| | | QMutexLocker mutexLocker(&m_mutexVisit);//TODO |
| | | QSqlTableModel pModel(NULL, m_db); |
| | | pModel.setTable("rule_week"); |
| | | pModel.setFilter(QObject::tr("camera_id = '%1' and sdk_type='%2'").arg(camId).arg(sdkType)); |
| | | pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange |
| | | pModel.select(); |
| | | |
| | | int rowCount = pModel.rowCount(); |
| | | for(int i = 0;i < rowCount;++i) |
| | | { |
| | | LActRuleWeekRecord lActRuleWeekRec; |
| | | QSqlRecord rec = pModel.record(i); |
| | | lActRuleWeekRec.m_nSdkType = rec.value("sdk_type").toInt(); |
| | | lActRuleWeekRec.m_nType = rec.value("type").toInt(); |
| | | lActRuleWeekRec.m_strBegin = rec.value("begin_time").toString(); |
| | | lActRuleWeekRec.m_strEnd = rec.value("end_time").toString(); |
| | | lActRuleWeekRec.m_strCamId=rec.value("camera_id").toString(); |
| | | vecWeek.push_back(lActRuleWeekRec); |
| | | } |
| | | |
| | | return vecWeek; |
| | | } |
| | | |
| | | |
| | | |
| | | bool LDBTool::updateSdkRule(const SdkRule& sdkRule) |
| | | { |
| | | bool LDBTool::updateSdkRule(const SdkRule &sdkRule) { |
| | | QMutexLocker mutexLocker(&m_mutexVisit);//TODO |
| | | QSqlTableModel pModel(NULL, m_db); |
| | | pModel.setTable("sdk_rule"); |
| | |
| | | rec.setValue("cam_id", sdkRule.strCamId); |
| | | rec.setValue("sdk_type", sdkRule.nSdkType); |
| | | rec.setValue("area", sdkRule.strAreas); |
| | | rec.setValue("ex_area",sdkRule.strExAreas); |
| | | rec.setValue("line",sdkRule.strLine); |
| | | rec.setValue("ex_line",sdkRule.strExLine); |
| | | rec.setValue("alarm_delay",sdkRule.nTriggerDelay); |
| | | rec.setValue("tolerance",sdkRule.nTriggerTolerance); |
| | | rec.setValue("alarm_num_upper",sdkRule.nAlarmNumUpperLimit); |
| | | rec.setValue("alarm_num_lower",sdkRule.nAlarmNumLowerLimit); |
| | | rec.setValue("broadcast_area",sdkRule.strBroadcast); |
| | | rec.setValue("is_run",sdkRule.nIsRun); |
| | | rec.setValue("img_threshold",sdkRule.nThreshold); |
| | | rec.setValue("img_quality",sdkRule.nQuality); |
| | | rec.setValue("ex_area", sdkRule.strExAreas); |
| | | rec.setValue("line", sdkRule.strLine); |
| | | rec.setValue("ex_line", sdkRule.strExLine); |
| | | rec.setValue("alarm_delay", sdkRule.nTriggerDelay); |
| | | rec.setValue("tolerance", sdkRule.nTriggerTolerance); |
| | | rec.setValue("alarm_num_upper", sdkRule.nAlarmNumUpperLimit); |
| | | rec.setValue("alarm_num_lower", sdkRule.nAlarmNumLowerLimit); |
| | | rec.setValue("broadcast_area", sdkRule.strBroadcast); |
| | | rec.setValue("is_run", sdkRule.nIsRun); |
| | | rec.setValue("img_threshold", sdkRule.nThreshold); |
| | | rec.setValue("img_quality", sdkRule.nQuality); |
| | | |
| | | int rowCount = pModel.rowCount(); |
| | | if (rowCount == 0) |
| | | { |
| | | if (rowCount == 0) { |
| | | pModel.insertRecord(-1, rec); |
| | | } |
| | | else if (rowCount > 0) |
| | | { |
| | | } else if (rowCount > 0) { |
| | | pModel.setRecord(0, rec);//TODO |
| | | } |
| | | |
| | | m_db.transaction();//开始事务操作 |
| | | |
| | | if (pModel.submitAll()) |
| | | { |
| | | if (pModel.submitAll()) { |
| | | m_db.commit();//提交 |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | } else { |
| | | m_db.rollback();//回滚 |
| | | ERR("updateSdkRule ,pModel_load Error: " << pModel.lastError().text().toStdString()); |
| | | return false; |
| | | } |
| | | } |
| | | SdkRuleMap LDBTool::searchSdkRuleByCamId(const QString& camId) |
| | | { |
| | | |
| | | SdkRuleMap LDBTool::searchSdkRuleByCamId(const QString &camId) { |
| | | QMutexLocker mutexLocker(&m_mutexVisit);//TODO |
| | | QSqlTableModel pModel(NULL, m_db); |
| | | pModel.setTable("sdk_rule"); |
| | | pModel.setFilter(QObject::tr("cam_id = '%1' ").arg(camId)); |
| | | pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange |
| | | pModel.select(); |
| | | std::map<int,SdkRule> ruleMap; |
| | | std::map<int, SdkRule> ruleMap; |
| | | |
| | | //std::vector<SdkRule> ruleVec; |
| | | int rowCount = pModel.rowCount(); |
| | | for(int i=0;i<rowCount;++i) |
| | | { |
| | | for (int i = 0; i < rowCount; ++i) { |
| | | SdkRule rule; |
| | | QSqlRecord rec = pModel.record(i); |
| | | rule.strCamId=rec.value("cam_id").toString(); |
| | | rule.strAreas=rec.value("area").toString(); |
| | | rule.strExAreas=rec.value("ex_area").toString(); |
| | | rule.strLine=rec.value("line").toString(); |
| | | rule.strExLine=rec.value("ex_line").toString(); |
| | | rule.nTriggerDelay=rec.value("alarm_delay").toInt(); |
| | | rule.nTriggerTolerance=rec.value("tolerance").toInt(); |
| | | rule.nQuality=rec.value("img_quality").toInt(); |
| | | rule.nThreshold=rec.value("img_threshold").toInt(); |
| | | rule.nAlarmNumUpperLimit=rec.value("alarm_num_upper").toInt(); |
| | | rule.nAlarmNumLowerLimit=rec.value("alarm_num_lower").toInt(); |
| | | rule.strBroadcast=rec.value("broadcast_area").toString(); |
| | | rule.nIsRun=rec.value("is_run").toInt(); |
| | | rule.nSdkType=rec.value("sdk_type").toInt(); |
| | | ruleMap[rule.nSdkType]=rule; |
| | | rule.strCamId = rec.value("cam_id").toString(); |
| | | rule.strAreas = rec.value("area").toString(); |
| | | rule.strExAreas = rec.value("ex_area").toString(); |
| | | rule.strLine = rec.value("line").toString(); |
| | | rule.strExLine = rec.value("ex_line").toString(); |
| | | rule.nTriggerDelay = rec.value("alarm_delay").toInt(); |
| | | rule.nTriggerTolerance = rec.value("tolerance").toInt(); |
| | | rule.nQuality = rec.value("img_quality").toInt(); |
| | | rule.nThreshold = rec.value("img_threshold").toInt(); |
| | | rule.nAlarmNumUpperLimit = rec.value("alarm_num_upper").toInt(); |
| | | rule.nAlarmNumLowerLimit = rec.value("alarm_num_lower").toInt(); |
| | | rule.strBroadcast = rec.value("broadcast_area").toString(); |
| | | rule.nIsRun = rec.value("is_run").toInt(); |
| | | rule.nSdkType = rec.value("sdk_type").toInt(); |
| | | ruleMap[rule.nSdkType] = rule; |
| | | //ruleVec.push_back(rule); |
| | | } |
| | | |
| | |
| | | std::list<Record_Cam_Dev> lst; |
| | | QSqlTableModel pModel(NULL, m_db); |
| | | pModel.setTable("cam_dev"); |
| | | pModel.setFilter(QObject::tr((string("cam_dev_id != '' and cam_dev_id is not null and type='")+to_string(type)+"'").c_str())); |
| | | pModel.setFilter(QObject::tr( |
| | | (string("cam_dev_id != '' and cam_dev_id is not null and type='") + to_string(type) + "'").c_str())); |
| | | pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange |
| | | pModel.select(); |
| | | |
| | |
| | | lChannelRec.str_password = rec.value("password").toString(); |
| | | lChannelRec.str_brand = rec.value("brand").toString(); |
| | | lChannelRec.str_reserved = rec.value("reserved").toString(); |
| | | lChannelRec.n_type = rec.value("type").toInt(); |
| | | lst.push_back(lChannelRec); |
| | | } |
| | | } |