refactor: Modify the display and interaction related to worklist.

This commit is contained in:
sunwen
2024-09-06 17:29:25 +08:00
parent c6c3d81ecf
commit b60c4a8be9
60 changed files with 3336 additions and 1512 deletions

View File

@@ -25,14 +25,19 @@ void ScanProcessSequence::updateAutoLocatePosition(int aX, int aY, int aZ)
emit autoLocateZUpdated(aZ);
}
void ScanProcessSequence::pushPosition(ScanPosition aPostion)
void ScanProcessSequence::pushAccession(AccessionInformation* aAccession, ScanPosition aPostion)
{
mScanProtocol.push(aPostion);
mScanProtocol.push(QPair<AccessionInformation*, ScanPosition>(aAccession, aPostion));
}
QPair<AccessionInformation*,ScanPosition> ScanProcessSequence::topAccession()
{
return mScanProtocol.top();
}
ScanPosition ScanProcessSequence::popPosition()
{
ScanPosition result = mScanProtocol.pop();
ScanPosition result = mScanProtocol.pop().second;
if(mScanProtocol.size() == 0)
{
emit ScanProcessSequenceFinished();
@@ -42,7 +47,7 @@ ScanPosition ScanProcessSequence::popPosition()
ScanPosition ScanProcessSequence::topPosition()
{
return mScanProtocol.top();
return mScanProtocol.top().second;
}
void ScanProcessSequence::clear()

View File

@@ -4,19 +4,23 @@
#include <QObject>
#include <QStack>
enum ScanPosition
{
Left = 0, Right
};
class AccessionInformation;
class ScanProcessSequence : public QObject
{
Q_OBJECT
public:
static ScanProcessSequence* getInstance();
void pushPosition(ScanPosition aPosition);
void pushAccession(AccessionInformation* aAccession, ScanPosition aPosition);
ScanPosition popPosition();
ScanPosition topPosition();
QPair<AccessionInformation*,ScanPosition> topAccession();
int getScanPositionSize();
void clear();
@@ -35,7 +39,7 @@ private slots:
private:
ScanProcessSequence(QObject* aParent = nullptr);
QStack<ScanPosition> mScanProtocol;
QStack<QPair<AccessionInformation*, ScanPosition>> mScanProtocol;
};

View File

@@ -0,0 +1,81 @@
#include "WorklistFilterHelper.h"
#include <QObject>
#include <QDate>
#include "json/jsonobject.h"
QStringList WorklistFilterHelper::getWorklistFilterModalityList()
{
return QStringList()<< QObject::tr("None") << "US" << "CT";
}
QString WorklistFilterHelper::getCurrentWorklistFilterModality()
{
QString modality = JsonObject::Instance()->getWorklistFilterModality();
if(modality.isEmpty())
{
return QObject::tr("None");
}
return modality;
}
QString WorklistFilterHelper::processSelectedWorklistFilterModality(const QString& aModality)
{
if(aModality == QObject::tr("None"))
{
return "";
}
return aModality;
}
QStringList WorklistFilterHelper::getWorklistFilterDateList()
{
return QStringList()<< QObject::tr("None") << QObject::tr("Today") << QObject::tr("Last 3 days") << QObject::tr("Last 7 days");
}
QString WorklistFilterHelper::getCurrentWorklistFilterDate()
{
int date = JsonObject::Instance()->getWorklistFilterDate().toInt();
switch (date)
{
case -1:return QObject::tr("None");
case 0:return QObject::tr("Today");
case 3:return QObject::tr("Last 3 days");
case 7:return QObject::tr("Last 7 days");
default: return QObject::tr("None");
}
}
QString WorklistFilterHelper::processSelectedWorklistFilterDate(const QString& aModality)
{
if(aModality == QObject::tr("Today"))
{
return "0";
}
if(aModality == QObject::tr("Last 3 days"))
{
return "3";
}
if(aModality == QObject::tr("Last 7 days"))
{
return "7";
}
return "-1";
}
QString WorklistFilterHelper::getFilterDateStringInSCU()
{
int date = JsonObject::Instance()->getWorklistFilterDate().toInt();
if(date < 0)
{
return "";
}
QDate today = QDate::currentDate();
QDate startDate = today.addDays(0-date);
return startDate.toString("yyyyMMdd") + "-" + today.toString("yyyyMMdd");
}

View File

@@ -0,0 +1,21 @@
#ifndef WORKLISTFILTERHELPER_H
#define WORKLISTFILTERHELPER_H
#include <QString>
class WorklistFilterHelper
{
public:
WorklistFilterHelper() = delete;
static QStringList getWorklistFilterModalityList();
static QString getCurrentWorklistFilterModality();
static QString processSelectedWorklistFilterModality(const QString& aModality);
static QStringList getWorklistFilterDateList();
static QString getCurrentWorklistFilterDate();
static QString processSelectedWorklistFilterDate(const QString& aModality);
static QString getFilterDateStringInSCU();
};
#endif // WORKLISTFILTERHELPER_H