123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335 |
- #include "devicemanager.h"
- DeviceManager::DeviceManager(QObject *parent) : QObject(parent)
- {
- }
- bool DeviceManager::DoLoadDeviceData()
- {
- m_deviceDataList.clear();
- lhhttpapi* httpApi = singletonWork::instance()->LhHttpAPI();
- if(httpApi == nullptr)
- {
- return false;
- }
- //加载发射机监测点配置数据
- QJsonObject jsParam
- {
- {"nchnid", 0},
- {"typecode_1", TZ_PT_CODE_1},
- {"typecode_2", TZ_PT_CODE_2}
- };
- QJsonObject jsRoot
- {
- {"opName", "TZCJ_GetMonitorPinByChannel"},
- {"paramList", jsParam}
- };
- QJsonDocument doc;
- doc.setObject(jsRoot);
- QByteArray post_Array = doc.toJson(QJsonDocument::Compact);
- QString strRetJson;
- QString strtoken = singletonWork::instance()->GetServerToken();
- if(RERUNSUCCESS != httpApi->DBDoInterface(strtoken, DBDOTYPE_SELECT, QString::fromUtf8(post_Array), strRetJson))
- {
- LH_WRITE_ERROR("获取频率参数信息失败!");
- return false;
- }
- QByteArray baJson = strRetJson.toUtf8();
- QJsonParseError jsonError;
- QJsonDocument doucment = QJsonDocument::fromJson(baJson, &jsonError);
- if(jsonError.error != QJsonParseError::NoError)
- {
- LH_WRITE_ERROR(jsonError.errorString());
- }
- QJsonObject rootObj = doucment.object();
- if(!rootObj.contains("result"))
- {
- LH_WRITE_ERROR(QString("获取结果无效:%1").arg(strRetJson));
- }
- QJsonArray jsResult = rootObj.value("result").toArray();
- for(int i = 0; i < jsResult.count(); i++)
- {
- QJsonValue jsValue = jsResult.at(i);
- QJsonObject jsObject = jsValue.toObject();
- tDeviceData dev;
- dev.nChnID = jsObject.value("chnid").toInt();
- dev.nMPID = jsObject.value("mpid").toInt();
- dev.nDeviceID = jsObject.value("did").toInt();
- dev.strDevName = jsObject.value("dname").toString();
- dev.strChnName = jsObject.value("chnname").toString();
- dev.strMPName = jsObject.value("mname").toString();
- dev.strMaddress = jsObject.value("maddress").toString();
- m_deviceDataList.append(dev);
- }
- if(m_deviceDataList.size() < 1)
- {
- return false;
- }
- return DoLoadTranPin();
- }
- bool DeviceManager::DoLoadTranPin()
- {
- lhhttpapi* httpApi = singletonWork::instance()->LhHttpAPI();
- if(httpApi == nullptr)
- {
- return false;
- }
- //加载发射机监测点配置数据
- QJsonObject jsParam
- {
- {"nchnid", 0},
- {"typecode_1", TRANSMITTER_PT_CODE_1},
- {"typecode_2", TRANSMITTER_PT_CODE_2}
- };
- QJsonObject jsRoot
- {
- {"opName", "TZCJ_GetMonitorPinByChannel"},
- {"paramList", jsParam}
- };
- QJsonDocument doc;
- doc.setObject(jsRoot);
- QByteArray post_Array = doc.toJson(QJsonDocument::Compact);
- QString strRetJson;
- QString strtoken = singletonWork::instance()->GetServerToken();
- if(RERUNSUCCESS != httpApi->DBDoInterface(strtoken, DBDOTYPE_SELECT, QString::fromUtf8(post_Array), strRetJson))
- {
- LH_WRITE_ERROR("获取频率参数信息失败!");
- return false;
- }
- QByteArray baJson = strRetJson.toUtf8();
- QJsonParseError jsonError;
- QJsonDocument doucment = QJsonDocument::fromJson(baJson, &jsonError);
- if(jsonError.error != QJsonParseError::NoError)
- {
- LH_WRITE_ERROR(jsonError.errorString());
- }
- QJsonObject rootObj = doucment.object();
- if(!rootObj.contains("result"))
- {
- LH_WRITE_ERROR(QString("获取结果无效:%1").arg(strRetJson));
- }
- QJsonArray jsResult = rootObj.value("result").toArray();
- for(int i = 0; i < jsResult.count(); i++)
- {
- QJsonValue jsValue = jsResult.at(i);
- QJsonObject jsObject = jsValue.toObject();
- tMPinData pin;
- pin.nChnID = jsObject.value("chnid").toInt();
- pin.nMPID = jsObject.value("mpid").toInt();
- pin.nDeviceID = jsObject.value("did").toInt();
- pin.nFlags = jsObject.value("dclass").toInt();
- pin.strDevName = jsObject.value("dname").toString();
- pin.strMPName = jsObject.value("mname").toString();
- pin.strMaddress = jsObject.value("maddress").toString();
- m_transDataList.append(pin);
- }
- return true;
- }
- bool DeviceManager::DoLoadServiceConfig(int nServiceID)
- {
- lhhttpapi* httpApi = singletonWork::instance()->LhHttpAPI();
- if(httpApi == nullptr)
- {
- return false;
- }
- //加载发射机监测点配置数据
- QJsonObject jsParam
- {
- {"id", nServiceID}
- };
- QJsonObject jsRoot
- {
- {"opName", "EQM_GetServiceConfigById"},
- {"paramList", jsParam}
- };
- QJsonDocument doc;
- doc.setObject(jsRoot);
- QByteArray post_Array = doc.toJson(QJsonDocument::Compact);
- QString strRetJson;
- QString strtoken = singletonWork::instance()->GetServerToken();
- if(RERUNSUCCESS != httpApi->DBDoInterface(strtoken, DBDOTYPE_SELECT, QString::fromUtf8(post_Array), strRetJson))
- {
- LH_WRITE_ERROR("获取频率参数信息失败!");
- return false;
- }
- QByteArray baJson = strRetJson.toUtf8();
- QJsonParseError jsonError;
- QJsonDocument doucment = QJsonDocument::fromJson(baJson, &jsonError);
- if(jsonError.error != QJsonParseError::NoError)
- {
- LH_WRITE_ERROR(jsonError.errorString());
- }
- QJsonObject rootObj = doucment.object();
- if(!rootObj.contains("result"))
- {
- LH_WRITE_ERROR(QString("获取结果无效:%1").arg(strRetJson));
- }
- QJsonArray serverList = rootObj.value(QLatin1String("result")).toArray();
- QJsonObject jsSetinginfo = serverList.at(0).toObject();
- QString strSetInfo = jsSetinginfo.value("setinginfo").toString();
- QJsonDocument jsonDoc(QJsonDocument::fromJson(strSetInfo.toStdString().data(), &jsonError));
- if(!jsonDoc.isNull() && jsonError.error == QJsonParseError::NoError)
- {
- QJsonObject jObj = jsonDoc.object();
- m_transServerIP = jObj.value("transserverip").toString();
- m_transServerPort = jObj.value("transserverport").toInt();
- QJsonArray array = jObj.value("montzdevice").toArray();
- for(int i = 0; i < array.count(); i++)
- {
- QJsonObject mpjson = array.at(i).toObject();
- tTZConfig temp;
- temp.mpid = mpjson.value("mpid").toInt();
- temp.enable = mpjson.value("enable").toBool();
- temp.address = mpjson.value("address").toString();
- temp.port = mpjson.value("port").toInt();
- temp.slaveid = mpjson.value("slaveid").toInt();
- temp.hosttransmpid = mpjson.value("hosttransmpid").toInt();
- temp.backtransmpid = mpjson.value("backtransmpid").toInt();
- temp.emergencympid = mpjson.value("emergencympid").toInt();
- temp.enablemutilchannel = mpjson.value("enablemutilchannel").toBool();
- temp.powerofftime = mpjson.value("powerofftime").toInt();
- m_tzConfigList.append(temp);
- }
- }
- return true;
- }
- void DeviceManager::GetDeviceConfig(int nMPID, tTZConfig& config)
- {
- for(int i = 0; i < m_tzConfigList.size(); i++)
- {
- if(m_tzConfigList.at(i).mpid == nMPID)
- {
- config = m_tzConfigList.at(i);
- break;
- }
- }
- }
- void DeviceManager::SetDeviceConfig(int nMPID, tTZConfig &config)
- {
- bool bFind = false;
- for(int i = 0; i < m_tzConfigList.size(); i++)
- {
- if(m_tzConfigList.at(i).mpid == nMPID)
- {
- bFind = true;
- m_tzConfigList[i] = config;
- break;
- }
- }
- if(!bFind)
- {
- m_tzConfigList.append(config);
- }
- }
- void DeviceManager::GetMonitorByID(int nMPID, tMPinData& pin)
- {
- for(int i = 0; i < m_transDataList.size(); i++)
- {
- if(m_transDataList.at(i).nMPID == nMPID)
- {
- pin = m_transDataList.at(i);
- break;
- }
- }
- }
- bool DeviceManager::DoSaveServiceConfig(int nServiceID)
- {
- lhhttpapi* httpApi = singletonWork::instance()->LhHttpAPI();
- if(httpApi == nullptr)
- {
- return false;
- }
- QJsonArray devArray;
- for(int i = 0; i < m_tzConfigList.size(); i++)
- {
- QJsonObject mpObj
- {
- {"mpid", m_tzConfigList.at(i).mpid},
- {"enable", m_tzConfigList.at(i).enable},
- {"address", m_tzConfigList.at(i).address},
- {"port", m_tzConfigList.at(i).port},
- {"slaveid", m_tzConfigList.at(i).slaveid},
- {"hosttransmpid", m_tzConfigList.at(i).hosttransmpid},
- {"backtransmpid", m_tzConfigList.at(i).backtransmpid},
- {"emergencympid", m_tzConfigList.at(i).emergencympid},
- {"enablemutilchannel", m_tzConfigList.at(i).enablemutilchannel},
- {"powerofftime", m_tzConfigList.at(i).powerofftime},
- };
- devArray.append(mpObj);
- }
- QJsonObject rootObj
- {
- {"transserverip", m_transServerIP},
- {"transserverport", m_transServerPort},
- {"montzdevice", devArray}
- };
- QJsonObject jsParam
- {
- {"setinfo", QString::fromUtf8(QJsonDocument(rootObj).toJson(QJsonDocument::Compact))},
- {"id", nServiceID}
- };
- QJsonObject jsRoot
- {
- {"opName", "EQM_UpdateServerSetInfo"},
- {"paramList", jsParam}
- };
- QJsonDocument doc;
- doc.setObject(jsRoot);
- QByteArray post_Array = doc.toJson(QJsonDocument::Compact);
- QString strtoken = singletonWork::instance()->GetServerToken();
- QString strRetJson;
- if(RERUNSUCCESS != httpApi->DBDoInterface(strtoken, DBDOTYPE_UPDATE, QString::fromUtf8(post_Array), strRetJson))
- {
- LH_WRITE_ERROR("保存配置信息失败!");
- return false;
- }
- //
- QByteArray baJson = strRetJson.toUtf8();
- QJsonParseError jsonError;
- QJsonDocument doucment = QJsonDocument::fromJson(baJson, &jsonError);
- if(jsonError.error != QJsonParseError::NoError)
- {
- LH_WRITE_ERROR(jsonError.errorString());
- }
- QJsonObject obj = doucment.object();
- if (!obj.contains(QLatin1String("result")))
- {
- LH_WRITE_ERROR(QString("%1 数据解析失败, Json:%2").arg(Q_FUNC_INFO).arg(strRetJson));
- return false;
- }
- return true;
- }
|