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

1、修复首页只显示电源告警bug;2、修复SMTP无法删除接收邮件的bug;3、修复运行日志按时间查询无效的bug。

liyuezong лет назад: 2
Родитель
Сommit
03c84ba2c5
2 измененных файлов с 38 добавлено и 17 удалено
  1. 35 15
      pro/src/appweb_handle.c
  2. 3 2
      pro/src/sqlite_handle.c

+ 35 - 15
pro/src/appweb_handle.c

@@ -2604,7 +2604,7 @@ static void alarmProtect(void *conn)
         //查询数据库,最近的10个报警信息
         ret = dev_serarch_all_alarm(__globalDeviceManage.db,
             __globalDeviceManage._globalDevInfo.product_id,
-           ALARM_TYPE_POWER ,1,10,
+           -1,1,10,
             &_alarm_ack_info,&nAlarmNumber);
         if(ret!=0) {
             log_e("get power alarm error.");
@@ -3139,7 +3139,12 @@ static void logInformation(void *conn)
     }    
     else if(strcmp(__logInformationRequestInfo.type,"listYxrzQuery")==0) //运行日志
     {
-                   struct tm* t ;
+                //初始化表
+        INIT_LIST_HEAD(&_alarm_ack_info.list);
+                //默认查当天日志
+        if(__logInformationRequestInfo.beginTime==NULL || __logInformationRequestInfo.endtime==NULL)
+        {
+            struct tm *t;
             struct timeval tv;
             char start_time[32] = {0};
             char stop_time[32] = {0};
@@ -3151,20 +3156,29 @@ static void logInformation(void *conn)
 
             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);
-        //初始化表
-        INIT_LIST_HEAD(&_alarm_ack_info.list);
-
-        dev_search_alarm_info(__globalDeviceManage.db,
-                            __globalDeviceManage._globalDevInfo.product_id,
-                            ALARM_TYPE_RUNNING,// alarm_type,        运行日志
-                           start_time,
-                           stop_time,
-                            __logInformationRequestInfo.pagenum-1,
-                            __logInformationRequestInfo.pagesize,
-                            &_alarm_ack_info,&nAlarmNum);
-        //转换参数
-        ack_str = alarm_type_info_to_json(&_alarm_ack_info,nAlarmNum);    
 
+            dev_search_alarm_info(__globalDeviceManage.db,
+                                  __globalDeviceManage._globalDevInfo.product_id,
+                                  ALARM_TYPE_RUNNING, // alarm_type,        运行日志
+                                  start_time,
+                                  stop_time,
+                                  __logInformationRequestInfo.pagenum - 1,
+                                  __logInformationRequestInfo.pagesize,
+                                  &_alarm_ack_info, &nAlarmNum);
+        }
+        else
+        {
+            dev_search_alarm_info(__globalDeviceManage.db,
+                                  __globalDeviceManage._globalDevInfo.product_id,
+                                  ALARM_TYPE_RUNNING, // alarm_type,        运行日志
+                                __logInformationRequestInfo.beginTime,
+                                __logInformationRequestInfo.endtime,
+                                  __logInformationRequestInfo.pagenum - 1,
+                                  __logInformationRequestInfo.pagesize,
+                                  &_alarm_ack_info, &nAlarmNum);
+        }
+        // 转换参数
+        ack_str = alarm_type_info_to_json(&_alarm_ack_info, nAlarmNum);
         //释放资源
         _AlarmAckInfo* node;
         _AlarmAckInfo* next;
@@ -3368,6 +3382,12 @@ static void serviceManagement(void *conn)
                 recv[i].use = 1;
                 strcpy(recv[i].account, info->recvAccount[i]);
                 dev_smtp_update_recv(gdm->db, &recv[i]);
+            }
+			else{
+                recv[i].idx = i;
+                recv[i].use = 0;
+                strcpy(recv[i].account,"");
+                dev_smtp_update_recv(gdm->db, &recv[i]);
             }
         }
     }

+ 3 - 2
pro/src/sqlite_handle.c

@@ -2548,7 +2548,7 @@ int dev_serarch_all_alarm(sqlite3* db,
     //查询告警总数
     if (alarm_type<0)//小于0加载所有的
     {
-        snprintf(select_sql,sizeof(select_sql),"SELECT count (*) FROM Table_AlarmManage;");
+        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);
     }else{
         snprintf(select_sql,sizeof(select_sql),"SELECT count (*) FROM Table_AlarmManage where (alarmType=%d) ;",alarm_type);
     }
@@ -2569,8 +2569,9 @@ int dev_serarch_all_alarm(sqlite3* db,
 
     if (alarm_type<0)//小于0加载所有的
     {   
-        sprintf(select_sql,"SELECT* FROM Table_AlarmManage WHERE (product_id=%d) order by alarmType 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)) order by alarmDate desc LIMIT %d OFFSET %d ",
                         product_id,
+                        ALARM_TYPE_POWER,ALARM_TYPE_SENSOR,ALARM_TYPE_NETWORK,
                         page_size,
                         page_num>0?(page_num-1)*page_size:0);
     }else