diff --git a/server/apps/exam/serializers.py b/server/apps/exam/serializers.py index 769e4a8..7c87633 100644 --- a/server/apps/exam/serializers.py +++ b/server/apps/exam/serializers.py @@ -88,6 +88,7 @@ class ExamListSerializer(ModelSerializer): course_ = CourseSerializer(source='course_name', read_only=True) user_count = serializers.SerializerMethodField() submit_count = serializers.SerializerMethodField() + limit = CharField(source='paper.limit', read_only=True) class Meta: model = Exam fields = '__all__' diff --git a/server/apps/exam/views.py b/server/apps/exam/views.py index cc9d824..4a91461 100644 --- a/server/apps/exam/views.py +++ b/server/apps/exam/views.py @@ -20,6 +20,7 @@ from apps.exam.filters import ExamRecordFilter, ExamFilter from datetime import timedelta from apps.system.mixins import CreateUpdateCustomMixin from apps.edu.serializers import CertificateSerializer +from apps.edu.models import Certificate from utils.queryset import get_child_queryset2 from apps.system.permission import has_permission from apps.exam.parse_word import interpret_text @@ -485,7 +486,8 @@ class ExamViewSet(CreateUpdateCustomMixin, ModelViewSet): 开始考试具体题目信息 """ - exam = self.get_object() + # exam = self.get_object() + exam = Exam.objects.get(id=kwargs['pk']) # 查询本次考试对应哪些人 participants = exam.participant_user.all() participants_ids = [i.id for i in participants] @@ -641,10 +643,15 @@ class ExamRecordViewSet(ListModelMixin, DestroyModelMixin, RetrieveModelMixin, G courese_ids = [i.id for i in course] current_date = now_data.strftime('%Y-%m-%d') cer_number = now_data.strftime('%Y%m%d') + # 查询证明编号创建时间为最后一个 + cer = Certificate.objects.latest('证书编号') + if cer: + cer_number = int(cer.证书编号[4:]) + 1 + cer_number = 'CTCZL' + str(cer_number) data_dict = { '姓名': request.user.name, '用户ID': request.user.id, - '证书编号': 'CTCZL'+ cer_number, + '证书编号': cer_number, '证书方案': '202312', '单位名称': request.user.dept.name, '所属单位': '国检测试控股集团'+request.user.dept.name, diff --git a/server/apps/system/views.py b/server/apps/system/views.py index 1880520..06ca708 100644 --- a/server/apps/system/views.py +++ b/server/apps/system/views.py @@ -100,8 +100,6 @@ class ImpMixin: if 'file' not in request.data: raise ParseError('请提供文件') path = request.data['file'] - print(path, "---------ssss") - if not str(path).endswith('.xlsx'): raise ParseError('请提供xlsx格式文件') fullpath = settings.BASE_DIR + str(path) @@ -348,7 +346,7 @@ class UserExamViewset(ImpMixin, ModelViewSet): if not exam_role: return Response({'msg': '考试角色不存在'}) for row in sheet.iter_rows(min_row=start, values_only=True): # 假设第一行是表头,从第二行开始读取数据 - if row[0] is not None: + if row[1] is not None: dept = Organization.objects.get(name=row[3]) user_depts = get_child_queryset2(request.user.dept).order_by('sort') serializer = OrganizationSerializer(user_depts, many=True)