diff --git a/worker.cpp b/worker.cpp index 62c063e..fdd8d11 100644 --- a/worker.cpp +++ b/worker.cpp @@ -507,6 +507,16 @@ bool Worker::updateTriggerSet() { if (parseError.error != QJsonParseError::NoError) { qCritical() << "(2) INVALID JSON MSG: PARSING FAILED (msg=" << msg << "):" << parseError.error << parseError.errorString(); + setProgress(100); + m_updateStatus = UpdateStatus(UPDATE_STATUS::JSON_PARSE_FAILURE, + QString("(2) INVALID JSON %1 %2 %3") + .arg(msg) + .arg(parseError.error) + .arg(parseError.errorString())); + IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT, + QString("#M=APISM#C=CMD_EVENT#J=") + + m_ismasClient.jsonParseFailed(IsmasClient::RESULT_CODE::INSTALL_ERROR, + m_updateStatus.m_statusDescription)); emit showErrorMessage("check update trigger", QString("invalid json ") + msg.mid(0, 20)); emit replaceLast("Update trigger set ...", UPDATE_STEP_FAIL); @@ -514,8 +524,14 @@ bool Worker::updateTriggerSet() { } if (!document.isObject()) { qCritical() << "FILE IS NOT A JSON OBJECT!"; - emit showErrorMessage("check update trigger", - QString("not a json object") + msg); + setProgress(100); + m_updateStatus = UpdateStatus(UPDATE_STATUS::JSON_PARSE_FAILURE, + QString("NOT A JSON-OBJECT %1").arg(msg)); + IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT, + QString("#M=APISM#C=CMD_EVENT#J=") + + m_ismasClient.jsonParseFailed(IsmasClient::RESULT_CODE::INSTALL_ERROR, + m_updateStatus.m_statusDescription)); + emit showErrorMessage("check update trigger", QString("not a json object") + msg); emit replaceLast("Update trigger set ...", UPDATE_STEP_FAIL); return false; } @@ -562,8 +578,44 @@ bool Worker::updateTriggerSet() { emit replaceLast("Update trigger set ...", UPDATE_STEP_FAIL); return false; } + + qInfo() << "MACHINE-AND-CUSTOMER-CHECK" << m_updateStatus.m_statusDescription; + + } else { + setProgress(100); + m_updateStatus = UpdateStatus(UPDATE_STATUS::ISMAS_WAIT_STATE_CHECK_FAILURE, + "Dev_ID DOES NOT CONTAIN Custom_ID AND/OR Device_ID"); + IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT, + QString("#M=APISM#C=CMD_EVENT#J=") + + m_ismasClient.sanityCheckFailed(IsmasClient::RESULT_CODE::INSTALL_ERROR, + m_updateStatus.m_statusDescription)); + emit showErrorMessage("check update trigger", m_updateStatus.m_statusDescription); + emit replaceLast("Update trigger set ...", UPDATE_STEP_FAIL); + return false; } + } else { + setProgress(100); + m_updateStatus = UpdateStatus(UPDATE_STATUS::ISMAS_WAIT_STATE_CHECK_FAILURE, + "Dev_ID KEY NOT A JSON-OBJECT"); + IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT, + QString("#M=APISM#C=CMD_EVENT#J=") + + m_ismasClient.sanityCheckFailed(IsmasClient::RESULT_CODE::INSTALL_ERROR, + m_updateStatus.m_statusDescription)); + emit showErrorMessage("check update trigger", m_updateStatus.m_statusDescription); + emit replaceLast("Update trigger set ...", UPDATE_STEP_FAIL); + return false; } + } else { + setProgress(100); + m_updateStatus = UpdateStatus(UPDATE_STATUS::ISMAS_WAIT_STATE_CHECK_FAILURE, + "Dev_ID KEY NOT AVAILABLE"); + IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT, + QString("#M=APISM#C=CMD_EVENT#J=") + + m_ismasClient.sanityCheckFailed(IsmasClient::RESULT_CODE::INSTALL_ERROR, + m_updateStatus.m_statusDescription)); + emit showErrorMessage("check update trigger", m_updateStatus.m_statusDescription); + emit replaceLast("Update trigger set ...", UPDATE_STEP_FAIL); + return false; } setProgress(progress + 1); @@ -581,31 +633,72 @@ bool Worker::updateTriggerSet() { << "In updateTriggerSet() TRG value=<" << triggerValue << ">"; - if (triggerValue == "WAIT") { - setProgress(100); - m_updateStatus = UpdateStatus(UPDATE_STATUS::UPDATE_TRIGGER_SET, - QString("UPDATE TRIGGER SET. CONTINUE. ")); + if (triggerValue == "WAIT") { + setProgress(100); + m_updateStatus = UpdateStatus(UPDATE_STATUS::ISMAS_SANITY_CHECK_OK, + QString("MACHINE-NR (%1) AND CUST-NR (%2) OK") + .arg(m_machineNr).arg(m_customerNr)); + IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT, + QString("#M=APISM#C=CMD_EVENT#J=") + + m_ismasClient.updateOfPSAContinues("MACHINE-AND-CUSTOMER-CHECK", + m_updateStatus.m_statusDescription)); - IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT, - QString("#M=APISM#C=CMD_EVENT#J=") + - m_ismasClient.updateTriggerSet(m_updateStatus.m_statusDescription, "")); + m_updateStatus = UpdateStatus(UPDATE_STATUS::UPDATE_TRIGGER_SET, + QString("UPDATE TRIGGER SET. CONTINUE. ")); + IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT, + QString("#M=APISM#C=CMD_EVENT#J=") + + m_ismasClient.updateTriggerSet(m_updateStatus.m_statusDescription, "")); - emit replaceLast("Update trigger set ...", UPDATE_STEP_OK); - return true; - } else { - emit showErrorMessage("check update trigger", - QString ("TRG value=<") + triggerValue - + ">\n(reset download button?)"); - QThread::sleep(6); - continue; - } + emit replaceLast("Update trigger set ...", UPDATE_STEP_OK); + return true; + } else { + // if the download-button once has the wrong value, it will never recover + setProgress(100); + m_updateStatus = UpdateStatus(UPDATE_STATUS::ISMAS_WAIT_STATE_CHECK_FAILURE, + QString("TRIGGER-VALUE ") + triggerValue + " NOT 'WAIT'"); + IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT, + QString("#M=APISM#C=CMD_EVENT#J=") + + m_ismasClient.sanityCheckFailed(IsmasClient::RESULT_CODE::INSTALL_ERROR, + m_updateStatus.m_statusDescription)); + emit showErrorMessage("check update trigger", m_updateStatus.m_statusDescription); + emit replaceLast("Update trigger set ...", UPDATE_STEP_FAIL); + return false; } } else { - emit showErrorMessage("check update trigger", "TRG key not contained"); + setProgress(100); + m_updateStatus = UpdateStatus(UPDATE_STATUS::ISMAS_WAIT_STATE_CHECK_FAILURE, + "TRG KEY NOT AVAILABLE"); + IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT, + QString("#M=APISM#C=CMD_EVENT#J=") + + m_ismasClient.sanityCheckFailed(IsmasClient::RESULT_CODE::INSTALL_ERROR, + m_updateStatus.m_statusDescription)); + emit replaceLast("Update trigger set ...", UPDATE_STEP_FAIL); + emit showErrorMessage("check update trigger", m_updateStatus.m_statusDescription); + return false; } } else { - emit showErrorMessage("check update trigger", "Fileupload not a json-object"); + setProgress(100); + m_updateStatus = UpdateStatus(UPDATE_STATUS::ISMAS_WAIT_STATE_CHECK_FAILURE, + "Fileupload NOT A JSON-OBJECT"); + IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT, + QString("#M=APISM#C=CMD_EVENT#J=") + + m_ismasClient.sanityCheckFailed(IsmasClient::RESULT_CODE::INSTALL_ERROR, + m_updateStatus.m_statusDescription)); + emit replaceLast("Update trigger set ...", UPDATE_STEP_FAIL); + emit showErrorMessage("check update trigger", m_updateStatus.m_statusDescription); + return false; } + } else { + setProgress(100); + m_updateStatus = UpdateStatus(UPDATE_STATUS::ISMAS_WAIT_STATE_CHECK_FAILURE, + "Fileupload KEY NOT AVAILABLE"); + IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT, + QString("#M=APISM#C=CMD_EVENT#J=") + + m_ismasClient.sanityCheckFailed(IsmasClient::RESULT_CODE::INSTALL_ERROR, + m_updateStatus.m_statusDescription)); + emit replaceLast("Update trigger set ...", UPDATE_STEP_FAIL); + emit showErrorMessage("check update trigger", m_updateStatus.m_statusDescription); + return false; } if (obj.contains("error")) {