136 lines
3.2 KiB
C++
136 lines
3.2 KiB
C++
|
#pragma execution_character_set("utf-8")
|
|||
|
#include "StabilityUIFunction.h"
|
|||
|
#include "Logger.h"
|
|||
|
|
|||
|
#define BIND(func) std::bind(&StabilityUIFunction::func, this, std::placeholders::_1)
|
|||
|
|
|||
|
StabilityUIFunction::StabilityUIFunction()
|
|||
|
{
|
|||
|
ccsMessageHandle::instance()->register_callback(BIND(stab_create_cal), CMD_stab_create_cal);
|
|||
|
ccsMessageHandle::instance()->register_callback(BIND(stab_cal), CMD_stab_cal);
|
|||
|
ccsMessageHandle::instance()->register_callback(BIND(stab_delete_cal), CMD_stab_delete_cal);
|
|||
|
|
|||
|
LOG_DEBUG("StabilityUIFunction Constructed");
|
|||
|
}
|
|||
|
|
|||
|
StabilityUIFunction::~StabilityUIFunction()
|
|||
|
{
|
|||
|
ccsMessageHandle::instance()->unregister_callback(CMD_stab_create_cal);
|
|||
|
ccsMessageHandle::instance()->unregister_callback(CMD_stab_cal);
|
|||
|
ccsMessageHandle::instance()->unregister_callback(CMD_stab_delete_cal);
|
|||
|
|
|||
|
LOG_DEBUG("StabilityUIFunction Destroyed");
|
|||
|
}
|
|||
|
|
|||
|
void StabilityUIFunction::stab_create_cal(const QString& message)
|
|||
|
{
|
|||
|
bool bRet = false;
|
|||
|
QString outMsg;
|
|||
|
nlohmann::json myjson;
|
|||
|
int errorCode = 0;
|
|||
|
|
|||
|
vector<string> vCom;
|
|||
|
try
|
|||
|
{
|
|||
|
myjson = nlohmann::json::parse(message.toStdString());
|
|||
|
}
|
|||
|
catch (const nlohmann::json::parse_error& e)
|
|||
|
{
|
|||
|
outMsg = e.what();
|
|||
|
return;
|
|||
|
}
|
|||
|
if (!myjson.contains("data"))
|
|||
|
{
|
|||
|
outMsg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>json<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (myjson["data"].is_array())
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
for (size_t i = 0; i < myjson["data"].size(); i++)
|
|||
|
{
|
|||
|
vCom.emplace_back(myjson["data"][i].get<string>());
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
outMsg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>json<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
int cmd = CMD_stab_cal;
|
|||
|
bRet = getStabilityModelPtr()->stabilityCalc(vCom, E_AnalysisModuleOperation_Type_Create);
|
|||
|
if (!bRet)
|
|||
|
{
|
|||
|
QtToWebFunction::getInstance().qt2web(cmd, EXECUTE_FAIL, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
QtToWebFunction::getInstance().qt2web(cmd, EXECUTE_SUCCESS, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>", "");
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
void StabilityUIFunction::stab_cal(const QString& message)
|
|||
|
{
|
|||
|
bool bRet = false;
|
|||
|
QString outMsg;
|
|||
|
nlohmann::json myjson;
|
|||
|
int errorCode = 0;
|
|||
|
|
|||
|
vector<string> vCom;
|
|||
|
try
|
|||
|
{
|
|||
|
myjson = nlohmann::json::parse(message.toStdString());
|
|||
|
}
|
|||
|
catch (const nlohmann::json::parse_error& e)
|
|||
|
{
|
|||
|
outMsg = e.what();
|
|||
|
return ;
|
|||
|
}
|
|||
|
if (!myjson.contains("data"))
|
|||
|
{
|
|||
|
outMsg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>json<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
|||
|
return ;
|
|||
|
}
|
|||
|
|
|||
|
if (myjson["data"].is_array())
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
for (size_t i = 0; i < myjson["data"].size(); i++)
|
|||
|
{
|
|||
|
vCom.emplace_back(myjson["data"][i].get<string>());
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
outMsg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>json<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
int cmd = CMD_stab_cal;
|
|||
|
|
|||
|
bRet = getStabilityModelPtr()->stabilityCalc(vCom, E_AnalysisModuleOperation_Type_Calc);
|
|||
|
if (!bRet)
|
|||
|
{
|
|||
|
QtToWebFunction::getInstance().qt2web(cmd, EXECUTE_FAIL, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
QtToWebFunction::getInstance().qt2web(cmd, EXECUTE_SUCCESS, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>","");
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
void StabilityUIFunction::stab_delete_cal(const QString& message)
|
|||
|
{
|
|||
|
//QString commandLine = "";
|
|||
|
////getStabilityModelPtr()->stabilityCalc(commandLine, E_AnalysisModuleOperation_Type_Delete);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|