From 2aa654108501091a70ceb1395f8d6ff8d7d9953d Mon Sep 17 00:00:00 2001 From: sunwen Date: Wed, 23 Aug 2023 16:49:56 +0800 Subject: [PATCH] Add accession number and fix a problem with create recon record automaticly. --- src/db/SQLHelper.cpp | 7 +++- src/device/DeviceManager.cpp | 41 +++++++++++++++------ src/device/DeviceManager.h | 5 +-- src/dialogs/EditPatientDialog.cpp | 44 ++++++++++++++--------- src/dialogs/EditPatientDialog.h | 2 +- src/dialogs/MultyMessageDialog.cpp | 2 ++ src/dicom/WorkListManager.cpp | 8 +++-- src/forms/recon/ReconFormWidget.cpp | 32 ++++++++--------- src/forms/recon/ReconStateDelegate.cpp | 4 +-- src/forms/scan/PatientInformationForm.cpp | 6 ++-- src/forms/select/PatientDetailForm.cpp | 1 + src/forms/select/PatientInformation.h | 8 ++--- src/forms/select/SelectFormWidget.cpp | 30 ++++++++-------- src/recon/ReconManager.cpp | 8 +++-- src/recon/ReconManager.h | 2 +- 15 files changed, 123 insertions(+), 77 deletions(-) diff --git a/src/db/SQLHelper.cpp b/src/db/SQLHelper.cpp index bc5adb7..692df28 100644 --- a/src/db/SQLHelper.cpp +++ b/src/db/SQLHelper.cpp @@ -175,7 +175,12 @@ QList SQLHelper::queryValues(const QString& aSql) while(query.next()) { - result.append(query.value(0)); + QList record; + for(int i=0 ; i aResult) +void DeviceManager::processReconQueryScanState(bool aResult, const QVariant& aState) { - for(auto itor= aResult.constBegin(); itor != aResult.constEnd(); ++itor) + if(!aResult) + { + emitInfoCallback(aState.toString(), MessageLevel::Error); + return; + } + + QMap states = aState.value>(); + for(auto itor= states.constBegin(); itor != states.constEnd(); ++itor) { QString sql = QString("UPDATE Scan set State = %1 where ScanID = '%2'").arg(itor.value()).arg(itor.key()); if(!SQLHelper::exec(sql)) @@ -814,15 +823,25 @@ void DeviceManager::processReconQueryScanState(const QMap aResult) emit updateReconStateFinished(); } -void DeviceManager::createScanReconRecord(const QString& aScanID, const QString& aPatientID, const QString& aReferenceID) +void DeviceManager::startCreateReconRecord() { - if(aPatientID.isEmpty()) + QString sql = "SELECT ScanID FROM EScan WHERE State < 300 And State >= 200 ORDER BY ScanDateTime ASC"; + auto result = SQLHelper::queryValues(sql); + for (const QVariant &variant : result) { - emit createEmptyScanToRecon(aScanID, RECON_TRANSFER_PATH + "/" + aScanID); + QString scanid = variant.value>()[0].toString(); + emit createEmptyScanToRecon(scanid, RECON_TRANSFER_PATH + "/" + scanid); } - else + + sql = "SELECT ScanID, ReferenceID, PatientID FROM Scan WHERE State < 300 And State >= 200 ORDER BY ScanDateTime ASC"; + result = SQLHelper::queryValues(sql); + for (const QVariant &variant : result) { - emit createScanToRecon(aScanID, aPatientID, aReferenceID, RECON_TRANSFER_PATH + "/" + aScanID); + QList record = variant.value>(); + QString scanID = record[0].toString(); + QString referenceID = record[1].toString(); + QString patientID = record[2].toString();; + emit createScanToRecon(scanID, patientID, referenceID, RECON_TRANSFER_PATH + "/" + scanID); } } @@ -835,12 +854,12 @@ void DeviceManager::initEmptyScanMeasurementID() void DeviceManager::updateReconState() { updateTransferProgress(); - QString sql = "SELECT ScanID FROM Scan WHERE State != 999"; + QString sql = "SELECT ScanID FROM Scan WHERE State < 999 And State >= 300"; auto result = SQLHelper::queryValues(sql); QStringList scanIDs; for (const QVariant &variant : result) { - scanIDs << variant.toString(); + scanIDs << variant.value>()[0].toString(); } if(scanIDs.isEmpty()) diff --git a/src/device/DeviceManager.h b/src/device/DeviceManager.h index 200c20a..286d766 100644 --- a/src/device/DeviceManager.h +++ b/src/device/DeviceManager.h @@ -92,7 +92,7 @@ private: void startScan(const QString& json, bool empty = false); void startPreview(); void shutdown(); - void createScanReconRecord(const QString& aScanID, const QString& aPatientID, const QString& aReferenceID); + void startCreateReconRecord(); //-----------------new DeviceStatus getDeviceStatus(); @@ -122,7 +122,7 @@ private slots: //Recon void processReconCreateEmptyScan(bool aResult, const QString& aScanID, const QString& aMessage); void processReconCreateScan(bool aResult, const QString& aScanID, const QString& aMessage); - void processReconQueryScanState(const QMap aResult); + void processReconQueryScanState(bool aResult, const QVariant& aState); //GUI void scanTimeout(); @@ -158,6 +158,7 @@ private: QString mCurrentEmptyMeasurementID = ""; QString mCurrentPatientName = ""; QString mCurrentPatientID = ""; + QString mCurrentAccessionNumber = ""; QString mCurrentLaterality = ""; QString mCurrentOperatorName = ""; QString mCurrentTransferMeasurementID = ""; diff --git a/src/dialogs/EditPatientDialog.cpp b/src/dialogs/EditPatientDialog.cpp index d57ae5b..72ec5dc 100644 --- a/src/dialogs/EditPatientDialog.cpp +++ b/src/dialogs/EditPatientDialog.cpp @@ -18,13 +18,17 @@ #include "components/ULineEdit.h" #include "components/UTextEdit.h" -int queryValue(QSqlTableModel* model, int colID, const QVariant& var) +namespace { - for (int i = 0; i < model->rowCount(); ++i) + const int ENDLINE_SPACE = 3; + int queryValue(QSqlTableModel* model, int colID, const QVariant& var) { - if (model->data(model->index(i, colID)) == var) return i; + for (int i = 0; i < model->rowCount(); ++i) + { + if (model->data(model->index(i, colID)) == var) return i; + } + return -1; } - return -1; } EditPatientDialog::EditPatientDialog(QWidget* parent, Qt::WindowFlags f) : GUIFormBaseDialog(parent, f) @@ -45,15 +49,27 @@ EditPatientDialog::EditPatientDialog(QWidget* parent, Qt::WindowFlags f) : GUIFo layout->addWidget(lbl_id); layout->addWidget(le_id); QLabel* lbl_endline1 = new QLabel(this); + lbl_endline1->setFixedHeight(ENDLINE_SPACE); lbl_endline1->setObjectName("endline"); layout->addWidget(lbl_endline1); + QLabel* lbl_AccessionNumber = new QLabel(this); + lbl_AccessionNumber->setText(tr("Accession Number")); + mAccessionNumber = new ULineEdit(this); + layout->addWidget(lbl_AccessionNumber); + layout->addWidget(mAccessionNumber); + QLabel* accessionNumber_endline1 = new QLabel(this); + accessionNumber_endline1->setObjectName("endline"); + accessionNumber_endline1->setFixedHeight(ENDLINE_SPACE); + layout->addWidget(accessionNumber_endline1); + QLabel* lbl_name = new QLabel(this); lbl_name->setText(tr("Name")); le_name = new ULineEdit(this); layout->addWidget(lbl_name); layout->addWidget(le_name); QLabel* lbl_endline2 = new QLabel(this); + lbl_endline2->setFixedHeight(ENDLINE_SPACE); lbl_endline2->setObjectName("endline"); layout->addWidget(lbl_endline2); @@ -80,7 +96,7 @@ EditPatientDialog::EditPatientDialog(QWidget* parent, Qt::WindowFlags f) : GUIFo }); layout->addWidget(btnSex); QLabel* lbl_endline9 = new QLabel(this); - lbl_endline9->setFixedHeight(2); + lbl_endline9->setFixedHeight(ENDLINE_SPACE); lbl_endline9->setObjectName("endline"); layout->addWidget(lbl_endline9); @@ -102,6 +118,7 @@ EditPatientDialog::EditPatientDialog(QWidget* parent, Qt::WindowFlags f) : GUIFo layout->addWidget(btnDate); QLabel* lbl_endline5 = new QLabel(this); lbl_endline5->setObjectName("endline"); + lbl_endline5->setFixedHeight(ENDLINE_SPACE); layout->addWidget(lbl_endline5); QLabel* lbl_comment = new QLabel(this); @@ -110,6 +127,7 @@ EditPatientDialog::EditPatientDialog(QWidget* parent, Qt::WindowFlags f) : GUIFo layout->addWidget(lbl_comment); layout->addWidget(te_comment); QLabel* lbl_endline6 = new QLabel(this); + lbl_endline6->setFixedHeight(ENDLINE_SPACE); lbl_endline6->setObjectName("endline"); layout->addWidget(lbl_endline6); @@ -134,7 +152,9 @@ void EditPatientDialog::setPatientInformation(PatientInformation* information) btnDate->setText(information->BirthDate); currentPatientUID = information->PatientUID; AddDate = information->AddDate; + mAccessionNumber->setText(information->AccessionNumber); le_id->setEnabled(false); + mAccessionNumber->setEnabled(false); } } @@ -144,17 +164,7 @@ void EditPatientDialog::clearPatientInformation() // le_date->setText(""); le_name->setText(""); te_comment->setText(""); -} - -void EditPatientDialog::storePatientInformation() -{ - store.PatientUID = currentPatientUID; - // store.AddDate = AddDate; - store.ID = le_id->text(); - store.BirthDate = le_date->text(); - store.Name = le_name->text(); - store.Sex = le_sex->text(); - store.Comment = te_comment->toPlainText(); + mAccessionNumber->setText(""); } bool EditPatientDialog::updateReferenceData() @@ -173,6 +183,7 @@ bool EditPatientDialog::updateReferenceData() lbl_error->setVisible(true); return false; } + inf->AccessionNumber = mAccessionNumber->text().trimmed(); inf->Name = le_name->text().trimmed(); int selectedRow = 0; bool isAdd = currentPatientUID.isEmpty(); @@ -199,7 +210,6 @@ bool EditPatientDialog::updateReferenceData() inf->BirthDate = btnDate->text(); inf->Comment = te_comment->toPlainText(); - #define ADD_PATIENT_PROPERTY(val)\ model->setData(model->index(selectedRow,PatientInformationEnum:: val),inf-> val); EDIT_PATIENT() diff --git a/src/dialogs/EditPatientDialog.h b/src/dialogs/EditPatientDialog.h index b55bc4c..d9b8c09 100644 --- a/src/dialogs/EditPatientDialog.h +++ b/src/dialogs/EditPatientDialog.h @@ -30,7 +30,6 @@ public: } void setPatientInformation(PatientInformation* information); void clearPatientInformation(); - void storePatientInformation(); protected: @@ -38,6 +37,7 @@ protected: private: ULineEdit* le_id = nullptr; + ULineEdit* mAccessionNumber = nullptr; ULineEdit* le_name = nullptr; ULineEdit* le_sex = nullptr; ULineEdit* le_date = nullptr; diff --git a/src/dialogs/MultyMessageDialog.cpp b/src/dialogs/MultyMessageDialog.cpp index 1ba9bbf..436ddf9 100644 --- a/src/dialogs/MultyMessageDialog.cpp +++ b/src/dialogs/MultyMessageDialog.cpp @@ -28,6 +28,8 @@ MultyMessageDialog::MultyMessageDialog(const QString& aMessage,MessageLevel aMes QHBoxLayout* layout = new QHBoxLayout(this); layout->addWidget(mIcon); layout->addWidget(mMessage); + + mMessage->setWordWrap(true); } MultyMessageDialog::~MultyMessageDialog() diff --git a/src/dicom/WorkListManager.cpp b/src/dicom/WorkListManager.cpp index fa8137a..6d4532c 100644 --- a/src/dicom/WorkListManager.cpp +++ b/src/dicom/WorkListManager.cpp @@ -31,7 +31,7 @@ PatientInformationPointer WorkListManager::getPatientFromWorkList(const QString& { qDebug()<<"dcmdatadict error"; } - /* scu*/ + /*scu*/ OFList syntaxes; syntaxes.push_back(UID_LittleEndianImplicitTransferSyntax); scu.setMaxReceivePDULength(ASC_DEFAULTMAXPDU); @@ -71,7 +71,6 @@ PatientInformationPointer WorkListManager::getPatientFromWorkList(const QString& DcmFileFormat dcmff; DcmDataset *dset = dcmff.getDataset(); OFList responses; - //ѯ DcmPathProcessor proc; proc.setItemWildcardSupport(OFFalse); proc.checkPrivateReservations(OFFalse); @@ -93,6 +92,7 @@ PatientInformationPointer WorkListManager::getPatientFromWorkList(const QString& OFString Name; OFString BirthDate; OFString Sex; + OFString AccessionNumber; item->m_dataset->findAndGetOFString(DCM_PatientID, ID); if (ID.empty()) { @@ -101,10 +101,12 @@ PatientInformationPointer WorkListManager::getPatientFromWorkList(const QString& item->m_dataset->findAndGetOFString(DCM_PatientName, Name); item->m_dataset->findAndGetOFString(DCM_PatientBirthDate, BirthDate); item->m_dataset->findAndGetOFString(DCM_PatientSex, Sex); + item->m_dataset->findAndGetOFString(DCM_AccessionNumber, AccessionNumber); result->ID = QString(ID.c_str()); result->Name = QString(Name.c_str()); result->BirthDate = QString(BirthDate.c_str()).insert(4,"-").insert(7,"-"); result->Sex = QString(Sex.c_str()); + result->AccessionNumber = QString(AccessionNumber.c_str()); //if (patientName.bad()) //{ // std::cout << patientName.text() << std::endl; @@ -142,7 +144,7 @@ PatientInformationPointer WorkListManager::getPatientFromWorkList(const QString& { scu.abortAssociation(); } - + } return result; } diff --git a/src/forms/recon/ReconFormWidget.cpp b/src/forms/recon/ReconFormWidget.cpp index 6498ddc..8453e2e 100644 --- a/src/forms/recon/ReconFormWidget.cpp +++ b/src/forms/recon/ReconFormWidget.cpp @@ -56,7 +56,7 @@ void ReconFormWidget::initTableView(QHBoxLayout *contentLayout) { // TableView for Scan ReconStateDelegate* delegate = new ReconStateDelegate(this); - mScanTable->setItemDelegateForColumn(8, delegate); + mScanTable->setItemDelegateForColumn(9, delegate); mScanTable->setAlternatingRowColors(true); mScanTable->setSelectionMode(QAbstractItemView::SingleSelection); mScanTable->setEditTriggers(QAbstractItemView::NoEditTriggers); @@ -72,16 +72,15 @@ void ReconFormWidget::initTableView(QHBoxLayout *contentLayout) mScanTable->setModel(mModel); mScanTable->hideColumn(0); mScanTable->hideColumn(1); - mScanTable->hideColumn(4); + mScanTable->hideColumn(5); - mScanTable->setColumnWidth(2, 250); - mScanTable->setColumnWidth(3, 250); - mScanTable->setColumnWidth(5, 250); - mScanTable->setColumnWidth(6, 100); - mScanTable->setColumnWidth(7, 250); + mScanTable->setColumnWidth(2, 200); + mScanTable->setColumnWidth(3, 200); + mScanTable->setColumnWidth(4, 300); + mScanTable->setColumnWidth(6, 200); + mScanTable->setColumnWidth(7, 100); + mScanTable->setColumnWidth(8, 200); contentLayout->addWidget(mScanTable); - - mScanTable->show(); //table current row selection changing event // after sort by column @@ -91,15 +90,16 @@ void ReconFormWidget::initDataModel() { //TODO:单独初始化预防SQL错误 mModel = SQLHelper::getTable("Scan"); - mModel->sort(3, Qt::DescendingOrder); + mModel->sort(4, Qt::DescendingOrder); updateSearchFilter(); - mModel->setHeaderData(2, Qt::Horizontal, tr("PatientID")); - mModel->setHeaderData(5, Qt::Horizontal, tr("PatientName")); - mModel->setHeaderData(3, Qt::Horizontal, tr("Scan Time")); - mModel->setHeaderData(6, Qt::Horizontal, tr("Laterality")); - mModel->setHeaderData(7, Qt::Horizontal, tr("OperatorName")); - mModel->setHeaderData(8, Qt::Horizontal, tr("State")); + mModel->setHeaderData(2, Qt::Horizontal, tr("Patient ID")); + mModel->setHeaderData(3, Qt::Horizontal, tr("Accession Number")); + mModel->setHeaderData(6, Qt::Horizontal, tr("Patient Name")); + mModel->setHeaderData(4, Qt::Horizontal, tr("Scan Time")); + mModel->setHeaderData(7, Qt::Horizontal, tr("Laterality")); + mModel->setHeaderData(8, Qt::Horizontal, tr("Operator Name")); + mModel->setHeaderData(9, Qt::Horizontal, tr("State")); } void ReconFormWidget::updateSearchFilter() diff --git a/src/forms/recon/ReconStateDelegate.cpp b/src/forms/recon/ReconStateDelegate.cpp index 12d67cb..e5a5431 100644 --- a/src/forms/recon/ReconStateDelegate.cpp +++ b/src/forms/recon/ReconStateDelegate.cpp @@ -29,11 +29,11 @@ void ReconStateDelegate::paint(QPainter *painter, const QStyleOptionViewItem &op displayText = tr("Transfering"); int progress = DeviceManager::Default()->getTransferProgress(); QRect textRect = option.rect; - textRect.setRight(option.rect.right() - 300); + textRect.setRight(option.rect.right() - 180); painter->drawText(textRect, Qt::AlignCenter, displayText); QRect progressBarRect = option.rect; - progressBarRect.setLeft(textRect.right() + 20); + progressBarRect.setLeft(textRect.right() + 10); progressBarRect.setRight(option.rect.right() - 5); progressBarRect.setTop(option.rect.top() + 5); progressBarRect.setBottom(option.rect.bottom() - 5); diff --git a/src/forms/scan/PatientInformationForm.cpp b/src/forms/scan/PatientInformationForm.cpp index 1218f2e..f463458 100644 --- a/src/forms/scan/PatientInformationForm.cpp +++ b/src/forms/scan/PatientInformationForm.cpp @@ -29,6 +29,7 @@ void PatientInformationForm::setPatientInformation(PatientInformation* informati mUI->lbl_Date->setText(information->BirthDate); mUI->lbl_Name->setText(information->Name); mUI->lbl_Sex->setText(information->Sex); + mUI->lbl_Acc->setText(information->AccessionNumber); mInfo = information; } @@ -49,8 +50,9 @@ void PatientInformationForm::setProtocol(int type) { const char* PatientInformationForm::getCurrentPatientJsonString(bool empty) { cJSON* patientInfoObject = cJSON_CreateObject(); - cJSON_AddItemToObject(patientInfoObject, "PatientName", cJSON_CreateString(mUI->lbl_Name->text().replace(' ', '_').toStdString().data())); - cJSON_AddItemToObject(patientInfoObject, "PatientID", cJSON_CreateString(mUI->lbl_ID->text().replace(' ', '_').toStdString().data())); + cJSON_AddItemToObject(patientInfoObject, "PatientName", cJSON_CreateString(mUI->lbl_Name->text().toStdString().data())); + cJSON_AddItemToObject(patientInfoObject, "PatientID", cJSON_CreateString(mUI->lbl_ID->text().toStdString().data())); + cJSON_AddItemToObject(patientInfoObject, "AccessionNumber", cJSON_CreateString(mUI->lbl_Acc->text().toStdString().data())); cJSON_AddItemToObject(patientInfoObject, "PatientSex", cJSON_CreateString(mUI->lbl_Sex->text().toStdString().data())); cJSON_AddItemToObject(patientInfoObject, "PatientBirthDate", cJSON_CreateString(mUI->lbl_Date->text().replace("/", "").replace("-", "").replace(' ', '.').toStdString().data())); diff --git a/src/forms/select/PatientDetailForm.cpp b/src/forms/select/PatientDetailForm.cpp index 0620383..349d524 100644 --- a/src/forms/select/PatientDetailForm.cpp +++ b/src/forms/select/PatientDetailForm.cpp @@ -57,6 +57,7 @@ void PatientDetailForm::setPatientInformation(PatientInformation* information) { mCurrentPatientUID = information->PatientUID; mAddDate = information->AddDate; mStore.Sex = information->Sex; + mStore.AccessionNumber = information->AccessionNumber; storePatientInformation(); } } diff --git a/src/forms/select/PatientInformation.h b/src/forms/select/PatientInformation.h index abb835b..d88b72c 100644 --- a/src/forms/select/PatientInformation.h +++ b/src/forms/select/PatientInformation.h @@ -6,12 +6,12 @@ #define GUI_PATIENTINFORMATION_H #define ADD_PATIENT()\ ADD_PATIENT_PROPERTY(ID)\ +ADD_PATIENT_PROPERTY(AccessionNumber)\ ADD_PATIENT_PROPERTY(Name)\ ADD_PATIENT_PROPERTY(BirthDate)\ ADD_PATIENT_PROPERTY(Sex)\ ADD_PATIENT_PROPERTY(AddDate)\ -ADD_PATIENT_PROPERTY(Comment)\ -ADD_PATIENT_PROPERTY(Flag) +ADD_PATIENT_PROPERTY(Comment) #define EDIT_PATIENT()\ ADD_PATIENT_PROPERTY(PatientUID)\ @@ -34,12 +34,11 @@ class PatientInformation:public QObject{ Q_OBJECT public: #define ADD_PATIENT_PROPERTY(val) QString val; - EDIT_PATIENT(); + EDIT_PATIENT() #undef ADD_PATIENT_PROPERTY PatientInformation() : QObject() { - this->Flag = QString("0"); } PatientInformation* Copy() { @@ -50,6 +49,7 @@ public: n->BirthDate = this->BirthDate; n->Sex = this->Sex; n->Comment = this->Comment; + n->AccessionNumber = this->AccessionNumber; return n; } }; diff --git a/src/forms/select/SelectFormWidget.cpp b/src/forms/select/SelectFormWidget.cpp index 47ce8b9..11da4fe 100644 --- a/src/forms/select/SelectFormWidget.cpp +++ b/src/forms/select/SelectFormWidget.cpp @@ -209,14 +209,14 @@ void SelectFormWidget::initTableView(QHBoxLayout *contentLayout) {// TableView f mPatTable->setSortingEnabled(true); // enable sortingEnabled mPatTable->setModel((QAbstractItemModel*) mModel); mPatTable->hideColumn(0); - mPatTable->hideColumn(7); mPatTable->show(); mPatTable->setColumnWidth(1, 250); mPatTable->setColumnWidth(2, 250); - mPatTable->setColumnWidth(3, 160); - mPatTable->setColumnWidth(4, 120); - mPatTable->setColumnWidth(5, 250); + mPatTable->setColumnWidth(3, 250); + mPatTable->setColumnWidth(4, 160); + mPatTable->setColumnWidth(5, 120); + mPatTable->setColumnWidth(6, 250); contentLayout->addWidget(mPatTable); //table current row selection changing event connect(mPatTable, &SlideTableView::currentRowChanged, [=](int row) { @@ -240,11 +240,12 @@ void SelectFormWidget::initDataModel() {//TODO:单独初始化预防SQL错误 mModel->sort(5, Qt::DescendingOrder); mModel->select(); mModel->setHeaderData(1, Qt::Horizontal, "ID"); - mModel->setHeaderData(2, Qt::Horizontal, tr("Name")); - mModel->setHeaderData(3, Qt::Horizontal, tr("Birth Date")); - mModel->setHeaderData(4, Qt::Horizontal, tr("Gender")); - mModel->setHeaderData(5, Qt::Horizontal, tr("Add Date")); - mModel->setHeaderData(6, Qt::Horizontal, tr("Comment")); + mModel->setHeaderData(2, Qt::Horizontal, tr("AccessionNumber")); + mModel->setHeaderData(3, Qt::Horizontal, tr("Name")); + mModel->setHeaderData(4, Qt::Horizontal, tr("Birth Date")); + mModel->setHeaderData(5, Qt::Horizontal, tr("Gender")); + mModel->setHeaderData(6, Qt::Horizontal, tr("Add Date")); + mModel->setHeaderData(7, Qt::Horizontal, tr("Comment")); } void SelectFormWidget::setPatientDetail(const SlideTableView *table, const QSqlTableModel *model, @@ -259,11 +260,12 @@ void SelectFormWidget::setPatientDetail(const SlideTableView *table, const QSqlT void SelectFormWidget::reloadLanguage(){ mModel->setHeaderData(1, Qt::Horizontal, "ID"); - mModel->setHeaderData(2, Qt::Horizontal, tr("Name")); - mModel->setHeaderData(3, Qt::Horizontal, tr("Birth Date")); - mModel->setHeaderData(4, Qt::Horizontal, tr("Gender")); - mModel->setHeaderData(5, Qt::Horizontal, tr("Add Date")); - mModel->setHeaderData(6, Qt::Horizontal, tr("Comment")); + mModel->setHeaderData(2, Qt::Horizontal, tr("AccessionNumber")); + mModel->setHeaderData(3, Qt::Horizontal, tr("Name")); + mModel->setHeaderData(4, Qt::Horizontal, tr("Birth Date")); + mModel->setHeaderData(5, Qt::Horizontal, tr("Gender")); + mModel->setHeaderData(6, Qt::Horizontal, tr("Add Date")); + mModel->setHeaderData(7, Qt::Horizontal, tr("Comment")); mBtnAccount->setText(tr("Account")); //mBtnWorklist->setText(tr("Worklist")); diff --git a/src/recon/ReconManager.cpp b/src/recon/ReconManager.cpp index 227e425..c5ae83c 100644 --- a/src/recon/ReconManager.cpp +++ b/src/recon/ReconManager.cpp @@ -85,10 +85,12 @@ void ReconManager::queryReconStatus(const QStringList& aScanIDs) auto response = mReconClient->QueryScan(scanID.toStdString(), state); if(response.bad()) { - qDebug()<< "Recon query failed by " << response.error().data(); - break; + QString msg = QString("Recon query failed by ") + response.error().data(); + qDebug()<< msg; + emit queryReconStateResponsed(false, QVariant::fromValue(msg)); + continue; } result.insert(scanID, state); } - emit queryReconStateResponsed(result); + emit queryReconStateResponsed(true, QVariant::fromValue(result)); } diff --git a/src/recon/ReconManager.h b/src/recon/ReconManager.h index f07f7df..830ba08 100644 --- a/src/recon/ReconManager.h +++ b/src/recon/ReconManager.h @@ -30,7 +30,7 @@ private: signals: void createEmptyScanResponsed(bool aResult, const QString& aScanID, const QString& aMessage = ""); void createScanResponsed(bool aResult, const QString& aScanID, const QString& aMessage = ""); - void queryReconStateResponsed(const QMap aResult); + void queryReconStateResponsed(bool aResult, const QVariant& aData); private: Recon::ReconClient* mReconClient;