feat: add auto drainage.

This commit is contained in:
sunwen
2025-05-28 14:04:13 +08:00
parent 27fff41eb3
commit 3063efd223
11 changed files with 201 additions and 108 deletions

View File

@@ -115,6 +115,7 @@ void DeviceManager::initDevice()
connect(EventCenter::Default(), &EventCenter::RequestShutdown, this, &DeviceManager::shutdownDms);
//Drainage
connect(EventCenter::Default(), &EventCenter::RequestDrainage, this, &DeviceManager::startDrainage);
connect(EventCenter::Default(), &EventCenter::RequestAutoDrainage, this, &DeviceManager::startAutoDrainage);
connect(EventCenter::Default(), &EventCenter::RequestWaterflood, this, &DeviceManager::startWaterflood);
connect(EventCenter::Default(), &EventCenter::RequestWaterClean, this, &DeviceManager::startWaterClean);
connect(EventCenter::Default(), &EventCenter::RequestWaterModeExit, this, &DeviceManager::exitWaterProcess);
@@ -382,6 +383,7 @@ void DeviceManager::processScanProgress(const QString& aProgress)
{
case 1:
{
mIsFirstInTransferPorgress = true;
QVariant var(tr("progress:%1%").arg(msg));
TRIGGER_EVENT(InvokeOperationProgress, nullptr, (QObject *) &var);
break;
@@ -395,7 +397,11 @@ void DeviceManager::processScanProgress(const QString& aProgress)
}
else
{
ScanProcessSequence::getInstance()->fullScanDataExport();
if(mIsFirstInTransferPorgress)
{
mIsFirstInTransferPorgress = false;
ScanProcessSequence::getInstance()->fullScanDataExport();
}
var = QVariant(tr("Patient can leave.\nprogress:%1%").arg(msg));
}
TRIGGER_EVENT(InvokeOperationProgress, nullptr, (QObject *) &var);
@@ -1178,6 +1184,7 @@ bool DeviceManager::getCEStatus()
void DeviceManager::startDrainage()
{
mIsAutoDrainage = false;
if(!mDrainageControlAction->execute())
{
emit startDrainageControlResult(false);
@@ -1186,8 +1193,22 @@ void DeviceManager::startDrainage()
}
}
void DeviceManager::startAutoDrainage()
{
if(!JsonObject::Instance()->getAutoDrainage())
{
return;
}
mIsAutoDrainage = true;
mDrainageControlAction->execute();
}
void DeviceManager::processDrainageResult(const QString& aResponse)
{
if(mIsAutoDrainage)
{
return;
}
QJsonObject jsonObj = toJsonObject(aResponse);
if(jsonObj["code"].toInt() == 0 )
{

View File

@@ -105,6 +105,7 @@ private:
bool startCEScan();
void initEmptyScanMeasurementID();
void startDrainage();
void startAutoDrainage();
void startWaterflood();
void startWaterClean();
void exitWaterProcess();
@@ -209,6 +210,8 @@ private:
bool mIsPreviewing = false;
bool mIsInitializing = false;
bool mIsAutoLocating = false;
bool mIsFirstInTransferPorgress = false;
bool mIsAutoDrainage = false;
QString mCurrentScanMeasurementID = "";
QString mCurrentEmptyMeasurementID = "";