fix error in recall when hours more than 300

This commit is contained in:
lnk
2025-08-01 16:31:57 +08:00
parent acbaf89459
commit 3b5b14f9ae
5 changed files with 200 additions and 19 deletions

View File

@@ -696,7 +696,7 @@ void process_3s_config(trigger_3s_xml_t *trigger_3s_xml)
create_3s_xml(trigger_3s_xml); //写入文件的work块
}
void del_process_recall_config(recall_xml_t* recall_xml)
/*void del_process_recall_config(recall_xml_t* recall_xml)
{
int i,j;
recall_t *recall;
@@ -733,7 +733,7 @@ void del_process_recall_config(recall_xml_t* recall_xml)
}
}
}*/
void check_3s_config()
{
@@ -1402,9 +1402,14 @@ void Check_Recall_Config(char *id) //检查补招配置文件Recall.xml
if (g_node_id == HIS_DATA_BASE_NODE_ID || g_node_id == NEW_HIS_DATA_BASE_NODE_ID || g_node_id == RECALL_HIS_DATA_BASE_NODE_ID || (g_node_id == RECALL_ALL_DATA_BASE_NODE_ID)) {
recall_xml_t recall_xml;
memset((char*)&recall_xml, 0, sizeof(recall_xml_t));
//memset((char*)&recall_xml, 0, sizeof(recall_xml_t));
recall_xml_init(&recall_xml);
parse_recall_xml(&recall_xml,id); //解析补招文件,目录下所有属于这个监测点的文件都读取
process_recall_config(&recall_xml); //解析的补招数据赋值到全局变量
recall_xml_free(&recall_xml);
}
}

View File

@@ -56,6 +56,8 @@ SD_CONST static ST_CHAR *SD_CONST thisFileName = __FILE__;
extern pt61850app_t* g_pt61850app;
extern bool DEBUGOPEN;
/************************************************************************/
/* Static function prototypes. */
/************************************************************************/
@@ -126,7 +128,7 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
double start, end;
static double last_check_recall_config_time = 0.0;
printf("\nbrf for");
if(DEBUGOPEN)printf("\nbrf for");
for (j = 0; j < jou_entry->ef.data.num_of_var; j++) {
printf("\nfor %d", jou_entry->ef.data.num_of_var);
@@ -146,7 +148,7 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
do_name++;
}
printf("\nbrf if");
if(DEBUGOPEN)printf("\nbrf if");
if (sel_mvl_type_ctrl_flag(do_name) == -1)
{
var_type_id = mms_var_type_id_create(clientNetInfo, DOM_SPEC,
@@ -157,15 +159,15 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
add_mvl_type_ctrl(doname, var_type_id);
}
printf("\nbrf var_type_id");
if(DEBUGOPEN)printf("\nbrf var_type_id");
var_type_id = sel_mvl_type_ctrl_flag(do_name);
printf("\nafter var_type_id");
if(DEBUGOPEN)printf("\nafter var_type_id");
if (var_type_id < 0) {
continue;
}
log_var_jou_data(var_type_id,&(jou_entry->ef.data.list_of_var[j].value_spec),&mms_dec_data, do_name);
printf("\nafter log_var_jou_data");
if(DEBUGOPEN)printf("\nafter log_var_jou_data");
if (timeflag) {
int readtime = 0;
int readquailty = 0;

View File

@@ -144,13 +144,19 @@ struct recall_t{
int need_voltage;
};
typedef struct recall_xml_t recall_xml_t;
struct recall_xml_t{
/*struct recall_xml_t{
int work_recall_num;
int new_recall_num;
recall_t work_recalls[MAX_RECALL_NUM];
recall_t new_recalls[MAX_RECALL_NUM];
};*/
/* 动态数组 + 容量字段 lnk20250801*/
struct recall_xml_t{
int work_cnt, work_cap;
int new_cnt , new_cap;
recall_t *work_recalls;
recall_t *new_recalls;
};
/////////////////////////////////////////////////////////////
struct element_usr_t{
char* FCD_ref;
@@ -494,6 +500,9 @@ int delete_recall_xml(char* id);
int parse_recall_xml(recall_xml_t* recall_xml,char *id);
void process_recall_config(recall_xml_t* recall_xml);
void recall_xml_free(recall_xml_t *rx);//lnk20250801
void recall_xml_init(recall_xml_t *rx);
int init_rptctrl_by_count(LD_info_t* LD_info,int rptcount);
int fill_rptctrl_by_cfg(LD_info_t* LD_info,int rptno,char *buf);
int init_logctrl_by_count(LD_info_t* LD_info,int logcount);