Update drainage with dms control.
This commit is contained in:
@@ -124,6 +124,11 @@ void DeviceManager::initDevice()
|
||||
connect(EventCenter::Default(), &EventCenter::RequestPreviewScan,this, &DeviceManager::startPreview);
|
||||
//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
|
||||
mGetDeviceStatusAction = new DmsSyncAction(USRV_SCAN, ACT_SCAN_STATUS, this, "responseGetDeviceStatus(const QString&)", this);
|
||||
@@ -1011,3 +1016,19 @@ bool DeviceManager::getCEStatus()
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -105,6 +105,7 @@ private:
|
||||
bool startCEScan();
|
||||
void startTransfer();
|
||||
void initEmptyScanMeasurementID();
|
||||
void controlDrainage(const QString& aCode);
|
||||
|
||||
void processScanProgress(const QString& aProgress);
|
||||
void processInitializeProgress(const QString& aProgress);
|
||||
|
||||
@@ -18,6 +18,7 @@ ADD_EVENT_VALUE(RequestPatientScan)\
|
||||
ADD_EVENT_VALUE(RequestContinueScan)\
|
||||
ADD_EVENT_VALUE(RequestFullScanStop)\
|
||||
ADD_EVENT_VALUE(RequestPreviewStop)\
|
||||
ADD_EVENT_VALUE(RequestDrainage)\
|
||||
ADD_EVENT_VALUE(ResponseDeviceTemperature)\
|
||||
ADD_EVENT_VALUE(ResponsePreview)\
|
||||
ADD_EVENT_VALUE(ResponsePreviewData)\
|
||||
|
||||
@@ -169,15 +169,19 @@ void ScanFormWidget::initScanControlBar(QHBoxLayout *layout){
|
||||
LOG_USER_OPERATION(Stop)
|
||||
EventCenter::Default()->triggerEvent(RequestPreviewStop, nullptr, nullptr);
|
||||
});
|
||||
connect(mBtnDrainage, &QToolButton::toggled, [=](bool aSatus) {
|
||||
connect(mBtnDrainage, &QToolButton::clicked, [=](bool aSatus) {
|
||||
//Drainage
|
||||
if(aSatus == true)
|
||||
{
|
||||
QString code = "1";
|
||||
mBtnDrainage->setText(tr("Drainaging"));
|
||||
EventCenter::Default()->triggerEvent(RequestDrainage, nullptr, (QObject*)(&code));
|
||||
}
|
||||
else
|
||||
{
|
||||
QString code = "0";
|
||||
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){
|
||||
printf("signal:%d\r\n",senderSignalIndex());
|
||||
setPreviewing(false);
|
||||
mBtnDrainage->setChecked(false);
|
||||
mBtnDrainage->setText(tr("Drainage"));
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user