添加功能
This commit is contained in:
@@ -551,26 +551,30 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
('name', '=', self.trans_link_id.name),
|
||||
('workflow_id', '=', record_id.workflow_id.id)
|
||||
], limit=1)
|
||||
all_user_ids = []
|
||||
all_employee_ids = []
|
||||
# 同一人可能兼任多枚章,先按 user 去重(只保留第一枚章),避免重复待办
|
||||
user_stamp_map = {}
|
||||
for stamp in record_id.type_stamp_ids:
|
||||
for user in stamp.user_ids:
|
||||
if user.id not in all_user_ids:
|
||||
all_user_ids.append(user.id)
|
||||
employee = self.env['hr.employee'].sudo().search([('user_id', '=', user.id)], limit=1)
|
||||
if employee and employee.id not in all_employee_ids:
|
||||
all_employee_ids.append(employee.id)
|
||||
self.sudo().env["soong.workflow.log"].create({
|
||||
"code": self.code,
|
||||
"model": self.res_model,
|
||||
"res_id": self.res_id,
|
||||
"node_id": next_node_id.id,
|
||||
"workflow_id": self.node_btn_id.workflow_id.id,
|
||||
"done_by": user.id,
|
||||
"node_btn_name": "4",
|
||||
"stamp_id": stamp.id,
|
||||
"approval_state": "0",
|
||||
})
|
||||
if user.id not in user_stamp_map:
|
||||
user_stamp_map[user.id] = stamp
|
||||
all_user_ids = []
|
||||
all_employee_ids = []
|
||||
for user, stamp in user_stamp_map.items():
|
||||
employee = self.env['hr.employee'].sudo().search([('user_id', '=', user.id)], limit=1)
|
||||
if employee and employee.id not in all_employee_ids:
|
||||
all_employee_ids.append(employee.id)
|
||||
all_user_ids.append(user.id)
|
||||
self.sudo().env["soong.workflow.log"].create({
|
||||
"code": self.code,
|
||||
"model": self.res_model,
|
||||
"res_id": self.res_id,
|
||||
"node_id": next_node_id.id,
|
||||
"workflow_id": self.node_btn_id.workflow_id.id,
|
||||
"done_by": user.id,
|
||||
"node_btn_name": "4",
|
||||
"stamp_id": stamp.id,
|
||||
"approval_state": "0",
|
||||
})
|
||||
related_record = self.env[self.res_model].browse(self.res_id)
|
||||
if hasattr(related_record, 'self_users_ids'):
|
||||
related_record.self_users_ids = [(6, 0, all_user_ids)] if all_user_ids else [(5,)]
|
||||
@@ -978,8 +982,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
limit=1
|
||||
)
|
||||
# 印章分组审批:章内串审,删除同章其他人的待办
|
||||
# 注意:必须在 record_id.log_ids 首次缓存之前执行 unlink,
|
||||
# 否则后续访问 record_id.log_ids 会命中已删除记录的缓存而报 MissingError
|
||||
if getattr(current_node_log, 'stamp_id', False):
|
||||
same_stamp_logs = self.sudo().env["soong.workflow.log"].search(
|
||||
[("model", "=", self.res_model),
|
||||
|
||||
Reference in New Issue
Block a user