feat: Add recon state in GUI.
This commit is contained in:
@@ -119,8 +119,8 @@ void DeviceManager::initDevice()
|
||||
controlDrainage(*(QString*)detail);
|
||||
});
|
||||
//AutoLocate
|
||||
connect(EventCenter::Default(), &EventCenter::StartScanProcess, this, &DeviceManager::startAutoLocate);
|
||||
connect(EventCenter::Default(), &EventCenter::StopScanProcess, this, &DeviceManager::stopAutoLocate);
|
||||
connect(EventCenter::Default(), &EventCenter::StartScanProcess, this, &DeviceManager::startScanProcess);
|
||||
connect(EventCenter::Default(), &EventCenter::StopScanProcess, this, &DeviceManager::stopScanProcess);
|
||||
|
||||
//Sync action
|
||||
mGetDeviceStatusAction = new DmsSyncAction(USRV_SCAN, ACT_SCAN_STATUS, this, "responseGetDeviceStatus(const QString&)", this);
|
||||
@@ -181,7 +181,9 @@ void DeviceManager::initDevice()
|
||||
QTimer* reconConnectionTimer = new QTimer(this);
|
||||
reconConnectionTimer->start(CHECK_RECON_CONNECTION_TIME);
|
||||
ReconManager::getInstance()->moveToThread(mReconHttpThread);
|
||||
connect(reconConnectionTimer, &QTimer::timeout, ReconManager::getInstance(), &ReconManager::checkReconConnection);
|
||||
connect(ReconManager::getInstance(), &ReconManager::reconStateResponsed, UsctStateManager::getInstance(), &UsctStateManager::updateReconState);
|
||||
connect(this, &DeviceManager::checkReconConnection, ReconManager::getInstance(), &ReconManager::checkReconConnection);
|
||||
connect(reconConnectionTimer, &QTimer::timeout, this, &DeviceManager::prepareCheckReconConnection);
|
||||
connect(this, &DeviceManager::createEmptyScanToRecon, ReconManager::getInstance(), &ReconManager::createEmptyScan);
|
||||
connect(this, &DeviceManager::createScanToRecon, ReconManager::getInstance(), &ReconManager::createScan);
|
||||
connect(ReconManager::getInstance(), &ReconManager::createScanResponsed, this, &DeviceManager::processReconCreateScan);
|
||||
@@ -306,7 +308,6 @@ void DeviceManager::startScan(const QString& json, bool empty)
|
||||
{
|
||||
QString msg = "Start scan...";
|
||||
TRIGGER_EVENT(GUIEvents::InvokeOperationStart, nullptr, (QObject*)&msg);
|
||||
AppGlobalValues::setInProcessing(true);
|
||||
mIsScanning = true;
|
||||
mIsEmptyScan = empty;
|
||||
QJsonObject patientInfo = QJsonDocument::fromJson(json.toUtf8()).object()["Patient Info"].toObject();
|
||||
@@ -376,7 +377,6 @@ void DeviceManager::prepareFinishScan(bool isNormalFinish, const QString& aReaso
|
||||
killTimer(mScanProgressTimer);
|
||||
mScanProgressTimer = -1;
|
||||
}
|
||||
AppGlobalValues::setInProcessing(false);
|
||||
mIsScanning = false;
|
||||
QString message = aReason;
|
||||
QObject* var = message.isEmpty() ? nullptr : (QObject*)&message;
|
||||
@@ -1257,6 +1257,27 @@ void DeviceManager::updateReconConnectionState(bool aIsConnected)
|
||||
EventCenter::Default()->triggerEvent(ReconConnectionUpdated, nullptr, (QObject*)&aIsConnected);
|
||||
}
|
||||
|
||||
void DeviceManager::startScanProcess()
|
||||
{
|
||||
if( !UsctStateManager::getInstance()->getState(ReconConnectionState) ||
|
||||
!UsctStateManager::getInstance()->getState(ReconState) ||
|
||||
!UsctStateManager::getInstance()->getState(ReconDBState))
|
||||
{
|
||||
TRIGGER_EVENT(StopScanProcess, nullptr, nullptr);
|
||||
QString errorMessage = tr("Recon error, can't start scan process");
|
||||
THROW_ERROR(errorMessage);
|
||||
return;
|
||||
}
|
||||
AppGlobalValues::setInProcessing(true);
|
||||
startAutoLocate();
|
||||
}
|
||||
|
||||
void DeviceManager::stopScanProcess()
|
||||
{
|
||||
AppGlobalValues::setInProcessing(false);
|
||||
stopAutoLocate();
|
||||
}
|
||||
|
||||
bool DeviceManager::startAutoLocate()
|
||||
{
|
||||
if(ScanProcessSequence::getInstance()->getScanPositionSize() == 0)
|
||||
@@ -1275,10 +1296,6 @@ bool DeviceManager::startAutoLocate()
|
||||
mGetAutoLocatePositionTimer = startTimer(1000);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
stopAutoLocate();
|
||||
}
|
||||
}
|
||||
TRIGGER_EVENT(StopScanProcess, nullptr, nullptr);
|
||||
QString errorMessage = tr("Start auto locate failed");
|
||||
@@ -1361,3 +1378,12 @@ void DeviceManager::checkDataQuality()
|
||||
TRIGGER_EVENT(StopScanProcess, nullptr, nullptr);
|
||||
return;
|
||||
}
|
||||
|
||||
void DeviceManager::prepareCheckReconConnection()
|
||||
{
|
||||
if(AppGlobalValues::InProcessing().toBool())
|
||||
{
|
||||
return;
|
||||
}
|
||||
emit checkReconConnection();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user