Add InitializeWidget before login.
This commit is contained in:
@@ -83,10 +83,10 @@ QString getFullScanJson(QObject* obj)
|
||||
|
||||
void DeviceManager::initDevice()
|
||||
{
|
||||
dmsmq_init();
|
||||
mIsInitializing = true;
|
||||
dmsmq_init();
|
||||
if(JsonObject::Instance()->isDmsSimulator())
|
||||
{
|
||||
qDebug()<< JsonObject::Instance()->isDmsSimulator();
|
||||
//set simulator
|
||||
QString simulatorCode = "{ \"code\":0, \"info\":\"1\"}";
|
||||
QByteArray byteArray = simulatorCode.toUtf8();
|
||||
@@ -132,7 +132,10 @@ void DeviceManager::initDevice()
|
||||
mPreviewScanAction = new DmsSyncAction(USRV_SCAN, ACT_SCAN_PREVIEW, this, "responsePreviewScan(const QString&)", this);
|
||||
mTransferAction = new DmsSyncAction(USRV_XFR, ACT_XFR_START, this, "responseTransfer(const QString&)", this);
|
||||
mGetTransferProgressAction = new DmsSyncAction(USRV_XFR, ACT_XFR_PROGRESS_PASSIVE, this, "responseGetTransferProgress(const QString&)", this);
|
||||
|
||||
mCEScanAction = new DmsSyncAction(USRV_SCAN, ACT_SCAN_CE, this, "responseCEScan(const QString&)", this);
|
||||
mGetCEStatusAction = new DmsSyncAction(USRV_SCAN, ACT_SCAN_CE_STATUS, this, "responseGetCEStatus(const QString&)", this);
|
||||
mPumpControlAction = new DmsSyncAction(USRV_CONTROL, ACT_CTL_PUMP, this, "responsePumpControl(const QString&)", this);
|
||||
|
||||
//Async action
|
||||
mGetScanProgressAction = new DmsAsyncAction(USRV_SCAN, ACT_SCAN_PROGRESS_PASSIVE, this,"responseGetScanProgress(const QString&)", this);
|
||||
mGetSoftwareVersionAction = new DmsAsyncAction(USRV_INFOCFG, ACT_IFCFG_VERINFO, this,"responseGetSoftwareVersion(const QString&)", this);
|
||||
@@ -166,10 +169,55 @@ void DeviceManager::initDevice()
|
||||
{
|
||||
mStopScanAction->execute();
|
||||
}
|
||||
startTransfer();
|
||||
if(!getCEStatus())
|
||||
{
|
||||
if(startCEScan())
|
||||
{
|
||||
mScanProgressTimer = startTimer(500);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
emit initializeProgress("33");
|
||||
QThread::msleep(500);
|
||||
emit initializeProgress("66");
|
||||
QThread::msleep(500);
|
||||
emit initializeProgress("100");
|
||||
emit initializeFinished();
|
||||
}
|
||||
|
||||
startTransfer();
|
||||
initEmptyScanMeasurementID();
|
||||
//mGetSoftwareVersionAction->execute();
|
||||
|
||||
|
||||
}
|
||||
|
||||
void DeviceManager::processInitializeProgress(const QString& aProgress)
|
||||
{
|
||||
if(!mIsInitializing)
|
||||
{
|
||||
return;
|
||||
}
|
||||
QJsonObject jsonObj = toJsonObject(aProgress);
|
||||
int code = jsonObj["code"].toInt();
|
||||
QString msg = jsonObj["info"].toString();
|
||||
switch (code)
|
||||
{
|
||||
case 1:
|
||||
emit initializeProgress(msg);
|
||||
break;
|
||||
case 2:
|
||||
prepareFinishInitialize();
|
||||
emit initializeFinished();
|
||||
break;
|
||||
case -1:
|
||||
prepareFinishInitialize();
|
||||
THROW_ERROR(msg);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bool DeviceManager::hasValidEmptyScan()
|
||||
@@ -209,7 +257,7 @@ void DeviceManager::startScan(const QString& json, bool empty)
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceManager::processScanProcess(const QString& aProgress)
|
||||
void DeviceManager::processScanProgress(const QString& aProgress)
|
||||
{
|
||||
if(mIsScanning == false)
|
||||
{
|
||||
@@ -274,6 +322,8 @@ void DeviceManager::prepareFinishScan(bool isNormalFinish, const QString& aReaso
|
||||
insertScanRecord();
|
||||
}
|
||||
|
||||
startTransfer();
|
||||
|
||||
if(isCompleteNotify)
|
||||
{
|
||||
QString msg = QString("Scan completed!");
|
||||
@@ -283,8 +333,16 @@ void DeviceManager::prepareFinishScan(bool isNormalFinish, const QString& aReaso
|
||||
{
|
||||
TRIGGER_EVENT(InvokeOperationEnd, nullptr, var);
|
||||
}
|
||||
}
|
||||
|
||||
startTransfer();
|
||||
void DeviceManager::prepareFinishInitialize()
|
||||
{
|
||||
mIsInitializing = false;
|
||||
if(mScanProgressTimer != -1)
|
||||
{
|
||||
killTimer(mScanProgressTimer);
|
||||
mScanProgressTimer = -1;
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceManager::stopFullScan()
|
||||
@@ -449,15 +507,28 @@ void DeviceManager::processReceiveDMSInfoResult(int aServerID, int aActionID, co
|
||||
break;
|
||||
case ACT_SCAN_PROGRESS_PASSIVE :
|
||||
emit responseGetScanProgress(aContents);
|
||||
processScanProcess(aContents);
|
||||
break;
|
||||
if(mIsInitializing)
|
||||
{
|
||||
processInitializeProgress(aContents);
|
||||
}
|
||||
else
|
||||
{
|
||||
processScanProgress(aContents);
|
||||
}
|
||||
break;
|
||||
case ACT_SCAN_PRESIG:
|
||||
processPreviewData(aContents);
|
||||
break;
|
||||
case ACT_SCAN_STOP :
|
||||
emit responseStopScan(aContents);
|
||||
break;
|
||||
default:
|
||||
case ACT_SCAN_CE :
|
||||
emit responseCEScan(aContents);
|
||||
break;
|
||||
case ACT_SCAN_CE_STATUS :
|
||||
emit responseGetCEStatus(aContents);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -494,6 +565,14 @@ void DeviceManager::processReceiveDMSInfoResult(int aServerID, int aActionID, co
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case USRV_CONTROL:
|
||||
switch(aActionID)
|
||||
{
|
||||
case ACT_CTL_PUMP:
|
||||
emit responsePumpControl(aContents);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -582,6 +661,26 @@ bool DeviceManager::startFullScan(const QString& aPatientInfo)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool DeviceManager::startCEScan()
|
||||
{
|
||||
DmsSyncActionResult result = mCEScanAction->execute();
|
||||
if(!result.mIsSucessful)
|
||||
{
|
||||
QString message = QString("Dms connection error. Reason:%1").arg(result.mData);
|
||||
THROW_ERROR(message);
|
||||
return false;
|
||||
}
|
||||
|
||||
QJsonObject jsonObj = toJsonObject(result.mData);
|
||||
if(jsonObj.contains("code") && jsonObj["code"].toInt() != 0)
|
||||
{
|
||||
QString msg = jsonObj["info"].toString();
|
||||
THROW_ERROR(msg);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void DeviceManager::getDeviceTemperature()
|
||||
{
|
||||
mGetDeviceTemperatureAction->execute();
|
||||
@@ -896,3 +995,19 @@ int DeviceManager::getTransferProgress()
|
||||
return mTransferProgress;
|
||||
}
|
||||
|
||||
bool DeviceManager::getCEStatus()
|
||||
{
|
||||
auto result = mGetCEStatusAction->execute();
|
||||
if(result.mIsSucessful)
|
||||
{
|
||||
QJsonObject jsonObj = toJsonObject(result.mData);
|
||||
if(jsonObj["code"].toInt() == 0 )
|
||||
{
|
||||
if(jsonObj["info"].toString().toInt() == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user