123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- #include "planthread.h"
- #include <QSettings>
- 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<tables.length();i++){
- if(QString::compare(tables.at(i),"usky_plan_data")==0){
- found = true;
- break;
- }
- }
- if(!found){
- if(db.transaction()){
- db.exec("create table usky_plan_data (planId text,lineId text,pStartTime text,pEndTime text,pType text,pMode text,pExcWeek text,pStartDate text,pExcCycle text,pRestCycle text,placeId text,pCreateTime text);");
- db.exec(QString("insert into usky_plan_data (planId,lineId,pStartTime,pEndTime,pType,pMode,pExcWeek,pStartDate,pExcCycle,pRestCycle,placeId,pCreateTime) values ('%1', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9', '%10', '%11', '%12');").arg(planId).arg(lineId).arg(pStartTime).arg(pEndTime).arg(pType).arg(pMode).arg(pExcWeek).arg(pStartDate).arg(pExcCycle).arg(pRestCycle).arg(placeId).arg(pCreateTime));
- db.commit();
- }
- }else{
- db.exec(QString("insert into usky_plan_data (planId,lineId,pStartTime,pEndTime,pType,pMode,pExcWeek,pStartDate,pExcCycle,pRestCycle,placeId,pCreateTime) values ('%1', '%2', '%3', '%4', '%5', '%6', '%7', '%8', '%9', '%10', '%11', '%12');").arg(planId).arg(lineId).arg(pStartTime).arg(pEndTime).arg(pType).arg(pMode).arg(pExcWeek).arg(pStartDate).arg(pExcCycle).arg(pRestCycle).arg(placeId).arg(pCreateTime));
- db.commit();
- }
- }
- db.close();
- }
- void PlanThread::deletePlanData()
- {
- //建立现有数据库连接(这个是在已存在数据库的基础上)
- db = QSqlDatabase::database("landwell_db");
- //直接操作表 在插入数据之前,先清空表中的数据
- if(db.open()){
- bool found = false;
- QStringList tables = db.tables();
- for(int i=0;i<tables.length();i++){
- if(QString::compare(tables.at(i),"usky_plan_data")==0){
- found = true;
- break;
- }
- }
- if(!found){
- }else{
- db.exec("delete from usky_plan_data");
- db.commit();
- }
- }
- db.close();
- }
|