feat: base wf 支持反向查询获取处理人

This commit is contained in:
caoqianming 2025-12-11 13:43:44 +08:00
parent 87549bde20
commit 3782938615
1 changed files with 9 additions and 1 deletions

View File

@ -184,7 +184,15 @@ class WfService(object):
dpt_attrs = state.filter_dept.split('.') # 通过反向查询得到可能有多层 dpt_attrs = state.filter_dept.split('.') # 通过反向查询得到可能有多层
expr = ticket expr = ticket
for i in dpt_attrs: for i in dpt_attrs:
try:
expr = getattr(expr, i) expr = getattr(expr, i)
except AttributeError as e:
if "'RelatedManager' object has no attribute" in str(e):
expr = getattr(expr.first(), i)
else:
raise
if expr is None:
raise ParseError('未找到对应部门')
dpts = Dept.objects.filter(id=expr.id) dpts = Dept.objects.filter(id=expr.id)
user_queryset = user_queryset.filter(depts__in=dpts) user_queryset = user_queryset.filter(depts__in=dpts)
# if state.filter_policy == 1: # if state.filter_policy == 1: