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

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

View File

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

View File

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

View File

@@ -57,6 +57,7 @@ void PatientDetailForm::setPatientInformation(PatientInformation* information) {
mCurrentPatientUID = information->PatientUID;
mAddDate = information->AddDate;
mStore.Sex = information->Sex;
mStore.AccessionNumber = information->AccessionNumber;
storePatientInformation();
}
}

View File

@@ -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;
}
};

View File

@@ -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"));