fix: 考核记录列表统计不污染查询条件
This commit is contained in:
@@ -9022,13 +9022,13 @@ class KhjlglView(APIView):
|
||||
if page_size > 100:
|
||||
page_size = 100
|
||||
|
||||
qs = _build_shenhe_jilu_filters(request.data)
|
||||
filter_data = request.data
|
||||
qs = _build_shenhe_jilu_filters(filter_data)
|
||||
|
||||
stats_qs = qs
|
||||
agg = stats_qs.aggregate(
|
||||
total_fee=Sum('jiaofei_jine'),
|
||||
)
|
||||
tag_rows = stats_qs.values(
|
||||
# FluentQuery.filter() 会原地修改同一对象;统计与列表必须各自独立查询
|
||||
stats_base = _build_shenhe_jilu_filters(filter_data)
|
||||
agg = stats_base.aggregate(total_fee=Sum('jiaofei_jine'))
|
||||
tag_rows = _build_shenhe_jilu_filters(filter_data).values(
|
||||
'chenghao_id', 'chenghao__mingcheng'
|
||||
).annotate(
|
||||
total=Count('jilu_id'),
|
||||
@@ -9039,11 +9039,11 @@ class KhjlglView(APIView):
|
||||
).order_by('-total')
|
||||
|
||||
stats = {
|
||||
'total': stats_qs.count(),
|
||||
'passed': stats_qs.filter(zhuangtai=1).count(),
|
||||
'failed': stats_qs.filter(zhuangtai=2).count(),
|
||||
'in_progress': stats_qs.filter(zhuangtai=0).count(),
|
||||
'pending': stats_qs.filter(zhuangtai=3).count(),
|
||||
'total': stats_base.count(),
|
||||
'passed': _build_shenhe_jilu_filters(filter_data).filter(zhuangtai=1).count(),
|
||||
'failed': _build_shenhe_jilu_filters(filter_data).filter(zhuangtai=2).count(),
|
||||
'in_progress': _build_shenhe_jilu_filters(filter_data).filter(zhuangtai=0).count(),
|
||||
'pending': _build_shenhe_jilu_filters(filter_data).filter(zhuangtai=3).count(),
|
||||
'total_fee': float(agg['total_fee'] or 0),
|
||||
'tag_stats': [
|
||||
{
|
||||
@@ -9061,7 +9061,7 @@ class KhjlglView(APIView):
|
||||
|
||||
total = qs.count()
|
||||
start = (page - 1) * page_size
|
||||
rows = qs.order_by('-CreateTime')[start:start + page_size]
|
||||
rows = qs.order_by('-CreateTime')[start:start + page_size].to_list()
|
||||
|
||||
uids = []
|
||||
jilu_ids = []
|
||||
|
||||
Reference in New Issue
Block a user