绑定工单时同步创建人
This commit is contained in:
parent
d39f91ccbb
commit
9c5cf57e59
|
@ -197,6 +197,7 @@ class OplListSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class OplDetailSerializer(CustomModelSerializer):
|
class OplDetailSerializer(CustomModelSerializer):
|
||||||
|
cate_name = serializers.CharField(source='cate.name', read_only=True)
|
||||||
operation_ = OperationDetailSerializer(source='operation', read_only=True)
|
operation_ = OperationDetailSerializer(source='operation', read_only=True)
|
||||||
dept_do_ = DeptSimpleSerializer(source='dept_do', read_only=True)
|
dept_do_ = DeptSimpleSerializer(source='dept_do', read_only=True)
|
||||||
charger_ = UserSimpleSerializer(source='charger', read_only=True)
|
charger_ = UserSimpleSerializer(source='charger', read_only=True)
|
||||||
|
|
|
@ -42,6 +42,7 @@ def bind_opl(ticket: Ticket, transition: Transition, new_ticket_data: dict):
|
||||||
'dept_bus': opl.operation.dept_bus.id
|
'dept_bus': opl.operation.dept_bus.id
|
||||||
})
|
})
|
||||||
ticket.ticket_data = ticket_data
|
ticket.ticket_data = ticket_data
|
||||||
|
ticket.create_by = opl.create_by
|
||||||
ticket.save()
|
ticket.save()
|
||||||
opl.ticket = ticket
|
opl.ticket = ticket
|
||||||
opl.number = ticket.sn
|
opl.number = ticket.sn
|
||||||
|
|
|
@ -73,6 +73,8 @@ class RfileListSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class RpjCreateUpdateSerializer(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:
|
class Meta:
|
||||||
model = Rpj
|
model = Rpj
|
||||||
fields = ['name', 'contract_number', 'type', 'come_time', 'leave_time', 'belong_dept', 'rparty']
|
fields = ['name', 'contract_number', 'type', 'come_time', 'leave_time', 'belong_dept', 'rparty']
|
||||||
|
|
|
@ -20,6 +20,7 @@ def bind_rpj(ticket: Ticket, transition: Transition, new_ticket_data: dict):
|
||||||
rpj.state = Rpj.RPJ_AUDIT
|
rpj.state = Rpj.RPJ_AUDIT
|
||||||
rpj.save()
|
rpj.save()
|
||||||
ticket.belong_dept = rpj.belong_dept
|
ticket.belong_dept = rpj.belong_dept
|
||||||
|
ticket.create_by = rpj.create_by
|
||||||
ticket.save()
|
ticket.save()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,14 @@ class RpartyViewSet(CustomModelViewSet):
|
||||||
serializer_class = RpartySerializer
|
serializer_class = RpartySerializer
|
||||||
select_related_fields = ['admin', 'belong_dept']
|
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)
|
@action(methods=['post'], detail=True, perms_map={'post': 'rparty:assgin'}, serializer_class=RpartyAssignSerializer)
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
def assign(self, request, *args, **kwargs):
|
def assign(self, request, *args, **kwargs):
|
||||||
|
@ -59,7 +67,7 @@ class RfileViewSet(ListModelMixin, CustomGenericViewSet):
|
||||||
queryset = super().get_queryset()
|
queryset = super().get_queryset()
|
||||||
# 防止越权,加入的逻辑,可以通过岗位控权实现
|
# 防止越权,加入的逻辑,可以通过岗位控权实现
|
||||||
if self.request.user.type == 'remployee':
|
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
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
|
@ -118,7 +126,7 @@ class RpjViewSet(CustomModelViewSet):
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
queryset = super().get_queryset()
|
queryset = super().get_queryset()
|
||||||
if self.request.user.type == 'remployee':
|
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
|
return queryset
|
||||||
|
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
|
|
|
@ -11,6 +11,7 @@ def bind_visit(ticket, transition, new_ticket_data: dict):
|
||||||
visit.state = Visit.V_AUDIT
|
visit.state = Visit.V_AUDIT
|
||||||
visit.save()
|
visit.save()
|
||||||
ticket.belong_dept = visit.receptionist.belong_dept
|
ticket.belong_dept = visit.receptionist.belong_dept
|
||||||
|
ticket.create_by = visit.create_by
|
||||||
ticket.save()
|
ticket.save()
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue