fix utc recall
This commit is contained in:
@@ -485,6 +485,28 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
if (LD_info->autorecallcount != 0 && LD_info->autorecallflag != 1) {
|
||||
int i;
|
||||
int failed_count = 0;
|
||||
|
||||
/////////////////////////////////////////////////////根据配置文件控制下发补招时间为北京时间还是utc时间
|
||||
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("ValueOfTimeUnit = %s\n", cfg1.ValueOfTimeUnit);
|
||||
} else {
|
||||
printf("读取失败,未找到 dev_type\n");
|
||||
}
|
||||
long long utc_or_beijing;
|
||||
|
||||
if(strcmp(cfg1.ValueOfTimeUnit, "utc") == 0){//装置时间是utc还是北京
|
||||
utc_or_beijing = 28800000;
|
||||
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s开始补招数据,下发补招时间为utc时间,监测点对应装置型号:%s", LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||
}
|
||||
else{
|
||||
utc_or_beijing = 0;
|
||||
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s开始补招数据,下发补招时间为beijing时间,监测点对应装置型号:%s", LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
|
||||
for (i = 0; i < LD_info->autorecallcount; i++) {
|
||||
|
||||
LD_info->autorecallflag = 1;//正在补招
|
||||
@@ -495,6 +517,11 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
loginfo->start_time = apr_time_from_sec(LD_info->autorecall[i]->start - 5);
|
||||
loginfo->end_time = apr_time_from_sec(LD_info->autorecall[i]->end - 5);
|
||||
|
||||
/////////////////////////////////////////////////////根据配置文件控制下发补招时间为北京时间还是utc时间,上送的数据61850库会转换成北京时间?
|
||||
loginfo->start_time = loginfo->end_time - utc_or_beijing;//下发utc时间需要减去8小时
|
||||
loginfo->end_time = loginfo->end_time - utc_or_beijing;
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
if (loginfo->need_steady == 0 && loginfo->need_voltage == 0)
|
||||
continue;
|
||||
if (loginfo->end_time <= loginfo->start_time)
|
||||
@@ -538,6 +565,7 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
//不管是否成功,这个补招文件必须删除,可能出现一直失败,循环读取文件和循环补招导致程序崩溃202050724lnk
|
||||
//if (failed_count==0) {//成功
|
||||
Delete_recall_Xml(LD_info->mp_id);
|
||||
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s结束补招数据", LD_info->name,LD_info->mp_id);
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
@@ -545,9 +545,11 @@ void processQVVR_end(LD_info_t* LD_info)
|
||||
long long utc_or_beijing;
|
||||
if(strcmp(cfg.UnitOfTimeUnit, "1") == 0){//持续时间上送的是秒1还是毫秒0
|
||||
s_or_ms = 0.001;
|
||||
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s上送的暂态持续时间单位是秒,监测点对应装置型号:%s",LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||
}
|
||||
else{
|
||||
s_or_ms = 1.0;
|
||||
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s上送的暂态持续时间单位是毫秒,监测点对应装置型号:%s",LD_info->name,LD_info->mp_id,ied_usr->dev_type);
|
||||
}
|
||||
|
||||
if(strcmp(cfg.ValueOfTimeUnit, "utc") == 0){//上送的是utc还是北京
|
||||
|
||||
Reference in New Issue
Block a user