绑定工单时同步创建人

This commit is contained in:
曹前明 2022-08-03 15:34:33 +08:00
parent d39f91ccbb
commit 9c5cf57e59
6 changed files with 16 additions and 2 deletions

View File

@ -197,6 +197,7 @@ class OplListSerializer(CustomModelSerializer):
class OplDetailSerializer(CustomModelSerializer):
cate_name = serializers.CharField(source='cate.name', read_only=True)
operation_ = OperationDetailSerializer(source='operation', read_only=True)
dept_do_ = DeptSimpleSerializer(source='dept_do', read_only=True)
charger_ = UserSimpleSerializer(source='charger', read_only=True)

View File

@ -42,6 +42,7 @@ def bind_opl(ticket: Ticket, transition: Transition, new_ticket_data: dict):
'dept_bus': opl.operation.dept_bus.id
})
ticket.ticket_data = ticket_data
ticket.create_by = opl.create_by
ticket.save()
opl.ticket = ticket
opl.number = ticket.sn

View File

@ -73,6 +73,8 @@ class RfileListSerializer(CustomModelSerializer):
class RpjCreateUpdateSerializer(CustomModelSerializer):
rparty = serializers.PrimaryKeyRelatedField(queryset=Rparty.objects.all(), required=False)
belong_dept = serializers.PrimaryKeyRelatedField(queryset=Dept.objects.all(), required=False)
class Meta:
model = Rpj
fields = ['name', 'contract_number', 'type', 'come_time', 'leave_time', 'belong_dept', 'rparty']

View File

@ -20,6 +20,7 @@ def bind_rpj(ticket: Ticket, transition: Transition, new_ticket_data: dict):
rpj.state = Rpj.RPJ_AUDIT
rpj.save()
ticket.belong_dept = rpj.belong_dept
ticket.create_by = rpj.create_by
ticket.save()

View File

@ -24,6 +24,14 @@ class RpartyViewSet(CustomModelViewSet):
serializer_class = RpartySerializer
select_related_fields = ['admin', 'belong_dept']
def get_queryset(self):
queryset = super().get_queryset()
# 防止越权,加入的逻辑,可以通过岗位控权实现
if self.request.user.type == 'remployee':
queryset = queryset.filter(dept=self.request.user.belong_dept)
return queryset
@action(methods=['post'], detail=True, perms_map={'post': 'rparty:assgin'}, serializer_class=RpartyAssignSerializer)
@transaction.atomic
def assign(self, request, *args, **kwargs):
@ -59,7 +67,7 @@ class RfileViewSet(ListModelMixin, CustomGenericViewSet):
queryset = super().get_queryset()
# 防止越权,加入的逻辑,可以通过岗位控权实现
if self.request.user.type == 'remployee':
queryset = queryset.filter(rparty=self.request.user.belong_dept)
queryset = queryset.filter(rparty__dept=self.request.user.belong_dept)
return queryset
@ -118,7 +126,7 @@ class RpjViewSet(CustomModelViewSet):
def get_queryset(self):
queryset = super().get_queryset()
if self.request.user.type == 'remployee':
queryset = queryset.filter(belong_dept=self.request.user.belong_dept)
queryset = queryset.filter(rparty__dept=self.request.user.belong_dept)
return queryset
@transaction.atomic

View File

@ -11,6 +11,7 @@ def bind_visit(ticket, transition, new_ticket_data: dict):
visit.state = Visit.V_AUDIT
visit.save()
ticket.belong_dept = visit.receptionist.belong_dept
ticket.create_by = visit.create_by
ticket.save()