From 4edb046d2de52e6c67aafd8483cd3eea89f41ee8 Mon Sep 17 00:00:00 2001 From: sunwen Date: Wed, 25 Sep 2024 10:21:30 +0800 Subject: [PATCH] feat: Change mpps communication Logic. --- src/device/DeviceManager.cpp | 3 ++- src/dicom/MPPSManager.cpp | 4 ---- src/forms/select/AccessionInformation.cpp | 8 ++++++++ src/forms/select/AccessionInformation.h | 2 ++ 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/device/DeviceManager.cpp b/src/device/DeviceManager.cpp index 3fa40eb..fe8b1a7 100644 --- a/src/device/DeviceManager.cpp +++ b/src/device/DeviceManager.cpp @@ -992,7 +992,8 @@ void DeviceManager::insertScanRecord() { studyUID = currentAccession->mStudyUID; modality = currentAccession->mModality; - mppsUID = currentAccession->mMPPSUID; + if(currentAccession->mScanCount == 0) mppsUID = currentAccession->mMPPSUID; + currentAccession->increaseScanCount(); } QString sql = QString("INSERT INTO Scan (ScanID, ReferenceID, PatientID, AccessionNumber, PatientName, ScanDateTime, Laterality, OperatorName, State, StudyUID, Modality, MPPSUID) VALUES ('%1','%2','%3','%4','%5','%6','%7','%8', %9, '%10', '%11', '%12')") .arg(mCurrentScanMeasurementID) diff --git a/src/dicom/MPPSManager.cpp b/src/dicom/MPPSManager.cpp index 9a33e96..6fdb983 100644 --- a/src/dicom/MPPSManager.cpp +++ b/src/dicom/MPPSManager.cpp @@ -77,8 +77,4 @@ void MPPSManager::sendMPPS() action->setAccession(accession); action->execute(); } - else if(!accession->mMPPSUID.isEmpty()) - { - accession->mMPPSUID.clear(); - } } diff --git a/src/forms/select/AccessionInformation.cpp b/src/forms/select/AccessionInformation.cpp index a7614e1..cbe86f3 100644 --- a/src/forms/select/AccessionInformation.cpp +++ b/src/forms/select/AccessionInformation.cpp @@ -3,6 +3,7 @@ AccessionInformation::AccessionInformation(PatientInformation* aPatient, QObject* aParent) : AbstractPatientInfomation (aParent) , mPatient(aPatient) + , mScanCount(0) { } @@ -12,6 +13,7 @@ AccessionInformation::AccessionInformation(const QString& aAccessionNumber, cons , mPosition(aPosition) , mScheduledStartDate(aScheduledStartDate) , mPatient(aPatient) + , mScanCount(0) { } @@ -29,6 +31,7 @@ AccessionInformation::AccessionInformation(const QString& aAccessionNumber, cons , mModality(aModality) , mMPPSUID(aMPPSUID) , mPatient(aPatient) + , mScanCount(0) { } @@ -48,3 +51,8 @@ int AccessionInformation::getType() { return AccessionType; } + +void AccessionInformation::increaseScanCount() +{ + ++mScanCount; +} diff --git a/src/forms/select/AccessionInformation.h b/src/forms/select/AccessionInformation.h index 9df6812..7e314a6 100644 --- a/src/forms/select/AccessionInformation.h +++ b/src/forms/select/AccessionInformation.h @@ -27,6 +27,7 @@ public: const QString& aMPPSUID, PatientInformation* aPatient, QObject* aParent); QString getProtocolText(); virtual int getType() override; + void increaseScanCount(); QString mAccessionNumber; ScanProtocol mPosition; @@ -37,6 +38,7 @@ public: QString mModality; QString mMPPSUID; PatientInformation* mPatient; + int mScanCount; }; #endif // ACCESSIONINFORMATION_H