refactor: Modify the display and interaction related to worklist.
This commit is contained in:
@@ -23,11 +23,11 @@
|
||||
namespace
|
||||
{
|
||||
const int ENDLINE_SPACE = 3;
|
||||
int queryValue(QSqlTableModel* model, int aColIDIndex, const QVariant& aPatId, int aColAccessionNumberIndex, const QVariant& aAccessionNumber)
|
||||
int queryValue(QSqlTableModel* model, int aColIDIndex, const QVariant& aPatId)
|
||||
{
|
||||
for (int i = 0; i < model->rowCount(); ++i)
|
||||
{
|
||||
if (model->data(model->index(i, aColIDIndex)) == aPatId && model->data(model->index(i, aColAccessionNumberIndex)) == aAccessionNumber) return i;
|
||||
if (model->data(model->index(i, aColIDIndex)) == aPatId) return i;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
@@ -57,19 +57,6 @@ EditPatientDialog::EditPatientDialog(QWidget* parent, Qt::WindowFlags f) : GUIFo
|
||||
lbl_endline1->setObjectName("endline");
|
||||
layout->addWidget(lbl_endline1);
|
||||
|
||||
QLabel* lbl_AccessionNumber = new QLabel(this);
|
||||
lbl_AccessionNumber->setText(tr("Accession Number"));
|
||||
mAccessionNumber = new ULineEdit(this);
|
||||
mAccessionNumber->setMaxLength(30);
|
||||
mAccessionNumber->setValidator(new QRegExpValidator(QRegExp("[a-zA-z0-9]+$"), mAccessionNumber));
|
||||
|
||||
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") + QString("<font color='#930000'>*</font>"));
|
||||
le_name = new ULineEdit(this);
|
||||
@@ -151,10 +138,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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void EditPatientDialog::clearPatientInformation()
|
||||
@@ -162,7 +148,6 @@ void EditPatientDialog::clearPatientInformation()
|
||||
le_id->setText("");
|
||||
// le_date->setText("");
|
||||
le_name->setText("");
|
||||
mAccessionNumber->setText("");
|
||||
}
|
||||
|
||||
void EditPatientDialog::showErrorMessage(const QString& aMessage)
|
||||
@@ -181,6 +166,7 @@ void EditPatientDialog::showErrorMessage(const QString& aMessage)
|
||||
bool EditPatientDialog::updateReferenceData()
|
||||
{
|
||||
PatientInformation* inf = getPatientInformation();
|
||||
|
||||
if (le_id->text().isEmpty())
|
||||
{
|
||||
showErrorMessage(tr("ID can't be empty!"));
|
||||
@@ -192,16 +178,15 @@ bool EditPatientDialog::updateReferenceData()
|
||||
showErrorMessage(tr("Patient Name can't be empty!"));
|
||||
return false;
|
||||
}
|
||||
inf->AccessionNumber = mAccessionNumber->text().trimmed();
|
||||
inf->Name = le_name->text().trimmed();
|
||||
int selectedRow = 0;
|
||||
bool isAdd = currentPatientUID.isEmpty();
|
||||
if (isAdd)
|
||||
{
|
||||
int ref_rowid = queryValue(model, 1, inf->ID, 2, inf->AccessionNumber);
|
||||
int ref_rowid = queryValue(model, 1, inf->ID);
|
||||
if (ref_rowid >= 0)
|
||||
{
|
||||
showErrorMessage(tr("The ID and Accession number is already existed!"));
|
||||
showErrorMessage(tr("The ID is already existed!"));
|
||||
return false;
|
||||
}
|
||||
inf->PatientUID = QUuid::createUuid().toString();
|
||||
@@ -211,14 +196,14 @@ bool EditPatientDialog::updateReferenceData()
|
||||
else
|
||||
{
|
||||
inf->PatientUID = currentPatientUID;
|
||||
selectedRow = queryValue(model, 1, inf->ID, 2, inf->AccessionNumber);
|
||||
selectedRow = queryValue(model, 1, inf->ID);
|
||||
inf->AddDate = AddDate;
|
||||
}
|
||||
inf->Sex = btnSex->text() == tr("Female") ? "F" : (tr("Male") == btnSex->text() ? "M" : "O");
|
||||
inf->BirthDate = btnDate->text();
|
||||
|
||||
#define ADD_PATIENT_PROPERTY(val)\
|
||||
model->setData(model->index(selectedRow,PatientInformationEnum:: val),inf-> val);
|
||||
model->setData(model->index(selectedRow,PatientInformationEnum:: val),inf->val);
|
||||
EDIT_PATIENT()
|
||||
#undef ADD_PATIENT_PROPERTY
|
||||
if (model->submitAll())
|
||||
|
||||
Reference in New Issue
Block a user