From 1a927fa6b6a1332b38ec3f711fde002f6ec0641d Mon Sep 17 00:00:00 2001
From: wangky <m1561510467@163.com>
Date: 星期三, 06 十一月 2024 15:02:29 +0800
Subject: [PATCH] Merge branch 'master' of ssh://115.28.86.8:29418/~admin/昆仑_1025

---
 Client/姜可庚/code/2024kunlun_project_permisson/PmsClientSocket.cpp |  100 ++++++++++++++++++++++++++++---------------------
 1 files changed, 57 insertions(+), 43 deletions(-)

diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.cpp" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.cpp"
index 8449947..aca2755 100644
--- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.cpp"
+++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.cpp"
@@ -5,7 +5,7 @@
 PmsClientSocket::PmsClientSocket(QWidget * parent):QWidget(parent)
 {
     client = new QTcpSocket(this);
-
+    connect(client,SIGNAL(connected()),this,SLOT(connected_Slot()));
     client->connectToHost(targetIp,port);
     if(!client->waitForConnected(3000)){
 
@@ -14,14 +14,12 @@
     }
     connectSuccess = true;
     qDebug()<< "QT缃戠粶閫氫俊鎴愬姛宸茶繛鎺ユ湇鍔″櫒锛�";
-    connect(client,SIGNAL(connected()),this,SLOT(connected_Slot()));
-
 }
 
 void PmsClientSocket::queryAllUserAboutUser()
 {
     if(connectSuccess){
-        QueryPmsRequest req;
+        QueryPmsReq req;
         client->write((char *)&req,req.head.len);
         qDebug() << "鏌ヨ鍏ㄩ儴鏉冮檺璇锋眰鍙戦�佹垚鍔�";
     }
@@ -30,10 +28,10 @@
 void PmsClientSocket::queryPmsByParam(PmsParam param)
 {
     if(connectSuccess){
-        QueryPmsRequest req;
-        strcpy(req.name,param.getName().c_str());
-        strcpy(req.permissonType,param.getPermissonType().c_str());
-        strcpy(req.userNo,param.getUserNo().c_str());
+        QueryPmsReq req;
+        strcpy(req.name,param.getName().toLocal8Bit().data());
+        strcpy(req.permissonType,param.getPermissonType().toLocal8Bit().data());
+        strcpy(req.userNo,param.getUserNo().toLocal8Bit().data());
         client->write((char *)&req,req.head.len);
         qDebug() << "鏉′欢鏌ヨ鏉冮檺璇锋眰鍙戦�佹垚鍔�";
     }
@@ -41,12 +39,23 @@
 
 void PmsClientSocket::updatePmsByParam(PmsPlusParma param)
 {
-    UpdatePmsRequest upReq;
-    upReq.devManage = param.getDevManage();
-    upReq.loggerSearch = param.getLoggerSearch();
-    upReq.mapMark = param.getMapMark();
-    upReq.productPlan = param.getProductPlan();
-    upReq.roleId = param.getRoleId();
+    UpdatePmsReq upReq;
+
+    upReq.id = param.getId();
+    if(param.getPermissonType().isEmpty()){
+        upReq.devManage = param.getDevManage();
+        upReq.loggerSearch = param.getLoggerSearch();
+        upReq.mapMark = param.getMapMark();
+        upReq.productPlan = param.getProductPlan();
+        upReq.warningManage = param.getWarninManage();
+        upReq.versionManage = param.getVersionManage();
+        upReq.admin = param.getAdmin();
+        upReq.queryHistory = param.getQueryHistory();
+
+        memset(upReq.permissonType,0,32);
+    }else {
+        strcpy(upReq.permissonType,param.getPermissonType().toLocal8Bit().data());
+    }
     client->write((char *)&upReq,upReq.head.len);
     qDebug() << "鏇存柊鏉冮檺璇锋眰鍙戦�佹垚鍔�";
 }
@@ -59,40 +68,45 @@
 void PmsClientSocket::readyRead_Slot()
 {
     QByteArray buf = client->readAll();
-    QString recvData = QString::fromLocal8Bit(buf);
-    qDebug()<< "client鏀跺埌鐨勬暟鎹�" << recvData;
-    QueryPmsResponse * res;
-    UpdatePmsResponse * upRes;
-    int type = *(int *)buf.data();
-    if(type == QUERY_PMS_REQ){
-          res = (QueryPmsResponse *)buf.data();
+    qDebug()<< "client鏀跺埌浜嗙殑鏁版嵁";
+    QueryPmsRes * res;
+    UpdatePmsRes * upRes;
+    Head head = *(Head *)buf.data();
+    if(head.type == QUERY_PMS_RES){
+        qDebug()<< "鏌ヨ鍝嶅簲";
+          res = (QueryPmsRes *)buf.data();
           if(res->success){
               vector<PmsQueryResult> vecs;
-              int pmsLen = res->head.len-sizeof(QueryPmsResponse);
-              for(int i =0;i<pmsLen;i+=sizeof(PmsRes)){
-                  PmsRes structRes = *(PmsRes*)(res + sizeof(QueryPmsResponse) + i*sizeof(PmsRes));
-                      PmsQueryResult res;
-                      res.setName(string(structRes.name));
-                      res.setUserNo(string(structRes.userNo));
-                      res.setRoleId(structRes.roleId);
-                      res.setStartDateTime(string(structRes.startDateTime));
-                      res.setEndDateTime(string(structRes.endDateTime));
-                      res.setLoggerSearch(structRes.loggerSearch);
-                      res.setMapMark(structRes.mapMark);
-                      res.setDevManage(structRes.devManage);
-                      res.setProductPlan(structRes.productPlan);
-                      res.setQueryHistory(structRes.queryHistory);
-                      res.setPermissonType(string(structRes.permissonType));
-                      vecs.push_back(res);
+              int pmsLen = (res->head.len-sizeof(QueryPmsRes))/sizeof(PmsRes);
+              for(int i =0;i<pmsLen;i++){
+                  PmsRes structRes = res->pmsList[i];
+                      PmsQueryResult qres;
+                      qres.setName(QString::fromLocal8Bit(structRes.name));
+                      qres.setUserNo(QString::fromLocal8Bit(structRes.userNo));
+                      qres.setId(structRes.id);
+                      qres.setLoginTime(string(structRes.loginTime));
+                      qres.setRegisterTime(string(structRes.registerTime));
+                      qres.setLoggerSearch(structRes.loggerSearch);
+                      qres.setMapMark(structRes.mapMark);
+                      qres.setDevManage(structRes.devManage);
+                      qres.setProductPlan(structRes.productPlan);
+                      qres.setQueryHistory(structRes.queryHistory);
+                      qres.setPermissonType(QString::fromLocal8Bit(structRes.permissonType));
+                      qres.setWarninManage(structRes.warningManage);
+                      qres.setVersionManage(structRes.versionManage);
+                      qres.setAdmin(structRes.admin);
+                      vecs.push_back(qres);
               }
-              if(!vecs.empty()){
-                  emit notifyDateChange(vecs);
-              }
+              emit notifyDateChange(vecs);
+          }else{
+              // 鏌ヨ澶辫触鏁版嵁涓虹┖娓呴櫎琛ㄦ牸鏁版嵁
+              emit notifyDateChange(vector<PmsQueryResult>());
           }
     }
-    if(type == UPDATE_PMS_REQ){
-        res = (QueryPmsResponse *)buf.data();
-        if(res->success){
+    if(head.type == UPDATE_PMS_RES){
+        upRes = (UpdatePmsRes *)buf.data();
+        qDebug()<< "鏇存柊鍝嶅簲";
+        if(upRes->success){
             QString dlgTitle = "鏇存柊缁撴灉";
             QString strInfo = "鏉冮檺淇℃伅鏇存柊鎴愬姛";
             QMessageBox::information(this,dlgTitle,strInfo,

--
Gitblit v1.8.0