From b2df0ff59f6f386ed987d7486d6b1e11e2245742 Mon Sep 17 00:00:00 2001
From: jiangkegeng <jiangkegeng>
Date: 星期四, 31 十月 2024 16:27:48 +0800
Subject: [PATCH] 改柔性数组

---
 Client/姜可庚/code/2024kunlun_project_permisson/2024kunlun_project_permisson.pro.user |    2 +-
 Client/姜可庚/code/2024kunlun_project_permisson/PmsClientSocket.cpp                   |   11 +++--------
 Client/姜可庚/code/2024kunlun_project_permisson/permissonwindow.h                     |    2 ++
 Client/姜可庚/code/2024kunlun_project_permisson/PmsClientSocket.h                     |    7 ++++---
 Client/姜可庚/code/2024kunlun_project_permisson/permissondialog.h                     |    2 ++
 Client/姜可庚/code/2024kunlun_project_permisson/permissonwindow.cpp                   |   20 +++++++++++++-------
 Client/姜可庚/code/2024kunlun_project_permisson/main.cpp                              |    2 ++
 Client/姜可庚/code/2024kunlun_project_permisson/permissondialog.cpp                   |    4 +++-
 8 files changed, 30 insertions(+), 20 deletions(-)

diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/2024kunlun_project_permisson.pro.user" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/2024kunlun_project_permisson.pro.user"
index 1e45d46..afa3031 100644
--- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/2024kunlun_project_permisson.pro.user"
+++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/2024kunlun_project_permisson.pro.user"
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.5.0, 2024-10-31T15:06:39. -->
+<!-- Written by QtCreator 4.5.0, 2024-10-31T16:02:45. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
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 bf4d8d6..8449947 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"
@@ -68,10 +68,9 @@
           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){
+              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));
@@ -83,12 +82,8 @@
                       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);
diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.h" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.h"
index 2795585..0a0e535 100644
--- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.h"
+++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/PmsClientSocket.h"
@@ -72,11 +72,12 @@
 typedef struct UserAboutPmsResponse{
     Head head;
     int success; // 1涓烘垚鍔� ,0涓哄け璐�
-    PmsRes  pmsList[100];
+    //PmsRes pmsList[100];
+    char pmsList[0];
     UserAboutPmsResponse(){
         head.type=QUERY_PMS_RES;
-        memset(pmsList,0,sizeof(PmsRes));
-        head.len = sizeof(UserAboutPmsResponse);
+//        memset(pmsList,0,sizeof(PmsRes));
+//        head.len = sizeof(UserAboutPmsResponse);
     }
 } QueryPmsResponse;
 
diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/main.cpp" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/main.cpp"
index 41b03d3..9200eaf 100644
--- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/main.cpp"
+++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/main.cpp"
@@ -6,6 +6,8 @@
     QApplication a(argc, argv);
     PermissonWindow w;
     w.show();
+    QString dlgTitle = "鏇存柊缁撴灉";
+    QString strInfo = "鏉冮檺淇℃伅鏇存柊鎴愬姛";
 
     return a.exec();
 }
diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.cpp" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.cpp"
index 258f81e..98d0f81 100644
--- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.cpp"
+++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.cpp"
@@ -66,6 +66,8 @@
     btnList[3][res.getDevManage()]->setChecked(true);
     btnList[4][res.getProductPlan()]->setChecked(true);
 
+    curRes = res;
+
 }
 
 
@@ -80,7 +82,7 @@
     param.setDevManage(findBoxCheck(btnList[3]));
     param.setProductPlan(findBoxCheck(btnList[4]));
 
-
+    param.setRoleId(curRes.getRoleId());
     client->updatePmsByParam(param);
 
 }
diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.h" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.h"
index 3ddff06..ecf68b2 100644
--- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.h"
+++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissondialog.h"
@@ -28,6 +28,8 @@
 
     int findBoxCheck(map<int,QRadioButton *> map);
 
+    PmsQueryResult curRes;
+
 private slots:
     void recvUserNo(PmsQueryResult pms);
     void on_buttonBox_accepted();
diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.cpp" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.cpp"
index cd23094..71580ef 100644
--- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.cpp"
+++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.cpp"
@@ -78,9 +78,11 @@
 
 
 
+
     connect(ac1,&QAction::triggered,[=]{
          int row = ui->tableView->currentIndex().row();
-         qDebug() << globalPms[row].getDevManage();
+         qDebug() << "鏇存柊褰撳墠鍛樺伐淇℃伅"
+                  <<  QString::fromStdString( globalPms[row].getUserNo());
          // 鍙戦�佸憳宸ョ紪鍙蜂俊鎭�
          emit sendUserNo(globalPms[row]);
 
@@ -99,7 +101,9 @@
     if(watch == ui->tableView->viewport() || watch == ui->tableView->verticalHeader()->viewport()
 
             || watch == ui->tableView->horizontalHeader()->viewport()){
-        if(event->type()==QEvent::MouseButtonPress && ((QMouseEvent *)event)->button()==Qt::RightButton){
+        if(event->type()==QEvent::MouseButtonPress
+                && ((QMouseEvent *)event)->button()==Qt::RightButton
+                && m_model->rowCount() > 0){
             m->exec(QCursor::pos());
         }
 
@@ -132,12 +136,14 @@
 
 void PermissonWindow::listenItemChange(QStandardItem *item)
 {
-    qDebug() << "鏁版嵁寮�濮嬫洿鏂�";
     QString localText = item->text();
-    PmsPlusParma pm;
-    pm.setPermissonType(localText.toStdString());
-    pm.setRoleId(roleMap[localText.toStdString()]);
-    clientSocket->updatePmsByParam(pm);
+    if(roleMap.count(localText.toStdString())){
+        qDebug() << "鍙戣捣鑱屼綅鏇存柊璇锋眰";
+        PmsPlusParma pm;
+        pm.setPermissonType(localText.toStdString());
+        pm.setRoleId(roleMap[localText.toStdString()]);
+        clientSocket->updatePmsByParam(pm);
+    }
 }
 
 void PermissonWindow::renderItemData(vector<PmsQueryResult> res)
diff --git "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.h" "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.h"
index aeb776b..a9f57be 100644
--- "a/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.h"
+++ "b/Client/\345\247\234\345\217\257\345\272\232/code/2024kunlun_project_permisson/permissonwindow.h"
@@ -10,6 +10,8 @@
 #include "syncdatatodb.h"
 #include "PmsClientSocket.h"
 
+#include <QMessageBox>
+
 
 
 using namespace std;

--
Gitblit v1.8.0