240717班级,工业化控制系统,煤矿相关行业,昆仑系统
Administrator
2024-11-06 731aab44a67db573ab7a9e6af8bfecf6efebbd23
Client/½ª¿É¸ý/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,