Przeglądaj źródła

1、修改总体通道阈值状态显示在线bug;
2、修改总体通道阈值操作日志信息;
3、修复可添加多个重复地址传感器的bug

liyuezong 1 rok temu
rodzic
commit
27cc8ec1d6
2 zmienionych plików z 57 dodań i 8 usunięć
  1. 55 7
      pro/src/appweb_handle.c
  2. 2 1
      pro/src/json_handle.c

+ 55 - 7
pro/src/appweb_handle.c

@@ -2404,6 +2404,12 @@ static void sensorStatusMonitoring(void* conn)
     {
         log_d("start add handle.");
         int wrong_param=0;
+        #ifdef IN_INDEX_MAP
+            char index_map[4]=IN_INDEX_MAP;
+        #else 
+            char index_map[4]={0,1,3,2};
+        #endif
+
         GlobalSensorManger* _globalSensorMangerTemp = (GlobalSensorManger*)malloc(sizeof(GlobalSensorManger));
         //清空数据
         memset(_globalSensorMangerTemp, 0, sizeof(GlobalSensorManger));
@@ -2416,6 +2422,46 @@ static void sensorStatusMonitoring(void* conn)
         GlobalSensorManger *next;
         list_for_each_entry_safe(node, next, &__globalDeviceManage._globalSensorManger.list, list)
         {
+            if (_over_all_sensor_request.cgqtd)
+            {
+
+                if (strcmp(_over_all_sensor_request.cgqtd, "RS485") == 0 && node->sensor_interface_type == 1)
+                {
+                    if (strtol(_over_all_sensor_request.sensorAddr, NULL, 10) == node->sensor_addr)
+                    {
+                        wrong_param = 1;
+                    }
+                }
+                if (strcmp(_over_all_sensor_request.cgqtd, "IN1") == 0 && node->sensor_interface_type == 2)
+                {
+                    if (index_map[0] == node->sensor_addr)
+                    {
+                        wrong_param = 1;
+                    }
+                }
+                if (strcmp(_over_all_sensor_request.cgqtd, "IN2") == 0 && node->sensor_interface_type == 2)
+                {
+                    if (index_map[1] == node->sensor_addr)
+                    {
+                        wrong_param = 1;
+                    }
+                }
+                if (strcmp(_over_all_sensor_request.cgqtd, "IN3") == 0 && node->sensor_interface_type == 2)
+                {
+                    if (index_map[2] == node->sensor_addr)
+                    {
+                        wrong_param = 1;
+                    }
+                }
+                if (strcmp(_over_all_sensor_request.cgqtd, "IN4") == 0 && node->sensor_interface_type == 2)
+                {
+                    if (index_map[3] == node->sensor_addr)
+                    {
+                        wrong_param = 1;
+                    }
+                }
+            }
+
             if (node->sensor_id > nmaxID)
             {
                 nmaxID = node->sensor_id;
@@ -2434,11 +2480,7 @@ static void sensorStatusMonitoring(void* conn)
         }
         if (_over_all_sensor_request.cgqtd)
         {
-        #ifdef IN_INDEX_MAP
-            char index_map[4]=IN_INDEX_MAP;
-        #else 
-            char index_map[4]={0,1,3,2};
-        #endif
+
             if (strcmp(_over_all_sensor_request.cgqtd, "RS485") == 0)
             {
                 _globalSensorMangerTemp->sensor_interface_type = 1;
@@ -2492,7 +2534,9 @@ static void sensorStatusMonitoring(void* conn)
 
         if(wrong_param) {
             cJSON_Delete(cjson);
-            http_reply(conn, 400, NULL);
+            ack_str = ctrl_breaker_err_ack_to_json("Sensor parameter error!");
+            http_reply(conn, 200, ack_str);
+            cJSON_free((void*)ack_str);
             return ;   
         }
         
@@ -3131,7 +3175,11 @@ static void alarmProtect(void *conn)
         int g_pwr_ch_id = _alarm_request_info._pwr_info.productChId;
         ack_str=setThresholdToCh(&_alarm_request_info,g_pwr_ch_id);
         char log_buff[256];
-        sprintf(log_buff, "Update power threshold CH%d!",g_pwr_ch_id);
+        if (0==g_pwr_ch_id)
+        {
+            sprintf(log_buff, "Update power threshold ALL_CH!");
+        }
+        else sprintf(log_buff, "Update power threshold CH%d!",g_pwr_ch_id);
         dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff);
         /*
         if (g_pwr_ch_id ==0)

+ 2 - 1
pro/src/json_handle.c

@@ -3519,7 +3519,8 @@ char* alarm_power_threshold_to_json(GlobalPowerManger* _globalPowerManger)
         sprintf(temp,"%d",_globalPowerMangerTemp->product_ch_id);
         cJSON_AddStringToObject(data_filed,"productChId",temp);   
         cJSON_AddNumberToObject(data_filed,"dyType",_globalPowerManger->product_ch_id);
-        cJSON_AddStringToObject(data_filed,"productChStatus","1");
+        //sprintf(temp,"%d",_globalPowerMangerTemp->_PowerInfo.status);
+        cJSON_AddStringToObject(data_filed,"productChStatus","-1");//总通道状态不显示
         sprintf(temp,"%0.2f",_globalPowerManger->global_over_manager.product_cur_upper_threshold);
         cJSON_AddStringToObject(data_filed,"currentUpperValue",temp);
         sprintf(temp,"%0.2f",_globalPowerManger->global_over_manager.product_vol_upper_threshold);