Merge branch 'master' of https://e.coding.net/ctcdevteam/ehs/ehs_server
This commit is contained in:
commit
e81acb7aa7
|
@ -34,3 +34,4 @@ class DataExecSerializer(serializers.Serializer):
|
||||||
query = serializers.JSONField(
|
query = serializers.JSONField(
|
||||||
label="查询字典参数", required=False, allow_null=True)
|
label="查询字典参数", required=False, allow_null=True)
|
||||||
is_test = serializers.BooleanField(label='是否测试', default=False)
|
is_test = serializers.BooleanField(label='是否测试', default=False)
|
||||||
|
raise_exception = serializers.BooleanField(label='是否直接报错', default=False)
|
||||||
|
|
|
@ -54,7 +54,7 @@ class DatasetViewSet(CustomModelViewSet):
|
||||||
|
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
@action(methods=['post'], detail=True, perms_map={'post': 'dataset.exec'}, serializer_class=DataExecSerializer, cache_seconds=0)
|
@action(methods=['post'], detail=True, perms_map={'post': 'dataset.exec'}, serializer_class=DataExecSerializer, cache_seconds=0, logging_methods=[])
|
||||||
def exec(self, request, pk=None):
|
def exec(self, request, pk=None):
|
||||||
"""执行sql查询
|
"""执行sql查询
|
||||||
|
|
||||||
|
@ -64,6 +64,7 @@ class DatasetViewSet(CustomModelViewSet):
|
||||||
rdata = DatasetSerializer(instance=dt).data
|
rdata = DatasetSerializer(instance=dt).data
|
||||||
query = request.data.get('query', {})
|
query = request.data.get('query', {})
|
||||||
is_test = request.data.get('is_test', False)
|
is_test = request.data.get('is_test', False)
|
||||||
|
raise_exception = request.data.get('raise_exception', False)
|
||||||
query['r_user'] = request.user.id
|
query['r_user'] = request.user.id
|
||||||
query['r_dept'] = request.user.belong_dept.id if request.user.belong_dept else ''
|
query['r_dept'] = request.user.belong_dept.id if request.user.belong_dept else ''
|
||||||
results = {}
|
results = {}
|
||||||
|
@ -104,8 +105,11 @@ class DatasetViewSet(CustomModelViewSet):
|
||||||
results[name], results2[name] = format_sqldata(
|
results[name], results2[name] = format_sqldata(
|
||||||
res[0], res[1])
|
res[0], res[1])
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
results[name] = 'error: ' + str(e)
|
if raise_exception:
|
||||||
can_cache = False
|
raise
|
||||||
|
else:
|
||||||
|
results[name] = 'error: ' + str(e)
|
||||||
|
can_cache = False
|
||||||
rdata['data'] = results
|
rdata['data'] = results
|
||||||
rdata['data2'] = results2
|
rdata['data2'] = results2
|
||||||
if rdata['echart_options'] and not rdata['echart_options'].startswith('function'):
|
if rdata['echart_options'] and not rdata['echart_options'].startswith('function'):
|
||||||
|
|
|
@ -11,7 +11,7 @@ class MyPagination(PageNumberPagination):
|
||||||
|
|
||||||
def paginate_queryset(self, queryset, request, view=None):
|
def paginate_queryset(self, queryset, request, view=None):
|
||||||
if request.query_params.get('pageoff', None) or request.query_params.get('page', None) == '0':
|
if request.query_params.get('pageoff', None) or request.query_params.get('page', None) == '0':
|
||||||
if queryset.count() < 800:
|
if queryset.count() < 3000:
|
||||||
return None
|
return None
|
||||||
raise ParseError('单次请求数据量大,请分页获取')
|
raise ParseError('单次请求数据量大,请分页获取')
|
||||||
return super().paginate_queryset(queryset, request, view=view)
|
return super().paginate_queryset(queryset, request, view=view)
|
||||||
|
|
|
@ -289,6 +289,11 @@ class MlogSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
def validate(self, attrs):
|
def validate(self, attrs):
|
||||||
mtask = attrs.get('mtask', None)
|
mtask = attrs.get('mtask', None)
|
||||||
|
count_notok = 0
|
||||||
|
for i in attrs:
|
||||||
|
if 'count_n_' in i:
|
||||||
|
count_notok = count_notok + attrs[i]
|
||||||
|
attrs['count_notok'] = count_notok
|
||||||
if mtask:
|
if mtask:
|
||||||
if mtask.start_date == mtask.end_date:
|
if mtask.start_date == mtask.end_date:
|
||||||
attrs['handle_date'] = mtask.start_date
|
attrs['handle_date'] = mtask.start_date
|
||||||
|
|
Loading…
Reference in New Issue