fix: 相关方中途入厂时因事务引发的bug

This commit is contained in:
caoqianming 2023-04-15 21:02:33 +08:00
parent 3af691844b
commit c4805c8d8e
1 changed files with 9 additions and 5 deletions

View File

@ -250,13 +250,17 @@ class RpjmemberCreateSerializer(CustomModelSerializer):
rpjc.save()
if ins.is_manager:
Rpjmember.objects.exclude(id=ins.id).update(is_manager=False)
if rpj.state in [Rpj.RPJ_ENTER, Rpj.RPJ_WORKING]: # 如果是待入厂后添加的
# 需要执行入厂操作
ins.note = '后入厂'
ins.save()
if rpj.state in [Rpj.RPJ_ENTER, Rpj.RPJ_WORKING]: # 如果是待入厂后添加的
# 需要执行入厂操作
try:
rpj_member_come(ins)
rpj_certificate_in(ins)
RpjLog.objects.create(rpj=rpj, operation='member_come', remployee=remployee, create_by=self.context['request'].user, reason=validated_data.get('reason', ''))
ins.note = '后入厂'
ins.save()
except Exception:
ins.delete()
raise
RpjLog.objects.create(rpj=rpj, operation='member_come', remployee=remployee, create_by=self.context['request'].user, reason=validated_data.get('reason', ''))
return ins