#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, "更新结果", "权限信息更新失败");
|
}
|
}
|
}
|