fix: eaxm/view serializer 发证编号

This commit is contained in:
zty 2024-06-13 11:15:08 +08:00
parent e791dbc43b
commit 75e28817a2
3 changed files with 11 additions and 5 deletions

View File

@ -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__'

View File

@ -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,

View File

@ -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)