fix: Fix drainage do not dislpay complete dialog.
This commit is contained in:
@@ -147,6 +147,7 @@ void DeviceManager::initDevice()
|
|||||||
{
|
{
|
||||||
this->processDrainageResult("{\"code\":-1,\"info\":\"454\"}");
|
this->processDrainageResult("{\"code\":-1,\"info\":\"454\"}");
|
||||||
});
|
});
|
||||||
|
connect(EventCenter::Default(), &EventCenter::RequestAutoDrainage, this, &DeviceManager::startAutoDrainage);
|
||||||
mWaterfloodAction = new DmsAsyncAction(USRV_CONTROL, ACT_CTL_WINJECT, this, "responseWaterflood(const QString&)", this);
|
mWaterfloodAction = new DmsAsyncAction(USRV_CONTROL, ACT_CTL_WINJECT, this, "responseWaterflood(const QString&)", this);
|
||||||
mWaterfloodAction->setTimeoutInterval(WATERPROCESS_TIMEOUT);
|
mWaterfloodAction->setTimeoutInterval(WATERPROCESS_TIMEOUT);
|
||||||
connect(mWaterfloodAction, &DmsAsyncAction::timeout, [this]()
|
connect(mWaterfloodAction, &DmsAsyncAction::timeout, [this]()
|
||||||
@@ -443,6 +444,11 @@ void DeviceManager::prepareFinishScan(bool isNormalFinish, const QString& aReaso
|
|||||||
if(!mIsEmptyScan)
|
if(!mIsEmptyScan)
|
||||||
{
|
{
|
||||||
TRIGGER_EVENT(StopScanProcess, nullptr, nullptr);
|
TRIGGER_EVENT(StopScanProcess, nullptr, nullptr);
|
||||||
|
if(mIsAutoDrainage)
|
||||||
|
{
|
||||||
|
mIsAutoDrainage = false;
|
||||||
|
exitWaterProcess();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
TRIGGER_EVENT(InvokeOperationEnd, nullptr, var);
|
TRIGGER_EVENT(InvokeOperationEnd, nullptr, var);
|
||||||
return;
|
return;
|
||||||
@@ -1183,24 +1189,33 @@ bool DeviceManager::getCEStatus()
|
|||||||
|
|
||||||
void DeviceManager::startDrainage()
|
void DeviceManager::startDrainage()
|
||||||
{
|
{
|
||||||
|
mIsAutoDrainage = false;
|
||||||
if(!mDrainageControlAction->execute())
|
if(!mDrainageControlAction->execute())
|
||||||
{
|
{
|
||||||
QString msg = tr("Open drain vavle failed.");
|
QString msg = tr("Open drain vavle failed.");
|
||||||
emit startDrainageControlResult(false, msg);
|
emit startDrainageControlResult(false);
|
||||||
|
THROW_ERROR(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DeviceManager::startAutoDrainage()
|
||||||
|
{
|
||||||
|
mIsAutoDrainage = true;
|
||||||
|
mDrainageControlAction->execute();
|
||||||
|
}
|
||||||
|
|
||||||
void DeviceManager::processDrainageResult(const QString& aResponse)
|
void DeviceManager::processDrainageResult(const QString& aResponse)
|
||||||
{
|
{
|
||||||
QJsonObject jsonObj = toJsonObject(aResponse);
|
QJsonObject jsonObj = toJsonObject(aResponse);
|
||||||
if(jsonObj["code"].toInt() == 0 )
|
if(jsonObj["code"].toInt() == 0 )
|
||||||
{
|
{
|
||||||
emit startDrainageControlResult(true);
|
emit startDrainageControlResult(true, mIsAutoDrainage);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString msg = tr("Open drain vavle failed.") + tr("\nError: ") + jsonObj["info"].toString();
|
QString msg = tr("Open drain vavle failed.") + tr("\nError: ") + jsonObj["info"].toString();
|
||||||
emit startDrainageControlResult(false, msg);
|
emit startDrainageControlResult(false, mIsAutoDrainage);
|
||||||
|
THROW_ERROR(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeviceManager::startWaterflood()
|
void DeviceManager::startWaterflood()
|
||||||
@@ -1273,6 +1288,7 @@ void DeviceManager::processWaterProcessExitResult(const QString &aResponse)
|
|||||||
|
|
||||||
void DeviceManager::processWaterProcessFinishedResult(const QString &aResponse)
|
void DeviceManager::processWaterProcessFinishedResult(const QString &aResponse)
|
||||||
{
|
{
|
||||||
|
mIsAutoDrainage = false;
|
||||||
QJsonObject jsonObj = toJsonObject(aResponse);
|
QJsonObject jsonObj = toJsonObject(aResponse);
|
||||||
if(jsonObj["code"].toInt() == 0 )
|
if(jsonObj["code"].toInt() == 0 )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -105,6 +105,7 @@ private:
|
|||||||
bool startCEScan();
|
bool startCEScan();
|
||||||
void initEmptyScanMeasurementID();
|
void initEmptyScanMeasurementID();
|
||||||
void startDrainage();
|
void startDrainage();
|
||||||
|
void startAutoDrainage();
|
||||||
void startWaterflood();
|
void startWaterflood();
|
||||||
void startWaterClean();
|
void startWaterClean();
|
||||||
void exitWaterProcess();
|
void exitWaterProcess();
|
||||||
@@ -184,7 +185,7 @@ signals:
|
|||||||
void initializeFinished();
|
void initializeFinished();
|
||||||
void initializeProgress(const QString& aProgress);
|
void initializeProgress(const QString& aProgress);
|
||||||
void startPreviewScanResult(bool aIsSucessful);
|
void startPreviewScanResult(bool aIsSucessful);
|
||||||
void startDrainageControlResult(bool aIsSucessful, const QString& aMessage = "");
|
void startDrainageControlResult(bool aIsSucessful, bool aIsAutoDrainage = false);
|
||||||
void startWaterfloodResult(bool aIsSucessful);
|
void startWaterfloodResult(bool aIsSucessful);
|
||||||
void startWaterCleanResult(bool aIsSucessful);
|
void startWaterCleanResult(bool aIsSucessful);
|
||||||
void exitWaterProcessResult(bool aIsSucessful);
|
void exitWaterProcessResult(bool aIsSucessful);
|
||||||
@@ -210,6 +211,7 @@ private:
|
|||||||
bool mIsInitializing = false;
|
bool mIsInitializing = false;
|
||||||
bool mIsAutoLocating = false;
|
bool mIsAutoLocating = false;
|
||||||
bool mIsFirstInTransferPorgress = false;
|
bool mIsFirstInTransferPorgress = false;
|
||||||
|
bool mIsAutoDrainage = false;
|
||||||
|
|
||||||
QString mCurrentScanMeasurementID = "";
|
QString mCurrentScanMeasurementID = "";
|
||||||
QString mCurrentEmptyMeasurementID = "";
|
QString mCurrentEmptyMeasurementID = "";
|
||||||
|
|||||||
@@ -149,10 +149,9 @@ void ScanFormWidget::initCommandWidget(QHBoxLayout *layout)
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(EventCenter::Default(), &EventCenter::RequestAutoDrainage, mDrainageButton, &QToolButton::click);
|
|
||||||
connect(mDrainageButton, &QToolButton::clicked, [=](bool aStatus)
|
connect(mDrainageButton, &QToolButton::clicked, [=](bool aStatus)
|
||||||
{
|
{
|
||||||
if(!mIsAutoDrainage &&aStatus && DialogManager::Default()->requestAlertMessage(tr("Please confirm if drainage is required ?"), DialogButtonMode::OkAndCancel, tr("Confirm Drainage")) == QDialog::Rejected)
|
if(aStatus && DialogManager::Default()->requestAlertMessage(tr("Please confirm if drainage is required ?"), DialogButtonMode::OkAndCancel, tr("Confirm Drainage")) == QDialog::Rejected)
|
||||||
{
|
{
|
||||||
mDrainageButton->setChecked(!aStatus);
|
mDrainageButton->setChecked(!aStatus);
|
||||||
return;
|
return;
|
||||||
@@ -195,17 +194,17 @@ void ScanFormWidget::initCommandWidget(QHBoxLayout *layout)
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(DeviceManager::Default(), &DeviceManager::startDrainageControlResult, [this](bool aIsSucessful, const QString& aMessage)
|
connect(DeviceManager::Default(), &DeviceManager::startDrainageControlResult, [this](bool aIsSucessful, bool aIsAutoDrainage)
|
||||||
{
|
{
|
||||||
|
if(aIsAutoDrainage)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
if(!aIsSucessful)
|
if(!aIsSucessful)
|
||||||
{
|
{
|
||||||
setWaterProcessModeEnable(true);
|
setWaterProcessModeEnable(true);
|
||||||
mDrainageButton->setChecked(false);
|
mDrainageButton->setChecked(false);
|
||||||
mDrainageButton->setText(tr("Drain"));
|
mDrainageButton->setText(tr("Drain"));
|
||||||
if(!mIsAutoDrainage)
|
|
||||||
{
|
|
||||||
EventCenter::Default()->triggerEvent(GUIEvents::GUIErrorRaise, nullptr, (QObject*)&aMessage);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -284,11 +283,6 @@ void ScanFormWidget::initCommandWidget(QHBoxLayout *layout)
|
|||||||
}
|
}
|
||||||
|
|
||||||
finishWaterPorcess(mWaterProcessMode);
|
finishWaterPorcess(mWaterProcessMode);
|
||||||
|
|
||||||
if(mIsAutoDrainage)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
QString message;
|
QString message;
|
||||||
if(aIsSucessful)
|
if(aIsSucessful)
|
||||||
{
|
{
|
||||||
@@ -390,10 +384,8 @@ void ScanFormWidget::initCommandWidget(QHBoxLayout *layout)
|
|||||||
connect(ScanProcessSequence::getInstance(), &ScanProcessSequence::fullScanDataExport, [this]()
|
connect(ScanProcessSequence::getInstance(), &ScanProcessSequence::fullScanDataExport, [this]()
|
||||||
{
|
{
|
||||||
mScanProcessLabel->setText(tr("Data exporting, patient can leave the holder"));
|
mScanProcessLabel->setText(tr("Data exporting, patient can leave the holder"));
|
||||||
mIsAutoDrainage = false;
|
|
||||||
if(ScanProcessSequence::getInstance()->getScanPositionSize() == 1 && JsonObject::Instance()->getAutoDrainage() == true)
|
if(ScanProcessSequence::getInstance()->getScanPositionSize() == 1 && JsonObject::Instance()->getAutoDrainage() == true)
|
||||||
{
|
{
|
||||||
mIsAutoDrainage = true;
|
|
||||||
mScanProcessLabel->setText(tr("Data exporting, patient can leave the holder, drainage in progress."));
|
mScanProcessLabel->setText(tr("Data exporting, patient can leave the holder, drainage in progress."));
|
||||||
EventCenter::Default()->triggerEvent(GUIEvents::RequestAutoDrainage, nullptr, nullptr);
|
EventCenter::Default()->triggerEvent(GUIEvents::RequestAutoDrainage, nullptr, nullptr);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,7 +53,6 @@ private:
|
|||||||
WaterProcessMode mWaterProcessMode;
|
WaterProcessMode mWaterProcessMode;
|
||||||
WaterCleanStep mWaterCleanStep;
|
WaterCleanStep mWaterCleanStep;
|
||||||
bool mIsWaterProcessing;
|
bool mIsWaterProcessing;
|
||||||
bool mIsAutoDrainage;
|
|
||||||
|
|
||||||
void initCommandWidget(QHBoxLayout *layout);
|
void initCommandWidget(QHBoxLayout *layout);
|
||||||
void initScanContent();
|
void initScanContent();
|
||||||
|
|||||||
Reference in New Issue
Block a user