mainwindow.h 18.8 KB
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 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include"login.h"
#include"ui_login.h"
#include "changepassword.h"
#include "ui_changepassword.h"
#include "ui_myinputpanelform.h"
#include"myinputpanel.h"
#include"myinputpanelcontext.h"
#include<QCloseEvent>
#include<QMouseEvent>
/*****************************************头文件*******************************/
#include <QtNetwork/QTcpSocket>  // TCPSOCKET 库
#include <QtNetwork/QtNetwork>  //  NETWORK 库
#include <QtNetwork/qhostaddress.h> // 主机地址库
#include <QMessageBox>
#include <QDebug>
#include <QTimer>
#include <QInputDialog>
#include <QFile>
#include <src/parser.h>
#include <src/serializer.h>
#include <QLineEdit>
#include <QListWidget>
#include <QWidget>
#include <QStackedWidget>
#include <QProcess>

/**********************************************************************************/
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:

    Ui::MainWindow *ui;
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    /****************************************共有函数******************************************/
    //********对象声明**********//
    QTcpServer *server;  // TCP服务端对象
    QTcpSocket *clientConnection; // Socket连接对象
    QString serverMsg; //socket server接收数据的消息
    //    int clientPort = 6666;     //tcpsocket 端口号
    //    QString clientAddress = "127.0.0.1"; //server指定接入ip
    QTcpSocket *sendClient; //客户端对象
    QTcpSocket *sendDebugClient; //客户端Debug对象
    QString clientMsg; // socket client接收数据的消息
    QString clientDebugMsg; // socket Debug client接收数据的消息
    QMap<QString, int> StrToInt;  // 字符串转整形映射表对象
    QMap<QString,QString>StrToStr; //字符串转字符串映射表对象

    QMap<int , QString> IntToStr_Alarm; //
    QMap<int , QString> IntToStr_Fault; //


    bool setConfigDataEnable;




    //***************************//

    //************函数声明********//
    void tcpSocketServerInit(int port, QString address = NULL); //tcp socket 初始化
    void socketClientInit(QString address = "192.168.2.197", int port = 6666);//socket客户端初始化
    void serverRecvData();//tcp socket server读数据
    void socketClientInitDebug(QString address = "192.168.2.197", int port = 6000); // socket客户端初始化给调试页面

    void acceptConnection();//tpc socket 接受连接
    void sendInfo(QString sendDate);// 发送数据 用于配置文件保存到后端
    void analysisStatusMsg(QString recvDate); // 解析接收的json数据
    void channelFunctionGroup();           //控件槽函数组
    QString getConfigArg();  // 获取界面参数,用于发送配置数据
    void QMapInit(); // 汉字映射表初始化

    void readConfigFile(); //读取配置文件



    void setConfigData(QString recvDate);

    void setStatusData();

    void timedGetStatusTimer();

    void getConfigMsgOrder();

    void limitInput();

    void Delay_MSec(unsigned int msec);

    void setAlarmMsg();

    void setFaultMsg();

    void setOnlineIcon();

    void setRssiIcon();

    void setBatteryIcon();

    void mousePressEvent(QMouseEvent *e);

    void mouseReleaseEvent(QMouseEvent *e);

    void closeWindowTimer();

    void closeEvent(QCloseEvent *);


    void setImeiIccid();




    QString devName;	                      //设备名称	字符型
    QString devType;	                      //设备类型	字符型
    QString devSn;	                      //设备序列号	字符型
    QString hwVersion;	                      //设备硬件版本	字符型
    QString swVersion;	                      //设备软件版本	字符型
    QString mfDay;	                      //设备生产日期	字符型
    QString otaService;	                      //设备固件远程升级服务器地址	字符型
    QString bootTime;	                      //设备开机时间	字符型
    QString currentTime;	                      //设备当前时间	字符型
    QString configSyncTime;	                      //配置同步时间	字符型
    QString netIp;	                      //设备IP	字符型
    QString netDns;	                      //DNS服务器	字符型
    QString netType;	                      //网络类型	字符型
    QString dhcp;	                      //IP获取方式	字符型
    QString netMask;	                      //子网掩码	字符型
    QString gwIp;	                      //网关IP	字符型
    QString ispServer;	                      //设备ISP服务商	字符型
    QString apnName;	                      //设备APN	字符型
    QString imei;	                      //设备IMEI	字符型
    QString iccid;	                      //设备ICCID	字符型
    QString encoderType;	                      //编码器型号	字符型
    QString motorType;	                      //闸门电机控制器型号	字符型
    QString frontNilometerType;	                      //闸前水位计型号	字符型
    QString backNilometerType;	                      //闸后水位计型号	字符型
    QString tailNilometerType;	                      //下游水位计型号	字符型
    QString chargerType;	                      //充电控制器型号	字符型
    QString flowMode;	                      //流量率定模型	字符型
    QString flowPara;	                      //流量率定参数	字符型
    QString motorControlMode;  // 电机控制方式 字符型
    int wingWall;                      //翼墙类型 字符型



    int configSync;	                      //设备配置同步寄存器	开关型
    int dataSync;	                      //设备数据同步寄存器	开关型
    int reboot;	                      //设备复位寄存器	开关型
    int powerOff;	                      //设备关机寄存器	开关型
    int factoryReset;	                      //设备恢复出厂寄存器	开关型
    int localDebug;	                      //设备本地调试寄存器	开关型
    int remoteDebug;	                      //设备远程调试寄存器	开关型
    int otaLocal;	                      //设备本地升级寄存器	开关型
    int devOnline;	                      //设备在线状态	开关型
    int devFault;	                      //设备故障状态	开关型
    int devAlarm;	                      //设备报警状态	开关型
    int netAccess;	                      //网络访问状态	开关型
    int encoderFault;	                      //编码器故障	开关型
    int upLimit;	                      //闸门上限位状态	开关型
    int downLimit;	                      //闸门下限位状态	开关型
    int motorFault;	                      //闸门电机故障状态	开关型
    int gateSelfCheck;	                      //闸位自检/状态	开关型
    int remoteForbidden;	                      //远程禁止	开关型
    int gateOpen;	                      //闸门开	开关型
    int gateClose;	                      //闸门关	开关型
    int gateStop;	                      //闸门停止	开关型
    int gateFault;	                      //闸门故障状态	开关型
    int gateAction;	                      //闸门动作状态	开关型
    int gateAlarm;	                      //闸门报警状态	开关型
    int monitorEnable;	                      //人员入侵检测使能	开关型
    int doorOpenAlarm;	                      //开箱报警状态	开关型
    int movementAlarm;	                      //人员入侵报警状态	开关型
    int videoEnable;	                      //视屏功能使能	开关型
    int videoSync;	                      //视屏同步寄存器	开关型
    int videoFault;	                      //摄像机故障	开关型
    int frontNilometerEnable;	                      //闸前水位采集使能	开关型
    int frontNilometerFault;	                      //闸前水位计故障	开关型
    int frontNilometerAlarm;	                      //闸前水位超限报警	开关型
    int backNilometerEnable;	                      //闸后水位采集使能	开关型
    int backNilometerFault;	                      //闸后水位计故障	开关型
    int backNilometerAlarm;	                      //闸后水位超限报警	开关型
    int tailNilometerEnable;	                      //下游水位采集使能	开关型
    int chargerEnable;	                      //太阳能应用使能	开关型
    int chargeStatus;	                      //充电状态	开关型
    int chargerFault;	                      //充电控制器故障	开关型
    int batLowAlarm;	                      //电量低报警	开关型
    int flowEnable;	                      //流量率定使能	开关型
    int flowStatus;	                      //流量率定状态	开关型
    int  deviceCorrecting;             //设备校准状态 开关型
    int gateClamping;                   //闸门卡滞 开关型
    int motorConnectFault;          //电机通讯故障 开关型
    int encoderConnectFault;    //编码器通讯故障 开关型
    int chargerConnectFault;      // 充电器通讯故障  开关型
    int gateCorrectingStatus;       //闸门校准状态 开关型
    int dropStep;                               //有无跌坎开关型
    int controlMode;	                      //闸门控制模式	字符型


    double iot_id;	                      //设备iot-id	数值型
    double pollCycle;	                      //采集周期	数值型
    double reportCycle;	                      //上报周期	数值型
    double cpuUsage;	                      //CPU使用率	数值型
    double ramUsage;	                      //内存使用率	数值型
    QString temp;	                      //设备温度	数值型
    QString rssi;	                      //设备信号强度	数值型
    int controlStatus;	                      //闸门控制状态	数值型
    double conFlow;	                      //恒定流量设定(暂不支持闸门水工建筑物以外其他方式)	数值型
    double conFrontWater;	                      //恒定闸前水位设定	数值型
    double conBackWater;	                      //恒定闸后水位设定	数值型
    double conTailWater;	                      //恒定下游水位设定(暂不支持)	数值型
    double encoderValue;	                      //编码器值	数值型
    double encoderValueRatio;	                      //编码器每圈对应的闸门开度	数值型
    double ratedSpeed;	                      //闸门额定速度	数值型
    double gateOpenValue;	                      //闸门全开编码器值	数值型
    double gateOpening;	                      //闸门开度设定	数值型
    double gatePercent;	                      //闸门开度百分比	数值型
    double frontWaterLimit;	                      //闸前水位高限	数值型
    double frontWaterLevel;	                      //闸前水位	数值型
    double backWaterLimit;	                      //闸后水位高限	数值型
    double backWaterLevel;	                      //闸后水位	数值型
    double tailWaterLimit;	                      //下游水位高限	数值型
    double tailWaterLevel;	                      //下游水位	数值型
    double tailNilometerFault;	                      //下游水位计故障	数值型
    double tailNilometerAlarm;	                      //下游水位超限报警	数值型
    double batLowLimit;	                      //电量低阈值	数值型
    QString batVolt;	                      //设备电池电压	数值型
    QString batEnergy;	                      //设备电池电量	数值型
    double flowSpeed;	                      //瞬时流速	数值型
    double flowRate;	                      //瞬时流量	数值型
    double totalFlow;	                      //累计流量	数值型
    double runTime;                         //运行时间 数值型
    double gateCloseValue;	          //闸门全关编码器值	数值型
    double frontWaterAirHeight;  //闸前水位计空高 数值型
    double backWaterAirHeight;  //闸后水位计空高 数值型
    double tailWaterAirHeight;       //下游水位计空高 数值型
    double gateWidth;      //闸门宽度 数值型
    double conPara;




    double backWaterOffset;
    double tailWaterOffset;
    double frontWaterOffset;




    double backWaterAirHeight_getConfig;
    double backWaterOffset_getConfig;
    double tailWaterAirHeight_getConfig;
    double tailWaterOffset_getConfig;
    double frontWaterAirHeight_getConfig;
    double frontWaterOffset_getConfig;
    double gateWidth_getConfig;
    double totalFlow_getConfig;
    double frontWaterLimit_getConfig;
    double backWaterLimit_getConfig;
    double tailWaterLimit_getConfig;
    int  dropStep_getConfig;
    int wingWall_getConfig;
    QString frontNilometerType_getConfig;
    QString backNilometerType_getConfig;
    QString tailNilometerType_getConfig;


    int controlMode_getConfig;
    double controlPara_getConfig;


signals:
    void sendDataLineEdit(QString data); //用来传递数据的信号

public slots:
    bool eventFilter(QObject *,QEvent *);    //注意这里
    void timerUpdate(QWidget*,QWidget*);
private slots:
    void clientRecvData(); // 客户端接收数据
    void clientRecvDataDebug();//tcp socket server读数据给调试页面
    void getStatusMsgOrder();//发送获取状态信息命令,获取服务器状态信息
    void sendMsgGroup();
    void timeStatusEvent();
    void data_password();
    void login_passwordClose();
    void change_passwd();
    void change_passwdClose();
    void warning_data();
    void closeWindow();


    void on_backBtn_debugPage_clicked();

    void on_autoControlBtn_index_clicked();

    void on_deviceStatusBtn_index_clicked();



    void on_parmConfigBtn_index_clicked();


    void on_deviceManageBtn_index_clicked();



    void on_backBtn_clicked();


    void on_alarmEnquiriesBtn_status_clicked();


    void on_faultQueryBtn_status_clicked();

    void on_backBtn_Status_clicked();


    void on_alarmEnquiriesBtn_alarm_clicked();


    void on_faultQueryBtn_alarm_clicked();


    void on_backBtn_alarm_clicked();


    void on_alarmEnquiriesBtn_fault_clicked();


    void on_faultQueryBtn_fault_clicked();


    void on_backBtn_fault_clicked();


    void on_parmConfigBtn_parmIndex_clicked();


    void on_backBtn_parmIndex_clicked();






    void on_backBtn_gateParm_clicked();


    void on_functionalConfigBtn_parmConfig_clicked();


    void on_gateSelfInspectionBtn_gateParm_clicked();


    void on_functionalParmBtn_parmConfig_clicked();

    void on_backBtn_parmConfig_clicked();



    void on_functionalConfigBtn_functionalConfig_clicked();


    void on_gateParmBtn_functionalConfig_clicked();


    void on_functionalParmBtn_functionalConfig_clicked();


    void on_backBtn_functionalConfig_clicked();


    void on_gateParmBtn_functionalParm_clicked();


    void on_functionalConfigBtn_functionalParm_clicked();


    void on_functionalParmBtn_functionalParm_clicked();


    void on_backBtn_functionalParm_clicked();













    void on_debugBtn_deviceManage_clicked();


    void on_backBtn_deviceManage_clicked();

    void on_gateConfigBtn_parmConfig_clicked();

//    void on_controlMode_textChanged(const QString &arg1);

    void on_limitStatus_textChanged(const QString &arg1);

    void on_encoderValue_textChanged(const QString &arg1);

//    void on_flowMode_textChanged(const QString &arg1);

//    void on_flowStatus_textChanged(const QString &arg1);

    void on_flowRate_textChanged(const QString &arg1);

    void on_totalFlow_textChanged(const QString &arg1);

    void on_frontWaterLevel_textChanged(const QString &arg1);

    void on_backWaterLevel_textChanged(const QString &arg1);

    void on_tailWaterLevel_textChanged(const QString &arg1);

    void on_controlStatus_textChanged(const QString &arg1);



    void on_iot_id_textChanged(const QString &arg1);

    void on_devOnline_textChanged(const QString &arg1);

    void on_devAlarm_textChanged(const QString &arg1);

    void on_devFault_textChanged(const QString &arg1);

    void on_temp_textChanged(const QString &arg1);

    void on_chargeStatus_textChanged(const QString &arg1);

    void on_batVolt_textChanged(const QString &arg1);

    void on_batEnergy_textChanged(const QString &arg1);

    void on_rssi_textChanged(const QString &arg1);

    void on_videoSync_textChanged(const QString &arg1);

    void on_bootTime_textChanged(const QString &arg1);



    void on_configSyncTime_textChanged(const QString &arg1);

    void on_encoderType_textChanged(const QString &arg1);


    void on_gateCorrectingStatus_textChanged(const QString &arg1);

    void on_frontNilometerType_textChanged(const QString &arg1);

    void on_backNilometerType_textChanged(const QString &arg1);

    void on_tailNilometerType_textChanged(const QString &arg1);

    void on_flowModeConfig_textChanged(const QString &arg1);

    void on_videoEnable_textChanged(const QString &arg1);

    void on_monitorEnable_textChanged(const QString &arg1);

    void on_encoderTypeConfig_textChanged(const QString &arg1);



    void on_encoderValueRatio_textChanged(const QString &arg1);

    void on_ratedSpeed_textChanged(const QString &arg1);

    void on_gateOpenValue_textChanged(const QString &arg1);

    void on_gateCloseValue_textChanged(const QString &arg1);

    void on_gateSelfCheck_textChanged(const QString &arg1);

    void on_frontNilometerTypeConfig_textChanged(const QString &arg1);

    void on_backNilometerTypeConfig_textChanged(const QString &arg1);

    void on_tailNilometerTypeConfig_textChanged(const QString &arg1);




    void on_wingWall_textChanged(const QString &arg1);

    void on_dropStep_textChanged(const QString &arg1);

    void on_totalFlowConfig_textChanged(const QString &arg1);

    void on_devSn_textChanged(const QString &arg1);

    void on_hwVersion_textChanged(const QString &arg1);

    void on_swVersion_textChanged(const QString &arg1);

    void on_mfDay_textChanged(const QString &arg1);

    void on_rebootBtn_deviceManage_clicked();



    void on_configSaveBtn_parmIndex_clicked();

    void on_saveBtn_clicked();

    void on_remoteForbidden_clicked();

    void on_passwordChangeBtn_parmIndex_clicked();

    void on_frontWaterAirHeight_textChanged(const QString &arg1);

    void on_frontWaterLimitConfig_textChanged(const QString &arg1);

    void on_frontWaterOffset_textChanged(const QString &arg1);

    void on_backWaterAirHeight_textChanged(const QString &arg1);

    void on_backWaterLimitConfig_textChanged(const QString &arg1);

    void on_backWaterOffset_textChanged(const QString &arg1);

    void on_tailWaterAirHeight_textChanged(const QString &arg1);

    void on_tailWaterLimitConfig_textChanged(const QString &arg1);

    void on_tailWaterOffset_textChanged(const QString &arg1);

    void on_conPara_textChanged(const QString &arg1);

private:

    QTimer *statusTimer;
    QTimer * closeTimer;
    QTimer  *timeStatus;

};

#endif // MAINWINDOW_H