From c83eababca02ff731197d2b831d6da3aead2ed4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Tue, 24 Mar 2026 17:04:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../models/soong_workflow_record.py | 35 ++++++++----------- .../models/property_fee_spending.py | 3 ++ 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index ebc25bdaa..776cfca8a 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -610,27 +610,22 @@ class SoongWorkflowRecord(models.Model): record_ids = self.env["soong.workflow.record"].browse( self._context.get('active_ids', self._context.get('active_id', [])) ) - if not record_ids: - return - lin_weidong = self.env['res.users'].search([('name', '=', '林伟东')], limit=1) - employee_id = self.env['hr.employee'].search([('name', '=', '林伟东')], limit=1) - if not lin_weidong: - return - for record in record_ids: - self.env['soong.workflow.log2'].create({ - 'model': record.res_model, - 'res_id': record.res_id, - 'node_id': record.node_id.id, - 'done_by': lin_weidong.id, - 'approval_state': '0', - }) - - if lin_weidong not in record.users_ids: - record.users_ids |= lin_weidong - - if employee_id not in record.employee_ids: - record.employee_ids |= employee_id + res_model = record.res_model + res_id = record.res_id + if not res_model or not res_id: + continue + record_model = self.env[res_model] + business_record = record_model.browse(res_id) + if not business_record: + continue + if not hasattr(business_record, 'log_ids'): + continue + for log in business_record.log_ids: + if log.approval_state in ['0', '1']: + log.sudo().write({ + 'approval_state': '2' + }) def open_record(self): return { diff --git a/yuthon_property_approval/models/property_fee_spending.py b/yuthon_property_approval/models/property_fee_spending.py index 25d789598..cd4c15f7a 100644 --- a/yuthon_property_approval/models/property_fee_spending.py +++ b/yuthon_property_approval/models/property_fee_spending.py @@ -75,6 +75,9 @@ class PropertyFeeSpending(models.Model): def finish_work(self): for rec in self: + for rec in self: + if rec.work_end: + continue form_vals = { "name": rec.name, "tip_description": rec.tip_description,