240717班级,工业化控制系统,煤矿相关行业,昆仑系统
jiangkegeng
2024-10-31 9f3362bde6ef6d643d807161d31f35718189b92a
更新窗口提示
4个文件已修改
1个文件已添加
141 ■■■■ 已修改文件
Client/姜可庚/code/2024kunlun_project_permisson/2024kunlun_project_permisson.pro.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Client/姜可庚/code/2024kunlun_project_permisson/PmsClientSocket.cpp 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Client/姜可庚/code/2024kunlun_project_permisson/PmsClientSocket.cpp.autosave 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Client/姜可庚/code/2024kunlun_project_permisson/PmsClientSocket.h 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Client/姜可庚/code/2024kunlun_project_permisson/permissonwindow.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Client/½ª¿É¸ý/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-31T13:04:10. -->
<!-- Written by QtCreator 4.5.0, 2024-10-31T15:06:39. -->
<qtcreator>
 <data>
  <variable>EnvironmentId</variable>
Client/½ª¿É¸ý/code/2024kunlun_project_permisson/PmsClientSocket.cpp
@@ -2,7 +2,7 @@
#include <QMessageBox>
PmsClientSocket::PmsClientSocket(QObject * parent):QObject(parent)
PmsClientSocket::PmsClientSocket(QWidget * parent):QWidget(parent)
{
    client = new QTcpSocket(this);
@@ -70,8 +70,8 @@
              vector<PmsQueryResult> vecs;
              for(int i =0;i<100;i++){
                  if(*(int *)&res->pmsList[i]){
                      PmsRes structRes = res->pmsList[i];
                  PmsRes structRes =res->pmsList[i];
                  if(*(int *)&structRes){
                      PmsQueryResult res;
                      res.setName(string(structRes.name));
                      res.setUserNo(string(structRes.userNo));
@@ -100,8 +100,8 @@
        if(res->success){
            QString dlgTitle = "更新结果";
            QString strInfo = "权限信息更新成功";
//            QMessageBox::information(this,dlgTitle,strInfo,
//                                     QMessageBox::Ok, QMessageBox::NoButton);
            QMessageBox::information(this,dlgTitle,strInfo,
                                      QMessageBox::Ok, QMessageBox::NoButton);
        }else{
//            QMessageBox::warning(this, "更新结果", "权限信息更新失败");
        }
Client/½ª¿É¸ý/code/2024kunlun_project_permisson/PmsClientSocket.cpp.autosave
New file
@@ -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, "更新结果", "权限信息更新失败");
        }
    }
}
Client/½ª¿É¸ý/code/2024kunlun_project_permisson/PmsClientSocket.h
@@ -6,6 +6,7 @@
#include <vector>
#include "pmsplusparam.h"
#include <QDebug>
#include <QWidget>
using namespace std;
@@ -30,9 +31,9 @@
    char permissonType[32];
    QueryPmsRequest(){
        head.type=QUERY_PMS_REQ;
        userNo[32] = {0};
        name[32] = {0};
        permissonType[32] = {0};
        memset(userNo,0,32);
        memset(permissonType,0,32);
        memset(name,0,32);
        head.len = sizeof(QueryPmsRequest);
    }
} QueryPmsRequest;
@@ -54,7 +55,6 @@
// å•个人员权限结构体
typedef struct UserAboutPms{
    int queryHistory;
    int loggerSearch;
    int mapMark;
@@ -66,18 +66,16 @@
    char permissonType[32];
    char startDateTime[32];
    char endDateTime[32];
} PmsRes;
// æŸ¥è¯¢äººå‘˜å’Œè§’色信息的响应结构体
typedef struct UserAboutPmsResponse{
    Head head;
    int success; // 1为成功 ,0为失败
    PmsRes  *pmsList;
    PmsRes  pmsList[100];
    UserAboutPmsResponse(){
        head.type=QUERY_PMS_RES;
        pmsList = (PmsRes *)malloc(sizeof(PmsRes)*100);
        pmsList = {0};
        memset(pmsList,0,sizeof(PmsRes));
        head.len = sizeof(UserAboutPmsResponse);
    }
} QueryPmsResponse;
@@ -94,7 +92,7 @@
} UpdatePmsResponse ;
class PmsClientSocket : public QObject
class PmsClientSocket : public QWidget
{
    Q_OBJECT
@@ -106,7 +104,7 @@
    bool connectSuccess= false;
public:
    PmsClientSocket(QObject * parent=0);
    PmsClientSocket(QWidget * parent=0);
    void queryAllUserAboutUser();
    void queryPmsByParam(PmsParam param);
Client/½ª¿É¸ý/code/2024kunlun_project_permisson/permissonwindow.cpp
@@ -11,7 +11,7 @@
    ui(new Ui::PermissonWindow)
{
    ui->setupUi(this);
    clientSocket = new PmsClientSocket;
    clientSocket = new PmsClientSocket(this);
    dia = new PermissonDialog(this,clientSocket);