diff --git a/mms/mms_process.c b/mms/mms_process.c index 3e0f82a..da4ad6a 100644 --- a/mms/mms_process.c +++ b/mms/mms_process.c @@ -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); //} } diff --git a/mms/rdb_ext_utils.c b/mms/rdb_ext_utils.c index 6aaba44..c3a8a06 100644 --- a/mms/rdb_ext_utils.c +++ b/mms/rdb_ext_utils.c @@ -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还是北京