报表
This commit is contained in:
@@ -171,15 +171,15 @@ class ReceivableFlowReport(models.Model):
|
||||
penalty_pay_lines = []
|
||||
for wz in wz_list:
|
||||
penalty_pay_lines.extend(pay_line_map.get(wz.id, []))
|
||||
# 违约金收款金额:取 wizard 的 collected_penalty(已 compute)
|
||||
total_penalty_collected = sum(wz.collected_penalty for wz in wz_list)
|
||||
# 违约金收款时间:取 pay_line_ids 中类型为“违约金”的记录的最新 date
|
||||
penalty_type_pay_lines = [
|
||||
l for l in penalty_pay_lines
|
||||
if l.management_type_id and l.management_type_id.name == '违约金' and l.date
|
||||
]
|
||||
latest_penalty_payment = sorted(penalty_type_pay_lines, key=lambda l: l.date, reverse=True)
|
||||
penalty_payment_date = latest_penalty_payment[0].date if latest_penalty_payment else None
|
||||
# 违约金收款金额和时间:直接从 receivable.modify.line 的 is_penalty=True 记录取
|
||||
# 这是持久化数据,不依赖临时 wizard
|
||||
penalty_modify_lines = [l for l in modify_lines if l.is_penalty]
|
||||
total_penalty_collected = sum(l.amount for l in penalty_modify_lines)
|
||||
latest_penalty_pay = sorted(
|
||||
[l for l in penalty_modify_lines if l.reconciliation_date],
|
||||
key=lambda l: l.reconciliation_date, reverse=True
|
||||
)
|
||||
penalty_payment_date = latest_penalty_pay[0].reconciliation_date if latest_penalty_pay else None
|
||||
|
||||
# 复用 _onchange_calculation_date 逻辑计算违约金时间区间、逆期天数、违约金
|
||||
penalty_range_str = ""
|
||||
|
||||
Reference in New Issue
Block a user