fix exam full name
This commit is contained in:
parent
acdaddc343
commit
da54f7bdfa
|
@ -5,7 +5,7 @@ from apps.system.models import CommonADModel, CommonAModel
|
|||
|
||||
|
||||
class Course(CommonAModel):
|
||||
name = models.CharField("课程名", max_length=20)
|
||||
name = models.CharField("课程名", max_length=100)
|
||||
|
||||
|
||||
class Certificate(CommonADModel):
|
||||
|
|
|
@ -695,7 +695,7 @@ class ExamRecordViewSet(ListModelMixin, DestroyModelMixin, RetrieveModelMixin, G
|
|||
'用户ID': request.user.id,
|
||||
'证书编号': cer_number,
|
||||
'证书方案': '202312',
|
||||
'单位名称': request.user.dept.name,
|
||||
'单位名称': request.user.dept.full_name,
|
||||
'所属单位': '国检测试控股集团'+request.user.dept.name,
|
||||
'发证日期': current_date,
|
||||
'培训日期':current_date,
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 3.2.12 on 2024-07-23 00:44
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('system', '0023_alter_user_first_name'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='organization',
|
||||
name='full_name',
|
||||
field=models.CharField(blank=True, max_length=100, null=True, verbose_name='全称'),
|
||||
),
|
||||
]
|
|
@ -62,6 +62,7 @@ class Organization(SoftModel):
|
|||
组织架构
|
||||
"""
|
||||
name = models.CharField('名称', max_length=60)
|
||||
full_name = models.CharField('全称', max_length=100, null=True, blank=True)
|
||||
type = models.ForeignKey('system.dict', verbose_name='组织类型', null=True, blank=True, on_delete=models.SET_NULL)
|
||||
pid = models.ForeignKey('self', null=True, blank=True,
|
||||
on_delete=models.SET_NULL, verbose_name='父')
|
||||
|
|
|
@ -110,8 +110,14 @@ class ImpMixin:
|
|||
serializer = mySerializer(data=data_list, many=True, context={'request': request})
|
||||
if serializer.is_valid():
|
||||
serializer.save()
|
||||
else:
|
||||
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||
else:
|
||||
err_msg = ''
|
||||
if isinstance(serializer.errors, list):
|
||||
for ind, val in enumerate(serializer.errors):
|
||||
if val:
|
||||
err_msg = f'第{ind+2}行: {str(val)}'
|
||||
break
|
||||
raise ParseError(err_msg)
|
||||
|
||||
return Response({'uploaded': 'File uploaded successfully'}, status=status.HTTP_201_CREATED)
|
||||
|
||||
|
@ -344,17 +350,19 @@ class UserExamViewset(ImpMixin, ModelViewSet):
|
|||
data_list = []
|
||||
exam_role = Role.objects.get(name='考试')
|
||||
if not exam_role:
|
||||
return Response({'msg': '考试角色不存在'})
|
||||
for row in sheet.iter_rows(min_row=start, values_only=True): # 假设第一行是表头,从第二行开始读取数据
|
||||
raise ParseError('考试角色不存在')
|
||||
depts_dict = {dept.name: dept for dept in Organization.objects.all()}
|
||||
for ind, row in enumerate(sheet.iter_rows(min_row=start, values_only=True)): # 假设第一行是表头,从第二行开始读取数据
|
||||
if row[0] is not None:
|
||||
dept = Organization.objects.get(name=row[2])
|
||||
user_depts = get_child_queryset2(self.request.user.dept).order_by('sort')
|
||||
depts = any(i.name==dept.name for i in user_depts)
|
||||
if depts is False:
|
||||
return Response({'msg': f'本公司下不存在此部门{row[2]}'})
|
||||
deptname = row[2].strip()
|
||||
username = row[1].replace(' ', '').strip()
|
||||
name = row[0].replace(' ', '').strip()
|
||||
dept = depts_dict.get(deptname, None)
|
||||
if dept is None:
|
||||
raise ParseError(f'第{ind}行不存在此部门{deptname}')
|
||||
serializer_data = {
|
||||
'name': row[0],
|
||||
'username':row[1],
|
||||
'name': name,
|
||||
'username':username,
|
||||
'dept':dept.id,
|
||||
'roles':[exam_role.id],
|
||||
'avatar': "/media/default/avatar.png"
|
||||
|
|
Loading…
Reference in New Issue