Update drainage with dms control.

This commit is contained in:
sunwen
2023-08-31 15:44:11 +08:00
parent 403a5e2a33
commit d0eaba04f7
4 changed files with 30 additions and 1 deletions

View File

@@ -124,6 +124,11 @@ void DeviceManager::initDevice()
connect(EventCenter::Default(), &EventCenter::RequestPreviewScan,this, &DeviceManager::startPreview); connect(EventCenter::Default(), &EventCenter::RequestPreviewScan,this, &DeviceManager::startPreview);
//shutdown //shutdown
connect(EventCenter::Default(), &EventCenter::RequestShutdown, this, &DeviceManager::shutdown); connect(EventCenter::Default(), &EventCenter::RequestShutdown, this, &DeviceManager::shutdown);
//Drainage
connect(EventCenter::Default(), &EventCenter::RequestDrainage, this, [this](QObject* sender, QObject* detail)
{
controlDrainage(*(QString*)detail);
});
//Sync action //Sync action
mGetDeviceStatusAction = new DmsSyncAction(USRV_SCAN, ACT_SCAN_STATUS, this, "responseGetDeviceStatus(const QString&)", this); mGetDeviceStatusAction = new DmsSyncAction(USRV_SCAN, ACT_SCAN_STATUS, this, "responseGetDeviceStatus(const QString&)", this);
@@ -1011,3 +1016,19 @@ bool DeviceManager::getCEStatus()
} }
return true; return true;
} }
void DeviceManager::controlDrainage(const QString& aCode)
{
mPumpControlAction->setSendData(QString("{\"pumb\":%1}").arg(aCode));
auto result = mPumpControlAction->execute();
if(result.mIsSucessful)
{
QJsonObject jsonObj = toJsonObject(result.mData);
if(jsonObj["code"].toInt() == 0 )
{
return;
}
}
QString msg = tr("Open pump failed.");
THROW_ERROR(msg);
}

View File

@@ -105,6 +105,7 @@ private:
bool startCEScan(); bool startCEScan();
void startTransfer(); void startTransfer();
void initEmptyScanMeasurementID(); void initEmptyScanMeasurementID();
void controlDrainage(const QString& aCode);
void processScanProgress(const QString& aProgress); void processScanProgress(const QString& aProgress);
void processInitializeProgress(const QString& aProgress); void processInitializeProgress(const QString& aProgress);

View File

@@ -18,6 +18,7 @@ ADD_EVENT_VALUE(RequestPatientScan)\
ADD_EVENT_VALUE(RequestContinueScan)\ ADD_EVENT_VALUE(RequestContinueScan)\
ADD_EVENT_VALUE(RequestFullScanStop)\ ADD_EVENT_VALUE(RequestFullScanStop)\
ADD_EVENT_VALUE(RequestPreviewStop)\ ADD_EVENT_VALUE(RequestPreviewStop)\
ADD_EVENT_VALUE(RequestDrainage)\
ADD_EVENT_VALUE(ResponseDeviceTemperature)\ ADD_EVENT_VALUE(ResponseDeviceTemperature)\
ADD_EVENT_VALUE(ResponsePreview)\ ADD_EVENT_VALUE(ResponsePreview)\
ADD_EVENT_VALUE(ResponsePreviewData)\ ADD_EVENT_VALUE(ResponsePreviewData)\

View File

@@ -169,15 +169,19 @@ void ScanFormWidget::initScanControlBar(QHBoxLayout *layout){
LOG_USER_OPERATION(Stop) LOG_USER_OPERATION(Stop)
EventCenter::Default()->triggerEvent(RequestPreviewStop, nullptr, nullptr); EventCenter::Default()->triggerEvent(RequestPreviewStop, nullptr, nullptr);
}); });
connect(mBtnDrainage, &QToolButton::toggled, [=](bool aSatus) { connect(mBtnDrainage, &QToolButton::clicked, [=](bool aSatus) {
//Drainage //Drainage
if(aSatus == true) if(aSatus == true)
{ {
QString code = "1";
mBtnDrainage->setText(tr("Drainaging")); mBtnDrainage->setText(tr("Drainaging"));
EventCenter::Default()->triggerEvent(RequestDrainage, nullptr, (QObject*)(&code));
} }
else else
{ {
QString code = "0";
mBtnDrainage->setText(tr("Drainage")); mBtnDrainage->setText(tr("Drainage"));
EventCenter::Default()->triggerEvent(RequestDrainage, nullptr, (QObject*)(&code));
} }
}); });
} }
@@ -281,6 +285,8 @@ void ScanFormWidget::initEvents() {//Events-------------------------------------
connect(EventCenter::Default(), &EventCenter::DeviceErrorRaise, [=](QObject* parent, QObject* msg){ connect(EventCenter::Default(), &EventCenter::DeviceErrorRaise, [=](QObject* parent, QObject* msg){
printf("signal:%d\r\n",senderSignalIndex()); printf("signal:%d\r\n",senderSignalIndex());
setPreviewing(false); setPreviewing(false);
mBtnDrainage->setChecked(false);
mBtnDrainage->setText(tr("Drainage"));
}); });
} }