@@ -375,6 +375,63 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
record_id = self.env[self.res_model].search([('id', '=', self.res_id)])
|
||||
is_admin = self.env.user.has_group('soong_workflow.group_soong_workflow_manager')
|
||||
log_done_by_ids = [log.done_by.id for log in record_id.log_ids if log.done_by]
|
||||
|
||||
if self.node_btn_name == '加签':
|
||||
current_node_log = self.sudo().env["soong.workflow.log"].search(
|
||||
[
|
||||
("model", "=", self.res_model),
|
||||
("res_id", "=", self.res_id),
|
||||
("done_by", "=", self.env.user.id),
|
||||
("approval_state", 'in', ['0','1']),
|
||||
],
|
||||
order="create_date DESC",
|
||||
limit=1
|
||||
)
|
||||
current_node_log.write({
|
||||
"comment": self.comment,
|
||||
"approval_state": "2", # 已完成
|
||||
'document_ids': [(6, 0, self.document_ids.ids)],
|
||||
"lase_click_date": fields.Datetime.now()
|
||||
})
|
||||
if hasattr(record_id, 'user_id') and record_id.user_id:
|
||||
query_user_id = record_id.user_id
|
||||
elif hasattr(record_id, 'users_id') and record_id.users_id:
|
||||
query_user_id = record_id.users_id
|
||||
description = f"标题:{record_id.name}\n申请人:{query_user_id.name}"
|
||||
action_id = self.env['ir.actions.act_window'].search([('res_model', '=', self.res_model)])[0]
|
||||
for employee_id in self.add_employee_ids:
|
||||
next_node_log_records = self.sudo().env["soong.workflow.log"].create({
|
||||
'name': '加签',
|
||||
"code": self.code,
|
||||
"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_id.user_id.id,
|
||||
"add_sign_by": self.env.user.id,
|
||||
"is_return" : self.is_return,
|
||||
"node_btn_id": self.node_btn_id.id,
|
||||
"approval_state": "0",
|
||||
})
|
||||
url = f'https://oa.thtzjt.com/web#id={record_id.id}&cids=2&menu_id={record_id.id}&action={action_id.id}&model={self.res_model}&view_type=form'
|
||||
result_data = self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa',
|
||||
user_id=employee_id.wecom_userid,
|
||||
title=record_id._description + "加签",
|
||||
description=description, url=url,
|
||||
btntxt="查看详情")
|
||||
if result_data and 'msgid' in result_data[-1]:
|
||||
msg_id = result_data[-1]['msgid']
|
||||
target_logs = next_node_log_records.filtered(lambda l: l.done_by.id == employee_id.user_id.id)
|
||||
if target_logs:
|
||||
target_logs.msg_id = msg_id
|
||||
|
||||
workflow_record_id = self.env['soong.workflow.record'].sudo().search([('res_id', '=', record_id.id),
|
||||
('res_model', '=', record_id._name)
|
||||
])
|
||||
workflow_record_id.employee_ids = self.add_employee_ids
|
||||
workflow_record_id.users_ids = [(4, employee.user_id.id) for employee in self.add_employee_ids if
|
||||
employee.user_id]
|
||||
|
||||
if self.node_btn_name == '转交' or (self.node_btn_name == '加签' and not self.is_return):
|
||||
if self.res_model == 'issue.approval':
|
||||
if self.trans_link_id.name != '申请人':
|
||||
@@ -659,63 +716,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
title=record_id._description + "退回",
|
||||
description=description, url=url, btntxt="查看详情")
|
||||
|
||||
|
||||
if self.node_btn_name == '加签':
|
||||
current_node_log = self.sudo().env["soong.workflow.log"].search(
|
||||
[
|
||||
("model", "=", self.res_model),
|
||||
("res_id", "=", self.res_id),
|
||||
("done_by", "=", self.env.user.id),
|
||||
("approval_state", 'in', ['0','1']),
|
||||
],
|
||||
order="create_date DESC",
|
||||
limit=1
|
||||
)
|
||||
current_node_log.write({
|
||||
"comment": self.comment,
|
||||
"approval_state": "2", # 已完成
|
||||
'document_ids': [(6, 0, self.document_ids.ids)],
|
||||
"lase_click_date": fields.Datetime.now()
|
||||
})
|
||||
if hasattr(record_id, 'user_id') and record_id.user_id:
|
||||
query_user_id = record_id.user_id
|
||||
elif hasattr(record_id, 'users_id') and record_id.users_id:
|
||||
query_user_id = record_id.users_id
|
||||
description = f"标题:{record_id.name}\n申请人:{query_user_id.name}"
|
||||
action_id = self.env['ir.actions.act_window'].search([('res_model', '=', self.res_model)])[0]
|
||||
for employee_id in self.add_employee_ids:
|
||||
next_node_log_records = self.sudo().env["soong.workflow.log"].create({
|
||||
'name': '加签',
|
||||
"code": self.code,
|
||||
"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_id.user_id.id,
|
||||
"add_sign_by": self.env.user.id,
|
||||
"is_return" : self.is_return,
|
||||
"node_btn_id": self.node_btn_id.id,
|
||||
"approval_state": "0",
|
||||
})
|
||||
url = f'https://oa.thtzjt.com/web#id={record_id.id}&cids=2&menu_id={record_id.id}&action={action_id.id}&model={self.res_model}&view_type=form'
|
||||
result_data = self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa',
|
||||
user_id=employee_id.wecom_userid,
|
||||
title=record_id._description + "加签",
|
||||
description=description, url=url,
|
||||
btntxt="查看详情")
|
||||
if result_data and 'msgid' in result_data[-1]:
|
||||
msg_id = result_data[-1]['msgid']
|
||||
target_logs = next_node_log_records.filtered(lambda l: l.done_by.id == employee_id.user_id.id)
|
||||
if target_logs:
|
||||
target_logs.msg_id = msg_id
|
||||
|
||||
workflow_record_id = self.env['soong.workflow.record'].sudo().search([('res_id', '=', record_id.id),
|
||||
('res_model', '=', record_id._name)
|
||||
])
|
||||
workflow_record_id.employee_ids = self.add_employee_ids
|
||||
workflow_record_id.users_ids = [(4, employee.user_id.id) for employee in self.add_employee_ids if
|
||||
employee.user_id]
|
||||
|
||||
if self.node_btn_name == '加签确认':
|
||||
if hasattr(record_id, 'user_id') and record_id.user_id:
|
||||
query_user_id = record_id.user_id
|
||||
@@ -789,7 +789,7 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
all_done = all(log.approval_state == "2" for log in batch_logs)
|
||||
# 如果都完成 → 创建一条新日志给加签发起人
|
||||
is_return = batch_logs[0].is_return
|
||||
if all_done and is_return:
|
||||
if all_done :
|
||||
log_vals = {
|
||||
"model": self.res_model,
|
||||
"res_id": self.res_id,
|
||||
|
||||
Reference in New Issue
Block a user