From ad2a36a8425406799db94a2e26d1fba82db6aa60 Mon Sep 17 00:00:00 2001
From: congmu <congmu2024@163.com>
Date: 星期四, 31 十月 2024 15:56:12 +0800
Subject: [PATCH] Merge branch 'master' of ssh://115.28.86.8:29418/~admin/昆仑_1025

---
 Client/姜可庚/code/2024kunlun_project_permisson/PmsClientSocket.cpp |  109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 109 insertions(+), 0 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"
new file mode 100644
index 0000000..bf4d8d6
--- /dev/null
+++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.cpp"
@@ -0,0 +1,109 @@
+锘�#include "PmsClientSocket.h"
+
+#include <QMessageBox>
+
+PmsClientSocket::PmsClientSocket(QWidget * parent):QWidget(parent)
+{
+    client = new QTcpSocket(this);
+
+    client->connectToHost(targetIp,port);
+    if(!client->waitForConnected(3000)){
+
+        qDebug()<< "QT缃戠粶閫氫俊,杩炴帴鏈嶅姟绔け璐ワ紒";
+        return;
+    }
+    connectSuccess = true;
+    qDebug()<< "QT缃戠粶閫氫俊鎴愬姛宸茶繛鎺ユ湇鍔″櫒锛�";
+    connect(client,SIGNAL(connected()),this,SLOT(connected_Slot()));
+
+}
+
+void PmsClientSocket::queryAllUserAboutUser()
+{
+    if(connectSuccess){
+        QueryPmsRequest req;
+        client->write((char *)&req,req.head.len);
+        qDebug() << "鏌ヨ鍏ㄩ儴鏉冮檺璇锋眰鍙戦�佹垚鍔�";
+    }
+
+}
+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());
+        client->write((char *)&req,req.head.len);
+        qDebug() << "鏉′欢鏌ヨ鏉冮檺璇锋眰鍙戦�佹垚鍔�";
+    }
+}
+
+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();
+    client->write((char *)&upReq,upReq.head.len);
+    qDebug() << "鏇存柊鏉冮檺璇锋眰鍙戦�佹垚鍔�";
+}
+
+void PmsClientSocket::connected_Slot()
+{
+    connect(client,SIGNAL(readyRead()),this,SLOT(readyRead_Slot()));
+}
+
+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();
+          if(res->success){
+              vector<PmsQueryResult> vecs;
+
+              for(int i =0;i<100;i++){
+                  PmsRes structRes =res->pmsList[i];
+                  if(*(int *)&structRes){
+                      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);
+
+                  }else break;
+              }
+              if(!vecs.empty()){
+                  emit notifyDateChange(vecs);
+              }
+          }
+    }
+    if(type == UPDATE_PMS_REQ){
+        res = (QueryPmsResponse *)buf.data();
+        if(res->success){
+            QString dlgTitle = "鏇存柊缁撴灉";
+            QString strInfo = "鏉冮檺淇℃伅鏇存柊鎴愬姛";
+            QMessageBox::information(this,dlgTitle,strInfo,
+                                      QMessageBox::Ok, QMessageBox::NoButton);
+        }else{
+            QMessageBox::warning(this, "鏇存柊缁撴灉", "鏉冮檺淇℃伅鏇存柊澶辫触");
+        }
+    }
+}

--
Gitblit v1.8.0