| | |
| | | pModel_cam.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange |
| | | pModel_cam.select(); |
| | | |
| | | // QSqlTableModel pModel_sdk(NULL, m_db); |
| | | // pModel_sdk.setTable("cam_sdk"); |
| | | // pModel_sdk.setFilter(QObject::tr("cam_dev_id = '%1'").arg(strCamId)); |
| | | // pModel_sdk.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange |
| | | // pModel_sdk.select(); |
| | | |
| | | QSqlTableModel pModel_sdk(NULL, m_db); |
| | | pModel_sdk.setTable("cam_sdk"); |
| | | pModel_sdk.setFilter(QObject::tr("cam_dev_id = '%1'").arg(strCamId)); |
| | | pModel_sdk.setTable("sdk_rule"); |
| | | pModel_sdk.setFilter(QObject::tr("cam_id = '%1'").arg(strCamId)); |
| | | pModel_sdk.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange |
| | | pModel_sdk.select(); |
| | | |
| | | QSqlTableModel pModel_week(NULL, m_db); |
| | | pModel_week.setTable("rule_week"); |
| | | pModel_week.setFilter(QObject::tr("camera_id = '%1'").arg(strCamId)); |
| | | pModel_week.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange |
| | | pModel_week.select(); |
| | | |
| | | int rowCount_cam = pModel_cam.rowCount(); |
| | | if (rowCount_cam >= 1) { |
| | |
| | | } |
| | | } |
| | | |
| | | int rowCount_week = pModel_week.rowCount(); |
| | | if (rowCount_week >= 1) { |
| | | for (int i = 0; i < rowCount_week; i++) { |
| | | pModel_week.removeRow(i);//TODO |
| | | } |
| | | } |
| | | |
| | | m_db.transaction();//开始事务操作 |
| | | |
| | | if (pModel_cam.submitAll() && \ |
| | | pModel_sdk.submitAll()) { |
| | | pModel_sdk.submitAll() && pModel_week.submitAll()) { |
| | | m_db.commit();//提交 |
| | | return true; |
| | | } else { |
| | | m_db.rollback();//回滚 |
| | | ERR("deleteLDeviceTable err ,Database Error: " \ |
| | | << pModel_cam.lastError().text().toStdString() \ |
| | | << pModel_sdk.lastError().text().toStdString()); |
| | | << pModel_sdk.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) |
| | | { |
| | | QMutexLocker mutexLocker(&m_mutexVisit);//TODO |
| | | QSqlTableModel pModel(NULL, m_db); |
| | | pModel.setTable("cam_dev"); |
| | | pModel.setFilter( |
| | | QObject::tr("ip = '%1'").arg(strIp)); |
| | | pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange |
| | | pModel.select(); |
| | | |
| | | QSqlRecord rec = pModel.record(0); |
| | | rec.setValue("reserved", imgUrl); |
| | | |
| | | int rowCount = pModel.rowCount(); |
| | | if (rowCount > 0) |
| | | { |
| | | pModel.setRecord(0, rec);//TODO |
| | | } |
| | | |
| | | m_db.transaction();//开始事务操作 |
| | | |
| | | if (pModel.submitAll()) |
| | | { |
| | | m_db.commit();//提交 |
| | | return true; |
| | | } |
| | | 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"); |
| | |
| | | |
| | | return ruleMap; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * type 0 rtsp, 1 gb28181 |
| | | */ |
| | | std::list<Record_Cam_Dev> LDBTool::searchCamDevTableByType(int type) { |
| | | QMutexLocker mutexLocker(&m_mutexVisit);//TODO |
| | | 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.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange |
| | | pModel.select(); |
| | | |
| | | int rowCount = pModel.rowCount(); |
| | | if (rowCount > 0) { |
| | | for (int i = 0; i < rowCount; ++i) { |
| | | Record_Cam_Dev lChannelRec; |
| | | QSqlRecord rec = pModel.record(i); |
| | | lChannelRec.n_id = rec.value("id").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(); |
| | | lChannelRec.str_longitude = rec.value("longitude").toString(); |
| | | lChannelRec.str_latitude = rec.value("latitude").toString(); |
| | | lChannelRec.str_ip = rec.value("ip").toString(); |
| | | lChannelRec.n_port = rec.value("port").toInt(); |
| | | lChannelRec.str_username = rec.value("username").toString(); |
| | | lChannelRec.str_password = rec.value("password").toString(); |
| | | lChannelRec.str_brand = rec.value("brand").toString(); |
| | | lChannelRec.str_reserved = rec.value("reserved").toString(); |
| | | lst.push_back(lChannelRec); |
| | | } |
| | | } |
| | | |
| | | return lst; |
| | | } |