Merge branch 'master' of https://e.coding.net/ctcdevteam/examtest
This commit is contained in:
commit
f6e0157552
|
@ -0,0 +1,19 @@
|
||||||
|
# Generated by Django 3.0.4 on 2022-08-11 12:56
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('examtest', '0036_auto_20220528_2203'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='exam',
|
||||||
|
name='paper',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='examtest.Paper', verbose_name='选定的试卷'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -23,7 +23,7 @@ class Exam(CommonModel):
|
||||||
train_name = models.CharField('培训名称', null=True, blank=True, max_length=50)
|
train_name = models.CharField('培训名称', null=True, blank=True, max_length=50)
|
||||||
train_start_date = models.DateField('培训开始日期', null=True)
|
train_start_date = models.DateField('培训开始日期', null=True)
|
||||||
train_end_date = models.DateField('培训结束日期', null=True)
|
train_end_date = models.DateField('培训结束日期', null=True)
|
||||||
|
paper = models.ForeignKey(Paper, verbose_name='选定的试卷', on_delete=models.CASCADE, null=True, blank=True)
|
||||||
qdimgs = JSONField('签到图片', default=list)
|
qdimgs = JSONField('签到图片', default=list)
|
||||||
xcimgs = JSONField('现场图片', default=list)
|
xcimgs = JSONField('现场图片', default=list)
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,7 @@ class ExamTestListSerializer(serializers.ModelSerializer):
|
||||||
paper_name = serializers.StringRelatedField(source='paper', read_only=True)
|
paper_name = serializers.StringRelatedField(source='paper', read_only=True)
|
||||||
exam_name = serializers.StringRelatedField(source='exam', read_only=True)
|
exam_name = serializers.StringRelatedField(source='exam', read_only=True)
|
||||||
consumer_name = serializers.SerializerMethodField()
|
consumer_name = serializers.SerializerMethodField()
|
||||||
|
consumer_username = serializers.CharField(source='consumer.username', read_only=True)
|
||||||
took_format = serializers.SerializerMethodField()
|
took_format = serializers.SerializerMethodField()
|
||||||
consumer_company_name = serializers.SerializerMethodField()
|
consumer_company_name = serializers.SerializerMethodField()
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -168,7 +169,7 @@ class ExamCreateUpdateSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Exam
|
model = Exam
|
||||||
fields = ['name', 'place', 'opentime', 'closetime', 'proctor_name', 'proctor_phone', 'workscope', 'chance',
|
fields = ['name', 'place', 'opentime', 'closetime', 'proctor_name', 'proctor_phone', 'workscope', 'chance',
|
||||||
'train_name', 'train_start_date', 'train_end_date']
|
'train_name', 'train_start_date', 'train_end_date', 'paper']
|
||||||
|
|
||||||
class ExamListSerializer(serializers.ModelSerializer):
|
class ExamListSerializer(serializers.ModelSerializer):
|
||||||
create_admin_username = serializers.StringRelatedField(source='create_admin')
|
create_admin_username = serializers.StringRelatedField(source='create_admin')
|
||||||
|
@ -254,5 +255,5 @@ class ExamTestExamListSerializer(serializers.ModelSerializer):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def setup_eager_loading(queryset):
|
def setup_eager_loading(queryset):
|
||||||
""" Perform necessary eager loading of data. """
|
""" Perform necessary eager loading of data. """
|
||||||
queryset = queryset.select_related('candidate')
|
queryset = queryset.select_related('candidate', 'consumer')
|
||||||
return queryset
|
return queryset
|
|
@ -125,13 +125,19 @@ class ExamViewSet(ModelViewSet):
|
||||||
obj = Exam.objects.get(pk=kwargs['pk'])
|
obj = Exam.objects.get(pk=kwargs['pk'])
|
||||||
workscope = obj.workscope
|
workscope = obj.workscope
|
||||||
ret = {}
|
ret = {}
|
||||||
if workscope.name in ['医学Ⅲ类', '非医学Ⅲ类']:
|
ret['name'] = obj.name
|
||||||
ret['name'] = obj.name
|
ret['consumer_detail'] = request.data
|
||||||
ret['consumer_detail'] = request.data
|
ret['type'] = '正式考试' # 正式考试
|
||||||
ret['type'] = '正式考试' # 正式考试
|
ret['exam'] = kwargs['pk']
|
||||||
ret['exam'] = kwargs['pk']
|
ret['exam_'] = ExamListSerializer(instance=obj).data
|
||||||
ret['exam_'] = ExamListSerializer(instance=obj).data
|
ret['workscope'] = workscope.id
|
||||||
ret['workscope'] = workscope.id
|
if obj.paper:
|
||||||
|
serializer = PaperDetailSerializer(instance=obj.paper)
|
||||||
|
ret['paper'] = obj.paper.id
|
||||||
|
retx = serializer.data
|
||||||
|
retx.update(ret)
|
||||||
|
return Response(retx)
|
||||||
|
elif workscope.name in ['医学Ⅲ类', '非医学Ⅲ类']:
|
||||||
ret['limit'] = 45
|
ret['limit'] = 45
|
||||||
ret['total_score'] = 120
|
ret['total_score'] = 120
|
||||||
ret['pass_score'] = 90
|
ret['pass_score'] = 90
|
||||||
|
@ -159,12 +165,6 @@ class ExamViewSet(ModelViewSet):
|
||||||
ret['questions'] = questions
|
ret['questions'] = questions
|
||||||
return Response(ret)
|
return Response(ret)
|
||||||
elif workscope.name in ['放射工作人员(上岗)', '放射工作人员(在岗)']:
|
elif workscope.name in ['放射工作人员(上岗)', '放射工作人员(在岗)']:
|
||||||
ret['name'] = obj.name
|
|
||||||
ret['consumer_detail'] = request.data
|
|
||||||
ret['type'] = '正式考试' # 正式考试
|
|
||||||
ret['exam'] = kwargs['pk']
|
|
||||||
ret['exam_'] = ExamListSerializer(instance=obj).data
|
|
||||||
ret['workscope'] = workscope.id
|
|
||||||
ret['limit'] = workscope.rule.limit
|
ret['limit'] = workscope.rule.limit
|
||||||
ret['total_score'] = workscope.rule.total_score
|
ret['total_score'] = workscope.rule.total_score
|
||||||
ret['pass_score'] = workscope.rule.pass_score
|
ret['pass_score'] = workscope.rule.pass_score
|
||||||
|
@ -645,7 +645,7 @@ class ExamTestViewSet(PageOrNot, ModelViewSet):
|
||||||
return Response({"id":candidate.pk, "number":candidate.number, "path":path})
|
return Response({"id":candidate.pk, "number":candidate.number, "path":path})
|
||||||
|
|
||||||
|
|
||||||
class PaperViewSet(ModelViewSet):
|
class PaperViewSet(PageOrNot, ModelViewSet):
|
||||||
"""
|
"""
|
||||||
押题卷增删改查
|
押题卷增删改查
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue