diff --git a/soong_workflow/models/soong_workflow_log.py b/soong_workflow/models/soong_workflow_log.py index 220529537..4ace3e958 100644 --- a/soong_workflow/models/soong_workflow_log.py +++ b/soong_workflow/models/soong_workflow_log.py @@ -19,6 +19,7 @@ class SoongWorkflowLog(models.Model): workflow_id = fields.Many2one(comodel_name="soong.workflow") node_id = fields.Many2one(comodel_name="soong.workflow.node") + is_return = fields.Boolean('是否返回') msg_id = fields.Char(string="Msg_id") node_btn_id = fields.Many2one(comodel_name="soong.workflow.node.button", string="动作名称") node_btn_name = fields.Selection([('0', ' '), ('1', '退回'), ('2', '加签'), ('3', '串'), ('4', '并'), ('5', '董事长'), ('6', '承办')], store=True, string='节点功能', default='0') diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index 26e8ca35c..fd864d015 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -655,8 +655,6 @@ class SoongWorkflowRecord(models.Model): is_kq_user = bool(kq_group and user in kq_group.users) company_ids = self.env.companies.ids - # 注意:必须用扁平前缀形式(&/| 放在 domain 顶层), - # 不能把 ['&', ...] 作为子列表元素,否则 Odoo 会把它当叶子、把 & 当成字段名报错。 parts = [] if is_hr_user: parts.append(['&', ('approvals_group_id.name', '=', '人事'), ('company_id', 'in', company_ids)]) diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py index 47470cb12..baf14240c 100644 --- a/soong_workflow/wizard/soong_workflow_comment_wizard.py +++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py @@ -693,6 +693,7 @@ class SoongWorkflowCommentWizard(models.TransientModel): "workflow_id": self.node_btn_id.workflow_id.id, "done_by": employee_id.user_id.id, "add_sign_by": self.env.user.id, + "is_return" : self.is_return, "node_btn_id": self.node_btn_id.id, "approval_state": "0", }) @@ -787,7 +788,8 @@ class SoongWorkflowCommentWizard(models.TransientModel): # 是否都完成了 all_done = all(log.approval_state == "2" for log in batch_logs) # 如果都完成 → 创建一条新日志给加签发起人 - if all_done and self.is_return: + is_return = batch_logs[0].is_return + if all_done and is_return: log_vals = { "model": self.res_model, "res_id": self.res_id,