!3874 添加功能

Merge pull request !3874 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2025-07-15 10:36:41 +00:00
committed by Gitee
@@ -224,13 +224,8 @@ class SoongWorkflowCommentWizard(models.TransientModel):
# 根据勾选的条件设置域条件(只勾选一个)
if is_automatic and record_id.department_id:
# 按当前申请人自动匹配-本部门(保留部门和公司条件)
# 获取当前部门及其上一级部门ID
department_ids = [record_id.department_id.id]
if record_id.department_id.parent_id:
department_ids.append(record_id.department_id.parent_id.id)
department_domain = ['|'] * (len(department_ids) - 1)
for dep_id in department_ids:
department_domain.extend([('department_id', '=', dep_id), ('department_ids', 'in', dep_id)])
department_domain = ['|', ('department_id', '=', record_id.department_id.id),
('department_ids', 'in', record_id.department_id.id)]
company_domain = [('company_id', '=', record_id.company_id.id)] if hasattr(record_id,
'company_id') else []
@@ -295,15 +290,24 @@ class SoongWorkflowCommentWizard(models.TransientModel):
self.ensure_one()
cx = self.env.context.copy() or {}
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')
if self.node_btn_name == '转交':
self_node_id = record_id.workflow_id.node_ids.search(
[('name', '=', record_id.state), ('workflow_id', '=', record_id.workflow_id.id)])
# 查找当前节点的登录人审批记录
query_user_id = self.env.user.id
if is_admin and record_id:
if hasattr(record_id, 'user_id') and record_id.user_id:
query_user_id = record_id.user_id.id
elif hasattr(record_id, 'users_id') and record_id.users_id:
query_user_id = record_id.users_id.id
# 查询审批记录(使用确定的用户ID)
current_node_log = self.sudo().env["soong.workflow.log"].search(
[("model", "=", self.res_model),
("res_id", "=", self.res_id),
("node_id", "=", self.node_btn_id.node_id.id),
("done_by", "=", self.env.user.id)]
("done_by", "=", query_user_id)]
)
# 创建或更新当前用户的审批记录
if not current_node_log:
@@ -313,7 +317,7 @@ class SoongWorkflowCommentWizard(models.TransientModel):
"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": self.env.user.id,
"done_by": query_user_id,
"node_btn_name": "0",
"node_btn_id": self.node_btn_id.id,
"lase_click_date": fields.Datetime.now(),
@@ -354,6 +358,7 @@ class SoongWorkflowCommentWizard(models.TransientModel):
("model", "=", self.res_model),
("res_id", "=", self.res_id),
("node_id", "=", next_node_id.id),
('node_btn_name', '!=', '1'),
("done_by", "=", employee.user_id.id)
])
@@ -401,7 +406,7 @@ class SoongWorkflowCommentWizard(models.TransientModel):
"res_id": self.res_id,
"node_id": next_node_id.id,
"workflow_id": self.node_btn_id.workflow_id.id,
"done_by": self.employee_ids.user_id.id if self.employee_ids else self.env.user.id,
"done_by": self.employee_ids.user_id.id if self.employee_ids else query_user_id,
"node_btn_name": "0",
"lase_click_date": fields.Datetime.now(),
"approval_state": "1", # 待审批