feat: Add MPPS logic to Scan Procedure
This commit is contained in:
@@ -1151,17 +1151,25 @@ void DeviceManager::startCreateReconRecord()
|
|||||||
emit createEmptyScanToRecon(scanid, RECON_TRANSFER_PATH + "/" + scanid);
|
emit createEmptyScanToRecon(scanid, RECON_TRANSFER_PATH + "/" + scanid);
|
||||||
}
|
}
|
||||||
|
|
||||||
sql = "SELECT ScanID, ReferenceID, PatientID FROM Scan WHERE State < 300 And State >= 200 ORDER BY ScanDateTime ASC";
|
sql = "SELECT ScanID, ReferenceID, PatientID, AccessionNumber FROM Scan WHERE State < 300 And State >= 200 ORDER BY ScanDateTime ASC";
|
||||||
result = SQLHelper::queryValues(sql);
|
result = SQLHelper::queryValues(sql);
|
||||||
for (const QVariant &variant : result)
|
for (const QVariant &variant : result)
|
||||||
{
|
{
|
||||||
QList<QVariant> record = variant.value<QList<QVariant>>();
|
QList<QVariant> record = variant.value<QList<QVariant>>();
|
||||||
QString scanID = record[0].toString();
|
QString scanID = record[0].toString();
|
||||||
QString referenceID = record[1].toString();
|
QString referenceID = record[1].toString();
|
||||||
// QString patientID = record[2].toString();;
|
QString patientID = record[2].toString();
|
||||||
//TODO:need StudyUID & MPPS Uid
|
QString AccessionNumber = record[3].toString();
|
||||||
QString studyUID;
|
|
||||||
QString mppsUID;
|
QString pat_sql = "SELECT AccessionNumber, StudyUID, Modality, MPPSUID FROM Patient WHERE PatientID=:patID and AccessionNumber=:accno";
|
||||||
|
QMap<QString,QVariant> map;
|
||||||
|
QMap<QString,QVariant> params;
|
||||||
|
params[":patID"] = patientID;
|
||||||
|
params[":accno"] = AccessionNumber;
|
||||||
|
|
||||||
|
SQLHelper::QueryFirst(pat_sql, map, params);
|
||||||
|
QString studyUID = map.contains("StudyUID")?map["StudyUID"].toString():"";
|
||||||
|
QString mppsUID = map.contains("MPPSUID")?map["MPPSUID"].toString():"";
|
||||||
emit createScanToRecon(scanID, studyUID, mppsUID, referenceID, RECON_TRANSFER_PATH + "/" + scanID);
|
emit createScanToRecon(scanID, studyUID, mppsUID, referenceID, RECON_TRANSFER_PATH + "/" + scanID);
|
||||||
}
|
}
|
||||||
startTransfer();
|
startTransfer();
|
||||||
|
|||||||
@@ -20,13 +20,15 @@
|
|||||||
#include "components/CoordinateXYWidget.h"
|
#include "components/CoordinateXYWidget.h"
|
||||||
#include "components/CoordinateZWidget.h"
|
#include "components/CoordinateZWidget.h"
|
||||||
#include "utilities/ScanProcessSequence.h"
|
#include "utilities/ScanProcessSequence.h"
|
||||||
|
#include "dicom/MPPSManager.h"
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#else
|
#else
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace{
|
namespace
|
||||||
|
{
|
||||||
const size_t PREVIEW_ROW = 140;
|
const size_t PREVIEW_ROW = 140;
|
||||||
const size_t PREVIEW_COL = 140;
|
const size_t PREVIEW_COL = 140;
|
||||||
const float PIXEL_SPACING = 1.5f;
|
const float PIXEL_SPACING = 1.5f;
|
||||||
@@ -383,9 +385,14 @@ void ScanFormWidget::initEvents()
|
|||||||
mPatInf->setPatientInformation(patientInfo->Copy(), protocal);
|
mPatInf->setPatientInformation(patientInfo->Copy(), protocal);
|
||||||
setScanProtocal(protocal);
|
setScanProtocal(protocal);
|
||||||
LOG_USER_OPERATION(QString("Select Patient, ID: %1").arg(patientInfo->ID))
|
LOG_USER_OPERATION(QString("Select Patient, ID: %1").arg(patientInfo->ID))
|
||||||
|
if (JsonObject::Instance()->getMppsOpen() && !patientInfo->SPSID.isEmpty() && patientInfo->MPPSUID.isEmpty())
|
||||||
|
{
|
||||||
|
MPPSManager::getInstance()->setPatientUID(patientInfo->PatientUID);
|
||||||
|
}
|
||||||
mStartScanButton->setEnabled(true);
|
mStartScanButton->setEnabled(true);
|
||||||
EventCenter::Default()->triggerEvent(SetSelectedPatient, nullptr, patientInfo);
|
EventCenter::Default()->triggerEvent(SetSelectedPatient, nullptr, patientInfo);
|
||||||
mStartScanButton->click();
|
mStartScanButton->click();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// mBtnScan->setEnabled(true);
|
// mBtnScan->setEnabled(true);
|
||||||
|
|||||||
Reference in New Issue
Block a user