240717班级,工业化控制系统,煤矿相关行业,昆仑系统
wxx
2024-10-31 0a648f0c590356672421eb09fb2e15fc0e91f5ce
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include "PmsClientSocket.h"
 
#include <QMessageBox>
 
PmsClientSocket::PmsClientSocket(QObject * parent):QObject(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++){
                  if(*(int *)&res->pmsList[i]){
                      PmsRes structRes = res->pmsList[i];
                      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, "更新结果", "权限信息更新失败");
        }
    }
}