fix soe and add connect info
This commit is contained in:
@@ -319,6 +319,9 @@ std::string G_LOG_KEY = "";//key
|
||||
std::string G_MQCONSUMER_TOPIC_LOG = "";//consumer topie
|
||||
std::string G_MQCONSUMER_TAG_LOG = "";//consumer tag
|
||||
std::string G_MQCONSUMER_KEY_LOG = "";//consumer key
|
||||
std::string G_CONNECT_TOPIC = "";//consumer topie
|
||||
std::string G_CONNECT_TAG = "";//consumer tag
|
||||
std::string G_CONNECT_KEY = "";//consumer key
|
||||
|
||||
int G_TEST_FLAG = 0;
|
||||
int G_TEST_NUM = 0;
|
||||
@@ -917,6 +920,12 @@ void init_config() {
|
||||
G_LOG_TAG = strdup(ba.data());
|
||||
ba = settings.value("RocketMq/LOGKey", "").toString().toLatin1();
|
||||
G_LOG_KEY = strdup(ba.data());
|
||||
ba = settings.value("RocketMq/CONNECTTopic", "").toString().toLatin1();
|
||||
G_CONNECT_TOPIC = strdup(ba.data());
|
||||
ba = settings.value("RocketMq/CONNECTTag", "").toString().toLatin1();
|
||||
G_CONNECT_TAG = strdup(ba.data());
|
||||
ba = settings.value("RocketMq/CONNECTKey", "").toString().toLatin1();
|
||||
G_CONNECT_KEY = strdup(ba.data());
|
||||
//MQ<4D><51><EFBFBD><EFBFBD>
|
||||
G_TEST_FLAG = settings.value("RocketMq/Testflag", 0).toInt();
|
||||
G_TEST_NUM = settings.value("RocketMq/Testnum", 0).toInt();
|
||||
@@ -933,6 +942,9 @@ void init_config() {
|
||||
std::cout << "Read G_LOG_TOPIC:" << G_LOG_TOPIC << std::endl;
|
||||
std::cout << "Read G_LOG_TAG:" << G_LOG_TAG << std::endl;
|
||||
std::cout << "Read G_LOG_KEY:" << G_LOG_KEY << std::endl;
|
||||
std::cout << "Read G_CONNECT_TOPIC:" << G_CONNECT_TOPIC << std::endl;
|
||||
std::cout << "Read G_CONNECT_TAG:" << G_CONNECT_TAG << std::endl;
|
||||
std::cout << "Read G_CONNECT_KEY:" << G_CONNECT_KEY << std::endl;
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>ӡ
|
||||
std::cout << "Read G_ROCKETMQ_CONSUMER:" << G_ROCKETMQ_CONSUMER << std::endl;
|
||||
std::cout << "Read G_MQCONSUMER_IPPORT:" << G_MQCONSUMER_IPPORT << std::endl;
|
||||
|
||||
@@ -29,6 +29,7 @@ extern std::string WEB_INTEGRITY;
|
||||
extern std::string WEB_COMFLAG;
|
||||
extern std::string WEB_EVENT;
|
||||
extern std::string WEB_FILEDOWNLOAD;
|
||||
extern std::string G_CONNECT_TOPIC;
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
using namespace std;
|
||||
|
||||
@@ -4003,9 +4004,17 @@ void connectlog_pgsql(char* id,char* datetime,int status)
|
||||
//std::cout << "jsonString: " << jsonString << std::endl;////<2F><><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD>Ĵ<EFBFBD>ӡ
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>Զ<EFBFBD><D4B6>
|
||||
SendJsonAPI_web(WEB_COMFLAG, "", jsonString,&ptr);//<2F><>ʹ<EFBFBD>ýӿ<C3BD>lnk20250310
|
||||
//ʹ<>ö<EFBFBD><EFBFBD><EFBFBD>
|
||||
//if()//<2F><>̬<EFBFBD><CCAC><EFBFBD>ϴ<EFBFBD>
|
||||
//SendJsonAPI_web(WEB_COMFLAG, "", jsonString,&ptr);//<2F><>ʹ<EFBFBD>ýӿ<C3BD>lnk20250310
|
||||
//ʹ<><CAB9>mq
|
||||
Ckafka_data_t connect_info;
|
||||
connect_info.strTopic = QString::fromStdString(G_CONNECT_TOPIC);
|
||||
connect_info.strText = QString::fromStdString(std::string(jsonString));
|
||||
|
||||
if(g_node_id == STAT_DATA_BASE_NODE_ID){//<2F><>̬<EFBFBD><CCAC><EFBFBD>ϴ<EFBFBD>
|
||||
kafka_data_list_mutex.lock(); //<2F><><EFBFBD><EFBFBD>
|
||||
kafka_data_list.append(connect_info); //<2F><><EFBFBD><EFBFBD> kafka<6B><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
kafka_data_list_mutex.unlock(); //<2F><><EFBFBD><EFBFBD>
|
||||
}
|
||||
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -4199,7 +4208,7 @@ QString errorlog_datamatch_pgsql(QString id, QString time, int BASE_MAT_NUM,int
|
||||
#endif
|
||||
//lnk202411-5 <20><>̬<EFBFBD><CCAC><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>ʹ<EFBFBD><CAB9>kafka<6B><61><EFBFBD>ͣ<EFBFBD><CDA3>ij<EFBFBD>http<74>ӿ<EFBFBD>
|
||||
int transfer_json_qvvr_data(unsigned int func_type, int monitor_id,
|
||||
float mag, float dur, long long start_tm, long long end_tm, int dis_kind, //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC>ʼʱ<CABC>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
||||
double mag, double dur, long long start_tm, long long end_tm, int dis_kind, //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC>ʼʱ<CABC>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
||||
char* uuid_cfg,char* uuid_dat, //<2F><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ļ<EFBFBD>
|
||||
char* mp_id,char* Qvvr_rptname,char* devtype) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||
{
|
||||
@@ -4222,6 +4231,12 @@ char* mp_id,char* Qvvr_rptname,char* devtype) //
|
||||
// <20><>ʼ<EFBFBD><CABC> cJSON <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cJSON* root = cJSON_CreateObject();
|
||||
// ƴ<><C6B4> JSON <20><><EFBFBD><EFBFBD>
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//printf("Inside function: &mag = %p, &dur = %p\n", &mag, &dur);
|
||||
//printf("~~~~~~~send QVVR_PerTime after record is %f~~~~~~~~~~ \n",dur);
|
||||
//printf("~~~~~~~send QVVR_Amg after record is %f~~~~~~~~~~ \n",mag);
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD>Ϊ<EFBFBD><CEAA>http<74>ӿڲ<D3BF><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>
|
||||
cJSON_AddStringToObject(root, "monitorId", mp_id);
|
||||
cJSON_AddNumberToObject(root, "amplitude", mag);
|
||||
|
||||
@@ -123,7 +123,7 @@ QString errorlog_datamatch_pgsql(QString id, QString time, int BASE_MAT_NUM, int
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
int transfer_json_qvvr_data(unsigned int func_type,int monitor_id,float mag,float dur,long long start_tm,long long end_tm,int dis_kind, char* uuid_cfg, char* uuid_dat, char* mp_id, char* Qvvr_rptname, char* devtype);
|
||||
int transfer_json_qvvr_data(unsigned int func_type,int monitor_id,double mag,double dur,long long start_tm,long long end_tm,int dis_kind, char* uuid_cfg, char* uuid_dat, char* mp_id, char* Qvvr_rptname, char* devtype);
|
||||
void processGGIO_start_data_end(char* mp_id, char* fullname, double v,long long time,char* devtype,int monitor_id);
|
||||
//void errorlog_num(CDataValue* pDataValue, double value, int monitorId, double UL, int maxcount);
|
||||
//void errorlog_num_json(int monitorId);
|
||||
|
||||
@@ -2063,7 +2063,7 @@ 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); // ƴ<><C6B4><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>껺<EFBFBD><EABBBA><EFBFBD><EFBFBD>
|
||||
snprintf(dat_result, dat_len, "%s-%s", uuid_dat, filename_dat); // ƴ<><C6B4><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>껺<EFBFBD><EABBBA><EFBFBD><EFBFBD>
|
||||
ret3 = transfer_json_qvvr_data(g_node_id, LD_info->line_id, qvvr->QVVR_Amg, 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, start_tm, end_tm, qvvr->QVVR_type, cfg_result, dat_result, LD_info->mp_id, qvvr->QVVR_Rptname, ied_usr->dev_type);
|
||||
}
|
||||
free(cfg_result); // ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD><CFBA>ͷŶ<CDB7>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ռ<EFBFBD>
|
||||
free(dat_result); // ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD><CFBA>ͷŶ<CDB7>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ռ<EFBFBD>
|
||||
@@ -2081,7 +2081,9 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
|
||||
snprintf(dat_result, dat_len, wavepath_dat); // ƴ<><C6B4><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>껺<EFBFBD><EABBBA><EFBFBD><EFBFBD>
|
||||
ret3 = transfer_json_qvvr_data(g_node_id, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʹ<EFBFBD><CAB9>
|
||||
LD_info->line_id, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
qvvr->QVVR_Amg, qvvr->QVVR_PerTime, start_tm, end_tm, qvvr->QVVR_type, //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䡢<EFBFBD><E4A1A2>ʼʱ<CABC>䡢<EFBFBD><E4A1A2><EFBFBD><EFBFBD>ʱ<EFBFBD>䡢<EFBFBD><E4A1A2>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
||||
(double)qvvr->QVVR_Amg, (double)qvvr->QVVR_PerTime,
|
||||
qvvr->QVVR_time, //<2F><><EFBFBD>ﲻʹ<EFB2BB><CAB9><EFBFBD>ļ<EFBFBD><C4BC>еĿ<D0B5>ʼʱ<CABC><CAB1>start_tm<74><6D><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>Ӱ<EFBFBD><D3B0>д<EFBFBD>⣬ʹ<E2A3AC><CAB9>QVVR<56><52>ʱ<EFBFBD><CAB1>QVVR_time//lnk20250311
|
||||
end_tm, qvvr->QVVR_type, //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䡢<EFBFBD><E4A1A2>ʼʱ<CABC>䡢<EFBFBD><E4A1A2><EFBFBD><EFBFBD>ʱ<EFBFBD>䡢<EFBFBD><E4A1A2>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
||||
cfg_result, dat_result, //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7>
|
||||
LD_info->mp_id, qvvr->QVVR_Rptname, ied_usr->dev_type);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3>ļ<EFBFBD><C4BC>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD>¼<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
@@ -2097,7 +2099,7 @@ 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); // ƴ<><C6B4><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>껺<EFBFBD><EABBBA><EFBFBD><EFBFBD>
|
||||
snprintf(dat_result, dat_len, "%s-%s", oss_file_fullname_dat, dat_only_filename_ret); // ƴ<><C6B4><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>껺<EFBFBD><EABBBA><EFBFBD><EFBFBD>
|
||||
ret3 = transfer_json_qvvr_data(g_node_id, LD_info->line_id, qvvr->QVVR_Amg, 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, start_tm, end_tm, qvvr->QVVR_type, cfg_result, dat_result, LD_info->mp_id, qvvr->QVVR_Rptname, ied_usr->dev_type);
|
||||
}
|
||||
free(cfg_result); // ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD><CFBA>ͷŶ<CDB7>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ռ<EFBFBD>
|
||||
free(dat_result); // ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD><CFBA>ͷŶ<CDB7>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ռ<EFBFBD>
|
||||
|
||||
@@ -200,6 +200,9 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
|
||||
v = mms_dec_data.data_item[ii].u.data_double;
|
||||
apr_snprintf(mms_ref, sizeof(mms_ref), "%s$%s", do_name, mms_dec_data.data_item[ii].comp_name);
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
printf("u.data_str: %s (as hex: 0x%X)\n", mms_dec_data.data_item[ii].u.data_str, *((ST_UINT16*)mms_dec_data.data_item[ii].u.data_str));
|
||||
|
||||
if (strstr(mms_ref, "QVVR")) {
|
||||
log_data_type = QVVR_DATA;
|
||||
timeflag = FALSE;
|
||||
@@ -279,7 +282,7 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
|
||||
}
|
||||
}
|
||||
if (readtime == 1 && readquailty == 1) {
|
||||
if (quality == 0) {//<2F><><EFBFBD>ԣ<EFBFBD>Ҫ<EFBFBD>Ļ<EFBFBD>1
|
||||
if (0) {//<2F><><EFBFBD>ԣ<EFBFBD>Ҫ<EFBFBD>Ļ<EFBFBD>quality == 0
|
||||
timeflag = TRUE;
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lnk20250307
|
||||
printf("readtime == 1 && readquailty = 1 && quality == 1 continue");
|
||||
@@ -393,7 +396,7 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
|
||||
printf("quality = 1");
|
||||
quality = 1;
|
||||
}
|
||||
if (quality == 0) {//<2F><><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>Ҫ<EFBFBD>Ļ<EFBFBD>1
|
||||
if (0) {//<2F><><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>Ҫ<EFBFBD>Ļ<EFBFBD>quality == 0
|
||||
printf("quality = 1 continue");
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -2202,6 +2202,9 @@ static ST_RET myLocToTextBs(ST_UCHAR* pSrc, RUNTIME_TYPE* rt, ST_CHAR* text)
|
||||
ST_CHAR* destBuf;
|
||||
ST_UCHAR mask;
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//printf("pSrc[0]: 0x%X, pSrc[1]: 0x%X, text: %s\n", pSrc[0], pSrc[1], text);
|
||||
|
||||
//printf("%s text_len %d %d pSrc %d %d \n", text, strlen(text), rt->u.p.el_len, pSrc[0], pSrc[1]);
|
||||
|
||||
text[0] = 0;
|
||||
@@ -2243,6 +2246,10 @@ static ST_RET myLocToTextBs(ST_UCHAR* pSrc, RUNTIME_TYPE* rt, ST_CHAR* text)
|
||||
}
|
||||
}
|
||||
destBuf[i] = 0;
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//printf("pSrc[0]: 0x%X, pSrc[1]: 0x%X, text: %s\n", pSrc[0], pSrc[1], text);
|
||||
|
||||
return (SD_SUCCESS);
|
||||
}
|
||||
/************************************************************************/
|
||||
|
||||
@@ -232,8 +232,8 @@ struct QVVR_t{
|
||||
int QVVR_start;
|
||||
int QVVR_type;
|
||||
long long QVVR_time;
|
||||
float QVVR_PerTime;
|
||||
float QVVR_Amg;
|
||||
double QVVR_PerTime;
|
||||
double QVVR_Amg;
|
||||
char QVVR_Rptname[128];
|
||||
|
||||
uint32_t timestamp;
|
||||
|
||||
@@ -516,7 +516,7 @@ void processQVVR_end(LD_info_t* LD_info)
|
||||
ied_t *ied = LD_info->ied;
|
||||
ied_usr_t *ied_usr = GET_IEDEXT_ADDR(ied);
|
||||
int ret;
|
||||
long long end_tm = (long long)(LD_info->qvvr[LD_info->qvvr_idx].QVVR_PerTime) + LD_info->qvvr[LD_info->qvvr_idx].QVVR_time; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>dz<EFBFBD><C7B3><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ӵ<EFBFBD><D3B4><EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
int find_paired = FALSE;
|
||||
@@ -526,16 +526,41 @@ void processQVVR_end(LD_info_t* LD_info)
|
||||
return;
|
||||
|
||||
for (i=0;i<QVVR_NUM;i++) { //<2F>ݽ<EFBFBD>/<2F><><EFBFBD><EFBFBD>/<2F>жϵȽ<CFB5><C8BD>봦<EFBFBD><EBB4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD>λ<EFBFBD><CEBB>
|
||||
if (i==LD_info->qvvr_idx) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㵱ǰ<E3B5B1><C7B0><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
||||
if (i==LD_info->qvvr_idx) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㵱ǰ<E3B5B1><C7B0><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>,<2C><>һ<EFBFBD>μ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD>κ<CEBA>һ<EFBFBD>εĵ<CEB5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD>ŵ<EFBFBD>ΪQVVR_DATA_RECEIVED<45><44>
|
||||
//<2F>ڶ<EFBFBD><DAB6>μ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD>Σ<EFBFBD><CEA3>ڶ<EFBFBD><DAB6>εĵ<CEB5>һ<EFBFBD><D2BB><EFBFBD>¼<EFBFBD>qvvr_idx=1<><31>1<EFBFBD><31><EFBFBD><EFBFBD>ΪQVVR_DATA_RECEIVED<45><44>QVVR_start=1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>
|
||||
//<2F>ڶ<EFBFBD><DAB6>εĵڶ<C4B5><DAB6><EFBFBD><EFBFBD>¼<EFBFBD>qvvr_idx=1<><31>QVVR_start=0<><30><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>0<EFBFBD>У<EFBFBD>0ΪQVVR_DATA_PAIRED
|
||||
//<2F>ڶ<EFBFBD><DAB6>εĵ<CEB5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>qvvr_idx=2<><32>2<EFBFBD><32><EFBFBD><EFBFBD>ΪQVVR_DATA_RECEIVED<45><44>QVVR_start=1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
|
||||
//<2F>ڶ<EFBFBD><DAB6><EFBFBD>¼<EFBFBD><C2BC>ƥ<EFBFBD><C6A5><EFBFBD>ļ<EFBFBD>ʱӦ<CAB1><D3A6>ƥ<EFBFBD>䵽1<E4B5BD>ŵ<EFBFBD>qvvrtime<6D><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1û<31><C3BB>QVVR_DATA_PAIRED<45><44><EFBFBD>ԶԲ<D4B6><D4B2>ϣ<EFBFBD><CFA3><EFBFBD>Ҫ<EFBFBD><EFBFBD><DEB8><EFBFBD>
|
||||
continue;
|
||||
if (LD_info->qvvr[i].used_status != QVVR_DATA_RECEIVED)//<2F><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
||||
continue;
|
||||
//<2F><><EFBFBD><EFBFBD>ijλ<C4B3>õIJ<C3B5><C4B2><EFBFBD>Ҳû<D2B2>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>λ<EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ͵<CDBA>ǰλ<C7B0>õIJ<C3B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>£<EFBFBD><C2A3>ݽ<EFBFBD><DDBD>¼<EFBFBD>һ<EFBFBD>λᷢ<CEBB><E1B7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ж<EFBFBD>lnk20250311
|
||||
if (LD_info->qvvr[LD_info->qvvr_idx].QVVR_time - LD_info->qvvr[i].QVVR_time >110)
|
||||
continue;
|
||||
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD>ijλ<C4B3>õIJ<C3B5><C4B2><EFBFBD>Ҳû<D2B2>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>λ<EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ͵<CDBA>ǰλ<C7B0>õIJ<C3B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>£<EFBFBD><C2A3>ݽ<EFBFBD><DDBD>¼<EFBFBD>һ<EFBFBD>λᷢ<CEBB><E1B7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD>
|
||||
if ( (LD_info->qvvr[i].QVVR_type==0)||(LD_info->qvvr[i].QVVR_type==LD_info->qvvr[LD_info->qvvr_idx].QVVR_type) ) {
|
||||
|
||||
long long end_tm = (long long)(LD_info->qvvr[LD_info->qvvr_idx].QVVR_PerTime*1000) + LD_info->qvvr[i].QVVR_time;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>dz<EFBFBD><C7B3><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
printf("\n~~~~~~~this qvvr node type before record is %d~~~~~~~~~~ \n",LD_info->qvvr[i].QVVR_type);
|
||||
//printf("~~~~~~~this qvvr node type before record is %d~~~~~~~~~~ \n",LD_info->qvvr[i].QVVR_type);
|
||||
//printf("~~~~~~~this qvvr node QVVR_PerTime before record is %f~~~~~~~~~~ \n",LD_info->qvvr[i].QVVR_PerTime);
|
||||
//printf("~~~~~~~this qvvr node QVVR_Amg before record is %f~~~~~~~~~~ \n",LD_info->qvvr[i].QVVR_Amg);
|
||||
//printf("~~~~~~~this qvvr node QVVR_time before record is %lld~~~~~~~~~~ \n",LD_info->qvvr[i].QVVR_time);
|
||||
//printf("~~~~~~~this qvvr node used_status before record is %d~~~~~~~~~~ \n",LD_info->qvvr[i].used_status);
|
||||
//printf("~~~~~~~this qvvr node QVVR_start before record is %d~~~~~~~~~~ \n",LD_info->qvvr[i].QVVR_start);
|
||||
//printf("~~~~~~~this qvvr node timestamp before record is %d~~~~~~~~~~ \n",LD_info->qvvr[i].timestamp);
|
||||
|
||||
|
||||
printf("\n~~~~~~~now qvvr node type before record is %d~~~~~~~~~~ \n",LD_info->qvvr[LD_info->qvvr_idx].QVVR_type);
|
||||
printf("~~~~~~~now qvvr node QVVR_PerTime before record is %f~~~~~~~~~~ \n",LD_info->qvvr[LD_info->qvvr_idx].QVVR_PerTime);
|
||||
printf("~~~~~~~now qvvr node QVVR_Amg before record is %f~~~~~~~~~~ \n",LD_info->qvvr[LD_info->qvvr_idx].QVVR_Amg);
|
||||
printf("~~~~~~~now qvvr node QVVR_time before record is %lld~~~~~~~~~~ \n",LD_info->qvvr[LD_info->qvvr_idx].QVVR_time);
|
||||
printf("~~~~~~~now qvvr node used_status before record is %d~~~~~~~~~~ \n",LD_info->qvvr[LD_info->qvvr_idx].used_status);
|
||||
printf("~~~~~~~now qvvr node QVVR_start before record is %d~~~~~~~~~~ \n",LD_info->qvvr[LD_info->qvvr_idx].QVVR_start);
|
||||
printf("~~~~~~~now qvvr node timestamp before record is %d~~~~~~~~~~ \n",LD_info->qvvr[LD_info->qvvr_idx].timestamp);
|
||||
|
||||
LD_info->qvvr[i].used_status = QVVR_DATA_PAIRED; //ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LD_info->qvvr[i].QVVR_type = LD_info->qvvr[LD_info->qvvr_idx].QVVR_type;
|
||||
@@ -545,13 +570,28 @@ void processQVVR_end(LD_info_t* LD_info)
|
||||
LD_info->qvvr[LD_info->qvvr_idx].used_status = QVVR_DATA_NOT_USED; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ͷ<EFBFBD>
|
||||
find_paired = TRUE;
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
printf("\n~~~~~~~qvvr node %d status is pair~~~~~~~~~~ \n",i);
|
||||
printf("~~~~~~~this qvvr node QVVR_PerTime after record is %f~~~~~~~~~~ \n",LD_info->qvvr[i].QVVR_PerTime);
|
||||
printf("~~~~~~~this qvvr node QVVR_Amg after record is %f~~~~~~~~~~ \n",LD_info->qvvr[i].QVVR_Amg);
|
||||
printf("~~~~~~~this qvvr node used_status after record is %d~~~~~~~~~~ \n",LD_info->qvvr[i].used_status);
|
||||
printf("~~~~~~~this qvvr node QVVR_type after record is %d~~~~~~~~~~ \n",LD_info->qvvr[i].QVVR_type);
|
||||
printf("~~~~~~~this qvvr node QVVR_time after record is %lld~~~~~~~~~~ \n",LD_info->qvvr[i].QVVR_time);
|
||||
printf("~~~~~~~this qvvr node timestamp before record is %d~~~~~~~~~~ \n",LD_info->qvvr[i].timestamp);
|
||||
printf("~~~~~~~this qvvr node QVVR_start before record is %d~~~~~~~~~~ \n",LD_info->qvvr[i].QVVR_start);
|
||||
|
||||
//ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٷ<EFBFBD>qvvr
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//printf("\n~~~~~~~qvvr node %d status is pair~~~~~~~~~~ \n",i);
|
||||
//printf("Before calling: &QVVR_Amg = %p, &QVVR_PerTime = %p\n",
|
||||
//&LD_info->qvvr[LD_info->qvvr_idx].QVVR_Amg,
|
||||
//&LD_info->qvvr[LD_info->qvvr_idx].QVVR_PerTime);
|
||||
|
||||
//ƥ<><C6A5><EFBFBD><EFBFBD><EFBFBD>ٷ<EFBFBD>qvvr<76><72><EFBFBD><EFBFBD>ʼʱ<CABC><CAB1>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD>ǵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ʱֻ<CAB1><D6BB>ʱ<EFBFBD><CAB1>û<EFBFBD><C3BB>ֵ<EFBFBD><D6B5><EFBFBD>Ǹ<EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
ret = transfer_json_qvvr_data(g_node_id, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʹ<EFBFBD><CAB9>
|
||||
LD_info->line_id, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LD_info->qvvr[LD_info->qvvr_idx].QVVR_Amg, LD_info->qvvr[LD_info->qvvr_idx].QVVR_PerTime, LD_info->qvvr[LD_info->qvvr_idx].QVVR_time, end_tm, LD_info->qvvr[LD_info->qvvr_idx].QVVR_type, //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䡢<EFBFBD><E4A1A2>ʼʱ<CABC>䡢<EFBFBD><E4A1A2><EFBFBD><EFBFBD>ʱ<EFBFBD>䡢<EFBFBD><E4A1A2>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
||||
(double)LD_info->qvvr[LD_info->qvvr_idx].QVVR_Amg,
|
||||
(double)LD_info->qvvr[LD_info->qvvr_idx].QVVR_PerTime,
|
||||
LD_info->qvvr[i].QVVR_time,
|
||||
end_tm,
|
||||
LD_info->qvvr[LD_info->qvvr_idx].QVVR_type, //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䡢<EFBFBD><E4A1A2>ʼʱ<CABC>䡢<EFBFBD><E4A1A2><EFBFBD><EFBFBD>ʱ<EFBFBD>䡢<EFBFBD><E4A1A2>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
||||
"", "", //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7>Ϊ<EFBFBD><CEAA>
|
||||
LD_info->mp_id, LD_info->qvvr[LD_info->qvvr_idx].QVVR_Rptname, ied_usr->dev_type);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3>ļ<EFBFBD><C4BC>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD>¼<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(!ret)//ʧ<><CAA7>
|
||||
|
||||
Reference in New Issue
Block a user