Merge pull request !7595 from 李鹏宇/dev
This commit is contained in:
李鹏宇
2026-01-05 10:59:05 +00:00
committed by Gitee
2 changed files with 36 additions and 7 deletions
@@ -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:
@@ -63,6 +63,7 @@
<field name="company_id" invisible="1"/>
<field name="employee_ids1" widget="many2many_tags" string="人员范围" invisible="1"/>
<field name="employee_ids" widget="many2many_tags" string="人员范围" domain = "[('company_id', '=', company_id), ('id', 'in', employee_ids1)] if is_this_company else [('id', 'in', employee_ids1)]" options="{'no_create': True}"/>
<field name="circulated_employee_ids" invisible="node_btn_name == '退回'" widget="many2many_tags" options="{'no_create': True}"/>
</group>
</group>
<group invisible="node_btn_name != '结束'">