From 4815564ad020f74d4015f3d4492cd4395b7ff5d2 Mon Sep 17 00:00:00 2001 From: pengyuthon Date: Mon, 5 Jan 2026 18:58:30 +0800 Subject: [PATCH] 1 --- .../wizard/soong_workflow_comment_wizard.py | 42 +++++++++++++++---- .../soong_workflow_comment_wizard_view.xml | 1 + 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py index 9ac0e7a63..165715ba0 100644 --- a/soong_workflow/wizard/soong_workflow_comment_wizard.py +++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py @@ -46,7 +46,7 @@ class SoongWorkflowCommentWizard(models.TransientModel): string="传阅人员", store=True) circulated_employee_ids = fields.Many2many('hr.employee', 'circulated_employee_rel', 'custom_id', 'employee_id', - string="传阅人员", store=True) + string="抄送/传阅人员", store=True) dep_manager_employee_ids = fields.Many2many('hr.employee', 'dep_manager_employee_rel', 'custom_id', 'employee_id', string="承办", store=True) @@ -79,7 +79,7 @@ class SoongWorkflowCommentWizard(models.TransientModel): @api.constrains('employee_ids') def _check_employee_ids(self): - if not self.employee_ids and self.node_btn_name == '转交' : + if not self.employee_ids and self.node_btn_name == '转交': raise ValidationError("必须有转交人员") @api.depends('comment_note_id', 'comment_note') @@ -510,7 +510,30 @@ class SoongWorkflowCommentWizard(models.TransientModel): btntxt="查看详情") self.env['soong.workflow.record'].search([('code', '=', record_id.code)]).write({'approve_state': 'pending'}) return self.node_btn_id.with_context(cx).run() - + for employee in self.circulated_employee_ids: + record_id = self.env[self.res_model].search([('id', '=', self.res_id)]) + self.sudo().env["soong.workflow.record.copy"].create({ + "code": record_id.code, + "name": record_id.name, + "res_model": self.res_model, + "workflow_id": self.node_btn_id.workflow_id.id, + "res_id": self.res_id, + "done_by": employee.user_id.id, + "approval_state_copy": "0", + }) + self.sudo().env["soong.workflow.log2"].create({ + "model": self.res_model, + "res_id": self.res_id, + "node_id": self.node_btn_id.node_id.id, + "workflow_id": self.node_btn_id.workflow_id.id, + "done_by": employee.user_id.id, + "node_btn_id": self.node_btn_id.id, + "approval_state": "0", + }) + action_id = self.env['ir.actions.act_window'].search([('res_model', '=', self.res_model)])[0] + url = f'https://oa.thtzjt.com/web#id={record_id.id}&cids=2&action={action_id.id}&model={self.res_model}&view_type=from&menu_id={record_id.id}' + description = "标题: {}\n".format(record_id.name) + self.env.user.name + ' ' + str(fields.Datetime.now() + timedelta(hours=8)) + self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa', user_id=employee.wecom_userid, title=record_id._description + "传阅/抄送",description=description, url=url, btntxt="查看详情") if self.node_btn_name == '退回': record_id.write({'state': self.return_link_id.name}) next_node_id = record_id.workflow_id.node_ids.search([('name', '=', self.return_link_id.name), ('workflow_id', '=', record_id.workflow_id.id)]) @@ -649,27 +672,32 @@ class SoongWorkflowCommentWizard(models.TransientModel): url = f'https://oa.thtzjt.com/web#id={record_id.id}&cids=2&action={action_id.id}&model={self.res_model}&view_type=from&menu_id={record_id.id}' description = "标题: {}\n".format(record_id.name) + self.env.user.name + ' ' + str(fields.Datetime.now() + timedelta(hours=8)) if self.employee_ids: + next_node_id = record_id.workflow_id.node_ids.search([ + ('name', '=', '董事长'), + ('workflow_id', '=', record_id.workflow_id.id) + ]) record_id.log_ids[-1].write({"comment": self.comment, "approval_state": "2", "lase_click_date": fields.Datetime.now()}) self.sudo().env["soong.workflow.log"].create({ "code": self.code, "model": self.res_model, "res_id": self.res_id, - "node_id": self.node_btn_id.node_id.id, + "node_id": next_node_id.id, "workflow_id": self.node_btn_id.workflow_id.id, "done_by": self.employee_ids.user_id.id, - "node_btn_name": "5", + "node_btn_name": "0", }) self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa', user_id=self.employee_ids.wecom_userid, title=record_id._description, description=description, url=url, btntxt="查看详情") for emp in self.dep_manager_employee_ids: + next_node_id = record_id.workflow_id.node_ids.search([('name', '=', '承办'),('workflow_id', '=', record_id.workflow_id.id)]) record_id.log_ids[-1].write({"comment": self.comment, "approval_state": "2", "lase_click_date": fields.Datetime.now()}) self.sudo().env["soong.workflow.log"].create({ "code": self.code, "model": self.res_model, "res_id": self.res_id, - "node_id": self.node_btn_id.node_id.id, + "node_id": next_node_id, "workflow_id": self.node_btn_id.workflow_id.id, "done_by": emp.user_id.id, - "node_btn_name": "6", + "node_btn_name": "0", }) self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa', user_id=emp.wecom_userid, title=record_id._description + "承办", description=description, url=url, btntxt="查看详情") for employee in self.circulated_employee_ids: diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml b/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml index a86acec28..27ad26f95 100644 --- a/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml +++ b/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml @@ -63,6 +63,7 @@ +