@@ -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", # 待审批
|
||||
|
||||
Reference in New Issue
Block a user