Merge pull request !10144 from 李鹏宇/dev
This commit is contained in:
@@ -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"}
|
||||
|
||||
Reference in New Issue
Block a user