满分率,优秀率
This commit is contained in:
parent
aa28846866
commit
a75321c632
|
@ -478,26 +478,28 @@ def exam_rate(request):
|
|||
for i in companys:
|
||||
# 员工数
|
||||
user_count = s_models.User.objects.filter(usecomp=i, deletemark=1).count()
|
||||
# 参加考试员工数
|
||||
# 参加考试员工数/考次数
|
||||
base = s_models.ExamTestDetail.objects.filter(user__usecomp=i, user__deletemark=1, ison=1).exclude(examtest__nousecomps__contains=','+str(i.partid)+',')
|
||||
if start:
|
||||
base = base.filter(examtest__starttime__gte=start)
|
||||
if end:
|
||||
base = base.filter(examtest__starttime__lte=end)
|
||||
# 参加考试员工数
|
||||
testuser_count = base.values('user').distinct().count()
|
||||
# 参考率
|
||||
rate1 = testuser_count/user_count
|
||||
# 考试总数
|
||||
test_count = base.count()
|
||||
# 满分数
|
||||
full_count = base.filter(score__gte= F('examtest__totalscore')).count()
|
||||
# 满分人数
|
||||
full_count = base.filter(score__gte= F('examtest__totalscore')).values('user').distinct().count()
|
||||
# 满分率
|
||||
rate2 = full_count/test_count if test_count else 0
|
||||
# 90分数
|
||||
ninety_count = base.filter(score__gte = F('examtest__totalscore')*0.9).count()
|
||||
rate2 = full_count/user_count if user_count else 0
|
||||
# 90分数人数
|
||||
ninety_count = base.filter(score__gte = F('examtest__totalscore')*0.9).values('user').distinct().count()
|
||||
# 90以上得分率
|
||||
rate3 = ninety_count/test_count if test_count else 0
|
||||
|
||||
rate3 = ninety_count/user_count if user_count else 0
|
||||
if base:
|
||||
print(base, base[0].examtest.id, base[0].user.userid)
|
||||
# rate1 = '%.2f' % (rate1*100)
|
||||
rate1 = int(rate1*100+0.5)
|
||||
rate2 = int(rate2*100+0.5)
|
||||
|
|
Loading…
Reference in New Issue