| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862 |
- #include "formwoolfinished.h"
- #include "ui_formwoolfinished.h"
- #include "sncdatabase.h"
- #include "respdlfhymresultfile.h"
- #include "zip.h"
- FormWoolFinished::FormWoolFinished(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::FormWoolFinished)
- {
- ui->setupUi(this);
- initVariables();
- initUI();
- setTableWidgetNoData(ui->tableWidget);
- setDetailNoData();
- }
- //void FormWoolFinished::setClientID(QString clientID)
- //{
- // m_clientID = clientID;
- //}
- void FormWoolFinished::setClientName(QString clientName)
- {
- m_clientName = clientName;
- }
- void FormWoolFinished::setHost(QString host, QString port)
- {
- m_host = host;
- m_port = port;
- // m_wool->setHost(m_host,m_port);
- }
- FormWoolFinished::~FormWoolFinished()
- {
- m_wool->abort();
- m_movieBig->stop();
- delete m_movieBig;
- delete m_wool;
- delete ui;
- qDebug() << QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")\
- << "FormWool.FormWoolFinished Destroyed.";
- }
- void FormWoolFinished::initVariables()
- {
- m_clientName = "wool";
- m_movieBig = new QMovie(":/fetchfromserver.gif");
- m_movieBig->start();
- m_keys << "taskid" << "isdeliver" << "pnumfiletype" << "origfilename" << "createtime" << "finishtime"\
- << "hmzs" << "feecount" << "zcsl" << "ycsl" << "wzsl" << "settlefee" << "giftfee";
- m_headers << "" << "状态" << "文件类型" << "原始文件" << "提交时间" << "完成时间" \
- << "号码总数" << "计费数量" << "正常数量" << "异常数量" << "未知数量" << "费用" << "赠送消耗" << "下载";
- m_state = NotLogin;
- m_curLtfid = "";
- m_curQryid = "";
- m_lastLtfid = "";
- m_wool = new WSWool();
- }
- void FormWoolFinished::setAccountInfo(QMap<QString, QString> info)
- {
- m_account = info;
- QString ssoHash = info.value("ssohash");
- QString userCode = info.value("usercode");
- QString userHash = info.value("ssohash");
- if(!ssoHash.isEmpty())
- {
- if(!userHash.isEmpty())
- {
- m_state = LoginOk;
- setTableWidgetSyncData(ui->tableWidget);
- }
- else
- {
- if(!userCode.isEmpty())
- {
- m_state = LoginError;
- }
- else
- {
- m_state = NotBind;
- }
- }
- }
- else
- {
- m_state = NotLogin;
- }
- if(m_state!=LoginOk)
- {
- setTableWidgetNoData(ui->tableWidget);
- setDetailNoData();
- }
- }
- void FormWoolFinished::initUI()
- {
- ui->tableWidget->setColumnCount(m_headers.size());
- ui->tableWidget->setHorizontalHeaderLabels(m_headers);
- ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
- ui->tableWidget->setShowGrid(false);
- ui->tableWidget->setAlternatingRowColors(true);
- ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
- ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
- ui->tableWidget->verticalHeader()->setVisible(false);
- ui->tableWidget->horizontalHeader()->setStyleSheet("font:12px");
- ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Fixed);
- ui->tableWidget->verticalHeader()->setResizeMode(QHeaderView::Fixed);
- ui->tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- ui->tableWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
- ui->tableWidget->verticalHeader()->setFixedWidth(30);
- ui->tableWidget->setSortingEnabled(true);
- int col = 0;
- ui->tableWidget->setColumnWidth(col++,20);
- ui->tableWidget->setColumnWidth(col++,30);
- ui->tableWidget->setColumnWidth(col++,0);
- ui->tableWidget->setColumnWidth(col++,130);
- ui->tableWidget->setColumnWidth(col++,0);
- ui->tableWidget->setColumnWidth(col++,140);
- ui->tableWidget->setColumnWidth(col++,0);
- ui->tableWidget->setColumnWidth(col++,73);
- ui->tableWidget->setColumnWidth(col++,60);
- ui->tableWidget->setColumnWidth(col++,60);
- ui->tableWidget->setColumnWidth(col++,60);
- ui->tableWidget->setColumnWidth(col++,60);
- ui->tableWidget->setColumnWidth(col++,0);
- ui->tableWidget->setColumnWidth(col++,40);
- //m_headers << "" << "状态" << "文件类型" << "原始文件" << "提交时间" << "完成时间" \
- //<< "号码总数" << "计费数量" << "正常数量" << "异常数量" << "未知数量" << "费用" << "赠送消耗" << "下载";
- ui->widgetExactCheck->setProperty("class","lowframe2");
- //初始化预检测 实号、空、停、关机对应的显示图片exact_result_bg.jpg
- QPixmap exact_result_bg(":/exact_result_bg.jpg");
- int nHeight = exact_result_bg.height()/10;
- int nWidth = exact_result_bg.width();
- ui->labelBarZc->setPixmap(exact_result_bg.copy(QRect(0 , 0 * nHeight, nWidth, nHeight)));
- ui->labelBarYc->setPixmap(exact_result_bg.copy(QRect(0 , 1 * nHeight, nWidth, nHeight)));
- ui->labelBarWz->setPixmap(exact_result_bg.copy(QRect(0 , 4 * nHeight, nWidth, nHeight)));
- //初始化图例图标实号、空、停、关机对应的显示图片sample_small.jpg
- QPixmap sample_small(":/sample_small.jpg");
- nHeight = sample_small.height();
- nWidth = sample_small.width()/10;
- ui->labelSampleZc->setPixmap(sample_small.copy(QRect(0 * nWidth , 0 , nWidth, nHeight)));
- ui->labelSampleYc->setPixmap(sample_small.copy(QRect(1 * nWidth , 0 , nWidth, nHeight)));
- ui->labelSampleWz->setPixmap(sample_small.copy(QRect(4 * nWidth , 0 , nWidth, nHeight)));
- ui->pushButtonDel->setVisible(false);
- }
- void FormWoolFinished::setTableWidgetNoData(QTableWidget *tableWidget)
- {
- prepareTableWidgetCells(tableWidget,15);
- tableWidget->setEnabled(false);
- QTableWidgetItem *item = new QTableWidgetItem();
- item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter);
- item->setText("暂无信息");
- tableWidget->setItem(4,6,item);
- }
- void FormWoolFinished::setDetailNoData()
- {
- ui->labelZc->setText("正常");
- ui->labelYc->setText("异常");
- ui->labelWz->setText("未知");
- //设置上述状态比例的默认宽度为0
- ui->labelBarZc->setFixedWidth(0);
- ui->labelBarYc->setFixedWidth(0);
- ui->labelBarWz->setFixedWidth(0);
- }
- void FormWoolFinished::setTableWidgetSyncData(QTableWidget *tableWidget)
- {
- prepareTableWidgetCells(tableWidget,15);
- tableWidget->setEnabled(false);
- QLabel *lbl = new QLabel();
- QTableWidgetItem *item = new QTableWidgetItem("正在读取...");
- lbl->setMovie(m_movieBig);
- lbl->setAlignment(Qt::AlignRight);
- item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter);
- tableWidget->setItem(4,6,item);
- tableWidget->setCellWidget(4,5,lbl);
- }
- void FormWoolFinished::prepareTableWidgetCells(QTableWidget *tableWidget, int rows)
- {
- tableWidget->setRowCount(0);
- tableWidget->setRowCount(rows);
- }
- void FormWoolFinished::fillDataList(QTableWidget *tableWidget, QStringList keys,
- QMultiMap<QString, QString> list, int rowCount)
- {
- setTableWidgetNoData(tableWidget);
- if(rowCount==0)
- {
- return ;
- }
- prepareTableWidgetCells(tableWidget, rowCount);
- tableWidget->setEnabled(true);
- for(int row = 0;row < rowCount;row++)
- {
- QMap<QString,QString> map;
- for(int col=0;col<keys.size();col++)
- {
- QString key = keys.at(col);
- QString value = list.values(key).at(row);
- map.insert(key,value);
- }
- for(int col=0;col<keys.size();col++)
- {
- QString key = keys.at(col);
- QString value = list.values(key).at(row);
- setCellElement(tableWidget,row,col,key,value,map);
- }
- }
- //添加按钮
- for(int row = 0;row < rowCount;row++)
- {
- QPushButton *button = new QPushButton();
- button->setCursor(Qt::PointingHandCursor);
- button->setProperty("class","imagebutton");
- connect(button,SIGNAL(clicked()),this,SLOT(onSingleDownloadClick()));
- ui->tableWidget->setCellWidget(row,tableWidget->columnCount()-1,button);
- }
- tableWidget->sortByColumn(0);
- tableWidget->sortByColumn(0);
- }
- void FormWoolFinished::setCellElement(QTableWidget *tableWidget, int row, int col,
- QString key,QString value,QMap<QString,QString> data)
- {
- QTableWidgetItem* item = new QTableWidgetItem();
- QVariant display = value;
- QVariant tooltip = value;
- item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
- //进行数据翻译
- if(key=="taskid")
- {
- display = "";
- tooltip = "";
- item->setCheckState(Qt::Unchecked);
- }
- else if(key=="detail")
- {
- QStringList info = display.toString().split("\r\n");
- QString filename;
- if(info.size()>4)
- {
- if(info.at(4).split(":").size()>1)
- {
- filename = info.at(4).split(":").at(1);
- }
- display = filename;
- }
- item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter);
- }
- else if(key=="origfilename")
- {
- display = value;
- tooltip = display;
- }
- else if(key=="feecount")
- {
- display = value.toInt();
- tooltip = display;
- }
- else if(key=="settlefee")
- {
- display = value.toDouble();
- tooltip = display;
- }
- else if(key=="giftfee")
- {
- display = value.toDouble();
- tooltip = display;
- }
- //设置单元格显示形式,是用item填充还是widget填充
- if(key == "isdeliver")
- {
- delete item;
- QLabel *lbl = new QLabel(this);
- lbl->setAlignment(Qt::AlignCenter|Qt::AlignHCenter);
- lbl->setProperty("value",value);
- if(value=="0")
- {
- /*QString ispass = data.value("ispass");
- if(ispass=="0")
- {
- lbl->setPixmap(QPixmap(":/task_nopass.png"));
- lbl->setToolTip("未放行");
- }
- else
- {*/
- lbl->setPixmap(QPixmap(":/todown.png"));
- lbl->setToolTip("未下载");
- //}
- }
- else if(value=="1")
- {
- lbl->setPixmap(QPixmap(":/task_ok.png"));
- lbl->setToolTip("已下载");
- }
- tableWidget->setCellWidget(row,col,lbl);
- }
- else
- {
- item->setData(Qt::DisplayRole,display);
- item->setData(Qt::UserRole,value);
- item->setData(Qt::ToolTipRole,tooltip);
- tableWidget->setItem(row,col,item);
- }
- }
- void FormWoolFinished::query(QString dealstatus)
- {
- QString userCode = m_account.value("usercode");
- QMultiMap<QString,QString> list = SNCDataBase::getWoolCheckFinishInfos(userCode, dealstatus);
- int cols = list.uniqueKeys().size();
- int rows = 0;
- if(cols!=0)
- rows = list.size()/cols;
- if(list.size()==0)
- {
- setTableWidgetNoData(ui->tableWidget);
- setDetailNoData();
- return ;
- }
- QStringList ids;
- QString curId;
- for(int i=0;i<ui->tableWidget->rowCount();i++)
- {
- QTableWidgetItem *item = ui->tableWidget->item(i,0);
- if(item)
- {
- if(item->checkState()==Qt::Checked)
- {
- ids << item->data(Qt::UserRole).toString();
- }
- if(item->isSelected())
- {
- curId = item->data(Qt::UserRole).toString();
- }
- }
- }
- fillDataList(ui->tableWidget,m_keys,list,rows);
- for(int i=0;i<ui->tableWidget->rowCount();i++)
- {
- if(curId.isEmpty())
- {
- ui->tableWidget->selectRow(i);
- on_tableWidget_cellClicked(i,0);
- ui->tableWidget->setFocus();
- break;
- }
- QTableWidgetItem *item = ui->tableWidget->item(i,0);
- if(item)
- {
- QString id = item->data(Qt::UserRole).toString();
- if(curId==id)
- {
- ui->tableWidget->selectRow(i);
- on_tableWidget_cellClicked(i,0);
- ui->tableWidget->setFocus();
- }
- for(int i=0;i<ids.size();i++)
- {
- if(id==ids.at(i))
- {
- item->setCheckState(Qt::Checked);
- break;
- }
- }
- }
- }
- }
- void FormWoolFinished::showRtnMessage(int row)
- {
- }
- bool FormWoolFinished::addFileToZip(QString zipName, QStringList files)
- {
- Zip::ErrorCode ec;
- Zip uz;
- QFile file(zipName);
- if(!file.open(QIODevice::WriteOnly)){
- return false ;
- }
- file.close();
- ec = uz.createArchive(zipName);
- if (ec != Zip::Ok) {
- return false;
- }
- ec = uz.addFiles(files);
- if (ec != Zip::Ok) {
- uz.closeArchive();
- return false;
- }
- if (uz.closeArchive() != Zip::Ok) {
- return false;
- }
- return true;
- }
- void FormWoolFinished::displaySelected(int hmzs, int zcsl, int ycsl, int wzsl)
- {
- if(!(hmzs > 0))
- {
- setDetailNoData();
- return;
- }
- double rateZc, rateYc, rateWz;
- rateZc = zcsl*1.0/hmzs;
- rateYc = ycsl*1.0/hmzs;
- rateWz = wzsl*1.0/hmzs;
- ui->labelZc->setText(QString("正常: %1 (%2%)").arg(zcsl).arg(rateZc*100));
- ui->labelYc->setText(QString("异常: %1 (%2%)").arg(ycsl).arg(rateYc*100));
- ui->labelWz->setText(QString("未知: %1 (%2%)").arg(wzsl).arg(rateWz*100));
- int barLength = 650;
- ui->labelBarZc->setFixedWidth(rateZc*barLength);
- ui->labelBarYc->setFixedWidth(rateYc*barLength);
- ui->labelBarWz->setFixedWidth(rateWz*barLength);
- }
- void FormWoolFinished::onDataUpdated()
- {
- if(ui->radioButtonAll->isChecked())
- {
- query("");
- }
- else if(ui->radioButtonUndown->isChecked())
- {
- query("0");
- }
- else if(ui->radioButtonDown->isChecked())
- {
- query("1");
- }
- }
- QString FormWoolFinished::getSingleZipFileName(QString id)
- {
- QFileDialog::Options options;
- QString selectedFilter;
- QString exportDir = SNCDataBase::getExportDir();
- QString defaultZipFileName = m_clientName + "_" + id ;
- QString saveZipFileName = QFileDialog::getSaveFileName(this,"另存为",exportDir + "\\" + defaultZipFileName,
- tr("ZIP Files (*.zip)"),
- &selectedFilter,
- options);
- if(!saveZipFileName.isEmpty())
- {
- QFileInfo fileInfo(saveZipFileName);
- exportDir = fileInfo.absolutePath();
- SNCDataBase::updateExportDir(exportDir);
- }
- return saveZipFileName;
- }
- void FormWoolFinished::on_pushButtonDownload_clicked()
- {
- if(!chkAccountState(m_state))
- return;
- int selected = 0;
- for(int i=0;i<ui->tableWidget->rowCount();i++)
- {
- QTableWidgetItem *item = ui->tableWidget->item(i,0);
- if(item)
- {
- if(item->checkState()==Qt::Checked)
- selected++;
- }
- }
- if(selected==0)
- {
- QMessageBox::critical(this,"提示","请选择要下载的数据!",QMessageBox::Ok);
- return ;
- }
- QString saveZipFileName = getPackZipFileName();
- if(saveZipFileName.isEmpty())
- return ;
- QDir dir;
- if(!dir.exists(QDir::tempPath()+"/speednumcube"))
- {
- dir.mkdir(QDir::tempPath()+"/speednumcube");
- }
- QString tmpDir = QDir::tempPath()+"/speednumcube/";
- QStringList files;
- ui->pushButtonDownload->setEnabled(false);
- this->setCursor(Qt::WaitCursor);
- for(int i=0;i<ui->tableWidget->rowCount();i++)
- {
- QTableWidgetItem *item = ui->tableWidget->item(i,0);
- if(item->checkState()==Qt::Checked)
- {
- QString id = item->data(Qt::UserRole).toString();
- QString fileName = tmpDir + id + ".zip";
- QFile::remove(fileName);
- if(download(id,fileName,false))
- {
- files.append(fileName);
- }
- }
- }
- this->setCursor(Qt::ArrowCursor);
- if(files.size()>0)
- {
- if(addFileToZip(saveZipFileName,files))
- {
- QMessageBox::information(this,"结果",QString("您选择%1个文件,%2个文件下载成功!")\
- .arg(selected).arg(files.size()),QMessageBox::Ok);
- QFileInfo fileinfo(saveZipFileName);
- SNCDataBase::updateExportDir(fileinfo.absolutePath());
- }
- else
- {
- QMessageBox::critical(this,"结果","检测结果文件下载失败!",QMessageBox::Ok);
- }
- }
- else
- {
- QMessageBox::critical(this,"结果","检测结果文件下载失败!",QMessageBox::Ok);
- }
- ui->pushButtonDownload->setEnabled(true);
- }
- void FormWoolFinished::on_tableWidget_cellClicked(int row, int column)
- {
- if(row>=0&&column>=0)
- {
- //QString detail = ui->tableWidget->item(row,4)->data(Qt::UserRole).toString();
- int hmzs = ui->tableWidget->item(row,6)->data(Qt::UserRole).toInt();
- int zcsl = ui->tableWidget->item(row,8)->data(Qt::UserRole).toInt();
- int ycsl = ui->tableWidget->item(row,9)->data(Qt::UserRole).toInt();
- int wzsl = ui->tableWidget->item(row,10)->data(Qt::UserRole).toInt();
- displaySelected(hmzs, zcsl, ycsl, wzsl);
- }
- }
- void FormWoolFinished::on_radioButtonAll_clicked()
- {
- if(!chkAccountState(m_state))
- return;
- if(ui->radioButtonAll->isChecked())
- {
- query("");
- }
- else if(ui->radioButtonUndown->isChecked())
- {
- query("0");
- }
- else if(ui->radioButtonDown->isChecked())
- {
- query("1");
- }
- }
- void FormWoolFinished::on_radioButtonUndown_clicked()
- {
- if(!chkAccountState(m_state))
- return;
- on_radioButtonAll_clicked();
- }
- void FormWoolFinished::on_radioButtonDown_clicked()
- {
- if(!chkAccountState(m_state))
- return;
- on_radioButtonAll_clicked();
- }
- void FormWoolFinished::on_checkBoxAll_clicked()
- {
- Qt::CheckState state;
- state = ui->checkBoxAll->checkState();
- for(int i=0;i<ui->tableWidget->rowCount();i++)
- {
- QTableWidgetItem *item = ui->tableWidget->item(i,0);
- if(item)
- {
- item->setCheckState(state);
- }
- }
- }
- void FormWoolFinished::on_tableWidget_cellDoubleClicked(int row, int column)
- {
- QString id = "";
- QString ispass = "";
- QTableWidgetItem *item;
- item = ui->tableWidget->item(row,0);
- if(item)
- {
- id = item->data(Qt::UserRole).toString();
- }
- item = ui->tableWidget->item(row,2);
- if(item)
- {
- ispass = item->data(Qt::UserRole).toString();
- }
- if(id.isEmpty())
- {
- QMessageBox::critical(this,"结果","未能获取有效的文件编号!",QMessageBox::Ok);
- return ;
- }
- // if(ispass!="1")
- // {
- // QMessageBox::critical(this,"结果","单子还未放行!",QMessageBox::Ok);
- // return ;
- // }
- QString saveFile = getSingleZipFileName(id);
- if(saveFile.isEmpty())
- return ;
- this->setCursor(Qt::WaitCursor);
- download(id,saveFile,true);
- this->setCursor(Qt::ArrowCursor);
- }
- bool FormWoolFinished::download(QString srvID,QString saveZipFileName,bool show)
- {
- QString cachePath = SNCDataBase::getWoolCachePath(srvID);
- bool iscached = false;
- if(!cachePath.isEmpty())
- {
- if(QFile::exists(cachePath))
- {
- iscached = true;
- }
- }
- if(iscached)
- {
- return downloadFromLocal(saveZipFileName,cachePath,show);
- }
- else
- {
- return downloadFromServer(saveZipFileName,srvID,show);
- }
- }
- bool FormWoolFinished::downloadFromLocal(QString saveFileName,QString cacheFile,bool show)
- {
- QFile::copy(cacheFile,saveFileName);
- if(show)
- QMessageBox::information(this,"提示","下载成功!",QMessageBox::Ok);
- return true;
- }
- bool FormWoolFinished::downloadFromServer(QString saveFileName, QString srvID, bool show)
- {
- QString userHash = m_account.value("ssohash");
- QString json = m_wool->DlfhymResultFile(srvID,userHash);
- RespDlFhymResultFile response(json);
- if(response.getRtnCode()==1)
- {
- QString fileContent = response.getFileContent();
- QByteArray array = QByteArray::fromBase64(fileContent.toAscii());
- QFile file(saveFileName);
- file.open(QIODevice::WriteOnly);
- file.write(array);
- file.close();
- QString cachPath = cacheDownloadFile(saveFileName);
- SNCDataBase::updateWoolCachePath(srvID, cachPath);
- if(show)
- QMessageBox::information(this,"结果","单子下载成功",QMessageBox::Ok);
- return true;
- }
- else
- {
- if(show)
- QMessageBox::critical(this,"结果",response.getRtnMemo(),QMessageBox::Ok);
- return false;
- }
- }
- QString FormWoolFinished::cacheDownloadFile(QString fileName)
- {
- QString userCode = m_account.value("usercode");
- QString date = QDate::currentDate().toString("yyyyMM");
- QString cachePath = QCoreApplication::applicationDirPath()+\
- QString("/../data/%1/cache/Wool/download/%2/").arg(userCode).arg(date);
- QDir dir;
- dir.mkpath(cachePath);
- QFileInfo fileinfo(fileName);
- QFile::copy(fileName,cachePath + fileinfo.fileName());
- return cachePath + fileinfo.fileName();
- }
- bool FormWoolFinished::chkAccountState(AccountLoginState state)
- {
- bool ret = false;
- switch(state)
- {
- case NotLogin:
- QMessageBox::critical(this,"提示","您现在还没有登录系统,请登录后再操作!",QMessageBox::Ok);
- break;
- case NotBind:
- QMessageBox::critical(this,"提示","此项服务尚未开通,请开通后再操作!",QMessageBox::Ok);
- break;
- case LoginError:
- QMessageBox::critical(this,"提示","此项服务暂时无法连接,请稍候重试!",QMessageBox::Ok);
- break;
- default:
- ret = true;
- }
- return ret;
- }
- QString FormWoolFinished::getPackZipFileName()
- {
- QFileDialog::Options options;
- QString selectedFilter;
- QString exportDir = SNCDataBase::getExportDir();
- QString defaultZipFileName = QString(m_clientName);
- int count = 0;
- QString str ="";
- QString download = "";
- for(int i=0;i<ui->tableWidget->rowCount();i++)
- {
- QTableWidgetItem *item = ui->tableWidget->item(i,0);
- if(item)
- {
- if(item->checkState()==Qt::Checked)
- {
- count++;
- str += "_" + item->text();
- /*
- QTableWidgetItem *item2 = ui->tableWidget->item(i,2);
- if(item2)
- {
- if(item2->data(Qt::UserRole).toString()!="1")
- {
- download += item->data(Qt::UserRole).toString()+ " ";
- }
- }*/
- }
- }
- }
- if(count==0)
- return "";
- /*if(!download.isEmpty())
- {
- QMessageBox::critical(this,"提示","您选择的单子" + download + "现在还没有放行,暂时无法下载,请稍候再试!",QMessageBox::Ok);
- return "";
- }*/
- defaultZipFileName += "_" + QString::number(count) + str ;
- QString saveZipFileName = QFileDialog::getSaveFileName(this,"另存为",exportDir + "\\" + defaultZipFileName,
- tr("ZIP Files (*.zip)"),
- &selectedFilter,
- options);
- if(!saveZipFileName.isEmpty())
- {
- QFileInfo fileInfo(saveZipFileName);
- exportDir = fileInfo.absolutePath();
- SNCDataBase::updateExportDir(exportDir);
- }
- return saveZipFileName;
- }
- void FormWoolFinished::on_pushButtonDel_clicked()
- {
- if(!chkAccountState(m_state))
- return ;
- bool nodata = true;
- for(int i=0;i<ui->tableWidget->rowCount();i++)
- {
- QTableWidgetItem *item = ui->tableWidget->item(i,0);
- if(item)
- {
- if(item->checkState()==Qt::Checked)
- {
- nodata = false;
- }
- }
- }
- if(nodata)
- {
- QMessageBox::critical(this,"提示","请选择要删除的单子",QMessageBox::Ok);
- return ;
- }
- for(int i=0;i<ui->tableWidget->rowCount();i++)
- {
- QTableWidgetItem *item = ui->tableWidget->item(i,0);
- if(item)
- {
- if(item->checkState()==Qt::Checked)
- {
- QTableWidgetItem *item = ui->tableWidget->item(i,6);
- if(item)
- {
- QDateTime datetime = QDateTime::currentDateTime();
- QDateTime datetime2 = QDateTime::fromString(item->data(Qt::UserRole).toString(),"yyyy-MM-dd hh:mm:ss");
- if(datetime2>datetime.addDays(-3))
- {
- QMessageBox::critical(this,"提示","你只能删除3天前的单子,3天内的单子系统会自动同步",QMessageBox::Ok);
- return ;
- }
- }
- }
- }
- }
- for(int i=0;i<ui->tableWidget->rowCount();i++)
- {
- QTableWidgetItem *item = ui->tableWidget->item(i,0);
- if(item)
- {
- if(item->checkState()==Qt::Checked)
- {
- QString id = item->data(Qt::UserRole).toString();
- SNCDataBase::delShkjByID(id);
- }
- }
- }
- on_radioButtonAll_clicked();
- }
- void FormWoolFinished::onSingleDownloadClick()
- {
- QPushButton *btn = qobject_cast<QPushButton*>(sender());
- for(int i=0;i<ui->tableWidget->rowCount();i++)
- {
- QWidget *widget = ui->tableWidget->cellWidget(i,13);
- if(widget)
- {
- if(btn==qobject_cast<QPushButton*>(widget))
- {
- on_tableWidget_cellDoubleClicked(i,1);
- break;
- }
- }
- }
- }
|