2025-03-18 15:16:16 +00:00
# include "DialogSubmitTaskResult.h"
# include "ui_DialogSubmitTaskResult.h"
# include <QFileDialog>
# include <QDebug>
# include <QFile>
# include <QMessageBox>
2025-04-15 11:06:31 +00:00
# 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>
2025-03-18 15:16:16 +00:00
# include "TaskOrder.h"
namespace WBFZTASK {
DialogSubmitTaskResult : : DialogSubmitTaskResult ( QWidget * parent )
: QDialog ( parent )
, ui ( new Ui : : DialogSubmitTaskResultClass )
2025-04-15 11:06:31 +00:00
, networkManager ( new QNetworkAccessManager ( this ) )
2025-03-18 15:16:16 +00:00
{
ui - > setupUi ( this ) ;
QObject : : connect ( ui - > pushButton_Select , SIGNAL ( clicked ( ) ) , this , SLOT ( on_clicked_pushButton_Select ( ) ) ) ;
2025-04-15 11:06:31 +00:00
this - > ui - > dateTimeEditDateTIme - > setDateTime ( QDateTime : : currentDateTime ( ) ) ;
2025-03-18 15:16:16 +00:00
}
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 ( ) ) ;
2025-04-15 11:06:31 +00:00
this - > ui - > lineEdit_orderid - > setText ( task - > getOrderId ( ) ) ;
2025-03-18 15:16:16 +00:00
}
void DialogSubmitTaskResult : : accept ( )
{
2025-04-15 11:06:31 +00:00
// <20> <> ȡ<EFBFBD> <C8A1> <EFBFBD> <EFBFBD>
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 ) ;
// <20> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD>
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 ( ) ;
} ) ;
2025-03-18 15:16:16 +00:00
QMessageBox : : information ( this , u8 " <EFBFBD> <EFBFBD> Ϣ" , u8 " <EFBFBD> ɹ<EFBFBD> <EFBFBD> ļ<EFBFBD> <EFBFBD> ύ<EFBFBD> ɹ<EFBFBD> " ) ;
}
void DialogSubmitTaskResult : : on_clicked_pushButton_Select ( ) {
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD> <C4BC> Ի<EFBFBD> <D4BB> <EFBFBD>
QFileDialog fileDialog ;
fileDialog . setFileMode ( QFileDialog : : ExistingFiles ) ;
fileDialog . setNameFilter ( tr ( " ZIP files (*.zip) " ) ) ;
fileDialog . setViewMode ( QFileDialog : : List ) ;
// <20> <> ʾ <EFBFBD> ļ<EFBFBD> <C4BC> Ի<EFBFBD> <D4BB> <EFBFBD> ȡѡ <C8A1> е <EFBFBD> <D0B5> ļ<EFBFBD> ·<EFBFBD> <C2B7>
QString fileNames = fileDialog . getOpenFileName ( ) ;
// <20> <> <EFBFBD> <EFBFBD> ѡ <EFBFBD> <D1A1> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD>
if ( ! fileNames . isEmpty ( ) )
{
QString fileName = fileNames ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> û<EFBFBD> ѡ <EFBFBD> <D1A1> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> ļ<EFBFBD>
ui - > lineEdit_ResultFilePath - > setText ( fileName ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Խ<EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ѡ <EFBFBD> е <EFBFBD> ZIP <20> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ȡ<EFBFBD> <C8A1> <EFBFBD> <EFBFBD> ѹ
}
else
{
qDebug ( ) < < " No file selected. " ;
}
}
2025-04-15 11:06:31 +00:00
// <20> <> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD>
void DialogSubmitTaskResult : : handleResponse ( QNetworkReply * reply )
{
if ( reply - > error ( ) = = QNetworkReply : : NoError ) {
QMessageBox : : information ( this , " Success " , " Upload completed successfully " ) ;
}
else {
QMessageBox : : critical ( this , " Error " ,
QString ( " Error %1: %2 " ) . arg ( reply - > error ( ) ) . arg ( reply - > errorString ( ) ) ) ;
}
reply - > deleteLater ( ) ;
}
2025-03-18 15:16:16 +00:00
}
/*
QPushButton * pushButton_Select ;
QPushButton * okButton ;
QPushButton * cancelButton ;
*/