feat: 相关方人员重新入厂
This commit is contained in:
parent
dab2d164b1
commit
1de238ca07
|
@ -231,11 +231,15 @@ class RpjmemberCreateSerializer(CustomModelSerializer):
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
raise ParseError('该成员信息不全请补充')
|
raise ParseError('该成员信息不全请补充')
|
||||||
|
re_in = False
|
||||||
if Rpjmember.objects.filter(remployee=remployee, rpj=validated_data['rpj']).exists():
|
if Rpjmember.objects.filter(remployee=remployee, rpj=validated_data['rpj']).exists():
|
||||||
raise ParseError('该成员已选择')
|
re_in =True
|
||||||
with transaction.atomic():
|
with transaction.atomic():
|
||||||
reason = validated_data.pop('reason', '')
|
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:
|
for x in rcertificates:
|
||||||
rpjc = Rpjcertificate.objects.filter(rpj_member=ins, rcertificate=x).first()
|
rpjc = Rpjcertificate.objects.filter(rpj_member=ins, rcertificate=x).first()
|
||||||
if rpjc:
|
if rpjc:
|
||||||
|
@ -257,9 +261,12 @@ class RpjmemberCreateSerializer(CustomModelSerializer):
|
||||||
rpj_member_come(ins)
|
rpj_member_come(ins)
|
||||||
rpj_certificate_in(ins)
|
rpj_certificate_in(ins)
|
||||||
ins.note = '后入厂'
|
ins.note = '后入厂'
|
||||||
|
if re_in:
|
||||||
|
ins.note = '重新入厂'
|
||||||
ins.save()
|
ins.save()
|
||||||
except Exception:
|
except Exception:
|
||||||
ins.delete()
|
if not re_in:
|
||||||
|
ins.delete()
|
||||||
raise
|
raise
|
||||||
RpjLog.objects.create(rpj=rpj, operation='member_come', remployee=remployee, create_by=self.context['request'].user, reason=reason)
|
RpjLog.objects.create(rpj=rpj, operation='member_come', remployee=remployee, create_by=self.context['request'].user, reason=reason)
|
||||||
return ins
|
return ins
|
||||||
|
|
Loading…
Reference in New Issue