@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user