#ifndef PMSCLINETSOCKET_H
|
#define PMSCLINETSOCKET_H
|
#include <QTcpSocket>
|
#include <string>
|
#include "pmsqueryresult.h"
|
#include <vector>
|
#include "pmsplusparam.h"
|
#include <QDebug>
|
#include <QWidget>
|
|
using namespace std;
|
|
struct Head{
|
int type;
|
int len;
|
};
|
|
enum option{
|
QUERY_PMS_REQ=6,
|
UPDATE_PMS_REQ,
|
QUERY_PMS_RES,
|
UPDATE_PMS_RES,
|
};
|
|
|
// 按员工编号、名字或职位查询人员权限信息请求
|
typedef struct QueryPmsReq{
|
Head head;
|
char userNo[32];
|
char name[32];
|
char permissonType[32];
|
QueryPmsReq(){
|
head.type=QUERY_PMS_REQ;
|
memset(userNo,0,32);
|
memset(permissonType,0,32);
|
memset(name,0,32);
|
head.len = sizeof(QueryPmsReq);
|
}
|
} QueryPmsReq;
|
|
// 按角色id更新权限信息请求
|
typedef struct UpdatePmsReq{
|
Head head;
|
// 人员表主键id
|
int id;
|
int queryHistory;
|
int loggerSearch;
|
int mapMark;
|
int devManage;
|
int productPlan;
|
int warningManage;
|
int versionManage; //版本管理
|
int admin; //系统管理员
|
|
char permissonType[32];
|
UpdatePmsReq(){
|
head.type=UPDATE_PMS_REQ;
|
head.len = sizeof(UpdatePmsReq);
|
}
|
} UpdatePmsReq;
|
|
// 单个人员和权限联合查询结构体
|
typedef struct PmsRes{
|
int queryHistory;
|
int loggerSearch;
|
int mapMark;
|
int devManage;
|
int productPlan;
|
int versionManage; //版本管理
|
int warningManage;
|
int admin; //系统管理员
|
|
int id;
|
|
char userNo[32];
|
char name[32];
|
|
char permissonType[32]; // 角色类型
|
|
char department[32];
|
char loginTime[32];
|
char registerTime[32];
|
} PmsRes;
|
|
// 查询人员和角色信息的响应结构体
|
typedef struct QueryPmsRes{
|
Head head;
|
int success; // 1为成功 ,0为失败
|
PmsRes pmsList[0];
|
QueryPmsRes(){
|
head.type=QUERY_PMS_RES;
|
}
|
} QueryPmsRes;
|
|
// 权限更新结果响应体
|
typedef struct UpdatePmsRes{
|
Head head;
|
int success; // 1为成功 ,0为失败
|
UpdatePmsRes(){
|
head.type = UPDATE_PMS_RES;
|
head.len = sizeof(UpdatePmsRes);
|
}
|
|
} UpdatePmsRes ;
|
|
|
class PmsClientSocket : public QWidget
|
{
|
Q_OBJECT
|
|
QTcpSocket *client;
|
|
int port=16888;
|
QString targetIp = "127.0.0.1";
|
|
bool connectSuccess= false;
|
|
public:
|
PmsClientSocket(QWidget * parent=0);
|
void queryAllUserAboutUser();
|
|
void queryPmsByParam(PmsParam param);
|
|
void updatePmsByParam(PmsPlusParma param);
|
signals:
|
void notifyDateChange(vector<PmsQueryResult>);
|
|
private slots:
|
void connected_Slot(); //声明槽函数
|
void readyRead_Slot();
|
};
|
|
#endif // PMSCLINETSOCKET_H
|