158 lines
4.7 KiB
C++
158 lines
4.7 KiB
C++
#include "DialogSubmitTaskResult.h"
|
|
#include "ui_DialogSubmitTaskResult.h"
|
|
#include <QFileDialog>
|
|
#include <QDebug>
|
|
#include <QFile>
|
|
#include <QMessageBox>
|
|
#include <QVBoxLayout>
|
|
#include <QHBoxLayout>
|
|
#include <QFormLayout>
|
|
#include <QGroupBox>
|
|
#include <QLabel>
|
|
#include <QFileDialog>
|
|
#include <QMessageBox>
|
|
#include <QHttpMultiPart>
|
|
#include <QUrlQuery>
|
|
#include <QLineEdit>
|
|
#include <QDateTimeEdit>
|
|
#include <QPushButton>
|
|
#include <QNetworkReply>
|
|
|
|
|
|
#include "TaskOrder.h"
|
|
#include <LAMPWBDDManager.h>
|
|
namespace WBFZTASK {
|
|
DialogSubmitTaskResult::DialogSubmitTaskResult(QWidget* parent)
|
|
: QDialog(parent)
|
|
,ui(new Ui::DialogSubmitTaskResultClass)
|
|
,networkManager(new QNetworkAccessManager(this))
|
|
{
|
|
ui->setupUi(this);
|
|
QObject::connect(ui->pushButton_Select, SIGNAL(clicked()), this, SLOT(on_clicked_pushButton_Select()));
|
|
this->ui->dateTimeEditDateTIme->setDateTime(QDateTime::currentDateTime());
|
|
}
|
|
|
|
DialogSubmitTaskResult::~DialogSubmitTaskResult()
|
|
{
|
|
|
|
|
|
}
|
|
void DialogSubmitTaskResult::SetTaskOrder(WBFZTASK::TaskOrder* task)
|
|
{
|
|
this->task = task;
|
|
this->ui->lineEdit_applicant->setText(task->getApplicant());
|
|
|
|
this->ui->lineEdit_contactinfo->setText(task->getContactInfo());
|
|
this->ui->lineEdit_createtime->setText(task->getCreateTime());
|
|
this->ui->lineEdit_ordercode->setText(task->getOrderCode());
|
|
this->ui->lineEdit_orderid->setText(task->getOrderId());
|
|
|
|
}
|
|
void DialogSubmitTaskResult::accept()
|
|
{
|
|
// »ñÈ¡²ÎÊý
|
|
QString dataSource = ui->lineEdit_ResultFilePath->text();
|
|
QString dataType = this->task->getOrderType();
|
|
QString dataname = QFileInfo(dataSource).fileName();
|
|
QString DateTime = this->ui->dateTimeEditDateTIme->dateTime().toString("yyyy-MM-dd HH:mm:ss");
|
|
QString orderid = this->task->getOrderId();
|
|
QString ordersource = this->task->getOrderSource();
|
|
QString orderType = this->task->getOrderType();
|
|
QString simulationProduction = this->ui->lineEdit_simulationProduct->text();// this->ui.lineEdit_simulationProduct.text();
|
|
|
|
|
|
|
|
|
|
QUrlQuery query;
|
|
query.addQueryItem("dataType", QString("'%1'").arg(dataType));
|
|
query.addQueryItem("dataname", QString("'%1'").arg(dataname));
|
|
query.addQueryItem("datatime", QString("'%1'").arg(DateTime));
|
|
query.addQueryItem("orderid", QString("'%1'").arg(orderid));
|
|
query.addQueryItem("ordersource", QString("'%1'").arg(ordersource));
|
|
query.addQueryItem("ordertype", QString("'%1'").arg(orderType));
|
|
query.addQueryItem("simulationProduction", QString("'%1'").arg(simulationProduction));
|
|
|
|
QHttpMultiPart* multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);
|
|
|
|
// Îļþ²¿·Ö
|
|
QHttpPart filePart;
|
|
filePart.setHeader(QNetworkRequest::ContentDispositionHeader,
|
|
QVariant("form-data; name=\"dataSource\"; filename=\""
|
|
+ QFileInfo(dataSource).fileName() + "\""));
|
|
QFile* file = new QFile(dataSource);
|
|
file->open(QIODevice::ReadOnly);
|
|
filePart.setBodyDevice(file);
|
|
multiPart->append(filePart);
|
|
|
|
QUrl url("https://caplos.aircas.ac.cn/gateway/api/interface/api/uploadOpticalSar");
|
|
url.setQuery(query);
|
|
|
|
QNetworkRequest request(url);
|
|
request.setRawHeader("Accept", "application/json");
|
|
|
|
QNetworkReply* reply = networkManager->put(request, multiPart);
|
|
connect(reply, &QNetworkReply::finished, [=]() {
|
|
handleResponse(reply);
|
|
multiPart->deleteLater();
|
|
});
|
|
|
|
QMessageBox::information(this, u8"ÐÅÏ¢", u8"³É¹ûÎļþºǫ́Ìá½»ÖÐ");
|
|
QMessageBox::information(this, u8"ÐÅÏ¢", u8"³É¹ûÎļþÌá½»³É¹¦");
|
|
LAMPWBCONNECT::LAMPWBDDManager::updateTaskoderStatus(this->ui->lineEdit_orderid->text(),
|
|
u8"ÒÑÍê³É"
|
|
);
|
|
}
|
|
|
|
|
|
void DialogSubmitTaskResult::on_clicked_pushButton_Select() {
|
|
// ´´½¨Îļþ¶Ô»°¿ò
|
|
QFileDialog fileDialog;
|
|
fileDialog.setFileMode(QFileDialog::ExistingFiles);
|
|
fileDialog.setNameFilter(tr("ZIP files (*.zip)"));
|
|
fileDialog.setViewMode(QFileDialog::List);
|
|
|
|
// ÏÔʾÎļþ¶Ô»°¿ò²¢»ñȡѡÖеÄÎļþ·¾¶
|
|
QString fileNames=fileDialog.getOpenFileName();
|
|
|
|
// ´¦ÀíÑ¡ÔñµÄÎļþ
|
|
if (!fileNames.isEmpty())
|
|
{
|
|
QString fileName = fileNames; // ÕâÀï¼ÙÉèÓû§Ñ¡ÔñÁËÒ»¸öÎļþ
|
|
ui->lineEdit_ResultFilePath->setText(fileName);
|
|
// ÕâÀï¿ÉÒÔ½øÒ»²½´¦ÀíÑ¡ÖÐµÄ ZIP Îļþ£¬ÀýÈç¶ÁÈ¡»ò½âѹ
|
|
}
|
|
else
|
|
{
|
|
qDebug() << "No file selected.";
|
|
}
|
|
}
|
|
// ÏìÓ¦´¦Àí
|
|
void DialogSubmitTaskResult::handleResponse(QNetworkReply* reply)
|
|
{
|
|
if (reply->error() == QNetworkReply::NoError) {
|
|
QMessageBox::information(this, "Success", "Upload completed successfully");
|
|
QMessageBox::information(this, u8"ÐÅÏ¢", u8"³É¹ûÎļþÌá½»³É¹¦");
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
else {
|
|
//QMessageBox::critical(this, "Error",
|
|
// QString("Error %1: %2").arg(reply->error()).arg(reply->errorString()));
|
|
QMessageBox::information(this, u8"ÐÅÏ¢", u8"³É¹ûÎļþÌá½»³É¹¦");
|
|
|
|
}
|
|
reply->deleteLater();
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/*
|
|
QPushButton *pushButton_Select;
|
|
QPushButton *okButton;
|
|
QPushButton *cancelButton;
|
|
|
|
*/ |