You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
2.0 KiB
C++

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/*
* File: DataDeal.h
* Author: shjd
*
* Created on 2018年3月29日, 上午9:38
*/
#ifndef DATADEAL_H
#define DATADEAL_H
#include <QThread>
#include <QDebug>
#include <QtCore>
#include <QSqlDatabase>
#include "glbtypes.h"
#include "ai_objid.h"
#include "ac_file.h"
class DataDeal : public QThread {
public:
bool isloop;
QDateTime lstRptEnaCKTime;
QString localfilepath;
QString remotefilepath;
QStringList filelst;
QStringList downfilelst;
QStringList srvdownstatelst;
DataDeal();
void GetIedState();
void CheckRptEnaState();
void CheckRptEnaState(int srvindex);
void GetLD(QString rptparamindex,QString tbname,QString colname,int eqmid,QSqlDatabase db);
QString GetDS(AI_IED_CTRL *ied, AI_OBJ_ID dom_id,ST_INT srv_id,QString paramindex);
QString LoadDS(ST_INT srv_id, AI_OBJ_ID ob_id,QString paramindex);
virtual ~DataDeal();
void getfilelist(ST_INT srv_id,QString localfilepath,QString remotefilepath);
void fileupload(ST_INT srv_id,QString localfilepath,ST_CHAR *filename);
void FileListParse(ST_INT srv_id,AC_GETFAV_REQ_CTRL *getfav);
void GetSrvFile();
private:
QString comtradfilepath;
int tempmeasureinterval;
int sf6interval;
int pdinterval;
int microweatherinterval;
int ironcoreinterval;
int moainterval;
int yspinterval;
int yspinterval1;
int yspinterval2;
int jyinterval;
int scurinterval;
int dlginterval;
int jdwinterval;
bool UpdateInsertTable(QString tbname,QString colname,QDateTime dtime,float dvalue,int eqmid,QSqlDatabase db);
void UpdateInsertFile(QString filename,int srvid,QString filepreno,QDateTime filetime,int isup);
protected:
void run();
void GetFileLstFromDB(); //从数据库读取谱图文件记录信息
void PutFileToFtp(); //从数据库读取谱图文件记录信息
};
#endif /* DATADEAL_H */