|
|
@ -324,25 +324,7 @@ void MainControlService::processFrontEndMessage_Disinfection(weak_ptr<WebSocket> |
|
|
|
* 消毒相关指令 * |
|
|
|
*******************************************************************************/ |
|
|
|
string cmdstr = cmd["command"]; |
|
|
|
if (cmdstr == "startFormula") { |
|
|
|
int id = jsonGet<int>(cmd["id"]); |
|
|
|
auto formul = m_dbService->getFormula(id); |
|
|
|
if (!formul) { |
|
|
|
logger->error("formula id {} not exist", id); |
|
|
|
receipt["ackcode"] = err::error_code_get_get_ecode(err::kce, err::kdb_operate_error); |
|
|
|
receipt["ackcodeInfo"] = err::error_code_get_desc(err::kce, err::kdb_operate_error, ""); |
|
|
|
return; |
|
|
|
} |
|
|
|
m_disinfectionCtrlService->startDisinfection(atoi(formul->loglevel.c_str()), //
|
|
|
|
atoi(formul->injection_pump_speed.c_str()), //
|
|
|
|
atoi(formul->stoped_gs.c_str()), //
|
|
|
|
atoi(formul->continued_gs.c_str()), //
|
|
|
|
atoi(formul->stoped_satur.c_str()), //
|
|
|
|
atoi(formul->continued_satur.c_str()), //
|
|
|
|
atoi(formul->stoped_humi.c_str()), //
|
|
|
|
atoi(formul->continued_humi.c_str())); //
|
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (cmdstr == "startDisinfection") { |
|
|
|
m_disinfectionCtrlService->startDisinfection(jsonGet<int>(cmd["loglevel"]), //
|
|
|
|
m_dbService->getSettingVal("injection_pump_speed"), //
|
|
|
@ -462,67 +444,30 @@ void MainControlService::processFrontEndMessage_setting(weak_ptr<WebSocket> webS |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void MainControlService::processFrontEndMessage(weak_ptr<WebSocket> webSocket, json& cmd, json& receipt) { |
|
|
|
string cmdstr = cmd["command"]; |
|
|
|
processFrontEndMessage_userOperate(webSocket, cmd, receipt); |
|
|
|
processFrontEndMessage_systemOperate(webSocket, cmd, receipt); |
|
|
|
processFrontEndMessage_Disinfection(webSocket, cmd, receipt); |
|
|
|
processFrontEndMessage_test(webSocket, cmd, receipt); |
|
|
|
processFrontEndMessage_setting(webSocket, cmd, receipt); |
|
|
|
/*******************************************************************************
|
|
|
|
* getState * |
|
|
|
*******************************************************************************/ |
|
|
|
if (cmdstr == "getState") { |
|
|
|
receipt["state"]["isLogin"] = m_deviceStateService->isLogin(); |
|
|
|
receipt["state"]["loginuser"] = m_deviceStateService->getLoginUid(); |
|
|
|
receipt["state"]["permissionLevel"] = m_deviceStateService->getLoginPermissionLevel(); |
|
|
|
// receipt["state"]["workState"] = m_disinfectionCtrlService->isDisinfectionRunning();
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
* disinfectionState * |
|
|
|
*******************************************************************************/ |
|
|
|
|
|
|
|
receipt["state"]["replenishingFluidsWorkState"] = m_disinfectionCtrlService->getReplenishingFluidsWorkState(); |
|
|
|
receipt["state"]["drainingWorkState"] = m_disinfectionCtrlService->getDrainingWorkState(); |
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief 历史接口 |
|
|
|
*/ |
|
|
|
receipt["state"]["preHeat"] = m_disinfectionCtrlService->isPreheatState(); |
|
|
|
receipt["state"]["preHeatRaminTimeS"] = m_disinfectionCtrlService->getPreHeatRaminTimeS(); // 预热剩余时间
|
|
|
|
receipt["state"]["estimatedRemainingTimeS"] = m_disinfectionCtrlService->getEstimatedRemainingTimeS(); |
|
|
|
receipt["state"]["disinfection_id"] = m_disinfectionCtrlService->getDisinfectionID(); |
|
|
|
|
|
|
|
// 消毒状态
|
|
|
|
receipt["state"]["disinfectionWorkState"] = m_disinfectionCtrlService->getDisinfectionWorkState(); |
|
|
|
receipt["state"]["disinfectionState"]["id"] = m_disinfectionCtrlService->getDisinfectionID(); |
|
|
|
receipt["state"]["disinfectionState"]["estimatedRemainingTimeS"] = m_disinfectionCtrlService->getEstimatedRemainingTimeS(); |
|
|
|
receipt["state"]["disinfectionState"]["workState"] = m_disinfectionCtrlService->getDisinfectionWorkState(); |
|
|
|
receipt["state"]["disinfectionState"]["preHeat"] = m_disinfectionCtrlService->isPreheatState(); |
|
|
|
receipt["state"]["disinfectionState"]["preHeatRaminTimeS"] = m_disinfectionCtrlService->getPreHeatRaminTimeS(); // 预热剩余时间
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
* sensor * |
|
|
|
*******************************************************************************/ |
|
|
|
receipt["state"]["sensor_data"] = createSensorDataJson(); |
|
|
|
/*******************************************************************************
|
|
|
|
* disinfectionConfig * |
|
|
|
*******************************************************************************/ |
|
|
|
receipt["disinfectionConfig"]["loglevel"] = m_disinfectionCtrlService->m_context.m_targetLoglevel; |
|
|
|
receipt["disinfectionConfig"]["injection_pump_speed"] = m_disinfectionCtrlService->m_context.injection_pump_speed; |
|
|
|
receipt["disinfectionConfig"]["stoped_gs"] = m_disinfectionCtrlService->m_context.stoped_gs; |
|
|
|
receipt["disinfectionConfig"]["continued_gs"] = m_disinfectionCtrlService->m_context.continued_gs; |
|
|
|
receipt["disinfectionConfig"]["stoped_satur"] = m_disinfectionCtrlService->m_context.stoped_satur; |
|
|
|
receipt["disinfectionConfig"]["continued_satur"] = m_disinfectionCtrlService->m_context.continued_satur; |
|
|
|
receipt["disinfectionConfig"]["stoped_humi"] = m_disinfectionCtrlService->m_context.stoped_humi; |
|
|
|
receipt["disinfectionConfig"]["continued_humi"] = m_disinfectionCtrlService->m_context.continued_humi; |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
void MainControlService::processFrontEndMessage_processFormulaCmd(weak_ptr<WebSocket> webSocket, json& cmd, json& receipt) { |
|
|
|
/**
|
|
|
|
* @brief 配方操作 |
|
|
|
*/ |
|
|
|
|
|
|
|
string cmdstr = cmd["command"]; |
|
|
|
if (cmdstr == "startFormula") { |
|
|
|
int id = jsonGet<int>(cmd["id"]); |
|
|
|
auto formul = m_dbService->getFormula(id); |
|
|
|
if (!formul) { |
|
|
|
logger->error("formula id {} not exist", id); |
|
|
|
receipt["ackcode"] = err::error_code_get_get_ecode(err::kce, err::kdb_operate_error); |
|
|
|
receipt["ackcodeInfo"] = err::error_code_get_desc(err::kce, err::kdb_operate_error, ""); |
|
|
|
return; |
|
|
|
} |
|
|
|
m_disinfectionCtrlService->startDisinfection(atoi(formul->loglevel.c_str()), //
|
|
|
|
atoi(formul->injection_pump_speed.c_str()), //
|
|
|
|
atoi(formul->stoped_gs.c_str()), //
|
|
|
|
atoi(formul->continued_gs.c_str()), //
|
|
|
|
atoi(formul->stoped_satur.c_str()), //
|
|
|
|
atoi(formul->continued_satur.c_str()), //
|
|
|
|
atoi(formul->stoped_humi.c_str()), //
|
|
|
|
atoi(formul->continued_humi.c_str())); //
|
|
|
|
return; |
|
|
|
} |
|
|
|
if (cmdstr == "getAllFormula") { |
|
|
|
receipt["formula"] = m_dbService->getAllFormulaJson(); |
|
|
|
return; |
|
|
@ -588,6 +533,66 @@ void MainControlService::processFrontEndMessage(weak_ptr<WebSocket> webSocket, j |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void MainControlService::processFrontEndMessage(weak_ptr<WebSocket> webSocket, json& cmd, json& receipt) { |
|
|
|
string cmdstr = cmd["command"]; |
|
|
|
processFrontEndMessage_userOperate(webSocket, cmd, receipt); |
|
|
|
processFrontEndMessage_systemOperate(webSocket, cmd, receipt); |
|
|
|
processFrontEndMessage_Disinfection(webSocket, cmd, receipt); |
|
|
|
processFrontEndMessage_test(webSocket, cmd, receipt); |
|
|
|
processFrontEndMessage_setting(webSocket, cmd, receipt); |
|
|
|
processFrontEndMessage_processFormulaCmd(webSocket, cmd, receipt); |
|
|
|
/*******************************************************************************
|
|
|
|
* getState * |
|
|
|
*******************************************************************************/ |
|
|
|
if (cmdstr == "getState") { |
|
|
|
receipt["state"]["isLogin"] = m_deviceStateService->isLogin(); |
|
|
|
receipt["state"]["loginuser"] = m_deviceStateService->getLoginUid(); |
|
|
|
receipt["state"]["permissionLevel"] = m_deviceStateService->getLoginPermissionLevel(); |
|
|
|
// receipt["state"]["workState"] = m_disinfectionCtrlService->isDisinfectionRunning();
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
* disinfectionState * |
|
|
|
*******************************************************************************/ |
|
|
|
|
|
|
|
receipt["state"]["replenishingFluidsWorkState"] = m_disinfectionCtrlService->getReplenishingFluidsWorkState(); |
|
|
|
receipt["state"]["drainingWorkState"] = m_disinfectionCtrlService->getDrainingWorkState(); |
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief 历史接口 |
|
|
|
*/ |
|
|
|
receipt["state"]["preHeat"] = m_disinfectionCtrlService->isPreheatState(); |
|
|
|
receipt["state"]["preHeatRaminTimeS"] = m_disinfectionCtrlService->getPreHeatRaminTimeS(); // 预热剩余时间
|
|
|
|
receipt["state"]["estimatedRemainingTimeS"] = m_disinfectionCtrlService->getEstimatedRemainingTimeS(); |
|
|
|
receipt["state"]["disinfection_id"] = m_disinfectionCtrlService->getDisinfectionID(); |
|
|
|
|
|
|
|
// 消毒状态
|
|
|
|
receipt["state"]["disinfectionWorkState"] = m_disinfectionCtrlService->getDisinfectionWorkState(); |
|
|
|
receipt["state"]["disinfectionState"]["id"] = m_disinfectionCtrlService->getDisinfectionID(); |
|
|
|
receipt["state"]["disinfectionState"]["estimatedRemainingTimeS"] = m_disinfectionCtrlService->getEstimatedRemainingTimeS(); |
|
|
|
receipt["state"]["disinfectionState"]["workState"] = m_disinfectionCtrlService->getDisinfectionWorkState(); |
|
|
|
receipt["state"]["disinfectionState"]["preHeat"] = m_disinfectionCtrlService->isPreheatState(); |
|
|
|
receipt["state"]["disinfectionState"]["preHeatRaminTimeS"] = m_disinfectionCtrlService->getPreHeatRaminTimeS(); // 预热剩余时间
|
|
|
|
receipt["state"]["disinfectionState"]["logval"] = m_disinfectionCtrlService->m_context.m_nowLoglevel; |
|
|
|
|
|
|
|
/*******************************************************************************
|
|
|
|
* sensor * |
|
|
|
*******************************************************************************/ |
|
|
|
receipt["state"]["sensor_data"] = createSensorDataJson(); |
|
|
|
/*******************************************************************************
|
|
|
|
* disinfectionConfig * |
|
|
|
*******************************************************************************/ |
|
|
|
receipt["disinfectionConfig"]["loglevel"] = m_disinfectionCtrlService->m_context.m_targetLoglevel; |
|
|
|
receipt["disinfectionConfig"]["injection_pump_speed"] = m_disinfectionCtrlService->m_context.injection_pump_speed; |
|
|
|
receipt["disinfectionConfig"]["stoped_gs"] = m_disinfectionCtrlService->m_context.stoped_gs; |
|
|
|
receipt["disinfectionConfig"]["continued_gs"] = m_disinfectionCtrlService->m_context.continued_gs; |
|
|
|
receipt["disinfectionConfig"]["stoped_satur"] = m_disinfectionCtrlService->m_context.stoped_satur; |
|
|
|
receipt["disinfectionConfig"]["continued_satur"] = m_disinfectionCtrlService->m_context.continued_satur; |
|
|
|
receipt["disinfectionConfig"]["stoped_humi"] = m_disinfectionCtrlService->m_context.stoped_humi; |
|
|
|
receipt["disinfectionConfig"]["continued_humi"] = m_disinfectionCtrlService->m_context.continued_humi; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
HttpResponsePtr MainControlService::hello_world( //
|
|
|
|
HttpRequestPtr request, shared_ptr<RestfulServer::Context> context, std::shared_ptr<ConnectionState>) { |
|
|
|
return std::make_shared<HttpResponse>(200, "OK", HttpErrorCode::Ok, WebSocketHttpHeaders(), "hello_world"); |
|
|
|