Merge pull request !7592 from 李鹏宇/dev
This commit is contained in:
李鹏宇
2026-01-05 08:39:42 +00:00
committed by Gitee
2 changed files with 24 additions and 28 deletions
@@ -56,6 +56,7 @@ class SoongWorkflowCommentWizard(models.TransientModel):
approval_concatenation = fields.Selection([('chuan', '串申'), ('bing', '并申')], string="审批形式",
help='并:任何人均给意见,最后一个完成的人转交到下一节点.'
'串:都会收到消息,但任意一个人转交后,即到下一节点,其他人将不再显示,相当于收回.')
boss_manager = fields.Many2one(string="董事长", domain=[('user_role_id.name', '=', '董事长')])
is_automatic = fields.Boolean('是否自动匹配')
company_id = fields.Many2one('res.company', '公司', default=lambda self: self.env.user.company_id)
is_this_company = fields.Boolean('本公司', default=True)
@@ -652,17 +653,33 @@ class SoongWorkflowCommentWizard(models.TransientModel):
description=f"编号为{record_id.code}的{record_id._description}已结束,请归档",
url=url, btntxt="查看详情")
if self.node_btn_name == "分发":
if self.employee_ids:
record_id.log_ids[-1].write({"comment": self.comment,"approval_state": "2", "lase_click_date": fields.Datetime.now()})
# 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={record_id.action.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.boss_manager:
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": record_id.workflow_id.node_ids[-1].id,
"workflow_id": self.node_btn_id.workflow_id.id,
"done_by": self.employee_ids.user_id.id,
"done_by": self.boss_manager.id,
"node_btn_name": "0",
})
# self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa', user_id=self.boss_manager.wecom_userid, title=record_id._description, description=description, url=url, btntxt="查看详情")
for emp in self.dep_manager_employee_ids:
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": record_id.workflow_id.node_ids[-1].id,
"workflow_id": self.node_btn_id.workflow_id.id,
"done_by": emp.id,
"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:
record_id = self.env[self.res_model].search([('id', '=', self.res_id)])
self.sudo().env["soong.workflow.record.copy"].create({
@@ -683,30 +700,9 @@ class SoongWorkflowCommentWizard(models.TransientModel):
"node_btn_id": self.node_btn_id.id,
"approval_state": "0",
})
url = f'https://oa.thtzjt.com/web#id={record_id.id}&cids=2&action={record_id.action.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="查看详情")
for employee in self.dep_manager_employee_ids:
record_id = self.env[self.res_model].search([('id', '=', self.res_id)])
self.sudo().env["soong.workflow.log"].create({
"code": self.code,
"model": self.res_model,
"res_id": self.res_id,
"node_id": record_id.workflow_id.node_ids[-1].id,
"workflow_id": self.node_btn_id.workflow_id.id,
"done_by": self.employee_ids.user_id.id,
"node_btn_name": "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="查看详情")
# 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 == "收回":
# recall_url = f'https://qyapi.weixin.qq.com/cgi-bin/message/recall?access_token={access_token}'
@@ -75,7 +75,7 @@
<h2>当前流程是否收回,请确认</h2>
</div>
<group invisible="node_btn_name != '分发'">
<field name="employee_ids" widget="many2many_tags" string="董事长" domain="[('user_role_id.name', '=', '董事长')]" options="{'no_create': True}"/>
<field name="boss_manager" string="董事长" widget="radio"/>
<field name="dep_manager_employee_ids" widget="many2many_tags" string="承办" domain="[('user_role_id.name', '=', '部门经理')]" options="{'no_create': True}"/>
<field name="circulated_employee_ids" widget="many2many_tags" options="{'no_create': True}"/>
<field name="supervising_employee_ids" widget="many2many_tags" invisible="not is_supervising" options="{'no_create': True}"/>