!5087 添加功能

Merge pull request !5087 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2025-09-11 03:46:52 +00:00
committed by Gitee
+36 -25
View File
@@ -59,33 +59,13 @@ class SoongWorkflowRecord(models.Model):
current_datetime = fields.Datetime.now()
for workflow in workflow_ids:
record_id = self.env[workflow.res_model].search([('id', '=', workflow.res_id)])
if hasattr(record_id, 'user_id') and record_id.user_id:
user_id = record_id.user_id
elif hasattr(record_id, 'users_id') and record_id.users_id:
user_id = record_id.users_id.employee_id
if not record_id:
continue
log_records = None
if record_id.log_ids2:
log_records = record_id.log_ids2
elif record_id.log_ids:
log_records = record_id.log_ids
log_model = "soong.workflow.log"
if record_id.log_ids2:
log_model = "soong.workflow.log2"
elif record_id.log_ids:
log_model = "soong.workflow.log"
if log_records:
log_records[-1].write({
'approval_state': '3',
'lase_click_date': current_datetime,
})
else:
self.env[log_model].create({
'name': None,
'workflow_id': workflow.workflow_id.id,
'model': workflow.res_model,
'res_id': workflow.res_id,
'approval_state': '3',
'lase_click_date': current_datetime,
'sequence': 99,
})
# 触发模型对应的结束方法
end_node = self.env["soong.workflow.node"].search(
[('workflow_id', '=', workflow.workflow_id.id), ('is_end', '=', True)],
limit=1
@@ -97,6 +77,37 @@ class SoongWorkflowRecord(models.Model):
)
if end_btn:
self.execute_button_code(end_btn.id, workflow.res_model, workflow.res_id)
# 修改日志
log_records = None
if record_id.log_ids2:
log_records = record_id.log_ids2
elif record_id.log_ids:
log_records = record_id.log_ids
log_model = "soong.workflow.log"
if record_id.log_ids2:
log_model = "soong.workflow.log2"
elif record_id.log_ids:
log_model = "soong.workflow.log"
if log_records:
log_records[-1].write({
'approval_state': '3',
'lase_click_date': current_datetime,
})
else:
self.env[log_model].create({
'done_by': user_id.id,
'node_id': end_node.id if end_node else False,
'node_btn_id': end_btn.id if end_btn else False,
'workflow_id': workflow.workflow_id.id,
'model': workflow.res_model,
'res_id': workflow.res_id,
'approval_state': '3',
'lase_click_date': current_datetime,
'sequence': 99,
})
workflow.approve_state = 'end'
def execute_button_code(self, button_id, res_model, res_id):