|
@@ -6,7 +6,7 @@ from django.db import transaction
|
|
|
from rest_framework.views import APIView
|
|
|
from rest_framework import generics
|
|
|
import datetime
|
|
|
-from django.db.models import Sum
|
|
|
+from django.db.models import Sum,Count
|
|
|
from rest_framework_jwt.views import ObtainJSONWebToken,VerifyJSONWebToken,RefreshJSONWebToken
|
|
|
from rest_framework.serializers import ValidationError
|
|
|
from utils import response_ok, response_error
|
|
@@ -185,14 +185,15 @@ class StatisticsEvaluateView(APIView):
|
|
|
# 分组统计分析
|
|
|
rows = RepairOrderComment.objects.filter(repair_order__tenant=tenant,create_time__gte=date,) \
|
|
|
.values('repair_user_id') \
|
|
|
- .annotate(count=Sum('start')) \
|
|
|
- .values('repair_user__employee__name', 'count')
|
|
|
+ .annotate(starts=Sum('start'),count=Count('id')) \
|
|
|
+ .values('repair_user__employee__name', 'starts', 'count')
|
|
|
for row in rows:
|
|
|
item = {
|
|
|
'title':row['repair_user__employee__name'],
|
|
|
- 'data':row['count'],
|
|
|
+ 'data':round(float(row['starts']) / float(row['count']),2),
|
|
|
}
|
|
|
data.append(item)
|
|
|
+ data.sort(key=lambda d: d['data'], reverse=True)
|
|
|
|
|
|
return response_ok(data)
|
|
|
|