diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py
index b32980686..9ac2f1fb3 100644
--- a/soong_workflow/wizard/soong_workflow_comment_wizard.py
+++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py
@@ -88,14 +88,23 @@ class SoongWorkflowCommentWizard(models.TransientModel):
for ret in self.trans_link_id:
workflow_id = self.trans_link_id.node_button_id.workflow_id
link_users_id = workflow_id.node_ids.search([('name', '=', self.trans_link_id.name), ('workflow_id', '=', workflow_id.id)]).button_ids[0].users_role_id
+ link_users_group_id = workflow_id.node_ids.search([('name', '=', self.trans_link_id.name), ('workflow_id', '=', workflow_id.id)]).button_ids[0].users_role_group_id
next_is_automatic = workflow_id.node_ids.search([('name', '=', self.trans_link_id.name), ('workflow_id', '=', workflow_id.id)]).button_ids[0].is_automatic
- employee_user_role_ids = self.env['hr.employee'].search(['|', ('user_role_id', '=', link_users_id.id), ('user_role_ids', 'in', link_users_id.id), ('company_id', '=', self.env.user.company_id.id)]) # 自动匹配
- employee_user_role_id = self.env['hr.employee'].search(['|', ('user_role_id', '=', link_users_id.id), ('user_role_ids', 'in', link_users_id.id),
- '|', ('department_id', '=', record_id.department_id.id), ('department_ids', 'in', record_id.department_id.id), ('company_id', '=', self.env.user.company_id.id)]) # 不自动匹配
- if not employee_user_role_id:
- employee_user_role_id = self.env['hr.employee'].search(
- ['|', ('user_role_id', '=', link_users_id.id), ('user_role_ids', 'in', link_users_id.id),
- '|', ('department_id', '=', record_id.department_id.parent_id.id), ('department_ids', 'in', record_id.department_id.parent_id.id)])
+ employee_user_role_ids = employee_user_role_id = ''
+ if link_users_id and link_users_group_id:
+ raise UserError('流程配置错误,节点不允许配置两种类型')
+ if link_users_id:
+ employee_user_role_ids = self.env['hr.employee'].search(['|', ('user_role_id', '=', link_users_id.id), ('user_role_ids', 'in', link_users_id.id), ('company_id', '=', self.env.user.company_id.id)]) # 自动匹配
+ employee_user_role_id = self.env['hr.employee'].search(['|', ('user_role_id', '=', link_users_id.id), ('user_role_ids', 'in', link_users_id.id),
+ '|', ('department_id', '=', record_id.department_id.id), ('department_ids', 'in', record_id.department_id.id), ('company_id', '=', self.env.user.company_id.id)]) # 不自动匹配
+ elif link_users_group_id:
+ # 不自动匹配
+ employee_role_ids = self.env['hr.employee'].search(['|', ('user_role_id', 'in', link_users_group_id.user_role_ids.ids),('user_role_ids', 'in', link_users_group_id.user_role_ids.ids), ])
+ # 自动匹配
+ employee_user_role_id = self.env['hr.employee'].search([('id', 'in', employee_role_ids.ids),
+ '|', ('department_id', '=', record_id.department_id.id),
+ ('department_ids', 'in', record_id.department_id.id),
+ ('company_id', '=', self.env.user.company_id.id)]) # 自动匹配
self.employee_trans_domain_ids = employee_user_role_ids if not next_is_automatic else employee_user_role_id
self.employee_ids = employee_user_role_ids if not next_is_automatic else employee_user_role_id
if '分发' in ret.name: