qvvr has bug
This commit is contained in:
@@ -659,7 +659,7 @@ void check_3s_config()
|
||||
printf("begin 3s config...\n");
|
||||
|
||||
last_check_3s_config_time = now; //记录本次运行时间
|
||||
while (APR_SUCCESS==parse_3s_xml(&trigger_3s_xml)){ //处理3秒文件
|
||||
while (APR_SUCCESS==parse_3s_xml(&trigger_3s_xml)){ //处理3秒文件,一次处理一个
|
||||
//处理实时触发加台账锁lnk20250114
|
||||
//pthread_mutex_lock(&mtx); printf("3s hold lock !!!!!!!!!!!");
|
||||
process_3s_config(&trigger_3s_xml); //根据文件处理数据
|
||||
@@ -1799,6 +1799,33 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
|
||||
/*上传.cfg和.dat两个文件*/
|
||||
/*上传消息*/
|
||||
/////////////////////////////////////////////////////lnk20250520
|
||||
//根据配置文件控制上传的暂态事件时间为北京时间的ms数
|
||||
printf("~~~~~~~this dev type is %s~~~~~~~",ied_usr->dev_type);
|
||||
XmlConfigC cfg1;
|
||||
if (get_xml_config_by_dev_type(ied_usr->dev_type, &cfg1)) {
|
||||
printf("UnitOfTimeUnit = %s\n", cfg1.UnitOfTimeUnit);
|
||||
printf("ValueOfTimeUnit = %s\n", cfg1.ValueOfTimeUnit);
|
||||
} else {
|
||||
printf("读取失败,未找到 dev_type\n");
|
||||
}
|
||||
double s_or_ms;
|
||||
long long utc_or_beijing;
|
||||
if(cfg1.UnitOfTimeUnit == "1"){//持续时间上送的是秒1还是毫秒0
|
||||
s_or_ms = 0.001;
|
||||
}
|
||||
else{
|
||||
s_or_ms = 1.0;
|
||||
}
|
||||
|
||||
if(cfg1.ValueOfTimeUnit == "utc"){//持续时间上送的是秒1还是毫秒0
|
||||
utc_or_beijing = 28800000;
|
||||
}
|
||||
else{
|
||||
utc_or_beijing = 0;
|
||||
}
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
//to send json of this qvvr and rdre
|
||||
end_tm = (long long)(qvvr->QVVR_PerTime*1000) + trig_tm; //结束时间是持续时间加触发时间
|
||||
if (FILE_FLAG == 3) {
|
||||
@@ -1809,7 +1836,18 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
if (cfg_result != NULL && dat_result != NULL) {
|
||||
snprintf(cfg_result, cfg_len, "%s-%s", uuid_cfg, filename_cfg); // 拼接字符串并确保不会溢出目标缓冲区
|
||||
snprintf(dat_result, dat_len, "%s-%s", uuid_dat, filename_dat); // 拼接字符串并确保不会溢出目标缓冲区
|
||||
ret3 = transfer_json_qvvr_data(g_node_id, LD_info->line_id, (double)qvvr->QVVR_Amg, (double)qvvr->QVVR_PerTime, start_tm, end_tm, qvvr->QVVR_type, cfg_result, dat_result, LD_info->mp_id, qvvr->QVVR_Rptname, ied_usr->dev_type);
|
||||
ret3 = transfer_json_qvvr_data(g_node_id,
|
||||
LD_info->line_id,
|
||||
(double)qvvr->QVVR_Amg,
|
||||
(double)qvvr->QVVR_PerTime/s_or_ms, //lnk20250520上送的暂态持续时间为毫秒
|
||||
start_tm + utc_or_beijing, //lnk20250520上送的暂态时间为北京时间
|
||||
end_tm + utc_or_beijing, //lnk20250520上送的暂态时间为北京时间
|
||||
qvvr->QVVR_type,
|
||||
cfg_result,
|
||||
dat_result,
|
||||
LD_info->mp_id,
|
||||
qvvr->QVVR_Rptname,
|
||||
ied_usr->dev_type);
|
||||
}
|
||||
free(cfg_result); // 使用完毕后释放动态分配的内存空间
|
||||
free(dat_result); // 使用完毕后释放动态分配的内存空间
|
||||
@@ -1827,11 +1865,16 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
snprintf(dat_result, dat_len, wavepath_dat); // 拼接字符串并确保不会溢出目标缓冲区
|
||||
ret3 = transfer_json_qvvr_data(g_node_id, //这个参数没有使用
|
||||
LD_info->line_id, //监测点序号
|
||||
(double)qvvr->QVVR_Amg, (double)qvvr->QVVR_PerTime,
|
||||
qvvr->QVVR_time, //这里不使用文件中的开始时间start_tm,因为会影响写库,使用QVVR的时间QVVR_time//lnk20250311
|
||||
end_tm, qvvr->QVVR_type, //伏值、持续时间、开始时间、结束时间、暂态类型
|
||||
cfg_result, dat_result, //两个文件路径
|
||||
LD_info->mp_id, qvvr->QVVR_Rptname, ied_usr->dev_type);//监测点号,文件和监测点暂态事件匹配上的暂态报告名,终端类型
|
||||
(double)qvvr->QVVR_Amg,
|
||||
(double)qvvr->QVVR_PerTime/s_or_ms, //lnk20250520上送的暂态持续时间为毫秒
|
||||
qvvr->QVVR_time + utc_or_beijing, //lnk20250520上送的暂态时间为北京时间 //这里不使用文件中的开始时间start_tm,因为会影响写库,使用QVVR的时间QVVR_time//lnk20250311
|
||||
end_tm + utc_or_beijing, //lnk20250520上送的暂态时间为北京时间
|
||||
qvvr->QVVR_type, //伏值、持续时间、开始时间、结束时间、暂态类型
|
||||
cfg_result,
|
||||
dat_result, //两个文件路径
|
||||
LD_info->mp_id,
|
||||
qvvr->QVVR_Rptname,
|
||||
ied_usr->dev_type);//监测点号,文件和监测点暂态事件匹配上的暂态报告名,终端类型
|
||||
}
|
||||
free(cfg_result); // 使用完毕后释放动态分配的内存空间
|
||||
free(dat_result); // 使用完毕后释放动态分配的内存空间
|
||||
@@ -1845,7 +1888,18 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
if (cfg_result != NULL && dat_result != NULL) {
|
||||
snprintf(cfg_result, cfg_len, "%s-%s", oss_file_fullname_cfg, cfg_only_filename_ret); // 拼接字符串并确保不会溢出目标缓冲区
|
||||
snprintf(dat_result, dat_len, "%s-%s", oss_file_fullname_dat, dat_only_filename_ret); // 拼接字符串并确保不会溢出目标缓冲区
|
||||
ret3 = transfer_json_qvvr_data(g_node_id, LD_info->line_id, (double)qvvr->QVVR_Amg, (double)qvvr->QVVR_PerTime, start_tm, end_tm, qvvr->QVVR_type, cfg_result, dat_result, LD_info->mp_id, qvvr->QVVR_Rptname, ied_usr->dev_type);
|
||||
ret3 = transfer_json_qvvr_data(g_node_id,
|
||||
LD_info->line_id,
|
||||
(double)qvvr->QVVR_Amg,
|
||||
(double)qvvr->QVVR_PerTime/s_or_ms, //lnk20250520上送的暂态持续时间为毫秒
|
||||
start_tm + utc_or_beijing, //lnk20250520上送的暂态时间为北京时间
|
||||
end_tm + utc_or_beijing, //lnk20250520上送的暂态时间为北京时间
|
||||
qvvr->QVVR_type,
|
||||
cfg_result,
|
||||
dat_result,
|
||||
LD_info->mp_id,
|
||||
qvvr->QVVR_Rptname,
|
||||
ied_usr->dev_type);
|
||||
}
|
||||
free(cfg_result); // 使用完毕后释放动态分配的内存空间
|
||||
free(dat_result); // 使用完毕后释放动态分配的内存空间
|
||||
|
||||
Reference in New Issue
Block a user