From c956d3a6abb49ec72f8f602b848bc89dd92368eb 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: Wed, 22 Oct 2025 16:00:52 +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 --- .../wizard/click_reconciliation_wizard.py | 27 +++++++++++++------ .../wizard/property_reconciliation_wizard.py | 2 +- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/yuthon_property_approval/wizard/click_reconciliation_wizard.py b/yuthon_property_approval/wizard/click_reconciliation_wizard.py index 7385aac9a..faa70e6c1 100644 --- a/yuthon_property_approval/wizard/click_reconciliation_wizard.py +++ b/yuthon_property_approval/wizard/click_reconciliation_wizard.py @@ -9,6 +9,7 @@ class ClickReconciliationWizard(models.Model): message = fields.Text(string='确认信息', readonly=True) def action_confirm(self): + target_lessee = '广州志为健康管理咨询有限公司' unreconciled_states = ['not_reconciled', 'registered'] bank_statements = self.env["property.bank.statements"].search([ @@ -54,6 +55,7 @@ class ClickReconciliationWizard(models.Model): ('contract_id', 'in', contract_ids), ('due_date', '>=', month_start), ('due_date', '<', month_end), + ('lessee_id.name', '=', target_lessee), ]) if not receivables: continue # 无匹配应收单,跳过 @@ -89,11 +91,20 @@ class ClickReconciliationWizard(models.Model): }) for statement in statements: - self.env['receivable.modify.line'].create({ - 'is_write': True, - 'is_penalty': False, - 'bank_id': statement.id, - 'reconciliation_date': (fields.Datetime.from_string(statement.start_time) - timedelta(hours=8)).date(), - 'receivable_id': rec.id, - 'amount': rec.original_amount, - }) \ No newline at end of file + modify = self.env['receivable.modify.line'].search([ + ('receivable_id', '=', rec.id), + ('bank_id', '=', statement.id), + ('is_write', '=', True), + ('is_penalty', '=', False), + ('reconciliation_date', '=', (fields.Datetime.from_string(statement.start_time) - timedelta(hours=8)).date()), + ('amount', '=', rec.original_amount) + ]) + if not modify: + self.env['receivable.modify.line'].create({ + 'is_write': True, + 'is_penalty': False, + 'bank_id': statement.id, + 'reconciliation_date': (fields.Datetime.from_string(statement.start_time) - timedelta(hours=8)).date(), + 'receivable_id': rec.id, + 'amount': rec.original_amount, + }) \ No newline at end of file diff --git a/yuthon_property_approval/wizard/property_reconciliation_wizard.py b/yuthon_property_approval/wizard/property_reconciliation_wizard.py index 41ea5ce8d..4c844f47a 100644 --- a/yuthon_property_approval/wizard/property_reconciliation_wizard.py +++ b/yuthon_property_approval/wizard/property_reconciliation_wizard.py @@ -30,7 +30,7 @@ class PropertyReconciliationWizard(models.Model): for rec in self: rec.amount_reconciled = rec.actual_total - rec.amount_been_reconciled - sum(line.amount for line in rec.reconciliation_line_ids) for line in rec.reconciliation_line_ids: - if line.rent_month == line.rent: + if line.rent_month == line.amount: line.remake = str(rec.actual_date) + '补' + str(line.due_date) @api.depends('reconciliation_line_ids')