!10144 !10143 Merge branch 'dev' of <a href="https://gitee.com/jinan-pengyuse…

Merge pull request !10144 from 李鹏宇/dev
This commit is contained in:
李鹏宇
2026-03-24 07:15:55 +00:00
committed by Gitee
2 changed files with 9 additions and 4 deletions
@@ -175,18 +175,17 @@ class ReceivableFlowReport(models.Model):
)
penalty_payment_date = latest_penalty_payment[0].date if latest_penalty_payment else None
# 复用 _onchange_calculation_date 逻辑计算违约金时间区间
# 复用 _onchange_calculation_date 逻辑计算违约金时间区间、逆期天数、违约金
penalty_range_str = ""
penalty_days = 0
penalty_amount_calc = 0.0
if rec.is_liquidated_damages and rec.submitted > 0:
# 取最近一笔非违约金收款记录
non_penalty_lines = [l for l in modify_lines if not l.is_penalty]
today = datetime.date.today()
if non_penalty_lines:
# 有收款记录:从最近一笔收款日期的次日开始
last_pay_date = max(l.reconciliation_date for l in non_penalty_lines)
base_date = last_pay_date + datetime.timedelta(days=1)
else:
# 无收款记录:从 due_date 次月 1 号开始
if rec.due_date:
nm = rec.due_date.month + 1 if rec.due_date.month < 12 else 1
ny = rec.due_date.year if rec.due_date.month < 12 else rec.due_date.year + 1
@@ -195,6 +194,8 @@ class ReceivableFlowReport(models.Model):
base_date = None
if base_date and base_date <= today:
penalty_range_str = f"{base_date.strftime('%Y-%m-%d')}至{today.strftime('%Y-%m-%d')}"
penalty_days = (today - base_date).days + 1
penalty_amount_calc = round(rec.submitted * penalty_days * 0.001, 2)
# ==== 应收租金行 ====
rows.append({
@@ -223,6 +224,8 @@ class ReceivableFlowReport(models.Model):
"收款金额": "",
"收款备注": "",
"违约金计算时间": penalty_range_str,
"违约金逾期天数": penalty_days if penalty_days else "",
"违约金预计金额": penalty_amount_calc if penalty_amount_calc else "",
"违约金明细": {
'model': 'property.accounts.receivable',
'display_name': '违约金明细',
@@ -25,6 +25,8 @@
{"headerName": "收款金额", "field": "收款金额", "flex": 1, "type": "number"},
{"headerName": "收款备注", "field": "收款备注", "flex": 2, "wrapText": true},
{"headerName": "违约金计算时间", "field": "违约金计算时间", "flex": 2.5, "wrapText": true, "autoHeight": true},
{"headerName": "逾期天数", "field": "违约金逾期天数", "flex": 0.8, "type": "number"},
{"headerName": "违约金预计", "field": "违约金预计金额", "flex": 1, "type": "number"},
{"headerName": "违约金明细", "field": "违约金明细", "flex": 1, "cellRenderer": "linkRender"},
{"headerName": "违约金收款时间", "field": "违约金收款时间", "flex": 1},
{"headerName": "违约金收款金额", "field": "违约金收款金额", "flex": 1, "type": "number"}