diff --git a/src/device/DeviceManager.cpp b/src/device/DeviceManager.cpp index 5954455..034d4dc 100644 --- a/src/device/DeviceManager.cpp +++ b/src/device/DeviceManager.cpp @@ -90,7 +90,7 @@ void DeviceManager::initDevice() { if(!AppGlobalValues::DBconnected().toBool()) { - emitErrorCallback("Fail to connect to DB!Reboot device to try!"); + emitErrorCallback(tr("Fail to connect to DB!Reboot device to try!")); emit initializeFinished(); return; } @@ -140,10 +140,10 @@ void DeviceManager::initDevice() mStartAutoLocateAction = new DmsSyncAction(USRV_CONTROL, ACT_CTL_MOTION_START, this, "responseStartAutoLocate(const QString&)", this); mStopAutoLocateAction = new DmsSyncAction(USRV_CONTROL, ACT_CTL_MOTION_STOP, this, "responseStopAutoLocate(const QString&)", this); mCheckDataQualityAction = new DmsSyncAction(USRV_SCAN, ACT_SCAN_IMGQUALITI, this, "responseCheckDataQuality(const QString&)", this); + mGetSoftwareVersionAction = new DmsSyncAction(USRV_INFOCFG, ACT_IFCFG_VERINFO, this,"responseGetSoftwareVersion(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); mGetDeviceTemperatureAction = new DmsAsyncAction(USRV_SCAN, ACT_SCAN_TEMP, this, "responseGetDeviceTemperature(const QString&)", this); mStopTransferAction = new DmsAsyncAction(USRV_XFR, ACT_XFR_STOP, this, "responseStopTransfer(const QString&)", this); mShutDownAction = new DmsAsyncAction(USRV_CONTROL, ACT_CTL_PWRDOWN, this, "responseShutDown(const QString&)", this); @@ -216,6 +216,8 @@ void DeviceManager::initDevice() mSetHeartBeatAction->setSendData("{ \"code\":0, \"info\":\"0\"}"); mSetHeartBeatAction->execute(); + initDmsVersion(); + mCheckInitStatusTimer = startTimer(500); } @@ -261,8 +263,6 @@ void DeviceManager::initGUI(bool aIsInitSucceed) //process expired patient list QDate date = QDate::currentDate().addDays(-JsonObject::Instance()->getPatientListExpireDays()); SQLHelper::exec(QString("DELETE FROM Patient WHERE AddDate <= %1").arg(date.toString("yyyy-MM-dd"))); - - mGetSoftwareVersionAction->execute(); } void DeviceManager::processInitializeProgress(const QString& aProgress) @@ -309,8 +309,7 @@ void DeviceManager::startScan(const QString& json, bool empty) } if (inf != DeviceStatus::Rready) { - QString errMsg("Device is not ready, start scan operation fail!status is %1"); - errMsg = errMsg.arg(getStatusString(inf)); + QString errMsg(empty ? tr("Device is not ready, start empty scan operation failed!") : tr("Device is not ready, start scan operation failed!")); THROW_ERROR(errMsg); return; } @@ -416,7 +415,7 @@ void DeviceManager::prepareFinishScan(bool isNormalFinish, const QString& aReaso if(isCompleteNotify) { - QString msg = QString("Scan completed!"); + QString msg = tr("Scan completed!"); TRIGGER_EVENT(InvokeOperationEnd, nullptr, (QObject *)&msg); } else @@ -616,10 +615,9 @@ void DeviceManager::timerEvent(QTimerEvent* event) } -void DeviceManager::emitErrorCallback(const char *msg) +void DeviceManager::emitErrorCallback(const QString& msg) { - QString m(msg); - emit raiseGlobalError( m); + emit raiseGlobalError(msg); } void DeviceManager::emitInfoCallback(const QString& aMessage,const unsigned int aInfoType) @@ -717,7 +715,6 @@ void DeviceManager::processReceiveDMSInfoResult(int aServerID, int aActionID, co { case ACT_IFCFG_VERINFO : emit responseGetSoftwareVersion(aContents); - processGetSoftwareVersion(aContents); break; case ACT_IFCFG_HBCFG : emit responseSetHeartBeat(aContents); @@ -783,14 +780,18 @@ void DeviceManager::processAlarm(const QString& aAlarm) } } -void DeviceManager::processGetSoftwareVersion(const QString& aSoftwareVersion) +void DeviceManager::initDmsVersion() { - QJsonObject jsonObj = toJsonObject(aSoftwareVersion); - if(jsonObj["code"].toInt() != 0) + DmsSyncActionResult result = mGetSoftwareVersionAction->execute(); + QJsonObject jsonObj = toJsonObject(result.mData); + if(result.mIsSucessful && jsonObj.contains("code") && jsonObj["code"].toInt() == 0) { - return; + mSoftwareVersion = jsonObj["info"].toString();; + } + else + { + mSoftwareVersion = "Dms Fetch Error"; } - mSoftwareVersion = jsonObj["info"].toString(); } void DeviceManager::scanTimeout() @@ -803,7 +804,7 @@ DeviceStatus DeviceManager::getDeviceStatus() DmsSyncActionResult result = mGetDeviceStatusAction->execute(); if(!result.mIsSucessful) { - QString message = QString("Dms connection error. Reason:%1").arg(result.mData); + QString message = tr("DMS connection error"); THROW_ERROR(message); return DeviceStatus::Unkonw; } @@ -841,7 +842,7 @@ bool DeviceManager::startFullScan(const QString& aPatientInfo) int code = jsonObj["code"].toInt(); if(code != 0) { - QString msg = jsonObj["info"].toString(); + QString msg = tr("Start scan failed. Reason:%1").arg(jsonObj["info"].toString()); LOG_SYS_OPERATION("Start full scan failed. " + msg); THROW_ERROR(msg); TRIGGER_EVENT(StopScanProcess, nullptr, nullptr); @@ -857,7 +858,7 @@ bool DeviceManager::startCEScan() DmsSyncActionResult result = mCEScanAction->execute(); if(!result.mIsSucessful) { - QString message = QString("Dms connection error. Reason:%1").arg(result.mData); + QString message = tr("Initialize Failed."); THROW_ERROR(message); return false; } @@ -930,7 +931,7 @@ void DeviceManager::processShutDownDms(const QString& aResponse) void DeviceManager::shutdownOperationSystem() { qDebug()<< "shut down OS"; -//QProcess::startDetached("shutdown", QStringList() << "-h" << "now"); + QProcess::startDetached("shutdown", QStringList() << "-h" << "now"); } void DeviceManager::insertEmptyScanRecord() @@ -994,8 +995,8 @@ void DeviceManager::startTransfer() DmsSyncActionResult result = mTransferAction->execute(); if(!result.mIsSucessful) { - QString message = QString("Dms connection error. Reason:%1").arg(result.mData); - THROW_ERROR(message); + QString msg = tr("Scan data transfer failed."); + emitInfoCallback(msg, MessageLevel::Error); return; } @@ -1004,8 +1005,8 @@ void DeviceManager::startTransfer() if(code != 0) { mStopTransferAction->execute(); - QString msg = jsonObj["info"].toString(); - THROW_ERROR(msg); + QString msg = tr("Scan data transfer failed."); + emitInfoCallback(msg, MessageLevel::Error); return; } @@ -1058,7 +1059,7 @@ void DeviceManager::processTransferProgress(const QString& aProgress) emitInfoCallback(msg, MessageLevel::Error); break; } - emitInfoCallback("Scan data transfer Succeeded!", MessageLevel::Sucess); + emitInfoCallback(tr("Scan data transfer Succeeded!"), MessageLevel::Sucess); emit transferStatusUpdated(); if(ReconManager::getInstance()->isConnected()) { @@ -1080,7 +1081,7 @@ void DeviceManager::processTransferProgress(const QString& aProgress) emitInfoCallback(msg, MessageLevel::Error); break; } - QString message = QString("Scan data transfer failed."); + QString message = tr("Scan data transfer failed."); emitInfoCallback(message, MessageLevel::Error); break; } @@ -1100,7 +1101,7 @@ void DeviceManager::processReconCreateEmptyScan(bool aResult, const QString& aSc return; } - emitInfoCallback(aMessage, MessageLevel::Error); + emitInfoCallback(tr("Create empty scan data failed"), MessageLevel::Error); QString sql = QString("UPDATE EScan set State = %1 where ScanID = '%2'").arg(aIsConnectSucceed ? "304" : "204").arg(aScanID); if(!SQLHelper::exec(sql)) { @@ -1122,7 +1123,7 @@ void DeviceManager::processReconCreateScan(bool aResult, const QString& aScanID, return; } - emitInfoCallback(aMessage, MessageLevel::Error); + emitInfoCallback(tr("Create scan data failed"), MessageLevel::Error); QString sql = QString("UPDATE Scan set State = %1 where ScanID = '%2'").arg(aIsConnectSucceed ? "304" : "204").arg(aScanID); if(!SQLHelper::exec(sql)) { @@ -1199,7 +1200,7 @@ void DeviceManager::updateReconState() emitInfoCallback(tr("Recon disconnected."), MessageLevel::Error); return; } - QString sql = "SELECT ScanID FROM Scan WHERE State < 999 And State >= 300"; + QString sql = "SELECT ScanID FROM Scan WHERE State < 999 And State >= 300 And State != 304"; auto result = SQLHelper::queryValues(sql); QStringList scanIDs; for (const QVariant &variant : result) @@ -1287,7 +1288,7 @@ void DeviceManager::updateReconConnectionState(bool aIsConnected) void DeviceManager::startScanProcess() { - LOG_SYS_OPERATION("Start scan process.") + LOG_SYS_OPERATION("Start scan process."); if( !UsctStateManager::getInstance()->getState(ReconConnectionState) || !UsctStateManager::getInstance()->getState(ReconState) || !UsctStateManager::getInstance()->getState(ReconDBState)) @@ -1409,7 +1410,7 @@ void DeviceManager::checkDataQuality() return; } } - QString errorMessage = tr("Dms connection error"); + QString errorMessage = tr("DMS connection error"); prepareFinishScan(false, errorMessage); TRIGGER_EVENT(StopScanProcess, nullptr, nullptr); LOG_SYS_OPERATION("Check data quality failed. " + errorMessage) diff --git a/src/device/DeviceManager.h b/src/device/DeviceManager.h index f6f3a1a..34647b9 100644 --- a/src/device/DeviceManager.h +++ b/src/device/DeviceManager.h @@ -64,7 +64,7 @@ public: // return mErrorOccurred; // } - void emitErrorCallback(const char *msg); + void emitErrorCallback(const QString& msg); void emitInfoCallback(const QString& aMessage,const unsigned int aInfoType); bool hasValidEmptyScan(); bool updateTransferProgress(); @@ -112,6 +112,7 @@ private: void stopAutoLocate(); void initGUI(bool aIsInitSucceed); void checkDataQuality(); + void initDmsVersion(); void processScanProgress(const QString& aProgress); void processAutoLocatePosition(const QString& aProgress); @@ -120,7 +121,6 @@ private: void prepareFinishInitialize(); void processAlarm(const QString& aAlarm); void processPreviewData(const QString& aPreviewData); - void processGetSoftwareVersion(const QString& aSoftwareVersion); void processDeviceTemperature(const QString& aResponseTemperature); void processTransferProgress(const QString& aProgress); void processShutDownDms(const QString& aResponse); @@ -229,10 +229,10 @@ private: DmsSyncAction* mStartAutoLocateAction = nullptr; DmsSyncAction* mStopAutoLocateAction = nullptr; DmsSyncAction* mCheckDataQualityAction = nullptr; + DmsSyncAction* mGetSoftwareVersionAction = nullptr; DmsAsyncAction* mGetDeviceTemperatureAction = nullptr; DmsAsyncAction* mGetScanProgressAction = nullptr; - DmsAsyncAction* mGetSoftwareVersionAction = nullptr; DmsAsyncAction* mStopTransferAction = nullptr; DmsAsyncAction* mShutDownAction = nullptr; DmsAsyncAction* mPumpControlAction = nullptr; diff --git a/src/dialogs/AsyncActionDialog.cpp b/src/dialogs/AsyncActionDialog.cpp index cf46994..73a96fd 100644 --- a/src/dialogs/AsyncActionDialog.cpp +++ b/src/dialogs/AsyncActionDialog.cpp @@ -23,7 +23,10 @@ AsyncActionDialog::AsyncActionDialog(AsyncAction* aAsyncAction,const QString& aT mLayout->setSpacing(10); mLayout->addWidget(mContentWidget); - mLayout->addWidget(mLoadingWidget); + mLayout->addWidget(mLoadingWidget); + QMargins margin = mLayout->contentsMargins(); + margin.setBottom(1); + mLayout->setContentsMargins(margin); } AsyncActionDialog::~AsyncActionDialog() diff --git a/src/dialogs/GetWorkListDialog.cpp b/src/dialogs/GetWorkListDialog.cpp index 6615415..21e4e44 100644 --- a/src/dialogs/GetWorkListDialog.cpp +++ b/src/dialogs/GetWorkListDialog.cpp @@ -128,6 +128,7 @@ void GetWorkListDialog::initializeContentWidgets() mErrorLabel->setObjectName("warn"); mErrorLabel->setWordWrap(true); mErrorLabel->hide(); + mBtnWidget->setFixedHeight(80); } void GetWorkListDialog::search(const QString& aInput) @@ -181,6 +182,7 @@ void GetWorkListDialog::handleFinishedAction(const ActionResult& aResult) mContentWidget->show(); mBtnWidget->show(); mErrorLabel->show(); + mLoadingWidget->hide(); return; } diff --git a/src/forms/recon/ReconStateDelegate.cpp b/src/forms/recon/ReconStateDelegate.cpp index 52bd539..9597cfc 100644 --- a/src/forms/recon/ReconStateDelegate.cpp +++ b/src/forms/recon/ReconStateDelegate.cpp @@ -60,7 +60,7 @@ void ReconStateDelegate::paint(QPainter *painter, const QStyleOptionViewItem &op displayText = tr("Wait to recon");//Recon create succeed break; case 304: - displayText = tr("No empty scan data"); + displayText = tr("Recon create failed"); break; case 400: displayText = tr("Wait to recon"); diff --git a/src/forms/recon/ScanSearchCriteriaForm.ui b/src/forms/recon/ScanSearchCriteriaForm.ui index 1af6085..030150d 100644 --- a/src/forms/recon/ScanSearchCriteriaForm.ui +++ b/src/forms/recon/ScanSearchCriteriaForm.ui @@ -158,7 +158,7 @@ - ... + ... @@ -184,7 +184,7 @@ - ... + ... diff --git a/src/recon/ReconManager.cpp b/src/recon/ReconManager.cpp index faadf6d..2b26c60 100644 --- a/src/recon/ReconManager.cpp +++ b/src/recon/ReconManager.cpp @@ -182,6 +182,10 @@ void ReconManager::getReconVersion() { emit getReconVersionResponsed(QString::fromStdString(result.message())); } + else + { + emit getReconVersionResponsed("Reconstruction Software Fetch Error"); + } } bool ReconManager::isConnected() diff --git a/src/translations/en_US.ts b/src/translations/en_US.ts index 75e271f..e1945a6 100644 --- a/src/translations/en_US.ts +++ b/src/translations/en_US.ts @@ -39,10 +39,6 @@ Copyright (c) 1994-2021, OFFIS e.V. - - cJSON - - Copyright (c) 2009-2017 Dave Gamble @@ -55,10 +51,6 @@ USCT Software V0.1.0 - - Reconstruction Software Loading... - - Operation System Information Loading... @@ -67,6 +59,14 @@ DICOM Library Information Loading... + + cJSON V1.7.16 + + + + Reconstruction Software Loading... + + AccountFormDialog @@ -162,6 +162,10 @@ Reset to default password? + + Password should at least 6 characters! + + AccountTableForm @@ -296,10 +300,6 @@ DMS connection error - - Dms connection error - - The data quality is low, please restart the data scan. @@ -326,6 +326,46 @@ progress:99% Start CE Scan Failed. + + Start scan failed. Reason:time out. + + + + Create empty scan data failed + + + + Fail to connect to DB!Reboot device to try! + + + + Create scan data failed + + + + Scan data transfer failed. + + + + Device is not ready, start scan operation failed! + + + + Device is not ready, start empty scan operation failed! + + + + Start scan failed. Reason:%1 + + + + Scan completed! + + + + Scan data transfer Succeeded! + + DicomCfgDialog @@ -447,6 +487,18 @@ progress:99% ID + + Patient Name can't be empty! + + + + The ID and Accession number is already existed! + + + + ID can't be empty! + + GUIFormBaseDialog @@ -1364,10 +1416,6 @@ progress:99% Wait to recon - - No empty scan data - - Recon ing @@ -1490,10 +1538,6 @@ progress:99% Scan date from - - ... - - Scan date to @@ -1801,6 +1845,21 @@ progress:99% 浙江衡玖医疗科技 + + °C + + + + + UsctStateManager + + Recon fatal error. + + + + Recon DB error. + + UserOperationLogForm diff --git a/src/translations/zh_CN.ts b/src/translations/zh_CN.ts index 34b8f4c..efa0d2c 100644 --- a/src/translations/zh_CN.ts +++ b/src/translations/zh_CN.ts @@ -5,13 +5,13 @@ AboutForm - + HJ-USCT-01 V1.0 - + ? @@ -32,32 +32,37 @@ - + GUI Software V%1 - + Operation System Information Loading... - + DICOM Library Information Loading... - + + cJSON V1.7.16 + + + + Embedded Software %1 - + Reconstruction Software V1.2 - + FEB Information @@ -67,22 +72,17 @@ - + Copyright (c) 1994-2021, OFFIS e.V. - - cJSON - - - - + Copyright (c) 2009-2017 Dave Gamble - + Copyright © 2017-2020 Zhejiang Equilibrium Nine Medical Equipment Co., Ltd. All Rights Reversed @@ -97,53 +97,53 @@ AccountFormDialog - + Account 账户 - + User ID 用户ID - + Input User ID 输入用户ID - + Name 姓名 - + Reset to default password? 重置为默认密码? - + Input User name 输入用户名 - + Do you want to logout the current user? 是否确定要退出当前用户? - + Password 密码 - + Change Password 修改密码 - - + + Input password 输入密码 @@ -156,13 +156,13 @@ 重置密码 - + Reset Password 密码重置 - - + + Logout 登出 @@ -175,60 +175,65 @@ 医生 - + Inner error, can't find reference user! 内部错误! - - + + Submit change to database fail! 修改提交至数据库失败! - + Comment 备注 - + Confirm Password 确认密码 - - - + + + User Name can't be empty! 用户名不能为空! - + User ID can't be empty! 用户ID不能为空! - + Password can't be empty! 密码不能为空! - + + Password should at least 6 characters! + 密码至少6位字符! + + + Password and confirm password do not match! 密码和确认密码不一致 - + Inner error ,unset data model! 内部错误! - + User Id exists! 用户ID已存在! - + Submit to data base fail! 提交至数据库失败! @@ -354,47 +359,47 @@ ChangePasswordFormDialog - + Change Password 修改密码 - + Current Password 当前密码 - + New Password 新密码 - + Confirm Password 确认密码 - + Please enter your old password! 请输入旧密码! - + New password should at least 6 characters! 新密码至少6位字符! - + Wrong password! 密码错误! - + Your new password does not match! 新密码与确认密码不一致 - + Database update error! 数据库更新错误! @@ -411,82 +416,132 @@ DeviceManager + + DMS connection error - + DMS失去连接 - + progress:%1% 进度:%1% - + Patient can leave. progress:%1% 检查对象可以离开检查仓 进度:%1% - + Data quality assessment in progress progress:99% 数据质量判断中 进度:99% - + + Initialize Failed. 初始化失败 - + + Fail to connect to DB!Reboot device to try! + 数据库连接失败,请重启设备后再试! + + + + Device is not ready, start scan operation failed! + 设备状态错误,无法开始检查流程 + + + + Device is not ready, start empty scan operation failed! + 设备状态错误,无法开始空水扫查 + + + + Scan completed! + 扫查结束 + + + + Start scan failed. Reason:time out. + 扫查启动失败,原因:超时 + + + + Start scan failed. Reason:%1 + 扫查启动失败,原因:%1 + + + Start CE Scan Failed. - + CE扫查启动失败 - + Data is currently being transmitted, please shut down later. - + 数据传输中,请稍后再执行关机。 - + Shut down failed, please push emergency button to shutdown. + 关机失败,请按紧急按钮进行关机。 + + + + + + Scan data transfer failed. + 扫查数据上传失败 + + + + Scan data transfer Succeeded! - + + Create empty scan data failed + 空水数据新增失败 + + + + Create scan data failed + 扫查数据新增失败 + + + Recon disconnected. - + 重建服务器已断开连接 - - + + Open pump failed. 排水阀打开失败 - + Recon error, can't start scan process 重建服务器错误,无法开始检查流程 - - + + Start auto locate failed 自动化定位启动失败 - + The data quality is low, please restart the data scan. 扫查数据质量较低,请重新开始检查流程 - - - Dms connection error - - DicomCfgDialog @@ -642,6 +697,21 @@ progress:99% Birth Date 出生日期 + + + ID can't be empty! + ID不能为空 + + + + Patient Name can't be empty! + 姓名不能为空 + + + + The ID and Accession number is already existed! + ID和检查单号已存在 + Comment 备注 @@ -698,7 +768,8 @@ progress:99% Confirm stop the scan. - + 请确认是否停止扫查? + @@ -869,7 +940,7 @@ progress:99% Worklist connect error! - + Worklist连接失败 @@ -906,17 +977,17 @@ progress:99% 检查单号 - + Accession Number and Patient Id is Empty. 检查单号或病人ID为空! - + Unknow Error. code:001001001 - + DB Error,Patient Write Failed @@ -1201,37 +1272,37 @@ progress:99% 用户名 - + Password 密码 - + Login 登录 - + Can't connect db. Please reboot the device and retry, or call for the service help. 数据库连接失败,无法登录,请重启设备后再试 - + Login locked. Please retry after %1 minutes. 登录锁定,请在1分钟后重试 - + Login failed, username or password error! Remaining retries: %1 登录失败,用户名或密码错误,重试次数: %1 - + Anonymous Mode active! 匿名模式开启 - + System mode Notice @@ -1304,47 +1375,47 @@ progress:99% - - + + Select 选择 - - + + Scan 扫描 - - + + Recon 重建 - + Please execute the empty scan, assist with system calibration, when empty scan is completed, the system should operate normally. 请先进行空水扫查,辅助系统校正,空水扫查结束后,系统正常运行。 - - - + + + Warning 警告 - + There are %1 days left until the next empty scan. Please remind users to conduct the empty scan in time. 距离下次空水扫查还有%1天,请用户及时进行空水扫查。 - + Shut down failed, please push emergency button to shutdown. - + 关机失败,请按紧急按钮进行关机。 - + Due to empty scan data corruption on the server, needs to be execute the empty scan. No other operations can be conducted until the scan is complete. 服务器端空水数据损坏,需要进行空水扫查,空水扫查结束前无法进行其他操作。 @@ -1361,8 +1432,8 @@ progress:99% 管理 - - + + Settings 设置 @@ -1383,32 +1454,32 @@ progress:99% Mpps通讯设置 - + AE can't be empty AE不能为空 - + Server AE can't be empty 服务器AE不能为空 - + Server Ip can't be empty 服务器地址不能为空 - + Server Port can't be empty 服务器端口不能为空 - + Ip Address is not valid 服务器地址不符合格式规范 - + Port is not valid 服务器端口格式必须为小于65535的数字 @@ -1550,32 +1621,32 @@ progress:99% PACS通讯设置 - + AE can't be empty AE不能为空 - + Server AE can't be empty 服务器AE不能为空 - + Server Ip can't be empty 服务器地址不能为空 - + Server Port can't be empty 服务器端口不能为空 - + Ip Address is not valid 服务器地址不符合格式规范 - + Port is not valid 服务器端口格式必须为小于65535的数字 @@ -1845,32 +1916,32 @@ progress:99% Recon通讯设置 - + AE can't be empty AE不能为空 - + Server AE can't be empty 服务器AE不能为空 - + Server Ip can't be empty 服务器地址不能为空 - + Server Port can't be empty 服务器端口不能为空 - + Ip Address is not valid 服务器地址不符合格式规范 - + Port is not valid 服务器端口格式必须为小于65535的数字 @@ -1880,68 +1951,64 @@ progress:99% Wait to transfer - + 等待数据传输 Transfering - + 数据传输中 Transfer failed - + 数据传输失败 Transfer completed - + 数据传输成功 + Recon create failed - + 重建任务建立失败 Wait to recon - - - - - No empty scan data - + 等待重建 Recon ing - + 重建中 Recon failed - + 重建失败 Recon succeed - + 重建成功 PACS failed - + 归档失败 PACS succeed - + 归档成功 Unknow - + 未知 @@ -1966,32 +2033,32 @@ progress:99% - + Drainage 排水 - + Account 账户 - + ShutDown 关机 - + Worklist 录入检查对象 - - + + Start Scan 开始检查流程 @@ -2008,7 +2075,7 @@ progress:99% - + Drainaging 排水中 @@ -2023,33 +2090,33 @@ progress:99% 关机 - - + + Please confirm checking patient information to start the process 请确定检查对象信息开始流程 - + Data scanning, please keep the current position and don't move. 数据扫查中,请检查对象保持当前姿势,不要移动 - + Data exporting, patient can leave the holder 数据导出中,检查对象可以离开检查仓 - + Left side scan initiated, auto positioning in progress. 左侧扫查启动,自动定位中 - + Right side scan initiated, auto positioning in progress. 右侧扫查启动,自动定位中 - + Stop Scan Process 退出检查流程 @@ -2068,48 +2135,46 @@ parameters ScanSearchCriteriaForm - + Form - + Scan Search 按日期查找 - + Today 今天 - + Yesterday 昨天 - + Last 7 days 过去7天 - + Search All 所有信息 - + Scan date from 开始日期 - - ... - DICOM + DICOM - + Scan date to 结束日期 @@ -2561,6 +2626,24 @@ parameters 浙江衡玖医疗科技 + + + °C + + + + + UsctStateManager + + + Recon fatal error. + 重建服务器致命错误 + + + + Recon DB error. + 重建服务器数据库错误 + UserOperationLogForm @@ -2628,7 +2711,7 @@ parameters WorklistSettingsDialog - + Worklist Settings Worklist通讯设置 diff --git a/src/windows/MainWindow.cpp b/src/windows/MainWindow.cpp index e7d8d56..3eb040e 100644 --- a/src/windows/MainWindow.cpp +++ b/src/windows/MainWindow.cpp @@ -166,12 +166,11 @@ void MainWindow::checkEmptyScanValidity() QDate currentDate = QDate::currentDate(); if(lastScanDate.isNull() || currentDate.daysTo(expirationScanDate) < 0) { - mTabWidget->setTabEnabled(0, false); - mTabWidget->setTabEnabled(1, false); - mTabWidget->setTabEnabled(2, false); mTabWidget->setCurrentIndex(3); - DialogManager::Default()->requestAlertMessage(tr("Please execute the empty scan, assist with system calibration, when empty scan is completed, the system should operate normally."), OkOnly, tr("Warning")); + mTabWidget->setTabEnabled(2, false); + mTabWidget->setTabEnabled(1, false); + mTabWidget->setTabEnabled(0, false); return; }