#include "formupload.h" #include "ui_formupload.h" #include "dialogsubmitresponsedetail.h" #include "sncdatabase.h" #include "wscube2.h" #include "respgetusershkjserviceinfo.h" FormUpload::FormUpload(QWidget *parent) : QWidget(parent), ui(new Ui::FormUpload) { ui->setupUi(this); initVariables(); resetUI(); } void FormUpload::setAccountInfo(QMap info) { m_account = info; m_timer->start(); } FormUpload::~FormUpload() { m_timer->stop(); delete m_timer; delete ui; qDebug()<lineEditFilePath->setText(""); ui->lineEditMemo->setText(""); ui->lineEditFilePath->setReadOnly(true); } void FormUpload::on_pushButtonOpen_clicked() { QString selectedFilter; QFileDialog::Options options; QString suffix = "Text Files;Zip File (*.txt;*.zip;*.7z;*.rar)"; QString importDir = SNCDataBase::getImportDir(); if(importDir.isEmpty()) { importDir = QDesktopServices::storageLocation(QDesktopServices::DesktopLocation); } QString fileName = QFileDialog::getOpenFileName(this,"打开文件",importDir,suffix,&selectedFilter,options); QFileInfo fileInfo(fileName); if(!fileInfo.absolutePath().isEmpty()) SNCDataBase::updateImportDir(fileInfo.absolutePath()); if(fileName.isEmpty()) return ; if(fileInfo.suffix()=="zip" || fileInfo.suffix()=="rar" ||fileInfo.suffix()=="7z") { QMessageBox::information(this,"提示","您选择的是压缩文件,上传完毕后将被整合成一个文件!",QMessageBox::Ok); } resetUI(); ui->lineEditFilePath->setText(fileName); } void FormUpload::on_pushButtonSubmit_clicked() { QString filePath = ui->lineEditFilePath->text(); if(!QFile::exists(filePath)) { QMessageBox::critical(this,"提示","文件不存在!",QMessageBox::Ok); return ; } QString memo = ui->lineEditMemo->text(); QString fileType ; if(ui->radioButtonNum->isChecked()) fileType = "1"; if(ui->radioButtonSeg->isChecked()) fileType = "2"; QString taskType = "1"; QFileInfo fileInfo(filePath); QString fileName = fileInfo.fileName(); QString usercode = m_account.value("usercode"); SNCDataBase::addFileUpload("shkj","",usercode,fileName,filePath,fileType,taskType,memo); emit dataUpdated(); emit buttonCloseClicked(); } void FormUpload::on_pushButtonClose_clicked() { emit buttonCloseClicked(); } void FormUpload::onTimeOut() { WSCube2 cube; QString json = cube.getUserSHKJServiceInfo(m_account.value("ssohash")); RespGetUserSHKJServiceInfo resp(json); if(resp.getRtnCode()==1) { double daymax = resp.getShkjDayMaxSubmitHmzs().toDouble()/10000; double daysubmit = resp.getShkjDaySubmitHmzs().toDouble()/10000; double monthdown = resp.getMonthDownShzs().toDouble()/10000; double monthdownmax = resp.getMonthMaxDownShzs().toDouble()/10000; double r; r = qMin(daymax-daysubmit,monthdownmax-monthdown); r = daymax-daysubmit; if(r<=0) ui->pushButtonSubmit->setEnabled(true); ui->labelTip->setText(QString("本日最大可提交%1万,已累计提交%2万,还可提交%3万").arg(daymax).arg(daysubmit).arg(r)); } else { ui->labelTip->setText(QString("无法获取实号快检的资费信息,错误原因:%1").arg(resp.getRtnMemo())); } m_timer->stop(); } void FormUpload::initVariables() { m_timer = new QTimer(); m_timer->setInterval(100); m_timer->stop(); connect(m_timer,SIGNAL(timeout()),this,SLOT(onTimeOut())); }