From 1f16245b4b4fc36c519e7afc9fd9cf828f25199d Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期四, 28 二月 2019 20:06:35 +0800
Subject: [PATCH] 修改新增摄像机获取底图问题 解码两次问题

---
 QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h |   54 ++++++++++++++++++------------------------------------
 1 files changed, 18 insertions(+), 36 deletions(-)

diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h
index dd74143..7592a5a 100755
--- a/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h
@@ -7,6 +7,7 @@
 
 #define VSSLocalSettingTbl_Sqlite_TABLE_NAME "VSSLocalSettingTbl"
 
+#include <qsqlfield.h>
 /**
  * 鏈湴鍥芥爣閰嶇疆绠$悊绫�
  */
@@ -174,67 +175,48 @@
     }
 
 	/** 鏌ヨ鏈湴鍥芥爣閰嶇疆鍒楄〃  querySql 瑕佹煡璇㈢殑sql璇彞 */
-    Json::Value findVssLocalSettingTblList(string querySql) {
+    Json::Value findVssLocalSettingTblList(std::map<std::string, std::string>& whereKeyValues) {
 
         Json::Value responseJsonValue;
-        responseJsonValue["message"] = "鍒犻櫎澶辫触锛�";
+        responseJsonValue["message"] = "鏌ヨ澶辫触锛�";
         responseJsonValue["success"] = "false";
-        responseJsonValue["data"] = "[]";
+        responseJsonValue["data"] = Json::arrayValue;
 
         QMutexLocker mutexLocker(m_mutexVisit);//TODO
         std::list<Record_Cut_Video_info> lst;
         QSqlTableModel pModel(NULL, *m_db);
-        pModel.setTable(VSSLocalSettingTbl_Sqlite_TABLE_NAME);
+        pModel.setTable(VSSLocalSettingTbl_Sqlite_TABLE_NAME);;
+        for (auto whereKeyValue : whereKeyValues ) {
+            pModel.setFilter(QObject::tr((string(whereKeyValue.first)+" = '%1'").c_str()).arg(QString::fromUtf8(whereKeyValue.second.c_str())));
+        }
         pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
         pModel.select();
 
         int rowCount = pModel.rowCount();
         if (rowCount > 0) {
-            Json::Value rowDataList;
+            Json::Value rowDataList = Json::arrayValue;
             for (int i = 0; i < rowCount; ++i) {
-                Json::Value rowData;
+                Json::Value rowData = Json::objectValue;
                 Record_Cut_Video_info lRec;
                 QSqlRecord rec = pModel.record(i);
-//                if (!rec.value("finish_flag").toBool()) {
-//                    lRec.n_id = rec.value("id").toInt();
-//                    lRec.str_storage_dev_id = rec.value("storage_dev_id").toString();
-//                    lRec.n_chn = rec.value("chn").toInt();
-//                    lRec.str_src_path = rec.value("src_path").toString();
-//                    lRec.str_dst_path = rec.value("dst_path").toString();
-//                    lRec.n_total = rec.value("total").toInt();
-//                    lRec.b_finish_flag = rec.value("finish_flag").toBool();
-//                    lRec.tim_update_time = QDateTime::fromString(rec.value("update_time").toString(),
-//                                                                 "yyyy-MM-dd hh:mm:ss");
-//                    lRec.str_reserved = rec.value("reserved").toString();
-//                    lst.push_back(lRec);
-//                }
+                for (int i = 0; i < rec.count(); i++) {
+                    QSqlField field = rec.field(i);
+                    rowData[field.name().toStdString()] = field.value().toString().toStdString();
+                }
                 rowDataList.append(rowData);
             }
             responseJsonValue["data"] = rowDataList;
         }
 
+        responseJsonValue["message"] = "鏌ヨ鎴愬姛锛�";
+        responseJsonValue["success"] = "true";
         return responseJsonValue;
-
-
-
-
-//        vector<VssLocalSettingTbl> vssLocalSettingTblVec;
-//        vector<map<string, string>> rowDatList = findList(querySql);
-//        vssLocalSettingTblVec.reserve(rowDatList.size());
-//        for (auto rowData : rowDatList) {
-//            vssLocalSettingTblVec.emplace_back(mapToModel(rowData));
-//        }
-//        return vssLocalSettingTblVec;
 	}
-
-    /**鏌ヨ鏈湴鍥芥爣閰嶇疆鍒楄〃 whereKeyValues 鍒楀悕鍜屽垪鍊煎鏉′欢 */
-    Json::Value findVssLocalSettingTblList(std::map<std::string, std::string>& whereKeyValues) {
-        return findVssLocalSettingTblList(string("select * from ") + VSSLocalSettingTbl_TABLE_NAME + " where 1=1 " + getWhereColumnNameValuePair(whereKeyValues));
-    }
 
     /**鏌ヨ鎵�鏈夋湰鍦板浗鏍囬厤缃垪琛� */
     Json::Value findAllVssLocalSettingTblList() {
-        return findVssLocalSettingTblList(string("select * from ") + VSSLocalSettingTbl_TABLE_NAME + " where 1=1 ");
+        std::map<std::string, std::string> whereKeyValues;
+        return findVssLocalSettingTblList(whereKeyValues);
     }
 
 	/** 鏌ヨmap鍒楄〃 querySql 瑕佹煡璇㈢殑sql璇彞 */

--
Gitblit v1.8.0