Add accession number and fix a problem with create recon record automaticly.
This commit is contained in:
@@ -175,7 +175,12 @@ QList<QVariant> SQLHelper::queryValues(const QString& aSql)
|
||||
|
||||
while(query.next())
|
||||
{
|
||||
result.append(query.value(0));
|
||||
QList<QVariant> record;
|
||||
for(int i=0 ; i<query.record().count(); ++i)
|
||||
{
|
||||
record.append(query.value(i));
|
||||
}
|
||||
result.append(QVariant::fromValue(record));
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
@@ -203,6 +203,7 @@ void DeviceManager::startScan(const QString& json, bool empty)
|
||||
mIsEmptyScan = empty;
|
||||
QJsonObject patientInfo = QJsonDocument::fromJson(json.toUtf8()).object()["Patient Info"].toObject();
|
||||
mCurrentPatientID = patientInfo["PatientID"].toString();
|
||||
mCurrentAccessionNumber = patientInfo["AccessionNumber"].toString();
|
||||
mCurrentPatientName = patientInfo["PatientName"].toString();
|
||||
mCurrentLaterality = patientInfo["Laterality"].toString();
|
||||
mCurrentOperatorName = patientInfo["OperatorName"].toString();
|
||||
@@ -631,10 +632,11 @@ void DeviceManager::insertEmptyScanRecord()
|
||||
|
||||
void DeviceManager::insertScanRecord()
|
||||
{
|
||||
QString sql = QString("INSERT INTO Scan (ScanID, ReferenceID, PatientID, PatientName, ScanDateTime, Laterality, OperatorName, State) VALUES ('%1','%2','%3','%4','%5','%6','%7',%8)")
|
||||
QString sql = QString("INSERT INTO Scan (ScanID, ReferenceID, PatientID, AccessionNumber, PatientName, ScanDateTime, Laterality, OperatorName, State) VALUES ('%1','%2','%3','%4','%5','%6','%7','%8', %9)")
|
||||
.arg(mCurrentScanMeasurementID)
|
||||
.arg(mCurrentEmptyMeasurementID)
|
||||
.arg(mCurrentPatientID)
|
||||
.arg(mCurrentAccessionNumber)
|
||||
.arg(mCurrentPatientName)
|
||||
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"))
|
||||
.arg(mCurrentLaterality)
|
||||
@@ -725,7 +727,6 @@ void DeviceManager::processTransferProgress(const QString& aProgress)
|
||||
QString sql = QString("UPDATE %1 set State = 200 where ScanID = '%2'")
|
||||
.arg(mIsTransferEmptyScan ? "EScan" : "Scan")
|
||||
.arg(mCurrentTransferMeasurementID);
|
||||
createScanReconRecord(mCurrentTransferMeasurementID, mCurrentTransferPatientID, mCurrentEmptyMeasurementID);
|
||||
mIsTransfering = false;
|
||||
mCurrentTransferMeasurementID.clear();
|
||||
if(!SQLHelper::exec(sql))
|
||||
@@ -735,6 +736,7 @@ void DeviceManager::processTransferProgress(const QString& aProgress)
|
||||
break;
|
||||
}
|
||||
emitInfoCallback("Scan data transfer Succeeded!", MessageLevel::Sucess);
|
||||
startCreateReconRecord();
|
||||
startTransfer();
|
||||
break;
|
||||
}
|
||||
@@ -800,9 +802,16 @@ void DeviceManager::processReconCreateScan(bool aResult, const QString& aScanID,
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceManager::processReconQueryScanState(const QMap<QString, int> 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<QString, int> states = aState.value<QMap<QString, int>>();
|
||||
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<QString, int> 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<QList<QVariant>>()[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<QVariant> record = variant.value<QList<QVariant>>();
|
||||
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<QList<QVariant>>()[0].toString();
|
||||
}
|
||||
|
||||
if(scanIDs.isEmpty())
|
||||
|
||||
@@ -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<QString, int> 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 = "";
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -31,7 +31,7 @@ PatientInformationPointer WorkListManager::getPatientFromWorkList(const QString&
|
||||
{
|
||||
qDebug()<<"dcmdatadict error";
|
||||
}
|
||||
/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> scu*/
|
||||
/*scu*/
|
||||
OFList<OFString> 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<QRResponse*> responses;
|
||||
//<2F><>ѯ
|
||||
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;
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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()));
|
||||
|
||||
@@ -57,6 +57,7 @@ void PatientDetailForm::setPatientInformation(PatientInformation* information) {
|
||||
mCurrentPatientUID = information->PatientUID;
|
||||
mAddDate = information->AddDate;
|
||||
mStore.Sex = information->Sex;
|
||||
mStore.AccessionNumber = information->AccessionNumber;
|
||||
storePatientInformation();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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"));
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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<QString, int> aResult);
|
||||
void queryReconStateResponsed(bool aResult, const QVariant& aData);
|
||||
|
||||
private:
|
||||
Recon::ReconClient* mReconClient;
|
||||
|
||||
Reference in New Issue
Block a user