|
|
@ -1,3 +1,4 @@
|
|
|
|
|
|
|
|
import datetime
|
|
|
|
import json
|
|
|
|
import json
|
|
|
|
import logging
|
|
|
|
import logging
|
|
|
|
import random
|
|
|
|
import random
|
|
|
@ -1015,7 +1016,7 @@ class WarningStatisticsModelViewSet(ModelViewSet):
|
|
|
|
device_suid = data.get("device_suid")
|
|
|
|
device_suid = data.get("device_suid")
|
|
|
|
warning_type = data.get("warning_type")
|
|
|
|
warning_type = data.get("warning_type")
|
|
|
|
start_trigger_time = data.get("start_time")
|
|
|
|
start_trigger_time = data.get("start_time")
|
|
|
|
end_trigger_time = data.get("end_time")
|
|
|
|
# end_trigger_time = data.get("end_time")
|
|
|
|
|
|
|
|
|
|
|
|
if warning_level:
|
|
|
|
if warning_level:
|
|
|
|
self.queryset = self.queryset.filter(warning_level=warning_level)
|
|
|
|
self.queryset = self.queryset.filter(warning_level=warning_level)
|
|
|
@ -1045,7 +1046,16 @@ class WarningStatisticsModelViewSet(ModelViewSet):
|
|
|
|
self.queryset = self.queryset.filter(warning_type=warning_type)
|
|
|
|
self.queryset = self.queryset.filter(warning_type=warning_type)
|
|
|
|
|
|
|
|
|
|
|
|
if start_trigger_time:
|
|
|
|
if start_trigger_time:
|
|
|
|
self.queryset = self.queryset.filter(trigger_time__in=[start_trigger_time, end_trigger_time])
|
|
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
|
|
|
start_datetime = datetime.datetime.strptime(start_trigger_time, "%Y-%m-%d")
|
|
|
|
|
|
|
|
except Exception as e:
|
|
|
|
|
|
|
|
logger.error(f"查询告警时间格式报错{e},参数为:{start_trigger_time}")
|
|
|
|
|
|
|
|
return Response({"data": None, "msg": "时间格式不正确", "success": False, "status": 400})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end_datetime = start_datetime + datetime.timedelta(days=1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self.queryset = self.queryset.filter(trigger_time__range=[start_datetime, end_datetime])
|
|
|
|
|
|
|
|
|
|
|
|
if not (obj_id or obj_suid):
|
|
|
|
if not (obj_id or obj_suid):
|
|
|
|
return Response({
|
|
|
|
return Response({
|
|
|
@ -1074,10 +1084,20 @@ class WarningStatisticsModelViewSet(ModelViewSet):
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
def get_warning_names(self, request, *args, **kwargs):
|
|
|
|
def get_warning_names(self, request, *args, **kwargs):
|
|
|
|
warning_names = self.queryset.values("warning_name").distinct()
|
|
|
|
warning_names = self.queryset.values_list("warning_name", flat=True).order_by("warning_name").distinct()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return Response({
|
|
|
|
|
|
|
|
"data": warning_names,
|
|
|
|
|
|
|
|
"msg": None,
|
|
|
|
|
|
|
|
"success": True,
|
|
|
|
|
|
|
|
"status": 200
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_warning_types(self, request, *args, **kwargs):
|
|
|
|
|
|
|
|
warning_types = self.queryset.values_list('warning_type', flat=True).order_by("warning_type").distinct()
|
|
|
|
|
|
|
|
|
|
|
|
return Response({
|
|
|
|
return Response({
|
|
|
|
"data": [tmp.get("warning_name") for tmp in warning_names],
|
|
|
|
"data": warning_types,
|
|
|
|
"msg": None,
|
|
|
|
"msg": None,
|
|
|
|
"success": True,
|
|
|
|
"success": True,
|
|
|
|
"status": 200
|
|
|
|
"status": 200
|
|
|
|