Просмотр исходного кода

1、首页默认查询改为当天报警信息;
2、关于设备界面可修改设备名称。

liyuezong лет назад: 2
Родитель
Сommit
3a21050e54
4 измененных файлов с 48 добавлено и 3 удалено
  1. 35 1
      pro/src/appweb_handle.c
  2. 9 0
      pro/src/json_handle.c
  3. 1 0
      pro/src/json_handle.h
  4. 3 2
      pro/src/sqlite_handle.c

+ 35 - 1
pro/src/appweb_handle.c

@@ -2972,6 +2972,24 @@ static void alarmProtect(void *conn)
         //初始化表
         INIT_LIST_HEAD(&_alarm_ack_info.list);
         //查询数据库,最近的10个报警信息
+        char start_time[32] = {0};
+        char stop_time[32] = {0};
+        if (_alarm_request_info.startTime == NULL || _alarm_request_info.endTime == NULL)
+        {
+            struct tm *t;
+            struct timeval tv;
+
+            gettimeofday(&tv, NULL);
+            t = localtime(&tv.tv_sec);
+            sprintf(stop_time, "%04d-%02d-%02d %02d:%02d:%02d", t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, 23, 59, 59);
+            log_d(stop_time);
+
+            sprintf(start_time, "%04d-%02d-%02d %02d:%02d:%02d", t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, 0, 0, 0);
+            log_d(start_time);
+
+            _alarm_request_info.startTime = start_time;
+            _alarm_request_info.endTime = stop_time;
+        }
 
         ret = dev_search_alarm_info(__globalDeviceManage.db,
             __globalDeviceManage._globalDevInfo.product.id,
@@ -4695,7 +4713,23 @@ static void serviceManagement(void *conn)
         dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, temp);
         ack_str = ctrl_sts_ack_to_json();
     }
-    
+    else if (strcmp(_serviceManageRequestInfo.type, "gysbSave") == 0)
+    {
+        if (_serviceManageRequestInfo.productName)
+        {
+            /* code */
+            strncpy(__globalDeviceManage._globalDevInfo.product.name, _serviceManageRequestInfo.productName, sizeof(__globalDeviceManage._globalDevInfo.product.name) - 1);
+            __globalDeviceManage._globalDevInfo.product.name[sizeof(__globalDeviceManage._globalDevInfo.product.name) - 1] = '\0'; // 确保字符串以null结尾
+
+            paras_save();
+
+            char log_buff[256];
+            sprintf(log_buff, "Modify device information!");
+            dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff);
+        }
+        ack_str = ctrl_sts_ack_to_json();
+    }
+
     //cJSON_Delete(cjson);
     http_reply(conn, 200, ack_str);
     cJSON_free((void*)ack_str);

+ 9 - 0
pro/src/json_handle.c

@@ -4890,6 +4890,15 @@ cJSON* json_to_service_manage(const char* str,_ServiceManageRequestInfo* _servic
             _serviceManageRequestInfo->_group_info.updategroupName = cjson_Group_fzmc->valuestring;
         }
     }
+    else if (strcmp(_serviceManageRequestInfo->type, "gysbSave") == 0)
+    {
+        cJSON *cjson_productName = cJSON_GetObjectItem(cjson, "productName");
+
+        if (cjson_productName != NULL)
+        {
+            _serviceManageRequestInfo->productName = cjson_productName->valuestring;
+        }
+    }
     return cjson;
 }
 

+ 1 - 0
pro/src/json_handle.h

@@ -454,6 +454,7 @@ typedef struct
     _DS_ServiceRequestInfo _ds_info;
     _POSIX_ServiceRequestInfo _posix_info;
     _GROUP_ServiceRequestInfo _group_info;
+    char* productName;
 }_ServiceManageRequestInfo;
 
 

+ 3 - 2
pro/src/sqlite_handle.c

@@ -2772,7 +2772,7 @@ int dev_search_alarm_info(sqlite3* db,
     //查询告警总数
     if (alarm_type<0)//小于0加载所有的
     {
-        snprintf(select_sql,sizeof(select_sql),"SELECT count (*) FROM Table_AlarmManage where (alarmType=%d) or (alarmType=%d) or (alarmType=%d);",ALARM_TYPE_POWER,ALARM_TYPE_SENSOR,ALARM_TYPE_NETWORK);
+        snprintf(select_sql,sizeof(select_sql),"SELECT count (*) FROM Table_AlarmManage where ((alarmType=%d) or (alarmType=%d) or (alarmType=%d)) and (alarmDate BETWEEN '%s' AND '%s');",ALARM_TYPE_POWER,ALARM_TYPE_SENSOR,ALARM_TYPE_NETWORK,start_time,end_time);
     }else{
         snprintf(select_sql,sizeof(select_sql),"SELECT count (*) FROM Table_AlarmManage where (alarmType=%d) and (alarmDate BETWEEN '%s' AND '%s');",alarm_type,start_time,end_time);
     }
@@ -2801,9 +2801,10 @@ int dev_search_alarm_info(sqlite3* db,
     
     if (alarm_type<0)//小于0加载所有的
     {   
-        sprintf(select_sql,"SELECT* FROM Table_AlarmManage WHERE (product_id=%d) and ((alarmType=%d) or (alarmType=%d) or (alarmType=%d)) order by alarmDate desc LIMIT %d OFFSET %d ;",
+        sprintf(select_sql,"SELECT* FROM Table_AlarmManage WHERE (product_id=%d) and ((alarmType=%d) or (alarmType=%d) or (alarmType=%d)) and (alarmDate BETWEEN '%s' AND '%s') order by alarmDate desc LIMIT %d OFFSET %d ;",
                         product_id,
                         ALARM_TYPE_POWER,ALARM_TYPE_SENSOR,ALARM_TYPE_NETWORK,
+                        start_time,end_time,
                         page_size,
                         page_num>0?(page_num-1)*page_size:0);
     }