feat: Change ReconClient to fit new version Restful interface
This commit is contained in:
@@ -1149,8 +1149,11 @@ void DeviceManager::startCreateReconRecord()
|
|||||||
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();;
|
||||||
emit createScanToRecon(scanID, patientID, referenceID, RECON_TRANSFER_PATH + "/" + scanID);
|
//TODO:need StudyUID & MPPS Uid
|
||||||
|
QString studyUID;
|
||||||
|
QString mppsUID;
|
||||||
|
emit createScanToRecon(scanID, studyUID,mppsUID, referenceID, RECON_TRANSFER_PATH + "/" + scanID);
|
||||||
}
|
}
|
||||||
startTransfer();
|
startTransfer();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ signals:
|
|||||||
void responseCheckDataQuality(const QString& aResponse);
|
void responseCheckDataQuality(const QString& aResponse);
|
||||||
//Recon
|
//Recon
|
||||||
void createEmptyScanToRecon(const QString& aScanID, const QString& aPath);
|
void createEmptyScanToRecon(const QString& aScanID, const QString& aPath);
|
||||||
void createScanToRecon(const QString& aScanID, const QString& aPatientID, const QString& aReferenceID, const QString& aPath);
|
void createScanToRecon(const QString& aScanID, const QString& aStudyUID,const QString& aMPPSUID, const QString& aReferenceID, const QString& aPath);
|
||||||
void queryScanStatusToRecon(const QStringList& aScanIDs);
|
void queryScanStatusToRecon(const QStringList& aScanIDs);
|
||||||
void updateReconStateFinished();
|
void updateReconStateFinished();
|
||||||
//GUI
|
//GUI
|
||||||
|
|||||||
@@ -3,7 +3,8 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
struct Scan{
|
struct Scan{
|
||||||
std::string ScanID;
|
std::string ScanID;
|
||||||
std::string PatientID;
|
std::string StudyUID;
|
||||||
|
std::string MPPSUID;
|
||||||
std::string ReferenceID;
|
std::string ReferenceID;
|
||||||
std::string ReferencePath;
|
std::string ReferencePath;
|
||||||
int Type;
|
int Type;
|
||||||
@@ -22,7 +23,7 @@ struct PACSSetting
|
|||||||
std::string AETitle;
|
std::string AETitle;
|
||||||
std::string ServerAETitle;
|
std::string ServerAETitle;
|
||||||
std::string ServerIP;
|
std::string ServerIP;
|
||||||
int Port = 0;;
|
int Port = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // __SCAN_H__
|
#endif // __SCAN_H__
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
const char *CREATE_URL = "/Scan/Create/";
|
const char *CREATE_URL = "/Scan/Create/";
|
||||||
const char *CHECK_URL = "/v/";
|
const char *STATE_URL = "/State/";
|
||||||
const char *QUERY_SCAN_URL = "/Scan/Query/";
|
const char *QUERY_SCAN_URL = "/Scan/Query/";
|
||||||
const char *QUERY_VERSION_URL = "/Version/";
|
const char *QUERY_VERSION_URL = "/Version/";
|
||||||
const char *QUERY_RECON_URL = "/Task/Query/";
|
const char *QUERY_RECON_URL = "/Task/Query/";
|
||||||
@@ -36,7 +36,7 @@ RequestResult ReconClient::CheckActive()
|
|||||||
{
|
{
|
||||||
std::string content;
|
std::string content;
|
||||||
content.append("1");
|
content.append("1");
|
||||||
auto resp = mRequest.post(mHost + CHECK_URL, content, mHeaders);
|
auto resp = mRequest.post(mHost + STATE_URL, content, mHeaders);
|
||||||
if (resp.httpCode() == 200)
|
if (resp.httpCode() == 200)
|
||||||
{
|
{
|
||||||
return RequestResult::Success();
|
return RequestResult::Success();
|
||||||
@@ -52,7 +52,14 @@ RequestResult ReconClient::Create(const Scan &aScan)
|
|||||||
{
|
{
|
||||||
cJSON *obj = cJSON_CreateObject();
|
cJSON *obj = cJSON_CreateObject();
|
||||||
cJSON_AddStringToObject(obj, "ScanID", aScan.ScanID.c_str());
|
cJSON_AddStringToObject(obj, "ScanID", aScan.ScanID.c_str());
|
||||||
cJSON_AddStringToObject(obj, "PatientID", aScan.PatientID.c_str());
|
if (aScan.StudyUID.length()>0)
|
||||||
|
{
|
||||||
|
cJSON_AddStringToObject(obj, "StudyUID", aScan.StudyUID.c_str());
|
||||||
|
}
|
||||||
|
if (aScan.MPPSUID.length()>0)
|
||||||
|
{
|
||||||
|
cJSON_AddStringToObject(obj, "MPPSUID", aScan.MPPSUID.c_str());
|
||||||
|
}
|
||||||
cJSON_AddStringToObject(obj, "ReferencePath", aScan.ReferencePath.c_str());
|
cJSON_AddStringToObject(obj, "ReferencePath", aScan.ReferencePath.c_str());
|
||||||
if (!aScan.ReferencePath.empty())
|
if (!aScan.ReferencePath.empty())
|
||||||
{
|
{
|
||||||
@@ -111,59 +118,6 @@ RequestResult ReconClient::QueryScan(const std::string &aScanID, int &state)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RequestResult ReconClient::QueryReconID(const std::string &aScanID, std::string &aReconID)
|
|
||||||
{
|
|
||||||
cJSON *obj = cJSON_CreateObject();
|
|
||||||
cJSON_AddStringToObject(obj, "ScanID", aScanID.data());
|
|
||||||
char *str = cJSON_Print(obj);
|
|
||||||
cJSON_Delete(obj);
|
|
||||||
std::string content;
|
|
||||||
content.append(str);
|
|
||||||
free(str);
|
|
||||||
auto resp = mRequest.post(mHost + QUERY_RECON_URL, content, mHeaders);
|
|
||||||
if (resp.httpCode() == 204)
|
|
||||||
{
|
|
||||||
return RequestResult::Success();
|
|
||||||
}
|
|
||||||
else if (resp.httpCode() == 200)
|
|
||||||
{
|
|
||||||
aReconID = resp.getContent();
|
|
||||||
return RequestResult::Success(aReconID);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
mErrorMessage = resp.getContent();
|
|
||||||
return RequestResult::Fail(mErrorMessage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RequestResult ReconClient::QueryReconTask(const std::string &aReconID, TaskQueryResult &aTask)
|
|
||||||
{
|
|
||||||
cJSON *obj = cJSON_CreateObject();
|
|
||||||
cJSON_AddStringToObject(obj, "ReconID", aReconID.data());
|
|
||||||
char *str = cJSON_Print(obj);
|
|
||||||
cJSON_Delete(obj);
|
|
||||||
std::string content;
|
|
||||||
content.append(str);
|
|
||||||
free(str);
|
|
||||||
auto resp = mRequest.post(mHost + QUERY_RECON_URL, content, mHeaders);
|
|
||||||
if (resp.httpCode() == 200)
|
|
||||||
{
|
|
||||||
cJSON *task = cJSON_Parse(resp.getContent().data());
|
|
||||||
aTask.ReconID = cJSON_GetObjectItem(task, "ReconID")->valuestring;
|
|
||||||
aTask.ScanID = cJSON_GetObjectItem(task, "ScanID")->valuestring;
|
|
||||||
aTask.Start = cJSON_GetObjectItem(task, "Start")->valueint != 0;
|
|
||||||
aTask.SeqID = cJSON_GetObjectItem(task, "SeqID")->valueint;
|
|
||||||
cJSON_Delete(task);
|
|
||||||
return RequestResult::Success();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
mErrorMessage = resp.getContent();
|
|
||||||
return RequestResult::Fail(mErrorMessage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RequestResult ReconClient::QueryVersion()
|
RequestResult ReconClient::QueryVersion()
|
||||||
{
|
{
|
||||||
std::string content;
|
std::string content;
|
||||||
|
|||||||
@@ -13,8 +13,6 @@ public:
|
|||||||
RequestResult CheckActive();
|
RequestResult CheckActive();
|
||||||
RequestResult Create(const Scan &aScan);
|
RequestResult Create(const Scan &aScan);
|
||||||
RequestResult QueryScan(const std::string &aScanID, int &state);
|
RequestResult QueryScan(const std::string &aScanID, int &state);
|
||||||
RequestResult QueryReconID(const std::string &aScanID, std::string &aReconID);
|
|
||||||
RequestResult QueryReconTask(const std::string &aReconID, TaskQueryResult &aTask);
|
|
||||||
RequestResult QueryVersion();
|
RequestResult QueryVersion();
|
||||||
RequestResult SetPACSSetting(const PACSSetting &aSetting);
|
RequestResult SetPACSSetting(const PACSSetting &aSetting);
|
||||||
|
|
||||||
|
|||||||
@@ -62,9 +62,9 @@ void ReconManager::createEmptyScan(const QString& aScanID, const QString& aPath)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReconManager::createScan(const QString& aScanID, const QString& aPatientID, const QString& aReferenceID, const QString& aPath)
|
void ReconManager::createScan(const QString& aScanID, const QString& aStudyUID,const QString& aMPPSUID, const QString& aReferenceID, const QString& aPath)
|
||||||
{
|
{
|
||||||
Scan scan{aScanID.toStdString(), aPatientID.toStdString(), aReferenceID.toStdString(), aPath.toStdString(), 1};
|
Scan scan{aScanID.toStdString(), aStudyUID.toStdString(), aMPPSUID.toStdString(), aReferenceID.toStdString(), aPath.toStdString(),1};
|
||||||
auto response = mReconClient->Create(scan);
|
auto response = mReconClient->Create(scan);
|
||||||
if(response.good())
|
if(response.good())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public:
|
|||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void createEmptyScan(const QString& aScanID, const QString& aPath);
|
void createEmptyScan(const QString& aScanID, const QString& aPath);
|
||||||
void createScan(const QString& aScanID, const QString& aPatientID, const QString& aReferenceID, const QString& aPath);
|
void createScan(const QString& aScanID, const QString& aStudyUID,const QString& aMPPSUID, const QString& aReferenceID, const QString& aPath);
|
||||||
void queryReconStatus(const QStringList& aScanIDs);
|
void queryReconStatus(const QStringList& aScanIDs);
|
||||||
void setPacsSettings(const QString& aClientAETitle, const QString& aServerAETitle, const QString& aServerIP, int aServerPort);
|
void setPacsSettings(const QString& aClientAETitle, const QString& aServerAETitle, const QString& aServerIP, int aServerPort);
|
||||||
void checkReconConnection();
|
void checkReconConnection();
|
||||||
|
|||||||
Reference in New Issue
Block a user