Change recon page can refresh transfer progress automaticly.
This commit is contained in:
@@ -702,7 +702,10 @@ void DeviceManager::startTransfer()
|
|||||||
QString msg = "DB Error. Code:G501";
|
QString msg = "DB Error. Code:G501";
|
||||||
emitInfoCallback(msg, MessageLevel::Error);
|
emitInfoCallback(msg, MessageLevel::Error);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
emit transferStatusUpdated();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeviceManager::processTransferProgress(const QString& aProgress)
|
void DeviceManager::processTransferProgress(const QString& aProgress)
|
||||||
@@ -727,6 +730,7 @@ void DeviceManager::processTransferProgress(const QString& aProgress)
|
|||||||
.arg(mIsTransferEmptyScan ? "EScan" : "Scan")
|
.arg(mIsTransferEmptyScan ? "EScan" : "Scan")
|
||||||
.arg(mCurrentTransferMeasurementID);
|
.arg(mCurrentTransferMeasurementID);
|
||||||
mIsTransfering = false;
|
mIsTransfering = false;
|
||||||
|
mTransferProgress = 0;
|
||||||
mCurrentTransferMeasurementID.clear();
|
mCurrentTransferMeasurementID.clear();
|
||||||
if(!SQLHelper::exec(sql))
|
if(!SQLHelper::exec(sql))
|
||||||
{
|
{
|
||||||
@@ -735,6 +739,7 @@ void DeviceManager::processTransferProgress(const QString& aProgress)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
emitInfoCallback("Scan data transfer Succeeded!", MessageLevel::Sucess);
|
emitInfoCallback("Scan data transfer Succeeded!", MessageLevel::Sucess);
|
||||||
|
emit transferStatusUpdated();
|
||||||
startCreateReconRecord();
|
startCreateReconRecord();
|
||||||
startTransfer();
|
startTransfer();
|
||||||
break;
|
break;
|
||||||
@@ -744,6 +749,7 @@ void DeviceManager::processTransferProgress(const QString& aProgress)
|
|||||||
.arg(mIsTransferEmptyScan ? "EScan" : "Scan")
|
.arg(mIsTransferEmptyScan ? "EScan" : "Scan")
|
||||||
.arg(mCurrentTransferMeasurementID);
|
.arg(mCurrentTransferMeasurementID);
|
||||||
mIsTransfering = false;
|
mIsTransfering = false;
|
||||||
|
mTransferProgress = 0;
|
||||||
mCurrentTransferMeasurementID.clear();
|
mCurrentTransferMeasurementID.clear();
|
||||||
if(!SQLHelper::exec(sql))
|
if(!SQLHelper::exec(sql))
|
||||||
{
|
{
|
||||||
@@ -852,7 +858,6 @@ void DeviceManager::initEmptyScanMeasurementID()
|
|||||||
|
|
||||||
void DeviceManager::updateReconState()
|
void DeviceManager::updateReconState()
|
||||||
{
|
{
|
||||||
updateTransferProgress();
|
|
||||||
QString sql = "SELECT ScanID FROM Scan WHERE State < 999 And State >= 300";
|
QString sql = "SELECT ScanID FROM Scan WHERE State < 999 And State >= 300";
|
||||||
auto result = SQLHelper::queryValues(sql);
|
auto result = SQLHelper::queryValues(sql);
|
||||||
QStringList scanIDs;
|
QStringList scanIDs;
|
||||||
@@ -869,19 +874,22 @@ void DeviceManager::updateReconState()
|
|||||||
emit queryScanStatusToRecon(scanIDs);
|
emit queryScanStatusToRecon(scanIDs);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeviceManager::updateTransferProgress()
|
bool DeviceManager::updateTransferProgress()
|
||||||
{
|
{
|
||||||
if(!mIsTransfering)
|
if(!mIsTransfering)
|
||||||
{
|
{
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
mTransferProgress = 0;
|
mTransferProgress = 0;
|
||||||
auto result = mGetTransferProgressAction->execute();
|
auto result = mGetTransferProgressAction->execute();
|
||||||
QJsonObject jsonObj = toJsonObject(result.mData);
|
QJsonObject jsonObj = toJsonObject(result.mData);
|
||||||
if(jsonObj["code"].toInt() == 0 )
|
if(jsonObj["code"].toInt() == 1 )
|
||||||
{
|
{
|
||||||
mTransferProgress = jsonObj["info"].toInt();
|
mTransferProgress = jsonObj["info"].toString().toInt();
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int DeviceManager::getTransferProgress()
|
int DeviceManager::getTransferProgress()
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ public:
|
|||||||
void emitErrorCallback(const char *msg);
|
void emitErrorCallback(const char *msg);
|
||||||
void emitInfoCallback(const QString& aMessage,const unsigned int aInfoType);
|
void emitInfoCallback(const QString& aMessage,const unsigned int aInfoType);
|
||||||
bool hasValidEmptyScan();
|
bool hasValidEmptyScan();
|
||||||
void updateTransferProgress();
|
bool updateTransferProgress();
|
||||||
int getTransferProgress();
|
int getTransferProgress();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
@@ -142,6 +142,9 @@ signals:
|
|||||||
void createScanToRecon(const QString& aScanID, const QString& aPatientID, const QString& aReferenceID, const QString& aPath);
|
void createScanToRecon(const QString& aScanID, const QString& aPatientID, const QString& aReferenceID, const QString& aPath);
|
||||||
void queryScanStatusToRecon(const QStringList& aScanIDs);
|
void queryScanStatusToRecon(const QStringList& aScanIDs);
|
||||||
void updateReconStateFinished();
|
void updateReconStateFinished();
|
||||||
|
//GUI
|
||||||
|
void initializeFinished();
|
||||||
|
void transferStatusUpdated();
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
#include <QSqlRecord>
|
#include <QSqlRecord>
|
||||||
|
#include <QTimer>
|
||||||
|
|
||||||
#include "components/SlideTableView.h"
|
#include "components/SlideTableView.h"
|
||||||
#include "db/SQLHelper.h"
|
#include "db/SQLHelper.h"
|
||||||
@@ -23,6 +24,7 @@ ReconFormWidget::ReconFormWidget(QWidget *parent)
|
|||||||
, mScanTable(new SlideTableView(this))
|
, mScanTable(new SlideTableView(this))
|
||||||
, mSearchWidget(new ScanSearchCriteriaForm(this))
|
, mSearchWidget(new ScanSearchCriteriaForm(this))
|
||||||
, mModel(nullptr)
|
, mModel(nullptr)
|
||||||
|
, mRefreshTimer(new QTimer(this))
|
||||||
{
|
{
|
||||||
auto layout = new QHBoxLayout(ui->commandWidget);
|
auto layout = new QHBoxLayout(ui->commandWidget);
|
||||||
layout->setAlignment(Qt::AlignmentFlag::AlignLeft);
|
layout->setAlignment(Qt::AlignmentFlag::AlignLeft);
|
||||||
@@ -51,8 +53,10 @@ ReconFormWidget::ReconFormWidget(QWidget *parent)
|
|||||||
|
|
||||||
connect(mBtnRefresh, &QToolButton::clicked, DeviceManager::Default(), &DeviceManager::updateReconState);
|
connect(mBtnRefresh, &QToolButton::clicked, DeviceManager::Default(), &DeviceManager::updateReconState);
|
||||||
connect(DeviceManager::Default(), &DeviceManager::updateReconStateFinished, mModel, &QSqlTableModel::select);
|
connect(DeviceManager::Default(), &DeviceManager::updateReconStateFinished, mModel, &QSqlTableModel::select);
|
||||||
|
connect(DeviceManager::Default(), &DeviceManager::transferStatusUpdated, mModel, &QSqlTableModel::select);
|
||||||
connect(mSearchWidget, &ScanSearchCriteriaForm::searchFilterUpdated, this, &ReconFormWidget::updateSearchFilter);
|
connect(mSearchWidget, &ScanSearchCriteriaForm::searchFilterUpdated, this, &ReconFormWidget::updateSearchFilter);
|
||||||
connect(mBtnDelete, &QToolButton::clicked, this, &ReconFormWidget::deleteReconRecord);
|
connect(mBtnDelete, &QToolButton::clicked, this, &ReconFormWidget::deleteReconRecord);
|
||||||
|
connect(mRefreshTimer, &QTimer::timeout, this, &ReconFormWidget::refreshTransferprogress);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -116,6 +120,13 @@ void ReconFormWidget::showEvent(QShowEvent *aEvent)
|
|||||||
{
|
{
|
||||||
TabFormWidget::showEvent(aEvent);
|
TabFormWidget::showEvent(aEvent);
|
||||||
DeviceManager::Default()->updateReconState();
|
DeviceManager::Default()->updateReconState();
|
||||||
|
mRefreshTimer->start(1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ReconFormWidget::hideEvent(QHideEvent *aEvent)
|
||||||
|
{
|
||||||
|
mRefreshTimer->stop();
|
||||||
|
TabFormWidget::hideEvent(aEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReconFormWidget::deleteReconRecord()
|
void ReconFormWidget::deleteReconRecord()
|
||||||
@@ -159,3 +170,11 @@ int ReconFormWidget::getTableColumnIndex(const QString& aColumnName)
|
|||||||
{
|
{
|
||||||
return mModel->record().indexOf(aColumnName);
|
return mModel->record().indexOf(aColumnName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ReconFormWidget::refreshTransferprogress()
|
||||||
|
{
|
||||||
|
if(DeviceManager::Default()->updateTransferProgress())
|
||||||
|
{
|
||||||
|
mScanTable->viewport()->update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ class QToolButton;
|
|||||||
class SlideTableView;
|
class SlideTableView;
|
||||||
class QSqlTableModel;
|
class QSqlTableModel;
|
||||||
class ScanSearchCriteriaForm;
|
class ScanSearchCriteriaForm;
|
||||||
|
class QTimer;
|
||||||
|
|
||||||
class ReconFormWidget: public TabFormWidget
|
class ReconFormWidget: public TabFormWidget
|
||||||
{
|
{
|
||||||
@@ -19,10 +20,12 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
void showEvent(QShowEvent *aEvent) override;
|
void showEvent(QShowEvent *aEvent) override;
|
||||||
|
void hideEvent(QHideEvent *aEvent) override;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void updateSearchFilter();
|
void updateSearchFilter();
|
||||||
void deleteReconRecord();
|
void deleteReconRecord();
|
||||||
|
void refreshTransferprogress();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int getTableColumnIndex(const QString& aColumnName);
|
int getTableColumnIndex(const QString& aColumnName);
|
||||||
@@ -34,6 +37,7 @@ private:
|
|||||||
SlideTableView* mScanTable;
|
SlideTableView* mScanTable;
|
||||||
ScanSearchCriteriaForm* mSearchWidget;
|
ScanSearchCriteriaForm* mSearchWidget;
|
||||||
QSqlTableModel *mModel;
|
QSqlTableModel *mModel;
|
||||||
|
QTimer* mRefreshTimer;
|
||||||
|
|
||||||
void initTableView(QHBoxLayout *contentLayout);
|
void initTableView(QHBoxLayout *contentLayout);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user