From 3143aab798b6ea93a472a6b32f69a6aabc7da04e Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期五, 08 三月 2019 16:28:25 +0800
Subject: [PATCH] Merge branch 'yw.1.2.fixbug' of ssh://192.168.1.226:29418/development/c++ into yw.1.2

---
 QiaoJiaSystem/VideoServer/QiaoJia/DB/DBStruct.h                   |    2 ++
 QiaoJiaSystem/DataManagerServer/http_configserver.cpp             |    2 +-
 QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp                  |    2 +-
 QiaoJiaSystem/DataManagerServer/vss/dao/VssDevTblDao.h            |   15 +++++++++++++++
 QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h         |    1 +
 QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h |    4 ++++
 QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h                 |    2 ++
 7 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
index 5474b99..1170960 100644
--- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
+++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
@@ -1052,7 +1052,7 @@
         if ((!ret) || (serialnumber[0] == 0)) {
             return "{\"ret_status\": \"鍐呭鏈夎锛岃妫�鏌ワ紒\"}";
         }
-
+        rec.type = 0;
         rec.str_cam_dev_id = QString::fromLatin1((const char *) serialnumber);//鎽勫儚鏈篿d cam_mac
         rec.str_name = QString::fromStdString(value["str_name"].asString());
         rec.str_addr = QString::fromStdString(value["str_addr"].asString());
diff --git a/QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h b/QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h
index 52ae28c..22aa644 100755
--- a/QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h
@@ -321,6 +321,8 @@
             Json::Value typeJsonValue = requestJsonValue[CamDev_type];
             if (typeJsonValue.type() != Json::ValueType::nullValue) {
                 camDevBuilder.addtype((typeJsonValue.asString()));
+            } else {
+                camDevBuilder.addtype("1");
             }
             responseJsonValue["message"] = "鏌ヨ鎴愬姛锛�";
             responseJsonValue["success"] = "true";
@@ -402,6 +404,8 @@
             Json::Value typeJsonValue = requestJsonValue[CamDev_type];
             if (typeJsonValue.type() != Json::ValueType::nullValue) {
                 camDevBuilder.addtype((typeJsonValue.asString()));
+            } else {
+                camDevBuilder.addtype("1");
             }
             responseJsonValue["message"] = "鏌ヨ鎴愬姛锛�";
             responseJsonValue["success"] = "true";
diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h
index bc1c593..bfffec3 100644
--- a/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/BaseDao.h
@@ -98,6 +98,7 @@
                 rowList.append(row);
             }
         } else {
+            cout << "error " <<query.error() << endl;
             cout << "query failed" << endl;
         }
         return rowList;
@@ -131,6 +132,7 @@
         return updateSql;
     }
     static void doConnect() {
+        cout << "db_host=" << appConfig.getStringProperty("db_host").c_str() << endl;
         if (conn->connect(
             appConfig.getStringProperty("database").c_str(),
             appConfig.getStringProperty("db_host").c_str(),
diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
index 39fbb7f..106746a 100755
--- a/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
@@ -4,6 +4,7 @@
 
 #include "../model/CamDev.h"
 #include "BaseSqliteDao.h"
+#include <qsqlfield.h>
 
 #define CamDev_TABLE_NAME "cam_dev"
 
diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/VssDevTblDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/VssDevTblDao.h
index 87b5963..ad688f8 100755
--- a/QiaoJiaSystem/DataManagerServer/vss/dao/VssDevTblDao.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/VssDevTblDao.h
@@ -3,7 +3,9 @@
 #define VSSDEVTBL_MANAGER_H
 
 #include "../model/VssDevTbl.h"
+#include "VssChannelTblDao.h"
 #include "BaseDao.h"
+#include "CamDevSqliteDao.h"
 
 #define VSSDevTbl_TABLE_NAME "VSSDevTbl"
 
@@ -37,6 +39,19 @@
     /** 鍒犻櫎鍒涘缓涓�绾ц澶囪〃 whereColumnNameValues 鍒楀悕鍜屽垪鍊煎鏉′欢 */
     bool deleteVssDevTbl(std::map<std::string, std::string>& whereKeyValues) {
         QMutexLocker mutexLocker(&m_mutexVisit);
+        vector<map<string, string>> devRowDataList = findList(string("select * from ")
+                                                          + VSSDevTbl_TABLE_NAME + " where 1=1 "
+                                                                                   + getWhereColumnNameValuePair(whereKeyValues));
+        if (devRowDataList.size() > 0) {
+            auto DevPubID = devRowDataList.at(0)[VssDevTbl_DevPubID];
+            vector<map<string, string>> channelRowDataList = findList(string("select * from ")
+                                                                 + VSSChannelTbl_TABLE_NAME + " where 1=1 AND DevPubID='"+DevPubID+"'");
+            for (auto channelRowData : channelRowDataList) {
+                auto ChanPubID = channelRowData[VssChannelTbl_ChanPubID];
+                CamDevSqliteDao::instance()->deleteByColumn(CamDev_cam_dev_id, ChanPubID);
+            }
+            CamDevSqliteDao::instance()->deleteByColumn(CamDev_cam_dev_id, DevPubID);
+        }
         return del(VSSDevTbl_TABLE_NAME, whereKeyValues);
     }
     
diff --git a/QiaoJiaSystem/VideoServer/QiaoJia/DB/DBStruct.h b/QiaoJiaSystem/VideoServer/QiaoJia/DB/DBStruct.h
index 0ae7935..44e7822 100644
--- a/QiaoJiaSystem/VideoServer/QiaoJia/DB/DBStruct.h
+++ b/QiaoJiaSystem/VideoServer/QiaoJia/DB/DBStruct.h
@@ -61,6 +61,7 @@
         str_brand = "";
         str_reserved = "";
         n_type = -1;
+        type = -1;
     }
 
     int n_id;//鑷id
@@ -76,6 +77,7 @@
     QString str_brand;//鎽勫儚鏈哄搧鐗�
     QString str_reserved;//棰勭暀
     int n_type;//棰勭暀
+    int type;// 0 rtsp, 1 gb28181
 };
 
 struct Record_Cam_Chn {
diff --git a/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp b/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp
index 8070b13..031e039 100644
--- a/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp
+++ b/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp
@@ -500,7 +500,7 @@
     std::list<Record_Cam_Dev> lst;
     QSqlTableModel pModel(NULL, m_db);
     pModel.setTable("cam_dev");
-    pModel.setFilter(QObject::tr("cam_dev_id != '' and cam_dev_id is not null"));
+    pModel.setFilter(QObject::tr("cam_dev_id != '' and cam_dev_id is not null and type='0'"));
     pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
     pModel.select();
 

--
Gitblit v1.8.0