feat: 相关方人员重新入厂

This commit is contained in:
caoqianming 2023-07-06 08:49:18 +08:00
parent dab2d164b1
commit 1de238ca07
1 changed files with 10 additions and 3 deletions

View File

@ -231,11 +231,15 @@ class RpjmemberCreateSerializer(CustomModelSerializer):
pass
else:
raise ParseError('该成员信息不全请补充')
re_in = False
if Rpjmember.objects.filter(remployee=remployee, rpj=validated_data['rpj']).exists():
raise ParseError('该成员已选择')
re_in =True
with transaction.atomic():
reason = validated_data.pop('reason', '')
ins = super().create(validated_data)
if re_in:
ins = Rpjmember.objects.filter(remployee=remployee, rpj=validated_data['rpj']).first()
else:
ins = super().create(validated_data)
for x in rcertificates:
rpjc = Rpjcertificate.objects.filter(rpj_member=ins, rcertificate=x).first()
if rpjc:
@ -257,9 +261,12 @@ class RpjmemberCreateSerializer(CustomModelSerializer):
rpj_member_come(ins)
rpj_certificate_in(ins)
ins.note = '后入厂'
if re_in:
ins.note = '重新入厂'
ins.save()
except Exception:
ins.delete()
if not re_in:
ins.delete()
raise
RpjLog.objects.create(rpj=rpj, operation='member_come', remployee=remployee, create_by=self.context['request'].user, reason=reason)
return ins