diff --git a/yuthon_property_approval/wizard/penalty_line_wizard.py b/yuthon_property_approval/wizard/penalty_line_wizard.py index eb9c4d284..826615004 100644 --- a/yuthon_property_approval/wizard/penalty_line_wizard.py +++ b/yuthon_property_approval/wizard/penalty_line_wizard.py @@ -108,20 +108,20 @@ class PenaltyLineWizard(models.Model): pay_date = pay_line.reconciliation_date # 付款日期 is_penalty = pay_line.is_penalty # 是否是违约金 if is_penalty: + days_overdue = (pay_date - penalty_start_date).days + 1 + current_penalty = pay_line.receivable_id.original_amount + else: 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 not penalty_receivable_id: - days_overdue = (pay_date - penalty_start_date).days + 1 - current_penalty = pay_line.receivable_id.original_amount - else: + 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.0 + else: + days_overdue = 0 + current_penalty = 0 # 计算剩余本金 remaining_principal = max(0, pay_line.not_collected - pay_amount)