diff --git a/json/create_json.cpp b/json/create_json.cpp index eb5b4be..f648209 100644 --- a/json/create_json.cpp +++ b/json/create_json.cpp @@ -316,15 +316,19 @@ static QString build_mms_json_object(const json_block_data* data) return json; } -static QString build_trace_json(const json_block_data* data) +static QString build_trace_json(const json_block_data* data, const char *v_wiring_type, const char *source_name) { if (!data) return "{}"; QString mms_json = build_mms_json_object(data); + QString wiring_type = v_wiring_type ? QString::fromLocal8Bit(v_wiring_type) : ""; + QString source = source_name ? QString::fromLocal8Bit(source_name) : ""; QString json; json += "{"; json += QString("\"mp_id\":\"%1\",").arg(escape_json_string(data->mp_id)); + json += QString("\"v_wiring_type\":\"%1\",").arg(escape_json_string(wiring_type)); + json += QString("\"source_name\":\"%1\",").arg(escape_json_string(source)); json += QString("\"func_type\":%1,").arg(data->func_type); json += QString("\"data_time\":%1,").arg(QString::number((qlonglong)data->time)); json += QString("\"voltage_level\":\"%1\",").arg(QString::number(data->voltage_level, 'f', 6)); @@ -335,13 +339,13 @@ static QString build_trace_json(const json_block_data* data) return json; } -static void send_trace_if_needed(json_block_data* pdata) +static void send_trace_if_needed(json_block_data* pdata, const char *v_wiring_type, const char *source_name) { const QString mp_id_q = pdata->mp_id; if (trace_is_enabled(mp_id_q)) { // 1) 组 json - QString jsonText = build_trace_json(pdata); + QString jsonText = build_trace_json(pdata, v_wiring_type, source_name); // 2) 组 KafkaData Ckafka_data_t KafkaData; @@ -1210,7 +1214,7 @@ static void print_mms_str_map(const json_block_data* data) } //20250214添加角型接线处理 -int transfer_json_block_data(char v_wiring_type[], json_block_data *data) //json生成函数 zw修改 2023-8-11 调整传送json结构 目前仅限历史稳态数据 +int transfer_json_block_data(char v_wiring_type[], json_block_data *data, const char *source_name) //json生成函数 zw修改 2023-8-11 调整传送json结构 目前仅限历史稳态数据 { // 刚进函数就打印 mms_str_map if (DEBUGOPEN) { @@ -1218,7 +1222,7 @@ int transfer_json_block_data(char v_wiring_type[], json_block_data *data) //json } //数据追踪上送 - send_trace_if_needed(data); + send_trace_if_needed(data, v_wiring_type, source_name); list ctopic_list; @@ -3763,4 +3767,3 @@ void Set_xml_nodeinfo_one(char* dev_type) } } - diff --git a/json/mms_json_inter.h b/json/mms_json_inter.h index 62d043f..b67339a 100644 --- a/json/mms_json_inter.h +++ b/json/mms_json_inter.h @@ -73,7 +73,7 @@ public: int list_num; }; -int transfer_json_block_data(char v_wiring_type[], json_block_data* data);//lnk2024-8-16添加参数 +int transfer_json_block_data(char v_wiring_type[], json_block_data* data, const char *source_name);//lnk2024-8-16添加参数 #endif /* __cplusplus */ @@ -95,4 +95,4 @@ void connectlog_pgsql(char* id,char* datetime,int status); #endif -#endif //MMS_JSON_INTER_92327hyhy0923r_H \ No newline at end of file +#endif //MMS_JSON_INTER_92327hyhy0923r_H diff --git a/json/save2json.cpp b/json/save2json.cpp index 24ab23e..cf875e0 100644 --- a/json/save2json.cpp +++ b/json/save2json.cpp @@ -3635,13 +3635,14 @@ int json_block_create_data(char monid_char[], char* mms_str, double v, int flick //lnk2024-8-16添加接线参数 -int json_block_create_end(char v_wiring_type[], char monid_char[], int flicker_flag)//WW 2023年3月13日16:38:41 多ICD修改 +int json_block_create_end(char v_wiring_type[], char monid_char[], int flicker_flag, const char *source_name)//WW 2023年3月13日16:38:41 多ICD修改 { + const char *end_source = (source_name && source_name[0]) ? source_name : "unknown"; json_block_data* pdata; if (flicker_flag == 1) { if (!json_flicker_data_map.contains(monid_char))//未查到数据 { - printf("---------- json_block_create_end: mp_id= %s json_flicker_data_map can't find MonitorId----------\n", monid_char); + printf("---------- json_block_create_end: source=%s mp_id= %s json_flicker_data_map can't find MonitorId----------\n", end_source, monid_char); return 1; } pdata = json_flicker_data_map.value(monid_char); @@ -3650,7 +3651,7 @@ int json_block_create_end(char v_wiring_type[], char monid_char[], int flicker_f { if (!json_data_map.contains(monid_char))//未查到数据 { - printf("---------- json_block_create_end: mp_id= %s json_data_map can't find MonitorId----------\n", monid_char); + printf("---------- json_block_create_end: source=%s mp_id= %s json_data_map can't find MonitorId----------\n", end_source, monid_char); return 1; } pdata = json_data_map.value(monid_char); @@ -3659,7 +3660,7 @@ int json_block_create_end(char v_wiring_type[], char monid_char[], int flicker_f { if (!json_pst_data_map.contains(monid_char))//未查到数据 { - printf("---------- json_block_create_end: mp_id= %s json_pst_data_map can't find MonitorId----------\n", monid_char); + printf("---------- json_block_create_end: source=%s mp_id= %s json_pst_data_map can't find MonitorId----------\n", end_source, monid_char); return 1; } pdata = json_pst_data_map.value(monid_char); @@ -3693,11 +3694,11 @@ int json_block_create_end(char v_wiring_type[], char monid_char[], int flicker_f json_pst_data_map.remove(monid_char); } - printf("---------- json_block_create_end: pdata->mms_str_map.count() == 0 ----------\n"); + printf("---------- json_block_create_end: source=%s mp_id= %s pdata->mms_str_map.count() == 0 ----------\n", end_source, monid_char); return 1; } //lnk2024-8-16添加接线参数 - int ret = transfer_json_block_data(v_wiring_type, pdata); + int ret = transfer_json_block_data(v_wiring_type, pdata, end_source); if (pdata != NULL) delete pdata; @@ -3714,7 +3715,7 @@ int json_block_create_end(char v_wiring_type[], char monid_char[], int flicker_f json_pst_data_map.remove(monid_char); } - printf("---------- json_block_create_end: MonitorId= %s ----------\n", monid_char); + printf("---------- json_block_create_end: source=%s MonitorId= %s ----------\n", end_source, monid_char); return ret; } @@ -3878,4 +3879,4 @@ int sel_mvl_type_ctrl_flag(char doname[]) return -1; } } -//ZW 2024-01-31 end \ No newline at end of file +//ZW 2024-01-31 end diff --git a/mms/db_interface.h b/mms/db_interface.h index 32d72c8..ac559dd 100644 --- a/mms/db_interface.h +++ b/mms/db_interface.h @@ -72,7 +72,7 @@ int json_block_create_flag(char monid_char[], int flag, int flicker_flag); int json_block_create_data(char monid_char[], char* mms_str , double v, int flicker_flag); //3. json生成结束函数 //lnk2024-8-16添加参数 -int json_block_create_end(char v_wiring_type[], char monid_char[], int flicker_flag); //CZY 2023-08-17 测试 +int json_block_create_end(char v_wiring_type[], char monid_char[], int flicker_flag, const char *source_name); //CZY 2023-08-17 测试 //zw 2024-01-31 补招模式优化 void add_mvl_type_ctrl(char doname[], int ctrl); @@ -194,4 +194,4 @@ typedef struct file_dir_req_t #endif -#endif //DB_INTERFACE_7ew2327hyhy0923r_H \ No newline at end of file +#endif //DB_INTERFACE_7ew2327hyhy0923r_H diff --git a/mms/mmscli_log.c b/mms/mmscli_log.c index a6eeebb..8bc0617 100644 --- a/mms/mmscli_log.c +++ b/mms/mmscli_log.c @@ -295,9 +295,9 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t, { printf("\n newTime: %d %d %d %d %d %d", newTime.tm_year, newTime.tm_mon, newTime.tm_mday, newTime.tm_hour, newTime.tm_min, newTime.tm_sec); printf("\n preTime: %d %d %d %d %d %d", preTime.tm_year, preTime.tm_mon, preTime.tm_mday, preTime.tm_hour, preTime.tm_min, preTime.tm_sec); - json_block_create_end(loginfo->LD_info->v_wiring_type,loginfo->LD_info->mp_id, 0);//稳态 - json_block_create_end(loginfo->LD_info->v_wiring_type,loginfo->LD_info->mp_id, 1);//长闪 - json_block_create_end(loginfo->LD_info->v_wiring_type,loginfo->LD_info->mp_id, 2);//短闪 波动 + json_block_create_end(loginfo->LD_info->v_wiring_type,loginfo->LD_info->mp_id, 0, loginfo->logName);//稳态 + json_block_create_end(loginfo->LD_info->v_wiring_type,loginfo->LD_info->mp_id, 1, loginfo->logName);//长闪 + json_block_create_end(loginfo->LD_info->v_wiring_type,loginfo->LD_info->mp_id, 2, loginfo->logName);//短闪 波动 process_jou_entry_t = t;//调整至最新时标 ied_t* ied; @@ -603,9 +603,9 @@ ST_RET mms_jread (loginfo_t *loginfo,MVL_NET_INFO *clientNetInfo, ST_CHAR *dom_n if ( jread_resp->more_follows == 0 && ((i + 1) == jread_resp->num_of_jou_entry)) { printf("\njread_resp->more_follows == 0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); //lnk2024-8-16添加接线参数 - json_block_create_end(loginfo->LD_info->v_wiring_type, loginfo->LD_info->mp_id, 0);//more follows为0 数据接受最后一条 强行处理稳态数据的json防止遗留 - json_block_create_end(loginfo->LD_info->v_wiring_type, loginfo->LD_info->mp_id, 1); - json_block_create_end(loginfo->LD_info->v_wiring_type, loginfo->LD_info->mp_id, 2); + json_block_create_end(loginfo->LD_info->v_wiring_type, loginfo->LD_info->mp_id, 0, loginfo->logName);//more follows为0 数据接受最后一条 强行处理稳态数据的json防止遗留 + json_block_create_end(loginfo->LD_info->v_wiring_type, loginfo->LD_info->mp_id, 1, loginfo->logName); + json_block_create_end(loginfo->LD_info->v_wiring_type, loginfo->LD_info->mp_id, 2, loginfo->logName); ied_t* ied; ied = find_ied_from_dev_code(loginfo->LD_info->terminal_code); diff --git a/mms/mmscli_rpt.c b/mms/mmscli_rpt.c index 0be6095..bbb8122 100644 --- a/mms/mmscli_rpt.c +++ b/mms/mmscli_rpt.c @@ -1131,13 +1131,13 @@ ST_VOID u_iec_rpt_ind_data_by_devtype(MVL_VAR_ASSOC** info_va, { //ied_usr_t* ied_usr = ied->usr_ext;//CZY 2023-08-17 WW 2022年12月6日14:09:08 增加多个ICD支持 //int devkind = ied_usr->dev_flag; - json_block_create_end(LD_info->v_wiring_type, LD_info->mp_id, rptinfo->flickerflag); //lnk2024-8-16增加接线类型参数 + json_block_create_end(LD_info->v_wiring_type, LD_info->mp_id, rptinfo->flickerflag, rcb_info->RptID); //lnk2024-8-16增加接线类型参数 } else if(rptinfo->flickerflag == 0){//CZY 2023-08-17 WW 2022-11-14 增加多个报告判断 if (LD_info->rptRecvFlag == LD_info->rptRecvCheckFlag) { //ied_usr_t* ied_usr = ied->usr_ext;//CZY 2023-08-17 WW 2022年12月6日14:09:08 增加多个ICD支持 //int devkind = ied_usr->dev_flag; - json_block_create_end(LD_info->v_wiring_type, LD_info->mp_id, rptinfo->flickerflag); //lnk2024-8-16增加接线类型参数 + json_block_create_end(LD_info->v_wiring_type, LD_info->mp_id, rptinfo->flickerflag, rcb_info->RptID); //lnk2024-8-16增加接线类型参数 LD_info->rptRecvCheckFlag = 0; } } @@ -1145,7 +1145,7 @@ ST_VOID u_iec_rpt_ind_data_by_devtype(MVL_VAR_ASSOC** info_va, if (LD_info->rptPstRecvFlag == LD_info->rptPstRecvCheckFlag) { //ied_usr_t* ied_usr = ied->usr_ext;//CZY 2023-08-17 WW 2022年12月6日14:09:08 增加多个ICD支持 //int devkind = ied_usr->dev_flag; - json_block_create_end(LD_info->v_wiring_type, LD_info->mp_id, rptinfo->flickerflag); //lnk2024-8-16增加接线类型参数 + json_block_create_end(LD_info->v_wiring_type, LD_info->mp_id, rptinfo->flickerflag, rcb_info->RptID); //lnk2024-8-16增加接线类型参数 LD_info->rptPstRecvCheckFlag = 0; } } @@ -1555,14 +1555,14 @@ ST_VOID u_iec_rpt_ind_data(MVL_VAR_ASSOC** info_va, { //ied_usr_t* ied_usr = ied->usr_ext;//CZY 2023-08-17 WW 2022年12月6日14:09:08 增加多个ICD支持 //int devkind = ied_usr->dev_flag; - json_block_create_end(LD_info->v_wiring_type, LD_info->mp_id, rptinfo->flickerflag);//lnk角形处理 + json_block_create_end(LD_info->v_wiring_type, LD_info->mp_id, rptinfo->flickerflag, rcb_info->RptID);//lnk角形处理 } else if (rptinfo->flickerflag == 0) {//CZY 2023-08-17 WW 2022-11-14 增加多个报告判断 if (LD_info->rptRecvFlag == LD_info->rptRecvCheckFlag) { //LD_info->rptRecvFlag是报告初始化时报告序号左移之和,固定于报告初始化 //ied_usr_t* ied_usr = ied->usr_ext;//CZY 2023-08-17 WW 2022年12月6日14:09:08 增加多个ICD支持 //int devkind = ied_usr->dev_flag; - json_block_create_end(LD_info->v_wiring_type, LD_info->mp_id, rptinfo->flickerflag);//lnk角形处理 + json_block_create_end(LD_info->v_wiring_type, LD_info->mp_id, rptinfo->flickerflag, rcb_info->RptID);//lnk角形处理 LD_info->rptRecvCheckFlag = 0; } } @@ -1570,7 +1570,7 @@ ST_VOID u_iec_rpt_ind_data(MVL_VAR_ASSOC** info_va, if (LD_info->rptPstRecvFlag == LD_info->rptPstRecvCheckFlag) { //ied_usr_t* ied_usr = ied->usr_ext;//CZY 2023-08-17 WW 2022年12月6日14:09:08 增加多个ICD支持 //int devkind = ied_usr->dev_flag; - json_block_create_end(LD_info->v_wiring_type, LD_info->mp_id, rptinfo->flickerflag);//lnk角形处理 + json_block_create_end(LD_info->v_wiring_type, LD_info->mp_id, rptinfo->flickerflag, rcb_info->RptID);//lnk角形处理 LD_info->rptPstRecvCheckFlag = 0; } }