Add accession number and fix a problem with create recon record automaticly.

This commit is contained in:
sunwen
2023-08-23 16:49:56 +08:00
parent a94269c487
commit 2aa6541085
15 changed files with 123 additions and 77 deletions

View File

@@ -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()