#include "planthread.h" #include PlanThread::PlanThread(QObject *parent) : QThread(parent) { naManagerPlan = new QNetworkAccessManager(this); //QNetworkAccessManager 向前台发送消息,等消息finished之后,才可以触发收前台返回的数据(不能把发送前台消息操作和前台返回数据操作放在一个函数里处理,有先后顺序) QObject::connect(naManagerPlan, &QNetworkAccessManager::finished, this, &PlanThread::getData); } void PlanThread::SendJSONData(QByteArray m_httpData) { QNetworkRequest request; QSettings sets("sys.ini", QSettings::IniFormat); QString planUrl = sets.value("PLAN_HTTPURL").toString(); //前端测试环境 //request.setUrl(QUrl(planUrl)); QSslConfiguration config = request.sslConfiguration(); config.setPeerVerifyMode(QSslSocket::VerifyNone); config.setProtocol(QSsl::TlsV1SslV3); request.setSslConfiguration(config); request.setUrl(QUrl(planUrl)); //request.setHeader(QNetworkRequest::ContentTypeHeader,QVariant("application/json")); //前端生产环境 //request.setUrl(QUrl("http://121.40.217.77:8081/pt/ptPlanPush")); reply = naManagerPlan->post(request, m_httpData); } void PlanThread::getData(QNetworkReply*) { QString responseData; reply->attribute(QNetworkRequest::HttpStatusCodeAttribute); reply->attribute(QNetworkRequest::RedirectionTargetAttribute); QNetworkReply::NetworkError err = reply->error(); if(err != QNetworkReply::NoError) { responseData.append(QString("Failed: %1").arg(reply->errorString())); } else { // 获取返回内容 QString string = QString::fromUtf8(reply->readAll()); responseData.append(QString::fromUtf8("%1").arg(string)); } reply->deleteLater(); logList.append(responseData); QDate today = QDate::currentDate(); QFile file(QString("log/responsePlanData-%1%2%3.txt").arg(today.year(),4,10,QChar('0')).arg(today.month(),2,10,QChar('0')).arg(today.day(),2,10,QChar('0'))); if(file.open(QIODevice::Text|QIODevice::Append|QIODevice::WriteOnly)){ while (logList.length()>0) { file.write(logList.first().toUtf8()+"\n"); logList.removeFirst(); usleep(10000); } file.close(); } } void PlanThread::DealAccessDBData(QString planId,QString lineId,QString pStartTime,QString pEndTime,QString pType,QString pMode,QString pExcWeek,QString pStartDate,QString pExcCycle,QString pRestCycle,QString placeId,QString pCreateTime) { if(db.open()){ bool found = false; QStringList tables = db.tables(); for(int i=0;i