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