diff --git a/apps/rpm/serializers.py b/apps/rpm/serializers.py index 9afea63a..dfed379c 100644 --- a/apps/rpm/serializers.py +++ b/apps/rpm/serializers.py @@ -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