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