diff --git a/apps/opm/serializers.py b/apps/opm/serializers.py index 5a6f59a2..1ff1ce14 100644 --- a/apps/opm/serializers.py +++ b/apps/opm/serializers.py @@ -13,6 +13,7 @@ from apps.wf.serializers import TicketSerializer from apps.system.serializers import FileSerializer from apps.third.serializers import TDeviceSimpleSerializer from django.core.cache import cache +from apps.wf.models import Ticket class OplCateCreateUpdateSerializer(CustomModelSerializer): @@ -93,7 +94,8 @@ class OplWorkerCreateSerializer(CustomModelSerializer): def create(self, validated_data): opl = validated_data['opl'] - if opl.ticket: + ticket = opl.ticket + if ticket and ticket.act_state not in [Ticket.TICKET_ACT_STATE_DRAFT, Ticket.TICKET_ACT_STATE_BACK, Ticket.TICKET_ACT_STATE_RETREAT]: raise ParseError('许可证已处理不可新增') certificates = validated_data.pop('certificates') if OplWorker.objects.filter(worker=validated_data['worker'], opl=validated_data['opl']).exists():