mirror of
http://172.16.0.230/r/SIF/TowerOptoSifAndSpectral.git
synced 2025-10-18 11:29:43 +08:00
290 lines
8.2 KiB
C++
290 lines
8.2 KiB
C++
#include "DataFileTransfer.h"
|
|
ZZ_HttpTransfer::ZZ_HttpTransfer(QObject* parent /*= nullptr*/)
|
|
{
|
|
m_pNetworkManager = nullptr;
|
|
m_pNetworkManagerThread = nullptr;
|
|
//connect(this, &ZZ_HttpTransfer::SignalInit_Self, this, &ZZ_HttpTransfer::SlotInit_Self);
|
|
}
|
|
|
|
ZZ_HttpTransfer::~ZZ_HttpTransfer()
|
|
{
|
|
if (m_pNetworkManager!= nullptr)
|
|
{
|
|
delete m_pNetworkManager;
|
|
}
|
|
if (m_pNetworkManagerThread != nullptr)
|
|
{
|
|
delete m_pNetworkManagerThread;
|
|
}
|
|
|
|
}
|
|
|
|
// void ZZ_HttpTransfer::Init_Self()
|
|
// {
|
|
// emit SignalInit_Self();
|
|
// }
|
|
|
|
int ZZ_HttpTransfer::SendData()
|
|
{
|
|
if (m_pNetworkManagerThread == nullptr)
|
|
{
|
|
m_pNetworkManagerThread = new QNetworkAccessManager();
|
|
connect(m_pNetworkManagerThread, SIGNAL(finished(QNetworkReply*)), this, SLOT(SlotReplyFinishedThread(QNetworkReply*)));
|
|
}
|
|
|
|
QNetworkRequest qnRequest;
|
|
qnRequest.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json"));
|
|
qnRequest.setUrl(QUrl("http://172.16.0.234/fileup/Data_uper.php"));
|
|
|
|
QByteArray qbSend;
|
|
QString qstrSend;
|
|
for (int i = 0; i < m_struGrabberRTParams.fscParams.ucDeviceNumber; i++)
|
|
{
|
|
for (int j = 0; j < m_struGrabberRTParams.apsParams.iTotalPosition - 1; j++)
|
|
{
|
|
|
|
qstrSend.clear();
|
|
qstrSend = m_vecCalcedData[i][j].qstrGrabDate + "##";
|
|
qstrSend += /*"FS_SN:" +*/ QString::fromLocal8Bit(m_struGrabberRTParams.fscParams.strSN[i].c_str()) + "##";
|
|
qstrSend += /*"Position:" +*/ QString("%1").arg(j + 1) + "##";
|
|
qstrSend += /*"ExpTime:" +*/ QString("%1").arg(m_vecCalcedData[i][j].usExposureTimeInMS) + "##";
|
|
qstrSend += /*"Bands:" +*/ QString("%1").arg(m_vecCalcedData[i][j].iPixels) + "##";
|
|
qstrSend += /*"temp:" +*/ QString("%1").arg(m_vecCalcedData[i][j].fTemperature) + "##";
|
|
|
|
//send
|
|
qbSend.clear();
|
|
qbSend.append(qstrSend.toLatin1());
|
|
qbSend.append((char*)m_vecCalcedData[i][j].fData, sizeof(float)*m_vecCalcedData[i][j].iPixels);
|
|
|
|
m_pNetworkManagerThread->post(qnRequest, qbSend);
|
|
iFlagIsReplied = 0;
|
|
int iCount = 0;
|
|
while (!iFlagIsReplied)
|
|
{
|
|
iCount++;
|
|
Delay_MSec(500);
|
|
if (iCount > 20)
|
|
{
|
|
iFlagIsReplied = 1;
|
|
qDebug() << "Reply Timeout:Upload Data ";
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|
|
}
|
|
|
|
int ZZ_HttpTransfer::SendInfo()
|
|
{
|
|
if (m_pNetworkManager == nullptr)
|
|
{
|
|
m_pNetworkManager = new QNetworkAccessManager();
|
|
connect(m_pNetworkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(SlotReplyFinished(QNetworkReply*)));
|
|
}
|
|
|
|
QNetworkRequest qnRequest;
|
|
qnRequest.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json"));
|
|
qnRequest.setUrl(QUrl("http://172.16.0.234/fileup/Dev_info_uper.php"));
|
|
|
|
QByteArray qbSend;
|
|
QString qstrSend;
|
|
QString qstrWaveLength;
|
|
iFlagIsReplied = false;
|
|
for (int i = 0; i < m_struGrabberRTParams.fscParams.ucDeviceNumber; i++)
|
|
{
|
|
qstrSend = "Location:" + QString("%1").arg(m_struEC.qstrLocation) + "####";
|
|
qstrSend += "DEV_SN:" + QString("%1").arg(m_struEC.qstrDEV_SN) + "####";
|
|
qstrSend += "FS_SN:" + QString::fromLocal8Bit(m_struGrabberRTParams.fscParams.strSN[i].c_str()) + "####";
|
|
qstrSend += "GPS_Longtitude:" + QString("%1").arg(m_struEC.qstrGPS_Longtitude) + "####";
|
|
qstrSend += "GPS_Latitude:" + QString("%1").arg(m_struEC.qstrGPS_Latitude) + "####";
|
|
qstrSend += "GPS_Altitude:" + QString("%1").arg(m_struEC.qstrGPS_Altitude) + "####";
|
|
qstrSend += "GPS_North:" + QString("%1").arg(m_struEC.qstrGPS_North) + "####";
|
|
qstrSend += "InstallationTime:" + QString("%1").arg(m_struMEC.qstrInstallationTime) + "####";
|
|
qstrSend += "NameOfMaintenanceStaff:" + QString("%1").arg(m_struMEC.qstrNameOfMaintenanceStaff) + "####";
|
|
qstrSend += "PhoneNumberOfMaintenanceStaff:" + QString("%1").arg(m_struMEC.qstrPhoneNumberOfMaintenanceStaff) + "####";
|
|
qstrSend += "Bands:" + QString("%1").arg(m_struGrabberRTParams.fscParams.usPixels[i]) + "####";
|
|
qstrSend += "Positions:" + QString("%1").arg(m_struGrabberRTParams.apsParams.iTotalPosition-1) + "####";
|
|
qstrSend += "WaveLength:";
|
|
for (int j=0;j< m_struGrabberRTParams.fscParams.usPixels[i];j++)
|
|
{
|
|
qstrWaveLength = QString("%1").arg(m_struGrabberRTParams.fscParams.fWavelength[i][j]);
|
|
qstrSend += qstrWaveLength;
|
|
if (j == m_struGrabberRTParams.fscParams.usPixels[i]-1)
|
|
{
|
|
//qstrSend += "####";
|
|
}
|
|
else
|
|
{
|
|
qstrSend += ",";
|
|
}
|
|
}
|
|
|
|
qbSend = qstrSend.toLatin1();
|
|
m_pNetworkManager->post(qnRequest, qbSend);
|
|
iFlagIsReplied = 0;
|
|
int iCount = 0;
|
|
while (!iFlagIsReplied)
|
|
{
|
|
iCount++;
|
|
Delay_MSec(500);
|
|
if (iCount>2)
|
|
{
|
|
iFlagIsReplied = 1;
|
|
qDebug() << "Reply Timeout:Upload Info ";
|
|
}
|
|
}
|
|
}
|
|
|
|
//qDebug() << qstrSend;
|
|
|
|
return 0;
|
|
}
|
|
|
|
int ZZ_HttpTransfer::SendErr()
|
|
{
|
|
if (m_pNetworkManager == nullptr)
|
|
{
|
|
m_pNetworkManager = new QNetworkAccessManager();
|
|
connect(m_pNetworkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(SlotReplyFinished(QNetworkReply*)));
|
|
}
|
|
|
|
QNetworkRequest qnRequest;
|
|
qnRequest.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json"));
|
|
qnRequest.setUrl(QUrl("http://172.16.0.234/fileup/Warning.php"));
|
|
|
|
QByteArray qbSend;
|
|
QString qstrSend;
|
|
qbSend.clear();
|
|
qstrSend.clear();
|
|
|
|
if (m_struErrInfo.fChassisTempErr==-1000)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
qstrSend += "Case_Temp:" + QString("%1").arg(m_struErrInfo.iDataTransferErr);
|
|
}
|
|
if (m_struErrInfo.fTecTempErr == -1000)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
qstrSend += "##TEC_Temp:" + QString("%1").arg(m_struErrInfo.fTecTempErr);
|
|
}
|
|
if (m_struErrInfo.iDataTransferErr == -1000)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
qstrSend += "##No_Data:" + QString("%1").arg(m_struErrInfo.iDataTransferErr);
|
|
}
|
|
if (m_struErrInfo.iShutterErr == -1000)
|
|
{
|
|
|
|
}
|
|
else
|
|
{
|
|
qstrSend += "##Shutter_Pos:" + QString("%1").arg(m_struErrInfo.iDataTransferErr);
|
|
}
|
|
|
|
qbSend = qstrSend.toLatin1();
|
|
m_pNetworkManager->post(qnRequest, qbSend);
|
|
iFlagIsReplied = 0;
|
|
int iCount = 0;
|
|
while (!iFlagIsReplied)
|
|
{
|
|
iCount++;
|
|
Delay_MSec(500);
|
|
if (iCount > 2)
|
|
{
|
|
iFlagIsReplied = 1;
|
|
qDebug() << "Reply Timeout:Upload Info ";
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
void ZZ_HttpTransfer::SetErrInfo(ErrInfo struErrInfo)
|
|
{
|
|
m_struErrInfo = struErrInfo;
|
|
}
|
|
|
|
void ZZ_HttpTransfer::SetContext(EContext struEC, MEContext struMEC)
|
|
{
|
|
m_struEC = struEC;
|
|
m_struMEC = struMEC;
|
|
}
|
|
|
|
void ZZ_HttpTransfer::SetDeviceInfo(RunTimeGrabberParams struGrabberRTParams)
|
|
{
|
|
m_struGrabberRTParams = struGrabberRTParams;
|
|
}
|
|
|
|
void ZZ_HttpTransfer::SetCalData(vector<vector<CalDataFrame>> vecCalcedData)
|
|
{
|
|
m_vecCalcedData.clear();
|
|
m_vecCalcedData = vecCalcedData;
|
|
}
|
|
|
|
void ZZ_HttpTransfer::Delay_MSec(ZZ_U16 usMS)
|
|
{
|
|
QEventLoop qeLoop;
|
|
QTimer::singleShot(usMS, &qeLoop, SLOT(quit()));
|
|
qeLoop.exec();
|
|
}
|
|
|
|
int ZZ_HttpTransfer::SlotReplyFinished(QNetworkReply* qnReply)
|
|
{
|
|
|
|
QString qstrURL = qnReply->url().toString();
|
|
QByteArray qbData = qnReply->readAll();
|
|
if (qnReply->error()== QNetworkReply::NoError)
|
|
{
|
|
iFlagIsReplied = 1;
|
|
}
|
|
qnReply->abort();
|
|
qnReply->close();
|
|
qnReply->deleteLater();
|
|
qnReply = NULL;
|
|
//delete qnReply;
|
|
return 0;
|
|
}
|
|
|
|
int ZZ_HttpTransfer::SlotReplyFinishedThread(QNetworkReply* qnReply)
|
|
{
|
|
|
|
QString qstrURL = qnReply->url().toString();
|
|
QByteArray qbData = qnReply->readAll();
|
|
if (qnReply->error() == QNetworkReply::NoError)
|
|
{
|
|
iFlagIsReplied = 1;
|
|
}
|
|
qnReply->abort();
|
|
qnReply->close();
|
|
qnReply->deleteLater();
|
|
qnReply = NULL;
|
|
//delete qnReply;
|
|
return 0;
|
|
}
|
|
|
|
// int ZZ_HttpTransfer::SlotInit_Self()
|
|
// {
|
|
// if (m_pNetworkManager == nullptr)
|
|
// {
|
|
// m_pNetworkManager = new QNetworkAccessManager();
|
|
// connect(m_pNetworkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(SlotReplyFinished(QNetworkReply*)));
|
|
// }
|
|
// else
|
|
// {
|
|
// delete m_pNetworkManager;
|
|
// m_pNetworkManager = new QNetworkAccessManager();
|
|
// connect(m_pNetworkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(SlotReplyFinished(QNetworkReply*)));
|
|
// }
|
|
// return 0;
|
|
// }
|