diff --git a/yuthon_property_approval/wizard/penalty_line_wizard.py b/yuthon_property_approval/wizard/penalty_line_wizard.py index 25a5daf7e..826615004 100644 --- a/yuthon_property_approval/wizard/penalty_line_wizard.py +++ b/yuthon_property_approval/wizard/penalty_line_wizard.py @@ -111,8 +111,17 @@ class PenaltyLineWizard(models.Model): days_overdue = (pay_date - penalty_start_date).days + 1 current_penalty = pay_line.receivable_id.original_amount else: - days_overdue = 0 - current_penalty = 0.0 + penalty_receivable_id = self.env['property.accounts.receivable'].search([ + ('contract_id', '=', receivable.contract_id.id), + ('due_date', '=', pay_date.replace(day=1)), + ('management_type_id.name', '=', '违约金'), + ], limit=1) + if penalty_receivable_id: + days_overdue = (pay_date - penalty_receivable_id.due_date).days + 1 + current_penalty = penalty_receivable_id.original_amount + else: + days_overdue = 0 + current_penalty = 0 # 计算剩余本金 remaining_principal = max(0, pay_line.not_collected - pay_amount)