#include "PmsClientSocket.h"
|
|
#include <QMessageBox>
|
|
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)){
|
|
qDebug()<< "QT网络通信,连接服务端失败!";
|
return;
|
}
|
connectSuccess = true;
|
qDebug()<< "QT网络通信成功已连接服务器!";
|
}
|
|
void PmsClientSocket::queryAllUserAboutUser()
|
{
|
if(connectSuccess){
|
QueryPmsReq req;
|
client->write((char *)&req,req.head.len);
|
qDebug() << "查询全部权限请求发送成功";
|
}
|
|
}
|
void PmsClientSocket::queryPmsByParam(PmsParam param)
|
{
|
if(connectSuccess){
|
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() << "条件查询权限请求发送成功";
|
}
|
}
|
|
void PmsClientSocket::updatePmsByParam(PmsPlusParma param)
|
{
|
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() << "更新权限请求发送成功";
|
}
|
|
void PmsClientSocket::connected_Slot()
|
{
|
connect(client,SIGNAL(readyRead()),this,SLOT(readyRead_Slot()));
|
}
|
|
void PmsClientSocket::readyRead_Slot()
|
{
|
QByteArray buf = client->readAll();
|
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(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);
|
}
|
emit notifyDateChange(vecs);
|
}else{
|
// 查询失败数据为空清除表格数据
|
emit notifyDateChange(vector<PmsQueryResult>());
|
}
|
}
|
if(head.type == UPDATE_PMS_RES){
|
upRes = (UpdatePmsRes *)buf.data();
|
qDebug()<< "更新响应";
|
if(upRes->success){
|
QString dlgTitle = "更新结果";
|
QString strInfo = "权限信息更新成功";
|
QMessageBox::information(this,dlgTitle,strInfo,
|
QMessageBox::Ok, QMessageBox::NoButton);
|
}else{
|
QMessageBox::warning(this, "更新结果", "权限信息更新失败");
|
}
|
}
|
}
|