From b89ceb336e052ddfeb632a1193502f77861b253b Mon Sep 17 00:00:00 2001 From: lnk Date: Thu, 10 Jul 2025 18:05:18 +0800 Subject: [PATCH] fix freq fliker in web --- json/create_json.cpp | 84 +++++++++++++++++++++++++++++++++++++++++++- mms/mms_process.c | 2 +- 2 files changed, 84 insertions(+), 2 deletions(-) diff --git a/json/create_json.cpp b/json/create_json.cpp index 4ba22e4..b189f56 100644 --- a/json/create_json.cpp +++ b/json/create_json.cpp @@ -32,6 +32,7 @@ extern std::string WEB_COMFLAG; extern std::string WEB_EVENT; extern std::string WEB_FILEDOWNLOAD; extern std::string G_CONNECT_TOPIC; + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// using namespace std; @@ -220,8 +221,20 @@ extern int isdelta_flag;//lnk2024-8-16 角型接线标志 void connectlog_pgsql(char* id,char* datetime,int status); ///////////////////////////////////////////////lnk20241021替换web接口////////////////////////////////// -//lnk20250520 获取映射文件中的一些数据///////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////lnk20250710添加频率值存储 +struct mp_freq_save { + double G_FREQ; + double FREQ; + double MAX_FREQ; + double MIN_FREQ; + + mp_freq_save() + : G_FREQ(0.0), FREQ(0.0), MAX_FREQ(0.0), MIN_FREQ(0.0) {} +}; +std::map mp_freq_save_map; + +//lnk20250520 获取映射文件中的一些数据///////////////////////////////////////////////////////////////// bool get_xml_config_by_dev_type(const char* dev_type, XmlConfigC* out_cfg) { if (!dev_type || !out_cfg) { @@ -1358,6 +1371,39 @@ int transfer_json_block_data(char v_wiring_type[], json_block_data *data) //json KafkaData.strText.append(QString("\"%1\":\"%2\", ").arg(pDataValue->strName).arg(QString::number(dTemp, 10, 6))); //拼接 json数据值(非角度值) else KafkaData.strText.append(QString("\"%1\":\"%2\" ").arg(pDataValue->strName).arg(QString::number(dTemp, 10, 6))); //拼接 json数据值(非角度值) + + //lnk20250710添加频率存储 + if(dTemp > 0.99){ + //printf("pDataValue->strName==========================%s",pDataValue->strName.toStdString().c_str()); + if(pDataValue->strName == "G_FREQ") { + mp_freq_save_map[data->mp_id.toStdString()].G_FREQ = dTemp; //保存95值 + } + else if(pDataValue->strName == "FREQ") { + mp_freq_save_map[data->mp_id.toStdString()].FREQ = dTemp; //保存平均值 + } + else if(pDataValue->strName == "MAX_FREQ") { + mp_freq_save_map[data->mp_id.toStdString()].MAX_FREQ = dTemp; //保存最大值 + } + else if(pDataValue->strName == "MIN_FREQ") { + mp_freq_save_map[data->mp_id.toStdString()].MIN_FREQ = dTemp; //保存最小值 + } + + } + else{ + if(pDataValue->strName == "G_FREQ") { + dTemp = mp_freq_save_map[data->mp_id.toStdString()].G_FREQ; //保存95值 + } + else if(pDataValue->strName == "FREQ") { + dTemp = mp_freq_save_map[data->mp_id.toStdString()].FREQ; //保存平均值 + } + else if(pDataValue->strName == "MAX_FREQ") { + dTemp = mp_freq_save_map[data->mp_id.toStdString()].MAX_FREQ; //保存最大值 + } + else if(pDataValue->strName == "MIN_FREQ") { + dTemp = mp_freq_save_map[data->mp_id.toStdString()].MIN_FREQ; //保存最小值 + } + } + //lnk20250710添加频率存储 } } @@ -1489,10 +1535,46 @@ int transfer_json_block_data(char v_wiring_type[], json_block_data *data) //json else { double dTemp = data->mms_str_map.value(pDataValue->strFullName) * pDataValue->fCoefficient; //接口数据 * 系数 + + //lnk20250710添加频率存储 + if(dTemp > 0.99){ + //printf("pDataValue->strName==========================%s",pDataValue->strName.toStdString().c_str()); + if(pDataValue->strName == "G_FREQ") { + mp_freq_save_map[data->mp_id.toStdString()].G_FREQ = dTemp; //保存95值 + } + else if(pDataValue->strName == "FREQ") { + mp_freq_save_map[data->mp_id.toStdString()].FREQ = dTemp; //保存平均值 + } + else if(pDataValue->strName == "MAX_FREQ") { + mp_freq_save_map[data->mp_id.toStdString()].MAX_FREQ = dTemp; //保存最大值 + } + else if(pDataValue->strName == "MIN_FREQ") { + mp_freq_save_map[data->mp_id.toStdString()].MIN_FREQ = dTemp; //保存最小值 + } + + } + else{ + if(pDataValue->strName == "G_FREQ") { + dTemp = mp_freq_save_map[data->mp_id.toStdString()].G_FREQ; //保存95值 + } + else if(pDataValue->strName == "FREQ") { + dTemp = mp_freq_save_map[data->mp_id.toStdString()].FREQ; //保存平均值 + } + else if(pDataValue->strName == "MAX_FREQ") { + dTemp = mp_freq_save_map[data->mp_id.toStdString()].MAX_FREQ; //保存最大值 + } + else if(pDataValue->strName == "MIN_FREQ") { + dTemp = mp_freq_save_map[data->mp_id.toStdString()].MIN_FREQ; //保存最小值 + } + } + //lnk20250710添加频率存储 + if (dv != dvEnd) //非单相最后一个数据值元素 KafkaData.strText.append(QString("\"%1\":\"%2\", ").arg(pDataValue->strName).arg(QString::number(dTemp, 10, 6))); //拼接 json数据值(非角度值) else KafkaData.strText.append(QString("\"%1\":\"%2\" ").arg(pDataValue->strName).arg(QString::number(dTemp, 10, 6))); //拼接 json数据值(非角度值) + + } } catch (exception& e) diff --git a/mms/mms_process.c b/mms/mms_process.c index e7af730..bc3fd63 100644 --- a/mms/mms_process.c +++ b/mms/mms_process.c @@ -324,7 +324,7 @@ void ChannelCheckIECReports(chnl_usr_t *chnl_usr) if (judge_rpt_next_should_do(rptinfo)==SHOULD_DO_NOTHING)//检查是否触发 { - DIY_DEBUGLOG(full_key_m_c,"【DEBUG】监测点:%s - id:%s不注册报告", LD_info->name,LD_info->mp_id); + //DIY_DEBUGLOG(full_key_m_c,"【DEBUG】监测点:%s - id:%s不注册报告", LD_info->name,LD_info->mp_id); continue; }