fix: 成员离厂有限制2

This commit is contained in:
caoqianming 2023-03-24 16:20:50 +08:00
parent 9d7739ae59
commit 1966dde2c0
2 changed files with 5 additions and 5 deletions

View File

@ -222,7 +222,7 @@ class RpjmemberCreateSerializer(CustomModelSerializer):
def create(self, validated_data): def create(self, validated_data):
rpj = validated_data['rpj'] rpj = validated_data['rpj']
if rpj.state in [Rpj.RPJ_DONE, Rpj.RPJ_CLOSE]: if rpj.state in [Rpj.RPJ_DONE, Rpj.RPJ_CLOSE]:
raise ParseError('成员该项目状态不可新增') raise ParseError('该项目状态成员不可新增')
rcertificates = validated_data.pop('rcertificates') rcertificates = validated_data.pop('rcertificates')
remployee = validated_data['remployee'] remployee = validated_data['remployee']
if remployee.phone and remployee.photo and remployee.id_number: if remployee.phone and remployee.photo and remployee.id_number:
@ -268,7 +268,7 @@ class RpjmemberUpdateSerializer(CustomModelSerializer):
def update(self, instance, validated_data): def update(self, instance, validated_data):
rpj = validated_data['rpj'] rpj = validated_data['rpj']
if rpj.state in [Rpj.RPJ_DONE, Rpj.RPJ_CLOSE]: if rpj.state in [Rpj.RPJ_DONE, Rpj.RPJ_CLOSE]:
raise ParseError('成员该项目状态不可修改') raise ParseError('该项目状态成员不可修改')
rcertificates = validated_data.pop('rcertificates') rcertificates = validated_data.pop('rcertificates')
with transaction.atomic(): with transaction.atomic():
ins = super().update(instance, validated_data) ins = super().update(instance, validated_data)

View File

@ -205,7 +205,7 @@ class RpjViewSet(CustomModelViewSet):
if obj.state in [Rpj.RPJ_ENTER, Rpj.RPJ_DONE]: if obj.state in [Rpj.RPJ_ENTER, Rpj.RPJ_DONE]:
raise ParseError('该项目不可删除') raise ParseError('该项目不可删除')
elif obj.state == Rpj.RPJ_WORKING and Remployee.objects.filter(rpj=obj).exists(): elif obj.state == Rpj.RPJ_WORKING and Remployee.objects.filter(rpj=obj).exists():
raise ParseError('该项目员在厂不可删除') raise ParseError('该项目下有成员在厂不可删除')
if obj.ticket: if obj.ticket:
obj.ticket.delete() obj.ticket.delete()
obj.delete() obj.delete()
@ -237,8 +237,8 @@ class RpjmemberViewSet(CustomModelViewSet):
""" """
obj = self.get_object() obj = self.get_object()
rpj = obj.rpj rpj = obj.rpj
if rpj.state != Rpj.RPJ_WORKING: if rpj.state != [Rpj.RPJ_WORKING, Rpj.RPJ_ENTER]:
raise ParseError('成员非进行状态不可离厂') raise ParseError('该项目状态成员不可离厂')
obj.note = '提前离厂' obj.note = '提前离厂'
obj.save() obj.save()
rpj_member_leave(obj) rpj_member_leave(obj)