| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840 |
- #include "formmain.h"
- #include "ui_formmain.h"
- #include "respgetuserinfo.h"
- #include "respsubminpnum.h"
- #include "respgetdealinfo.h"
- #include "respcancelbatch.h"
- #include "respgetcostinfo.h"
- #include "respgetchargeinfo.h"
- #include "respgetfinishedinfo.h"
- #include "respdlresultfile.h"
- #include "respgetservertime.h"
- #include "respencrypt.h"
- #include "sncdatabase.h"
- #include "zip.h"
- #include "dialogsubmit.h"
- #include "respgetuserblance.h"
- #include "dialogsubmitresponsedetail.h"
- FormMain::FormMain(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::FormMain)
- {
- ui->setupUi(this);
- initVariables();
- initUI();
- resetUI();
- setAccountAreaUI(NotLogin);
- }
- FormMain::~FormMain()
- {
- if(m_timer)
- {
- m_timer->stop();
- delete m_timer;
- }
- if(m_numChkWs)
- {
- m_numChkWs->abort();
- delete m_numChkWs;
- }
- if(m_ssoWs)
- {
- m_ssoWs->abort();
- delete m_ssoWs;
- }
- if(m_upload)
- {
- m_upload->abort();
- m_upload->wait();
- delete m_upload;
- }
- if(m_sync)
- {
- m_sync->abort();
- m_sync->wait();
- delete m_sync;
- }
- if(m_movie)
- {
- m_movie->stop();
- delete m_movie;
- }
- delete ui;
- qDebug()<<QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")\
- <<"FormNumchk.FormMain Destroyed.";
- }
- void FormMain::initUI()
- {
- ui->pushButtonCharge->setProperty("class","txt-green");
- ui->pushButtonLogin->setProperty("class","txt-green");
- ui->pushButtonPay->setProperty("class","txt-green");
- ui->labelToPay->setStyleSheet("QLabel{color:red}");
- ui->pushButtonRefreshUserState->setProperty("class","txt-green");
- ui->pushButtonSelect->setProperty("class","txt-green-autowidth");
- 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->labelBarShiHao->setPixmap(exact_result_bg.copy(QRect(0 , 2 * nHeight, nWidth, nHeight)));
- ui->labelBarKong->setPixmap(exact_result_bg.copy(QRect(0 , 3 * nHeight, nWidth, nHeight)));
- ui->labelBarTing->setPixmap(exact_result_bg.copy(QRect(0 , 4 * nHeight, nWidth, nHeight)));
- ui->labelBarGuan->setPixmap(exact_result_bg.copy(QRect(0 , 5 * nHeight, nWidth, nHeight)));
- ui->labelBarHrxz->setPixmap(exact_result_bg.copy(QRect(0 , 6 * nHeight, nWidth, nHeight)));
- ui->labelBarWfjt->setPixmap(exact_result_bg.copy(QRect(0 , 7 * nHeight, nWidth, nHeight)));
- ui->labelBarLdtx->setPixmap(exact_result_bg.copy(QRect(0 , 8 * nHeight, nWidth, nHeight)));
- ui->labelBarOther->setPixmap(exact_result_bg.copy(QRect(0 , 9 * nHeight, nWidth, nHeight)));
- //初始化图例图标实号、空、停、关机对应的显示图片sample_small.jpg
- QPixmap sample_small(":/sample_small.jpg");
- nHeight = sample_small.height();
- nWidth = sample_small.width()/10;
- ui->labelSampleShiHao->setPixmap(sample_small.copy(QRect(2 * nWidth , 0 , nWidth, nHeight)));
- ui->labelSampleKong->setPixmap(sample_small.copy(QRect(3 * nWidth , 0 , nWidth, nHeight)));
- ui->labelSampleTing->setPixmap(sample_small.copy(QRect(4 * nWidth , 0 , nWidth, nHeight)));
- ui->labelSampleGuan->setPixmap(sample_small.copy(QRect(5 * nWidth , 0 , nWidth, nHeight)));
- ui->labelSampleHrxz->setPixmap(sample_small.copy(QRect(6 * nWidth , 0 , nWidth, nHeight)));
- ui->labelSampleWfjt->setPixmap(sample_small.copy(QRect(7 * nWidth , 0 , nWidth, nHeight)));
- ui->labelSampleLdtx->setPixmap(sample_small.copy(QRect(8 * nWidth , 0 , nWidth, nHeight)));
- ui->labelSampleOther->setPixmap(sample_small.copy(QRect(9 * nWidth , 0 , nWidth, nHeight)));
- ui->widgetTip->setProperty("class","silverbg");
- ui->pushButtonQueryFinishedAll->setProperty("class","txt-green-autowidth");
- ui->pushButtonQueryDown->setProperty("class","txt-green-autowidth");
- ui->pushButtonQueryToDown->setProperty("class","txt-green-autowidth");
- }
- void FormMain::initVariables()
- {
- //ui->tableWidgetFinished->installEventFilter(this);
- ui->tableWidgetDealing->installEventFilter(this);
- ui->tableWidgetCost->installEventFilter(this);
- ui->tableWidgetCharge->installEventFilter(this);
- //ui->tableWidgetFinished->installEventFilter(this);
- int intervals = 5;
- m_movie = new QMovie(":/working.gif");
- m_movie->start();
- m_upload = new AutoUploadFile();
- m_sync = new AutoSyncData();
- connect(m_upload,SIGNAL(uploadFailed()),this,SLOT(onUploadFailed()));
- connect(m_upload,SIGNAL(uploadSucceed()),this,SLOT(onUploadSucceed()));
- connect(m_upload,SIGNAL(uploadProgressUpdated()),this,SLOT(onUploadProgressUpdated()));
- connect(m_sync,SIGNAL(dataSync()),this,SLOT(onDataSync()));
- m_timer = new QTimer();
- connect(m_timer,SIGNAL(timeout()),this,SLOT(onTimeOut()));
- m_timer->start(intervals*1000);
- m_isQueryDealing = false;
- m_isQueryFinished = false;
- m_userHash = "";
- m_ssoHash = "";
- m_host = "";
- m_port = "";
- m_userCode = "";
- m_clientName = "";
- m_numChkWs = new WSNumChk();
- m_ssoWs = new WSSSO();
- }
- void FormMain::resetDealingDataAreaUI()
- {
- resetDealingDataListInfo();
- }
- void FormMain::resetDealingDataListInfo()
- {
- resetDealingTableWidget(16);
- ui->tableWidgetDealing->setEnabled(false);
- QTableWidgetItem *item = new QTableWidgetItem();
- item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter);
- item->setText("暂无信息");
- ui->tableWidgetDealing->setItem(7,5,item);
- ui->tableWidgetDealing->setEnabled(false);
- }
- void FormMain::resetDealingTableWidget(int rows)
- {
- QStringList headers;
- headers.append("文件ID");
- headers.append("状态");
- headers.append("文件类型");
- headers.append("文件名");
- headers.append("文件路径");
- headers.append("备注");
- headers.append("提交时间");
- headers.append("进度");
- headers.append("返回信息");
- headers.append("返回详情");
- headers.append("是否审核");
- headers.append("服务端操作状态");
- headers.append("进度");
- headers.append("处理详情");
- ui->tableWidgetDealing->setRowCount(0);
- ui->tableWidgetDealing->setColumnCount(0);
- ui->tableWidgetDealing->setEditTriggers(QAbstractItemView::NoEditTriggers);
- ui->tableWidgetDealing->setColumnCount(14);
- ui->tableWidgetDealing->setHorizontalHeaderLabels(headers);
- ui->tableWidgetDealing->setRowCount(rows);
- ui->tableWidgetDealing->setShowGrid(false);
- ui->tableWidgetDealing->setAlternatingRowColors(true);
- ui->tableWidgetDealing->setSelectionBehavior(QAbstractItemView::SelectRows);
- ui->tableWidgetDealing->setSelectionMode(QAbstractItemView::SingleSelection);
- ui->tableWidgetDealing->setColumnWidth(0,0);
- ui->tableWidgetDealing->setColumnWidth(1,40);
- ui->tableWidgetDealing->setColumnWidth(2,80);//
- ui->tableWidgetDealing->setColumnWidth(3,170);
- ui->tableWidgetDealing->setColumnWidth(4,0);
- ui->tableWidgetDealing->setColumnWidth(5,0);//
- ui->tableWidgetDealing->setColumnWidth(6,150);
- ui->tableWidgetDealing->setColumnWidth(7,0);
- ui->tableWidgetDealing->setColumnWidth(8,0);
- ui->tableWidgetDealing->setColumnWidth(9,0);
- ui->tableWidgetDealing->setColumnWidth(10,0);
- ui->tableWidgetDealing->setColumnWidth(11,0);
- ui->tableWidgetDealing->setColumnWidth(12,150);
- ui->tableWidgetDealing->setColumnWidth(13,85);
- ui->tableWidgetDealing->hideColumn(0);
- ui->tableWidgetDealing->hideColumn(4);
- ui->tableWidgetDealing->hideColumn(5);
- ui->tableWidgetDealing->hideColumn(7);
- ui->tableWidgetDealing->hideColumn(8);
- ui->tableWidgetDealing->hideColumn(9);
- ui->tableWidgetDealing->hideColumn(10);
- ui->tableWidgetDealing->hideColumn(11);
- ui->tableWidgetDealing->verticalHeader()->setVisible(false);
- ui->tableWidgetDealing->horizontalHeader()->setStyleSheet("font:12px");
- ui->tableWidgetDealing->horizontalHeader()->setResizeMode(QHeaderView::Fixed);
- ui->tableWidgetDealing->verticalHeader()->setResizeMode(QHeaderView::Fixed);
- ui->tableWidgetDealing->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- ui->tableWidgetDealing->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
- ui->tableWidgetDealing->verticalHeader()->setFixedWidth(30);
- ui->tableWidgetDealing->setSortingEnabled(true);
- }
- void FormMain::fetchDealingList(QMultiMap<QString, QString> map, int rowCount)
- {
- resetDealingDataListInfo();
- if(rowCount==0)
- {
- return ;
- }
- resetDealingTableWidget(rowCount);
- ui->tableWidgetDealing->setEnabled(true);
- QStringList keys;
- keys<<"fileid"<<"filestate"<<"filetype"<<"filename"<<"filepath";
- keys<<"memo"<<"srvrtime"<<"percent"<<"errmsg"<<"errdetail"<<"isverify"<<"optstatus";
- for(int col=0;col<keys.size();col++)
- {
- QStringList rows = map.values(keys.at(col));
- for(int row=0;row<rows.size();row++)
- {
- QTableWidgetItem *item = new QTableWidgetItem();
- item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
- QString display = rows.at(row);
- QString tooltip = display;
- if(keys.at(col)=="filetype")
- {
- if(rows.at(row)=="1")
- display = "号码文件";
- else if(rows.at(row)=="2")
- display = "号段文件";
- else
- display = "未知";
- tooltip = display;
- }
- else if(keys.at(col)=="filename")
- {
- item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter);
- }
- if(keys.at(col)=="filestate")
- {
- delete item;
- QLabel *lbl = new QLabel(this);
- lbl->setAlignment(Qt::AlignCenter|Qt::AlignHCenter);
- int v = display.toInt();
- if(v<0)
- lbl->setPixmap(QPixmap(":/wrong.png"));
- else if(v>=0 && v<=3)
- lbl->setMovie(m_movie);
- else
- lbl->setPixmap(QPixmap(":/right.png"));
- ui->tableWidgetDealing->setCellWidget(row,col,lbl);
- ui->tableWidgetDealing->item(row,0)->setData(Qt::UserRole,v);
- }
- else
- {
- item->setData(Qt::DisplayRole,display);
- item->setData(Qt::UserRole,rows.at(row));
- item->setData(Qt::ToolTipRole,tooltip);
- ui->tableWidgetDealing->setItem(row,col,item);
- }
- }
- }
- //显示进度条
- for(int row=0;row<rowCount;row++)
- {
- double percent = ui->tableWidgetDealing->item(row,7)->data(Qt::UserRole).toDouble();
- int filestate = ui->tableWidgetDealing->item(row,0)->data(Qt::UserRole).toInt();
- QString optstatus = ui->tableWidgetDealing->item(row,11)->data(Qt::UserRole).toString();
- QString isverify =ui->tableWidgetDealing->item(row,10)->data(Qt::UserRole).toString();
- if(filestate<3)
- {
- XProgressBar *progress = new XProgressBar();
- progress->setProgress(filestate,percent);
- ui->tableWidgetDealing->setCellWidget(row,12,progress);
- }
- else
- {
- if(isverify=="0")
- {
- QTableWidgetItem *item = new QTableWidgetItem();
- item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
- item->setData(Qt::DisplayRole,"待审核");
- ui->tableWidgetDealing->setItem(row,12,item);
- }
- else if(isverify=="2")
- {
- QTableWidgetItem *item = new QTableWidgetItem();
- item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
- item->setData(Qt::DisplayRole,"审核未通过");
- ui->tableWidgetDealing->setItem(row,12,item);
- }
- else
- {
- QString errmsg = "";
- if (optstatus=="0")
- {
- errmsg = "停止";
- }
- else if (optstatus=="1")
- {
- errmsg = "暂停";
- }
- else if (optstatus=="2")
- {
- errmsg = "检测中";
- filestate = 4;
- }
- else if (optstatus=="3")
- {
- errmsg = "处理中";
- filestate = 5;
- }
- else if (optstatus=="4")
- {
- errmsg = "用户删除";
- }
- else if (optstatus=="5")
- {
- errmsg = "异常并停止";
- }
- else if (optstatus=="5")
- {
- errmsg = "多次异常,任务终止";
- }
- else
- {
- errmsg = "未知状态";
- }
- if(optstatus=="3" || optstatus == "2")
- {
- XProgressBar *progress = new XProgressBar();
- progress->setProgress(filestate,percent);
- ui->tableWidgetDealing->setCellWidget(row,12,progress);
- }
- else
- {
- QTableWidgetItem *item = new QTableWidgetItem();
- item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
- item->setData(Qt::DisplayRole,errmsg);
- ui->tableWidgetDealing->setItem(row,12,item);
- }
- }
- }
- }
- //显示文件信息
- for(int row=0;row<rowCount;row++)
- {
- QString filePath = ui->tableWidgetDealing->item(row,4)->data(Qt::UserRole).toString();
- QString fileMemo = ui->tableWidgetDealing->item(row,5)->data(Qt::UserRole).toString();
- QString tooltip = QString("文件:%1\r\n备注:%2").arg(filePath).arg(fileMemo);
- ui->tableWidgetDealing->item(row,3)->setData(Qt::ToolTipRole,tooltip);
- }
- //显示查看详情信息
- for(int row=0;row<rowCount;row++)
- {
- QPushButton *button = new QPushButton();
- button->setText("查看");
- button->setProperty("class","txt-green");
- button->setCursor(Qt::PointingHandCursor);
- connect(button,SIGNAL(clicked()),this,SLOT(onPushButtonViewsClicked()));
- QTableWidgetItem *item = ui->tableWidgetDealing->item(row,8);
- if(item)
- {
- if(item->data(Qt::UserRole).toString().isEmpty())
- {
- button->setEnabled(false);
- }
- }
- ui->tableWidgetDealing->setCellWidget(row,13,button);
- }
- ui->tableWidgetDealing->sortByColumn(0);
- ui->tableWidgetDealing->sortByColumn(0);
- }
- void FormMain::queryDealing()
- {
- QMultiMap<QString,QString> list = SNCDataBase::getAllUpload("bzjc",m_clientID,m_userCode);
- int cols = list.uniqueKeys().size();
- int rows = 0;
- if(cols!=0)
- rows = list.size()/cols;
- fetchDealingList(list,rows);
- }
- void FormMain::resetFinishedDataAreaUI()
- {
- resetFinishedDataListInfo();
- resetFinishedDataDetailInfo();
- }
- void FormMain::resetFinishedDataListInfo()
- {
- resetFinishedTableWidget(10);
- ui->tableWidgetFinished->setEnabled(false);
- QTableWidgetItem *item = new QTableWidgetItem();
- item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter);
- item->setText(" 暂无信息");
- ui->tableWidgetFinished->setItem(5,5,item);
- ui->tableWidgetFinished->setEnabled(false);
- }
- void FormMain::resetFinishedDataDetailInfo()
- {
- ui->labelShiHao->setText("实号");
- ui->labelKong->setText("空号");
- ui->labelTing->setText("停机");
- ui->labelGuan->setText("关机");
- ui->labelWfjt->setText("无法接通");
- ui->labelLdtx->setText("来电提醒");
- ui->labelHrxz->setText("呼入限制");
- ui->labelOther->setText("其他");
- //设置上述状态比例的默认宽度为0
- ui->labelBarShiHao->setFixedWidth(0);
- ui->labelBarKong->setFixedWidth(0);
- ui->labelBarTing->setFixedWidth(0);
- ui->labelBarGuan->setFixedWidth(0);
- ui->labelBarWfjt->setFixedWidth(0);
- ui->labelBarLdtx->setFixedWidth(0);
- ui->labelBarHrxz->setFixedWidth(0);
- ui->labelBarOther->setFixedWidth(0);
- }
- void FormMain::resetFinishedTableWidget(int rows)
- {
- QStringList headers;
- headers.append("选择");
- headers.append("类型");
- headers.append("详情");
- headers.append("统计");
- headers.append("提交时间");
- headers.append("完成时间");
- headers.append("已检测");
- headers.append("费用");
- headers.append("赠送消耗");
- headers.append("状态");
- headers.append("放行");
- headers.append("下载");
- ui->tableWidgetFinished->setRowCount(0);
- ui->tableWidgetFinished->setColumnCount(0);
- ui->tableWidgetFinished->setEditTriggers(QAbstractItemView::NoEditTriggers);
- ui->tableWidgetFinished->setColumnCount(12);
- ui->tableWidgetFinished->setHorizontalHeaderLabels(headers);
- ui->tableWidgetFinished->setRowCount(rows);
- ui->tableWidgetFinished->setShowGrid(false);
- ui->tableWidgetFinished->setAlternatingRowColors(true);
- ui->tableWidgetFinished->setSelectionBehavior(QAbstractItemView::SelectRows);
- ui->tableWidgetFinished->setSelectionMode(QAbstractItemView::SingleSelection);
- ui->tableWidgetFinished->setColumnWidth(0,30);
- ui->tableWidgetFinished->setColumnWidth(1,40);
- ui->tableWidgetFinished->setColumnWidth(2,35);
- ui->tableWidgetFinished->setColumnWidth(3,40);
- ui->tableWidgetFinished->setColumnWidth(4,125);
- ui->tableWidgetFinished->setColumnWidth(5,125);
- ui->tableWidgetFinished->setColumnWidth(6,65);
- ui->tableWidgetFinished->setColumnWidth(7,75);
- ui->tableWidgetFinished->setColumnWidth(8,60);
- ui->tableWidgetFinished->setColumnWidth(9,30);
- ui->tableWidgetFinished->setColumnWidth(10,30);
- ui->tableWidgetFinished->setColumnWidth(11,60);
- ui->tableWidgetFinished->hideColumn(3);
- ui->tableWidgetFinished->verticalHeader()->setVisible(false);
- ui->tableWidgetFinished->horizontalHeader()->setStyleSheet("font:12px");
- ui->tableWidgetFinished->horizontalHeader()->setResizeMode(QHeaderView::Fixed);
- ui->tableWidgetFinished->verticalHeader()->setResizeMode(QHeaderView::Fixed);
- ui->tableWidgetFinished->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- ui->tableWidgetFinished->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
- ui->tableWidgetFinished->verticalHeader()->setFixedWidth(30);
- ui->tableWidgetFinished->setSortingEnabled(true);
- }
- void FormMain::fetchFinishedList(QMultiMap<QString, QString> map, int rowCount)
- {
- resetFinishedDataListInfo();
- if(rowCount==0)
- {
- return ;
- }
- resetFinishedTableWidget(rowCount);
- ui->tableWidgetFinished->setEnabled(true);
- QStringList keys;
- keys<<"batchid"<<"batchtype"<<"detail"<<"resulttj"<<"submittime"<<"finishtime";
- keys<<"finishcount"<<"settlefee"<<"giftfee"<<"optstatus"<<"ispass"<<"isdeliver";
- for(int col=0;col<keys.size();col++)
- {
- QStringList rows = map.values(keys.at(col));
- for(int row=0;row<rows.size();row++)
- {
- QString display = rows.at(row);
- QString tooltip = display;
- QTableWidgetItem *item;
- item = new QTableWidgetItem();
- item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
- QLabel *lbl ;
- lbl = new QLabel(this);
- lbl->setAlignment(Qt::AlignCenter|Qt::AlignHCenter);
- if(keys.at(col)=="batchid")
- {
- //item->setData(Qt::DisplayRole,display.toInt());
- item->setCheckState(Qt::Unchecked);
- }
- else if(keys.at(col)=="finishcount")
- {
- item->setData(Qt::DisplayRole,display.toInt());
- }
- else if(keys.at(col)=="settlefee")
- {
- item->setData(Qt::DisplayRole,display.toDouble());
- }
- else if(keys.at(col)=="giftfee")
- {
- item->setData(Qt::DisplayRole,display.toDouble());
- }
- else if(keys.at(col)=="detail")
- {
- if(display.isEmpty())
- lbl->setPixmap(QPixmap(":/no-information.png"));
- else
- lbl->setPixmap(QPixmap(":/information.png"));
- lbl->setToolTip(tooltip);
- }
- else if(keys.at(col)=="ispass")
- {
- if(display=="0")
- {
- lbl->setPixmap(QPixmap(":/reject.png"));
- tooltip = "未放行";
- }
- else
- {
- lbl->setPixmap(QPixmap(":/accept.png"));
- tooltip = "已放行";
- }
- lbl->setToolTip(tooltip);
- }
- else if(keys.at(col)=="optstatus")
- {
- if(rows.at(row)=="0")
- {
- tooltip = "停止";
- lbl->setPixmap(QPixmap(":/stop.png"));
- }
- else if(rows.at(row)=="1")
- {
- tooltip = "暂停";
- lbl->setPixmap(QPixmap(":/pause.png"));
- }
- else if(rows.at(row)=="2")
- {
- tooltip = "处理中";
- lbl->setPixmap(QPixmap(":/play.png"));
- }
- else if(rows.at(row)=="3")
- {
- tooltip = "处理完毕";
- lbl->setPixmap(QPixmap(":/accept.png"));
- }
- else if(rows.at(row)=="4")
- {
- tooltip = "用户删除";
- lbl->setPixmap(QPixmap(":/delete.png"));
- }
- else if(rows.at(row)=="5")
- {
- tooltip = "异常并终止";
- lbl->setPixmap(QPixmap(":/error.png"));
- }
- else if(rows.at(row)=="6")
- {
- tooltip = "多次异常";
- lbl->setPixmap(QPixmap(":/error.png"));
- }
- else
- {
- lbl->setText("其他");
- tooltip = "其他";
- }
- lbl->setToolTip(tooltip);
- }
- else if(keys.at(col)=="isdeliver")
- {
- if(rows.at(row)=="0")
- {
- tooltip = "未下载";
- lbl->setPixmap(QPixmap(":/todown.png"));
- }
- else
- {
- tooltip = "已下载";
- lbl->setPixmap(QPixmap(":/down.png"));
- }
- lbl->setToolTip(tooltip);
- }
- else if(keys.at(col)=="batchtype")
- {
- if(rows.at(row)=="1")
- display = "正常";
- else if(rows.at(row)=="2")
- display = "重测";
- else if(rows.at(row)=="3")
- display = "测试";
- else
- display = "其他";
- item->setData(Qt::DisplayRole,display);
- }
- else
- {
- item->setData(Qt::DisplayRole,display);
- }
- item->setData(Qt::UserRole,rows.at(row));
- item->setData(Qt::ToolTipRole,tooltip);
- if(keys.at(col)=="detail" || keys.at(col)=="optstatus" || keys.at(col)=="ispass")
- {
- delete item;
- ui->tableWidgetFinished->setCellWidget(row,col,lbl);
- }
- else if(keys.at(col)=="isdeliver")
- {
- delete item;
- delete lbl;
- QPushButton *btn = new QPushButton(this);
- btn->setText("");
- btn->setCursor(Qt::PointingHandCursor);
- btn->setProperty("class","imagebutton");
- connect(btn,SIGNAL(clicked()),this,SLOT(onSingleDownloadClick()));
- ui->tableWidgetFinished->setCellWidget(row,col,btn);
- }
- else
- {
- delete lbl;
- ui->tableWidgetFinished->setItem(row,col,item);
- }
- }
- }
- ui->tableWidgetFinished->sortByColumn(0);
- ui->tableWidgetFinished->sortByColumn(0);
- }
- void FormMain::queryFinished(QString isdeliver)
- {
- QMultiMap<QString,QString> list = SNCDataBase::getBzjcCheckFinishInfos(m_userCode,m_clientID,isdeliver);
- int cols = list.uniqueKeys().size();
- int rows = 0;
- if(cols!=0)
- rows = list.size()/cols;
- fetchFinishedList(list,rows);
- }
- void FormMain::download()
- {
- }
- void FormMain::setAccountInfo(QMap<QString,QString> info)
- {
- m_userHash = info.value("userhash");
- m_userCode = info.value("usercode");
- m_ssoHash = info.value("ssohash");
- //m_upload->setUserInfo("bzjc",m_clientID,m_userCode,m_userHash,m_host,m_port);
- //m_sync->setUserInfo("bzjc",m_clientID,m_userCode,m_userHash,m_host,m_port);
- ui->tabWidget->setTabText(1,"下载检测结果");
- ui->tabWidget->setTabIcon(1,QIcon(""));
- if(!m_timer->isActive())
- m_timer->start();
- if(!m_ssoHash.isEmpty())
- {
- if(!m_userHash.isEmpty())
- {
- setAccountAreaUI(LoginOk);
- }
- else
- {
- if(!m_userCode.isEmpty())
- {
- setAccountAreaUI(LoginError);
- }
- else
- {
- setAccountAreaUI(NotBind);
- }
- resetUI();
- }
- }
- else
- {
- resetUI();
- setAccountAreaUI(NotLogin);
- }
- }
- void FormMain::stopService()
- {
- if(m_timer)
- {
- m_timer->stop();
- }
- if(m_sync)
- {
- m_sync->abort();
- m_sync->wait();
- }
- if(m_upload)
- {
- m_upload->abort();
- m_upload->wait();
- }
- }
- void FormMain::setHost(QString host,QString port)
- {
- m_host = host;
- m_port = port;
- m_numChkWs->setHost(m_host,m_port);
- }
- void FormMain::setClientName(QString name)
- {
- m_clientName = name;
- }
- void FormMain::setClientID(QString clientID)
- {
- m_clientID = clientID;
- }
- void FormMain::updateUserState()
- {
- refreshAccountInfo();
- }
- void FormMain::resetUI()
- {
- resetDealingDataAreaUI();
- resetFinishedDataAreaUI();
- resetCostDataAreaUI();
- resetChargeDataAreaUI();
- ui->tabWidget->setCurrentIndex(0);
- ui->tabWidget->setStyleSheet("font:12px");
- }
- bool FormMain::eventFilter(QObject *object, QEvent *event)
- {
- if( event->type() == QEvent::KeyPress)
- {
- QKeyEvent * pKeyEvent = static_cast<QKeyEvent *>(event);
- if (pKeyEvent->key() == Qt::Key_Control||pKeyEvent->key() == Qt::Key_Shift)
- {
- //ui->tableWidgetDealing->setSelectionMode(QAbstractItemView::ExtendedSelection);
- //ui->tableWidgetFinished->setSelectionMode(QAbstractItemView::ExtendedSelection);
- return true;
- }
- }
- else if( event->type() == QEvent::KeyRelease)
- {
- QKeyEvent * pKeyEvent = static_cast<QKeyEvent *>(event);
- if (pKeyEvent->key() == Qt::Key_Control||pKeyEvent->key() == Qt::Key_Shift)
- {
- //ui->tableWidgetDealing->setSelectionMode(QAbstractItemView::MultiSelection);
- //ui->tableWidgetFinished->setSelectionMode(QAbstractItemView::MultiSelection);
- return true;
- }
- }
- return QWidget::eventFilter(object, event);
- }
- bool FormMain::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 FormMain::displaySelected(QString detail)
- {
- QStringList list = detail.split("\r\n");
- if(list.size()!=8)
- {
- resetFinishedDataDetailInfo();
- return;
- }
- int i=0;
- QStringList rates;
- for(int i=0;i<list.size();i++)
- {
- QRegExp rx("\\((.+)\\)");
- int pos = rx.indexIn(list.at(i));
- if(pos>0)
- {
- QString match = rx.capturedTexts().at(1);
- rates<<match.replace("%","");
- }
- else
- {
- rates<<"0";
- }
- }
- ui->labelKong->setText(list.at(i++));
- ui->labelTing->setText(list.at(i++));
- ui->labelGuan->setText(list.at(i++));
- ui->labelHrxz->setText(list.at(i++));
- ui->labelWfjt->setText(list.at(i++));
- ui->labelLdtx->setText(list.at(i++));
- ui->labelShiHao->setText(list.at(i++));
- ui->labelOther->setText(list.at(i++));
- i = 0;
- int barLength = 650;
- ui->labelBarKong->setFixedWidth(rates.at(i++).toDouble()*barLength/100);
- ui->labelBarTing->setFixedWidth(rates.at(i++).toDouble()*barLength/100);
- ui->labelBarGuan->setFixedWidth(rates.at(i++).toDouble()*barLength/100);
- ui->labelBarWfjt->setFixedWidth(rates.at(i++).toDouble()*barLength/100);
- ui->labelBarHrxz->setFixedWidth(rates.at(i++).toDouble()*barLength/100);
- ui->labelBarLdtx->setFixedWidth(rates.at(i++).toDouble()*barLength/100);
- ui->labelBarShiHao->setFixedWidth(rates.at(i++).toDouble()*barLength/100);
- ui->labelBarOther->setFixedWidth(rates.at(i++).toDouble()*barLength/100);
- }
- void FormMain::resetCostDataAreaUI()
- {
- resetCostDataListInfo();
- ui->dateEditStart->setDate(QDate::currentDate().addDays(-7));
- ui->dateEditEnd->setDate(QDate::currentDate());
- ui->dateEditEnd->setMaximumDate(QDate::currentDate());
- ui->dateEditStart->setMinimumDate(QDate::currentDate().addDays(-7));
- }
- void FormMain::resetCostDataListInfo()
- {
- resetCostTableWidget(16);
- ui->tableWidgetCost->setEnabled(false);
- QTableWidgetItem *item = new QTableWidgetItem();
- item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter);
- item->setText(" 暂无信息");
- ui->tableWidgetCost->setItem(7,3,item);
- ui->tableWidgetCost->setEnabled(false);
- }
- void FormMain::resetCostTableWidget(int rows)
- {
- QStringList headers;
- headers.append("编号");
- headers.append("所属用户");
- headers.append("提交时间");
- headers.append("完成时间");
- headers.append("提交数");
- headers.append("已检测");
- headers.append("单价");
- headers.append("费用");
- headers.append("赠送消耗");
- ui->tableWidgetCost->setRowCount(0);
- ui->tableWidgetCost->setColumnCount(0);
- ui->tableWidgetCost->setEditTriggers(QAbstractItemView::NoEditTriggers);
- ui->tableWidgetCost->setColumnCount(9);
- ui->tableWidgetCost->setHorizontalHeaderLabels(headers);
- ui->tableWidgetCost->setRowCount(rows);
- ui->tableWidgetCost->setShowGrid(false);
- ui->tableWidgetCost->setAlternatingRowColors(true);
- ui->tableWidgetCost->setSelectionBehavior(QAbstractItemView::SelectRows);
- ui->tableWidgetCost->setSelectionMode(QAbstractItemView::SingleSelection);
- ui->tableWidgetCost->setColumnWidth(0,50);
- ui->tableWidgetCost->setColumnWidth(1,115);
- ui->tableWidgetCost->setColumnWidth(2,140);
- ui->tableWidgetCost->setColumnWidth(3,125);
- ui->tableWidgetCost->setColumnWidth(4,45);
- ui->tableWidgetCost->setColumnWidth(5,45);
- ui->tableWidgetCost->setColumnWidth(6,50);
- ui->tableWidgetCost->setColumnWidth(7,50);
- ui->tableWidgetCost->setColumnWidth(8,55);
- ui->tableWidgetCost->horizontalHeader()->setStyleSheet("font:12px");
- ui->tableWidgetCost->horizontalHeader()->setResizeMode(QHeaderView::Fixed);
- ui->tableWidgetCost->verticalHeader()->setVisible(false);
- ui->tableWidgetCost->verticalHeader()->setResizeMode(QHeaderView::Fixed);
- ui->tableWidgetCost->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- ui->tableWidgetCost->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
- ui->tableWidgetCost->verticalHeader()->setFixedWidth(30);
- ui->tableWidgetCost->setSortingEnabled(true);
- }
- void FormMain::fetchCostList(QMultiMap<QString, QString> map, int rowCount)
- {
- resetCostDataListInfo();
- if(rowCount==0)
- {
- return ;
- }
- resetCostTableWidget(rowCount);
- ui->tableWidgetCost->setEnabled(true);
- QStringList keys;
- keys<<"batchid"<<"usercode"<<"submittime"<<"finishtime"<<"numcount";
- keys<<"finishcount"<<"price"<<"settlefee"<<"giftfee";
- for(int col=0;col<keys.size();col++)
- {
- QStringList rows = map.values(keys.at(col));
- for(int row=0;row<rows.size();row++)
- {
- QString display = rows.at(row);
- QTableWidgetItem *item;
- item = new QTableWidgetItem();
- if(keys.at(col)=="submittime"||keys.at(col)=="finishtime")
- {
- display = rows.at(row);
- }
- if(!display.isEmpty())
- {
- if(keys.at(col)=="batchid")
- item->setData(Qt::DisplayRole,display.toInt());
- else if(keys.at(col)=="numcount")
- item->setData(Qt::DisplayRole,display.toInt());
- else if(keys.at(col)=="finishcount")
- item->setData(Qt::DisplayRole,display.toInt());
- else if(keys.at(col)=="price")
- item->setData(Qt::DisplayRole,display.toDouble());
- else if(keys.at(col)=="settlefee")
- item->setData(Qt::DisplayRole,display.toDouble());
- else if(keys.at(col)=="giftfee")
- item->setData(Qt::DisplayRole,display.toDouble());
- else
- item->setData(Qt::DisplayRole,display);
- }
- item->setData(Qt::UserRole,rows.at(row));
- item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
- ui->tableWidgetCost->setItem(row,col,item);
- }
- }
- ui->tableWidgetCost->sortByColumn(0);
- ui->tableWidgetCost->sortByColumn(0);
- }
- void FormMain::queryCost(bool display)
- {
- QString dateStart = ui->dateEditStart_2->text();
- QString dateEnd = ui->dateEditEnd_2->text();
- QString json = m_numChkWs->getCostInfo(dateStart,dateEnd,m_userHash);
- if(!json.isEmpty()){
- RespGetCostInfo response(json);
- if(response.getRtnCode()<0)
- showMessage(response.getRtnCode(),display);
- else
- fetchCostList(response.getRs(),response.getRsCount());
- }
- else
- {
- showMessage(0,display);
- }
- }
- void FormMain::resetChargeDataAreaUI()
- {
- resetChargeDataListInfo();
- ui->dateEditStart_2->setDate(QDate::currentDate().addDays(-30));
- ui->dateEditEnd_2->setDate(QDate::currentDate());
- }
- void FormMain::resetChargeDataListInfo()
- {
- resetChargeTableWidget(16);
- ui->tableWidgetCharge->setEnabled(false);
- QTableWidgetItem *item = new QTableWidgetItem();
- item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter);
- item->setText(" 暂无信息");
- ui->tableWidgetCharge->setItem(7,3,item);
- ui->tableWidgetCharge->setEnabled(false);
- }
- void FormMain::resetChargeTableWidget(int rows)
- {
- QStringList headers;
- headers.append("编号");
- headers.append("所属用户");
- headers.append("充值时间");
- headers.append("充值金额");
- headers.append("赠送金额");
- ui->tableWidgetCharge->setRowCount(0);
- ui->tableWidgetCharge->setColumnCount(0);
- ui->tableWidgetCharge->setEditTriggers(QAbstractItemView::NoEditTriggers);
- ui->tableWidgetCharge->setColumnCount(5);
- ui->tableWidgetCharge->setHorizontalHeaderLabels(headers);
- ui->tableWidgetCharge->setRowCount(rows);
- ui->tableWidgetCharge->setShowGrid(false);
- ui->tableWidgetCharge->setAlternatingRowColors(true);
- ui->tableWidgetCharge->setSelectionBehavior(QAbstractItemView::SelectRows);
- ui->tableWidgetCharge->setSelectionMode(QAbstractItemView::SingleSelection);
- ui->tableWidgetCharge->setColumnWidth(0,50);
- ui->tableWidgetCharge->setColumnWidth(1,115);
- ui->tableWidgetCharge->setColumnWidth(2,140);
- ui->tableWidgetCharge->setColumnWidth(3,195);
- ui->tableWidgetCharge->setColumnWidth(4,175);
- ui->tableWidgetCharge->verticalHeader()->setVisible(false);
- ui->tableWidgetCharge->horizontalHeader()->setStyleSheet("font:12px");
- ui->tableWidgetCharge->horizontalHeader()->setResizeMode(QHeaderView::Fixed);
- ui->tableWidgetCharge->verticalHeader()->setResizeMode(QHeaderView::Fixed);
- ui->tableWidgetCharge->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- ui->tableWidgetCharge->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
- ui->tableWidgetCharge->verticalHeader()->setFixedWidth(30);
- ui->tableWidgetCharge->setSortingEnabled(true);
- }
- void FormMain::fetchChargeList(QMultiMap<QString, QString> map, int rowCount)
- {
- resetChargeDataListInfo();
- if(rowCount==0)
- {
- return ;
- }
- resetChargeTableWidget(rowCount);
- ui->tableWidgetCharge->setEnabled(true);
- QStringList keys;
- keys<<"chargeid"<<"usercode"<<"chargetime"<<"chargemoney";
- keys<<"giftmoney";
- for(int col=0;col<keys.size();col++)
- {
- QStringList rows = map.values(keys.at(col));
- for(int row=0;row<rows.size();row++)
- {
- QString display = rows.at(row);
- QTableWidgetItem *item;
- item = new QTableWidgetItem();
- if(keys.at(col)=="chargetime")
- {
- //display = rows.at(row).mid(6,10);
- display = rows.at(row);
- }
- item->setData(Qt::UserRole,rows.at(row));
- if(!display.isEmpty())
- {
- if(keys.at(col)=="chargeid")
- item->setData(Qt::DisplayRole,display.toInt());
- else if(keys.at(col)=="chargemoney")
- item->setData(Qt::DisplayRole,display.toDouble());
- else if(keys.at(col)=="giftmoney")
- item->setData(Qt::DisplayRole,display.toDouble());
- else
- item->setData(Qt::DisplayRole,display);
- }
- item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
- ui->tableWidgetCharge->setItem(row,col,item);
- }
- }
- ui->tableWidgetCharge->sortByColumn(0);
- ui->tableWidgetCharge->sortByColumn(0);
- }
- void FormMain::queryCharge(bool display)
- {
- QString dateStart = ui->dateEditStart_2->text();
- QString dateEnd = ui->dateEditEnd_2->text();
- QString json = m_numChkWs->getChargeInfo(dateStart,dateEnd,m_userHash);
- if(!json.isEmpty())
- {
- RespGetChargeInfo response(json);
- if(response.getRtnCode()==-1)
- showMessage(-1,display);
- else
- fetchChargeList(response.getRs(),response.getRsCount());
- }
- else
- {
- showMessage(0,display);
- }
- }
- QString FormMain::getSaveZipFileName()
- {
- 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->tableWidgetFinished->rowCount();i++)
- {
- QTableWidgetItem *item = ui->tableWidgetFinished->item(i,0);
- if(item)
- {
- if(item->checkState()==Qt::Checked)
- {
- count++;
- str += "_" + item->text();
- QWidget *widget = ui->tableWidgetFinished->cellWidget(i,10);
- if(widget)
- {
- QLabel *lbl = qobject_cast<QLabel*>(widget);
- if(lbl->toolTip()!="已放行")
- {
- 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;
- }
- QString FormMain::getSaveFileName(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 FormMain::setAccountAreaUI(AccountLoginState state)
- {
- m_state = state;
- switch(state)
- {
- case LoginOk:
- ui->labelTip->setText("空号检测服务已经连接!");
- ui->widgetAccountInfo->setVisible(true);
- ui->pushButtonLogin->setVisible(false);
- ui->labelTip2->setText("");
- refreshAccountInfo();
- break;
- case NotLogin:
- ui->labelTip->setText("您需要");
- ui->widgetAccountInfo->setVisible(false);
- ui->pushButtonLogin->setVisible(true);
- ui->widgetToPay->setVisible(false);
- ui->labelTip2->setText("才可以使用该功能!");
- break;
- case NotBind:
- ui->labelTip->setText("空号检测服务尚未开通!");
- ui->widgetAccountInfo->setVisible(false);
- ui->pushButtonLogin->setVisible(false);
- ui->widgetToPay->setVisible(false);
- ui->labelTip2->setText("");
- break;
- case LoginError:
- ui->labelTip->setText("空号检测服务无法连接!");
- ui->widgetAccountInfo->setVisible(false);
- ui->pushButtonLogin->setVisible(false);
- ui->widgetToPay->setVisible(false);
- ui->labelTip2->setText("");
- break;
- }
- changeImage(state);
- }
- void FormMain::changeImage(AccountLoginState state)
- {
- QPixmap pixamp(":/service_state.png");
- int nHeight = pixamp.height();
- int nWidth = pixamp.width()/4;
- ui->labelStateImage->setPixmap(pixamp.copy(QRect(state * nWidth , 0, nWidth, nHeight)));
- }
- void FormMain::refreshAccountInfo()
- {
- bool succeed =false;
- QString json = m_numChkWs->getUserBalance(m_userHash);
- if(!json.isEmpty()){
- RespGetUserBlance response (json);
- if(response.getRtnCode()==1){
- ui->labelGiftBalance->setText("¥" + response.getGiftMoney());
- ui->labelUserBlance->setText("¥" + response.getBlance());
- ui->labelValidNum->setText(response.getValidNum());
- ui->labelToPay->setText(QString(" 待付总金额:¥%1 ").arg(response.getToPayMoney()));
- succeed = true;
- if(response.getToPayMoney().toDouble()==0)
- {
- ui->widgetToPay->setVisible(false);
- }
- else
- {
- ui->widgetToPay->setVisible(true);
- }
- }
- }
- if(!succeed)
- {
- ui->labelGiftBalance->setText("N/A");
- ui->labelUserBlance->setText("N/A");
- ui->labelValidNum->setText("N/A");
- ui->labelToPay->setText("N/A");
- ui->widgetToPay->setVisible(false);
- }
- }
- bool FormMain::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;
- }
- void FormMain::showMessage(int type, bool display)
- {
- QString msg = "";
- switch(type)
- {
- case 0:
- msg = "网络无法连接!";
- break;
- case -1:
- msg = "登录超时,请重新登录!";
- break;
- case -2:
- msg = "查询日期间隔超过限制!";
- break;
- case -3:
- msg = "查询到的记录数超过限制 (请缩小查询日期范围)!";
- break;
- default:
- break;
- }
- if(display)
- {
- QMessageBox::critical(this,"提示",msg,QMessageBox::Ok);
- }
- }
- void FormMain::on_pushButtonUpload_clicked()
- {
- if(!chkAccountState(m_state))
- return;
- DialogSubmit dialog(this);
- connect(&dialog,SIGNAL(dataUpdated()),this,SLOT(onDataUpdated()));
- dialog.setUserCode(m_userCode);
- dialog.setClientID(m_clientID);
- dialog.exec();
- queryDealing();
- }
- void FormMain::on_pushButtonQueryCharge_clicked()
- {
- if(!chkAccountState(m_state))
- return;
- if(!checkLastClickTime(sender()))
- return ;
- ui->labelQueryCharge->setText("正在查询,请稍候...");
- ui->labelQueryCharge->setStyleSheet("QLabel{color:#08a61b;font:12px;font-weight: bold;}");
- ui->pushButtonQueryCharge->setEnabled(false);
- setCursor(Qt::WaitCursor);
- queryCharge(true);
- setCursor(Qt::ArrowCursor);
- ui->labelQueryCharge->setText("");
- ui->pushButtonQueryCharge->setEnabled(true);
- }
- void FormMain::on_pushButtonQueryCost_clicked()
- {
- if(!chkAccountState(m_state))
- return;
- if(!checkLastClickTime(sender()))
- return ;
- ui->labelQueryCost->setText("正在查询,请稍候...");
- ui->labelQueryCost->setStyleSheet("QLabel{color:#08a61b;font:12px;font-weight: bold;}");
- ui->pushButtonQueryCost->setEnabled(false);
- setCursor(Qt::WaitCursor);
- queryCost(true);
- setCursor(Qt::ArrowCursor);
- ui->labelQueryCost->setText("");
- ui->pushButtonQueryCost->setEnabled(true);
- }
- void FormMain::on_pushButtonDownload_clicked()
- {
- if(!chkAccountState(m_state))
- return;
- bool nodata = false;
- for(int i=0;i<ui->tableWidgetFinished->rowCount();i++)
- {
- if(!ui->tableWidgetFinished->item(i,0))
- {
- nodata = true;
- break;
- }
- }
- if(nodata)
- {
- QMessageBox::critical(this,"提示","没有可以下载的数据!",QMessageBox::Ok);
- return ;
- }
- QString saveZipFileName = getSaveZipFileName();
- 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);
- for(int i=0;i<ui->tableWidgetFinished->rowCount();i++)
- {
- QTableWidgetItem *item = ui->tableWidgetFinished->item(i,0);
- if(item->checkState()==Qt::Checked)
- {
- QString json = m_numChkWs->dlResultFile(item->data(Qt::UserRole).toString(),m_userHash);
- if(!json.isEmpty()){
- RespDlResultFile response(json);
- if(response.getRtnCode()==2)
- {
- QString fileName = tmpDir + response.getFileName();
- files.append(fileName);
- QString fileContent = response.getFileContent();
- QByteArray array = QByteArray::fromBase64(fileContent.toAscii());
- QFile file(fileName);
- file.open(QIODevice::WriteOnly);
- file.write(array);
- file.close();
- }
- else if(response.getRtnCode()==-1)
- {
- showMessage(-1,true);
- break;
- }
- else
- {
- QMessageBox::critical(this,"结果",response.getRtnMemo(),QMessageBox::Ok);
- }
- }
- else
- {
- showMessage(0,true);
- break;
- }
- }
- }
- if(files.size()>0)
- {
- if(addFileToZip(saveZipFileName,files))
- {
- QMessageBox::information(this,"结果",QString("%0个检测结果文件下载成功!").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 FormMain::onTimeOut()
- {
- if(m_userHash.isEmpty())
- return ;
- if(!m_upload->isRunning())
- {
- m_upload->start();
- }
- if(!m_sync->isRunning())
- {
- m_sync->start();
- }
- }
- void FormMain::on_pushButtonCharge_clicked()
- {
- if(!chkAccountState(m_state))
- return;
- if(!checkLastClickTime(sender()))
- return ;
- QString json = m_ssoWs->encrypt(m_ssoHash);
- RespEncrypt resp1(json);
- QString data = resp1.getEncryptData();
- json = m_ssoWs->getServerTime();
- RespGetServerTime resp2(json);
- QString authCode;
- QByteArray ba;
- QString str = SNCDataBase::getAuthCodeUrl().arg(resp2.getServerTime().mid(0,16));
- ba = QCryptographicHash::hash ( str.toAscii(), QCryptographicHash::Md5 );
- authCode.append(ba.toHex());
- QString url = SNCDataBase::getSSOPayUrl() + "?s=mf&r="+authCode+"&u="+data+"&p=zxcz_"+m_clientID;
- QDesktopServices::openUrl(QUrl(url));
- }
- void FormMain::on_tableWidgetFinished_cellClicked(int row, int column)
- {
- if(row>=0&&column>=0)
- {
- QString detail = ui->tableWidgetFinished->item(row,3)->data(Qt::UserRole).toString();
- displaySelected(detail);
- }
- }
- void FormMain::on_pushButtonLogin_clicked()
- {
- emit buttonLoginClick();
- }
- void FormMain::on_pushButtonRefreshUserState_clicked()
- {
- if(!checkLastClickTime(sender()))
- return ;
- setCursor(Qt::WaitCursor);
- refreshAccountInfo();
- setCursor(Qt::ArrowCursor);
- }
- void FormMain::onSingleDownloadClick()
- {
- QPushButton *btn = qobject_cast<QPushButton*>(sender());
- QString ispass = "";
- QString optstatus = "";
- QString id = "";
- for(int i=0;i<ui->tableWidgetFinished->rowCount();i++)
- {
- QWidget *widget = ui->tableWidgetFinished->cellWidget(i,13);
- if(widget)
- {
- if(btn==qobject_cast<QPushButton*>(widget))
- {
- QTableWidgetItem *item;
- item = ui->tableWidgetFinished->item(i,0);
- if(item)
- {
- id = item->data(Qt::UserRole).toString();
- }
- QWidget *widget = ui->tableWidgetFinished->cellWidget(i,10);
- if(widget)
- {
- QLabel *lbl = qobject_cast<QLabel*>(widget);
- ispass = lbl->toolTip();
- }
- widget = ui->tableWidgetFinished->cellWidget(i,9);
- if(widget)
- {
- QLabel *lbl = qobject_cast<QLabel*>(widget);
- optstatus = lbl->toolTip();
- }
- break;
- }
- }
- }
- if(id.isEmpty())
- {
- QMessageBox::critical(this,"结果","未能获取有效的文件编号!",QMessageBox::Ok);
- return ;
- }
- if(ispass!="已放行")
- {
- QMessageBox::critical(this,"结果","单子还未放行!",QMessageBox::Ok);
- return ;
- }
- QString saveFile = getSaveFileName(id);
- if(saveFile.isEmpty())
- return ;
- QString json = m_numChkWs->dlResultFile(id,m_userHash);
- if(!json.isEmpty())
- {
- RespDlResultFile response(json);
- if(response.getRtnCode()==2)
- {
- QString fileName = saveFile;
- QString fileContent = response.getFileContent();
- QByteArray array = QByteArray::fromBase64(fileContent.toAscii());
- QFile file(fileName);
- file.open(QIODevice::WriteOnly);
- file.write(array);
- file.close();
- QMessageBox::information(this,"结果","单子下载成功",QMessageBox::Ok);
- }
- else
- {
- QMessageBox::critical(this,"结果",response.getRtnMemo(),QMessageBox::Ok);
- }
- }
- else
- {
- showMessage(0,true);
- }
- }
- void FormMain::on_pushButtonSelect_clicked()
- {
- Qt::CheckState state;
- QTableWidgetItem *item = ui->tableWidgetFinished->item(0,0);
- if(item)
- {
- state = item->checkState();
- if(state==Qt::Checked)
- {
- state = Qt::Unchecked;
- }
- else
- {
- state = Qt::Checked;
- }
- }
- else
- {
- return ;
- }
- for(int i=0;i<ui->tableWidgetFinished->rowCount();i++)
- {
- QTableWidgetItem *item = ui->tableWidgetFinished->item(i,0);
- if(item)
- {
- item->setCheckState(state);
- }
- }
- }
- bool FormMain::checkLastClickTime(QObject *button)
- {
- QPushButton *btn = qobject_cast<QPushButton*>(button);
- QDateTime lasttime = m_clickTime.value(btn->objectName());
- if(!lasttime.isNull())
- {
- if(lasttime.addSecs(30)>QDateTime::currentDateTime())
- {
- QMessageBox::critical(this,"提示","您不可以频繁点击!",QMessageBox::Ok);
- return false;
- }
- }
- m_clickTime.insert(btn->objectName(),QDateTime::currentDateTime());
- return true;
- }
- void FormMain::showMessage(int row)
- {
- QTableWidgetItem *itemMsg = ui->tableWidgetDealing->item(row,8);
- QTableWidgetItem *itemDetail = ui->tableWidgetDealing->item(row,9);
- QString errMsg = "";
- QString errDetail = "";
- if(itemMsg)
- {
- errMsg = itemMsg->data(Qt::UserRole).toString();
- }
- if(itemDetail)
- {
- errDetail = itemDetail->data(Qt::UserRole).toString();
- }
- if(errDetail.isEmpty())
- {
- if(!errMsg.isEmpty())
- {
- QMessageBox::critical(this,"提示",errMsg,QMessageBox::Ok);
- }
- }
- else
- {
- DialogSubmitResponseDetail dialog;
- dialog.setDetailText(errDetail);
- dialog.exec();
- }
- }
- void FormMain::on_pushButtonPay_clicked()
- {
- if(!chkAccountState(m_state))
- return;
- if(!checkLastClickTime(sender()))
- return ;
- QString json = m_ssoWs->encrypt(m_ssoHash);
- RespEncrypt resp1(json);
- QString data = resp1.getEncryptData();
- json = m_ssoWs->getServerTime();
- RespGetServerTime resp2(json);
- QString authCode;
- QByteArray ba;
- QString str = SNCDataBase::getAuthCodeUrl().arg(resp2.getServerTime().mid(0,16));
- ba = QCryptographicHash::hash ( str.toAscii(), QCryptographicHash::Md5 );
- authCode.append(ba.toHex());
- QString url = SNCDataBase::getSSOPayUrl() + "?s=mf&r="+authCode+"&u="+data+"&p=fk_"+m_clientID;
- QDesktopServices::openUrl(QUrl(url));
- }
- void FormMain::onPushButtonViewsClicked()
- {
- QPushButton *btn = qobject_cast<QPushButton*>(sender());
- for(int i=0;i<ui->tableWidgetDealing->rowCount();i++)
- {
- QWidget *widget = ui->tableWidgetDealing->cellWidget(i,13);
- if(widget)
- {
- if(btn==qobject_cast<QPushButton*>(widget))
- {
- showMessage(i);
- break;
- }
- }
- }
- }
- void FormMain::on_pushButtonQueryFinishedAll_clicked()
- {
- queryFinished("");
- }
- void FormMain::on_pushButtonQueryToDown_clicked()
- {
- queryFinished("0");
- }
- void FormMain::on_pushButtonQueryDown_clicked()
- {
- queryFinished("1");
- }
- void FormMain::onUploadFailed()
- {
- queryDealing();
- }
- void FormMain::onUploadFileCreated()
- {
- queryDealing();
- }
- void FormMain::onUploadSucceed()
- {
- queryDealing();
- refreshAccountInfo();
- }
- void FormMain::onDataSync()
- {
- queryFinished("");
- queryDealing();
- int count = SNCDataBase::getBzjcToDown(m_userCode,m_clientID);
- if(count>0)
- {
- ui->tabWidget->setTabText(1,QString("下载检测结果(%1)").arg(count));
- ui->tabWidget->setTabIcon(1,QIcon(":/todown.png"));
- }
- else
- {
- ui->tabWidget->setTabText(1,QString("下载检测结果").arg(count));
- }
- }
- void FormMain::onUploadProgressUpdated()
- {
- queryDealing();
- }
- void FormMain::on_tableWidgetDealing_cellDoubleClicked(int row, int column)
- {
- showMessage(row);
- }
- void FormMain::on_tableWidgetFinished_cellDoubleClicked(int row, int column)
- {
- QString ispass = "";
- QString optstatus = "";
- QString id = "";
- QTableWidgetItem *item;
- item = ui->tableWidgetFinished->item(row,0);
- if(item)
- {
- id = item->data(Qt::UserRole).toString();
- }
- QWidget *widget = ui->tableWidgetFinished->cellWidget(row,10);
- if(widget)
- {
- QLabel *lbl = qobject_cast<QLabel*>(widget);
- ispass = lbl->toolTip();
- }
- widget = ui->tableWidgetFinished->cellWidget(row,9);
- if(widget)
- {
- QLabel *lbl = qobject_cast<QLabel*>(widget);
- optstatus = lbl->toolTip();
- }
- if(id.isEmpty())
- {
- QMessageBox::critical(this,"结果","未能获取有效的文件编号!",QMessageBox::Ok);
- return ;
- }
- if(ispass!="已放行")
- {
- QMessageBox::critical(this,"结果","单子还未放行!",QMessageBox::Ok);
- return ;
- }
- QString saveFile = getSaveFileName(id);
- if(saveFile.isEmpty())
- return ;
- QString json = m_numChkWs->dlResultFile(id,m_userHash);
- if(!json.isEmpty())
- {
- RespDlResultFile response(json);
- if(response.getRtnCode()==2)
- {
- QString fileName = saveFile;
- QString fileContent = response.getFileContent();
- QByteArray array = QByteArray::fromBase64(fileContent.toAscii());
- QFile file(fileName);
- file.open(QIODevice::WriteOnly);
- file.write(array);
- file.close();
- QMessageBox::information(this,"结果","单子下载成功",QMessageBox::Ok);
- }
- else
- {
- QMessageBox::critical(this,"结果",response.getRtnMemo(),QMessageBox::Ok);
- }
- }
- else
- {
- showMessage(0,true);
- }
- }
|