diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py index 84b9c566d..743981bd0 100644 --- a/soong_workflow/models/soong_workflow_mixin.py +++ b/soong_workflow/models/soong_workflow_mixin.py @@ -559,6 +559,22 @@ class SoongWorkflowMixin(models.AbstractModel): comment_note_id = btn_rec.node_id.comment_id.id else: comment_note_id = False + # 加签人员过滤 + if self.log_ids: + log_node_ids = self.log_ids.mapped('node_id.id') + log_nodes = self.env['soong.workflow.node'].browse(log_node_ids) + all_node_employees = log_nodes.mapped('employee_ids') + else: + current_node = node_list[state_list.index(state)] + all_node_employees = current_node.employee_ids + + log_done_by_users = self.log_ids.mapped('done_by') + log2_done_by_users = self.log_ids2.mapped('done_by') + all_done_by_users = log_done_by_users | log2_done_by_users + done_by_employees = self.env['hr.employee'].search([ + ('user_id', 'in', all_done_by_users.ids) + ]) + all_filter_employees = all_node_employees | done_by_employees return { "name": _("评论"), "type": "ir.actions.act_window", @@ -572,6 +588,7 @@ class SoongWorkflowMixin(models.AbstractModel): 'default_comment_note_id': comment_note_id, "default_code": self.code, "default_res_model": self._name, + "default_filter_personnel_ids": [(6, 0, all_filter_employees.ids)], "default_node_btn_id": btn_rec.id, "default_is_supervising": is_supervising, "default_trans_link_id": self.env['trans.link'].search(trans_domain, limit=1).id if btn_rec.name == '转交' else False, diff --git a/soong_workflow/models/soong_workflow_node.py b/soong_workflow/models/soong_workflow_node.py index 6f20a44c5..8a0915b46 100644 --- a/soong_workflow/models/soong_workflow_node.py +++ b/soong_workflow/models/soong_workflow_node.py @@ -95,16 +95,9 @@ class SoongWorkflowNode(models.Model): ) user_role_ids = fields.Many2many("soong.user.role", string="抄送角色", ) users_role_group_ids = fields.Many2many('soong.user.role.group', string='抄送角色组') - employee1_ids = fields.Many2many( - 'hr.employee', - string='抄送人员', - relation="soong_workflow_node_employee1_rel", - column1="node_id", - column2="employee1_id" - ) employee_ids = fields.Many2many( 'hr.employee', - string='抄送/传阅人员(总和)', + string='抄送/传阅人员', relation="soong_workflow_node_employee_total_rel", column1="node_id", column2="employee_total_id" @@ -142,10 +135,6 @@ class SoongWorkflowNode(models.Model): ('department_id', 'in', record.department1_ids.ids) ]) final_employees |= dept_employees - - if record.employee1_ids: - final_employees |= record.employee1_ids - record.employee_ids = final_employees if final_employees else [(5, 0, 0)] @api.onchange("is_apostille") diff --git a/soong_workflow/views/soong_workflow_node_views.xml b/soong_workflow/views/soong_workflow_node_views.xml index 107409e1f..02263bf35 100644 --- a/soong_workflow/views/soong_workflow_node_views.xml +++ b/soong_workflow/views/soong_workflow_node_views.xml @@ -43,9 +43,8 @@ options="{'no_create': True}"/> - - diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py index e5f3e6bf7..4e8945188 100644 --- a/soong_workflow/wizard/soong_workflow_comment_wizard.py +++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py @@ -43,9 +43,9 @@ class SoongWorkflowCommentWizard(models.TransientModel): ) employee_trans_domain_ids = fields.Many2many('hr.employee', 'employee_trans_domain_ids_rel', string="传阅人员", store=True) - + filter_personnel_ids = fields.Many2many('hr.employee', 'filter_personnel_rel', 'custom_id', 'employee_id', string="过滤人员", store=True) employee_ids = fields.Many2many('hr.employee', 'employee_ids_rel', 'custom_id', 'employee_id', string="传阅人员", store=True) - circulated_employee_ids = fields.Many2many('hr.employee', 'circulated_employee_rel', 'custom_id', 'employee_id', help='只可以看不可以评论,看过以后状态自动变为已阅', string="抄送/传阅人员", store=True) + circulated_employee_ids = fields.Many2many('hr.employee', 'circulated_employee_rel', 'custom_id', 'employee_id', help='只可以看不可以评论,看过以后状态自动变为已阅', string="加签人员", store=True) dep_manager_employee_ids = fields.Many2many('hr.employee', 'dep_manager_employee_rel', 'custom_id', 'employee_id', string="承办", store=True) add_employee_ids = fields.Many2many('hr.employee', 'add_employee_rel', 'custom_id', 'employee_id', string="加签人员", help='点击确认以后评论的人员', store=True) supervising_employee_ids = fields.Many2many('hr.employee', 'supervising_employee_rel', 'custom_id', 'employee_id', string="督办人员", store=True) diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml b/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml index 513917e64..879a5c809 100644 --- a/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml +++ b/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml @@ -11,6 +11,7 @@ + @@ -34,7 +35,7 @@ - + @@ -48,7 +49,7 @@ - + @@ -58,7 +59,7 @@ - + @@ -94,7 +95,7 @@ - + @@ -108,7 +109,7 @@ - +