diff --git a/yuthon_property_approval/wizard/penalty_line_wizard.py b/yuthon_property_approval/wizard/penalty_line_wizard.py index 518f84d95..abcaea552 100644 --- a/yuthon_property_approval/wizard/penalty_line_wizard.py +++ b/yuthon_property_approval/wizard/penalty_line_wizard.py @@ -156,7 +156,7 @@ class PenaltyLineWizard(models.Model): new_penalty_lines.append((0, 0, { 'date': start_date, 'remake': f'未交违约金', - 'days_overdue': (start_date - penalty_receivable_id.due_date).days + 1, + 'days_overdue': (penalty_receivable_id.due_date - start_date).days + 1, 'remaining_principal': 0, 'penalty': penalty_receivable_id.submitted, })) @@ -178,7 +178,9 @@ class PenaltyLineWizard(models.Model): @api.onchange('calculation_date') def _onchange_calculation_date(self): if self.receivable_id.management_type_id.name != '押金': - realtime_lines = self.penalty_line_ids.filtered(lambda l: l.is_realtime) + realtime_lines = self.penalty_line_ids.filtered( + lambda l: l.is_realtime or (l.penalty != 0) + ) non_realtime_lines = self.penalty_line_ids - realtime_lines update_commands = [] # 2. 保留所有非实时记录(关键:用 (4, id, 0) 指令)