|
|
@@ -2169,6 +2169,7 @@ char *over_all_data_t_ac_to_json(_OverAllPwrAckInfo *_over_all_pwr_back_info,_Ov
|
|
|
if (dev_search_time_t_ac_power_info(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, 0,i,total_type, &__globalPowerInfo,_over_all_sts_monitor->start_time,_over_all_sts_monitor->end_time) != 0)
|
|
|
{
|
|
|
log_e("serach total voltage err.");
|
|
|
+ continue;
|
|
|
}
|
|
|
|
|
|
switch (total_type)
|
|
|
@@ -3075,6 +3076,7 @@ char* alarm_info_to_json(_AlarmAckInfo* _alarm_ack_info,int nAllNumber)
|
|
|
char temp[8] = {0};
|
|
|
struct list_head *pos;
|
|
|
_AlarmAckInfo* _temp;
|
|
|
+
|
|
|
// 创建 JSON 对象
|
|
|
cJSON* root = cJSON_CreateObject();
|
|
|
// 添加基本键值对
|
|
|
@@ -3084,6 +3086,7 @@ char* alarm_info_to_json(_AlarmAckInfo* _alarm_ack_info,int nAllNumber)
|
|
|
//循环添加数据
|
|
|
list_for_each_entry(_temp, &_alarm_ack_info->list, list)
|
|
|
{
|
|
|
+ #if 1
|
|
|
cJSON* data_filed = cJSON_CreateObject();
|
|
|
|
|
|
cJSON_AddStringToObject(data_filed,"alarmNumber",_temp->alarmNumber);
|
|
|
@@ -3104,10 +3107,10 @@ char* alarm_info_to_json(_AlarmAckInfo* _alarm_ack_info,int nAllNumber)
|
|
|
|
|
|
cJSON_AddStringToObject(data_filed,"deviceNumber",_temp->deviceNumber);
|
|
|
cJSON_AddStringToObject(data_filed,"deviceName",_temp->deviceName);
|
|
|
-
|
|
|
- replace_sequences(_temp->alarmContent,__globalDeviceManage._global_alarmLanguage);
|
|
|
+ replace_sequences(_temp->alarmContent, __globalDeviceManage.alarmTab);
|
|
|
cJSON_AddStringToObject(data_filed,"alarmContent",_temp->alarmContent);
|
|
|
cJSON_AddItemToObject(data_root_array, "data", data_filed);
|
|
|
+#endif
|
|
|
}
|
|
|
//数据总数
|
|
|
cJSON_AddNumberToObject(root, "total", nAllNumber);
|
|
|
@@ -3154,7 +3157,7 @@ char* alarm_type_info_to_json(_AlarmAckInfo* _alarm_ack_info,int nAlarmNum)
|
|
|
|
|
|
cJSON_AddStringToObject(data_filed,"deviceNumber",_temp->deviceNumber);
|
|
|
cJSON_AddStringToObject(data_filed,"deviceName",_temp->deviceName);
|
|
|
- replace_sequences(_temp->alarmContent,__globalDeviceManage._global_alarmLanguage);
|
|
|
+ replace_sequences(_temp->alarmContent,__globalDeviceManage.alarmTab);
|
|
|
switch (_temp->alarmType)
|
|
|
{
|
|
|
case 0:cJSON_AddStringToObject(data_filed,"alarmContent",_temp->alarmContent);break;
|
|
|
@@ -3199,7 +3202,7 @@ char* alarm_ctrl_type_info_to_json(_AlarmAckInfo* _alarm_ack_info,int nAlarmNum)
|
|
|
cJSON* data_filed = cJSON_CreateObject();
|
|
|
cJSON_AddStringToObject(data_filed,"title",_temp->alarmNumber);
|
|
|
cJSON_AddStringToObject(data_filed,"operName","");
|
|
|
- replace_sequences(_temp->alarmContent,__globalDeviceManage._global_alarmLanguage);
|
|
|
+ replace_sequences(_temp->alarmContent,__globalDeviceManage.alarmTab);
|
|
|
cJSON_AddStringToObject(data_filed,"operLocation",_temp->alarmContent);
|
|
|
cJSON_AddStringToObject(data_filed,"operTime",_temp->alarmDate);
|
|
|
// sprintf(temp,"%d",_temp->alarmType);
|
|
|
@@ -5099,44 +5102,138 @@ char* service_userRole_ack_to_json(char* _userName,UserInfo* __UserInfo_t,RoleIn
|
|
|
return str;
|
|
|
}
|
|
|
|
|
|
-void InitHashTable(HashTable *table)
|
|
|
+int InitHashTable(GlobalDeviceManager *gdm)
|
|
|
{
|
|
|
- int nMaxSize=4;
|
|
|
- insert_Newhash(table,(const char*)language_alarm_Ch[0],language_alarm_Ch,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_V[0],language_alarm_V,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_A[0],language_alarm_A,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_W[0],language_alarm_W,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_P[0],language_alarm_P,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_Up[0],language_alarm_Up,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_Down[0],language_alarm_Down,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_ctrl_Open[0],language_alarm_ctrl_Open,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_ctrl_Close[0],language_alarm_ctrl_Close,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_Ctrl_ALL[0],language_alarm_Ctrl_ALL,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_connect_ERROR[0],language_alarm_connect_ERROR,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_Init_Success[0],language_alarm_Init_Success,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_NULL_ERROR[0], language_alarm_NULL_ERROR, nMaxSize);
|
|
|
+ int r,nMaxSize=4;
|
|
|
+ int retry=0,step=100,cnt;
|
|
|
+ HashTable *table=NULL;
|
|
|
+
|
|
|
+ if(gdm==NULL) {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ gdm->alarmTab = NULL;
|
|
|
+
|
|
|
+retry:
|
|
|
+ cnt = step*(retry+1);
|
|
|
+ printf("___ hash table init, retry: %d, table size: %d\n", retry, cnt);
|
|
|
+ table = create_hash_table(cnt);
|
|
|
+ if(table==NULL) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_Ch[0],language_alarm_Ch,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_V[0],language_alarm_V,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_A[0],language_alarm_A,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_W[0],language_alarm_W,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_P[0],language_alarm_P,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_Up[0],language_alarm_Up,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_Down[0],language_alarm_Down,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_ctrl_Open[0],language_alarm_ctrl_Open,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_ctrl_Close[0],language_alarm_ctrl_Close,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_Ctrl_ALL[0],language_alarm_Ctrl_ALL,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_connect_ERROR[0],language_alarm_connect_ERROR,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_Init_Success[0],language_alarm_Init_Success,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_NULL_ERROR[0], language_alarm_NULL_ERROR, nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
//13
|
|
|
- insert_Newhash(table,(const char*)language_temperature[0], language_temperature, nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_humidity[0], language_humidity, nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_atmosphere_gas[0], language_atmosphere_gas, nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_atmosphere_airflow[0], language_atmosphere_airflow, nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_atmosphere_pressure[0], language_atmosphere_pressure, nMaxSize);
|
|
|
+ r = insert_Newhash(table,(const char*)language_temperature[0], language_temperature, nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_humidity[0], language_humidity, nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_atmosphere_gas[0], language_atmosphere_gas, nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_atmosphere_airflow[0], language_atmosphere_airflow, nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_atmosphere_pressure[0], language_atmosphere_pressure, nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
//18
|
|
|
- insert_Newhash(table,(const char*)language_RS485_install[0], language_RS485_install, nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_RS485_master[0], language_alarm_RS485_master, nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_RS485_slave[0], language_alarm_RS485_slave, nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_NTP_install[0], language_NTP_install, nMaxSize);
|
|
|
+ r = insert_Newhash(table,(const char*)language_RS485_install[0], language_RS485_install, nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_RS485_master[0], language_alarm_RS485_master, nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_RS485_slave[0], language_alarm_RS485_slave, nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_NTP_install[0], language_NTP_install, nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
//22
|
|
|
- insert_Newhash(table,(const char*)language_alarm_ctrl_OpenCH[0],language_alarm_ctrl_OpenCH,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_ctrl_CloseCH[0],language_alarm_ctrl_CloseCH,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_ctrl_Alarm[0],language_alarm_ctrl_Alarm,nMaxSize);
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_ctrl_OpenCH[0],language_alarm_ctrl_OpenCH,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_ctrl_CloseCH[0],language_alarm_ctrl_CloseCH,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_ctrl_Alarm[0],language_alarm_ctrl_Alarm,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
//25
|
|
|
- insert_Newhash(table,(const char*)language_alarm_Type_Power[0],language_alarm_Type_Power,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_Type_Sensor[0],language_alarm_Type_Sensor,nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_Type_Network[0],language_alarm_Type_Network,nMaxSize);
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_Type_Power[0],language_alarm_Type_Power,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_Type_Sensor[0],language_alarm_Type_Sensor,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_Type_Network[0],language_alarm_Type_Network,nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
//28
|
|
|
- insert_Newhash(table,(const char*)language_alarm_phaseA_lose[0], language_alarm_phaseA_lose, nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_phaseB_lose[0], language_alarm_phaseB_lose, nMaxSize);
|
|
|
- insert_Newhash(table,(const char*)language_alarm_phaseC_lose[0], language_alarm_phaseC_lose, nMaxSize);
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_phaseA_lose[0], language_alarm_phaseA_lose, nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_phaseB_lose[0], language_alarm_phaseB_lose, nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_phaseC_lose[0], language_alarm_phaseC_lose, nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
//31
|
|
|
+ r = insert_Newhash(table,(const char*)language_alarm_MAC_changed[0], language_alarm_MAC_changed, nMaxSize);
|
|
|
+ if(r==HASH_REPEAT) goto repeat; else if(r<HASH_REPEAT) goto failed;
|
|
|
+
|
|
|
+ gdm->alarmTab = table;
|
|
|
+
|
|
|
+ log_d("___ hash table init OK, table size: %d\n", table->size);
|
|
|
+ return 0;
|
|
|
+
|
|
|
+repeat:
|
|
|
+ retry++;
|
|
|
+ free_hash_table(table);
|
|
|
+ goto retry;
|
|
|
+
|
|
|
+failed:
|
|
|
+ free_hash_table(table);
|
|
|
+
|
|
|
+
|
|
|
+ return -1;
|
|
|
}
|