授予区域权限暂时未做

This commit is contained in:
曹前明 2022-07-18 16:11:00 +08:00
parent 118ca0ff1a
commit 2f65784a43
4 changed files with 35 additions and 12 deletions

View File

@ -39,23 +39,24 @@ def bind_opl(ticket: Ticket, transition: Transition, new_ticket_data: dict):
'charger': opl.charger.id,
'dept_ter': opl.operation.dept_ter.id,
'dept_bus': opl.operation.dept_bus.id
})
})
ticket.ticket_data = ticket_data
ticket.save()
opl.ticket = ticket
opl.number = ticket.sn
opl.save()
op = opl.operation
if op.state == Operation.OP_CREATE:
op.state = Operation.OP_AUDIT
op.save()
def opl_audit_end(ticket: Ticket, transition: Transition, new_ticket_data: dict):
opl = Opl.objects.get(ticket=ticket)
serializer = OplCloseSerializer(instance=opl, data=new_ticket_data, partial=True)
serializer.is_valid(raise_exception=True)
serializer.save()
op = opl.operation
if op.state == Operation.OP_AUDIT:
op.state = Operation.OP_WORK
op.save()
def give_perm_by_opl():
"""
根据许可证授予区域进入权限
"""
pass
# 授予相关工作人员区域进入权限

View File

@ -0,0 +1,18 @@
# Generated by Django 3.2.12 on 2022-07-18 07:46
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('wf', '0004_auto_20220718_1344'),
]
operations = [
migrations.AlterField(
model_name='state',
name='filter_dept',
field=models.CharField(blank=True, max_length=20, null=True, verbose_name='部门字段过滤'),
),
]

View File

@ -103,7 +103,7 @@ class State(CommonAModel):
distribute_type = models.IntegerField('分配方式', default=1, choices=state_distribute_choices,
help_text='1.主动接单(如果当前处理人实际为多人的时候,需要先接单才能处理) 2.直接处理(即使当前处理人实际为多人,也可以直接处理) 3.随机分配(如果实际为多人,则系统会随机分配给其中一个人) 4.全部处理(要求所有参与人都要处理一遍,才能进入下一步)')
# filter_policy = models.IntegerField('参与人过滤策略', default=0, choices=state_filter_choices)
filter_dept = models.CharField('部门字段过滤', default=0, max_length=20)
filter_dept = models.CharField('部门字段过滤', max_length=20, null=True, blank=True)
participant_cc = models.JSONField('抄送给', default=list, blank=True, help_text='抄送给(userid列表)')
on_reach_func = models.CharField('到达时调用方法', max_length=100, null=True, blank=True)

View File

@ -175,7 +175,9 @@ class WfService(object):
user_queryset = User.objects.filter(posts__in=destination_participant)
# 如果选择了岗位, 可能需要走过滤策略
if state.filter_dept:
dpts = Dept.objects.filter(id=new_ticket_data.get(state.filter_dept, '0'))
if not new_ticket_data.get(state.filter_dept, None):
raise ParseError('部门过滤字段错误')
dpts = Dept.objects.filter(id=new_ticket_data[state.filter_dept])
user_queryset = user_queryset.filter(depts__in=dpts)
# if state.filter_policy == 1:
# depts = get_parent_queryset(ticket.belong_dept)
@ -191,7 +193,9 @@ class WfService(object):
user_queryset = User.objects.filter(roles__in=destination_participant)
# 如果选择了角色, 需要走过滤策略
if state.filter_dept:
dpts = Dept.objects.filter(id=new_ticket_data.get(state.filter_dept, '0'))
if not new_ticket_data.get(state.filter_dept, None):
raise ParseError('部门过滤字段错误')
dpts = Dept.objects.filter(id=new_ticket_data[state.filter_dept])
user_queryset = user_queryset.filter(depts__in=dpts)
# if state.filter_policy == 1:
# depts = get_parent_queryset(ticket.belong_dept)