违约金累计欠收
This commit is contained in:
@@ -61,12 +61,14 @@ class PenaltyArrearsReport(models.Model):
|
||||
total_penalty = total_collected = total_uncollected = 0.0
|
||||
|
||||
for idx, rec in enumerate(receivables, start=1):
|
||||
per_day = rec.per_day or 0.0
|
||||
# 获取每天违约金(从difference_amount字段)
|
||||
per_day = rec.difference_amount or rec.per_day or 0.0
|
||||
penalty_amount = rec.penalty or 0.0
|
||||
penalty_days = round(penalty_amount / per_day, 2) if per_day else 0.0
|
||||
|
||||
amount = rec.original_amount or 0.0
|
||||
rent_owed = rec.rent_owed or 0.0
|
||||
# 计算欠租金额(从original_amount字段)
|
||||
rent_owed = rec.original_amount or rec.rent_owed or 0.0
|
||||
collected = rec.delivered1 or 0.0
|
||||
uncollected = rec.submitted or 0.0
|
||||
|
||||
@@ -76,10 +78,36 @@ class PenaltyArrearsReport(models.Model):
|
||||
|
||||
# 计算违约计算时间区间
|
||||
billing_period = ""
|
||||
if rec.due_date and rec.due_date_end:
|
||||
billing_period = f"{rec.due_date.strftime('%Y-%m-%d')} ~ {rec.due_date_end.strftime('%Y-%m-%d')}"
|
||||
elif rec.due_date:
|
||||
billing_period = rec.due_date.strftime("%Y-%m-%d")
|
||||
if rec.due_date:
|
||||
start_date = rec.due_date
|
||||
# 确定结束日期
|
||||
if rec.payout_date:
|
||||
# 已缴费,结束日期为缴费日期
|
||||
end_date = rec.payout_date
|
||||
else:
|
||||
# 未缴费,结束日期为查询月的最后一天
|
||||
if date_end:
|
||||
end_date_obj = datetime.datetime.fromisoformat(date_end).date()
|
||||
# 获取查询月的最后一天
|
||||
if end_date_obj.month == 12:
|
||||
last_day = datetime.date(end_date_obj.year, 12, 31)
|
||||
else:
|
||||
last_day = datetime.date(end_date_obj.year, end_date_obj.month + 1, 1) - datetime.timedelta(days=1)
|
||||
end_date = last_day
|
||||
else:
|
||||
# 无查询日期,使用当前月最后一天
|
||||
today = datetime.date.today()
|
||||
if today.month == 12:
|
||||
last_day = datetime.date(today.year, 12, 31)
|
||||
else:
|
||||
last_day = datetime.date(today.year, today.month + 1, 1) - datetime.timedelta(days=1)
|
||||
end_date = last_day
|
||||
|
||||
# 计算违约天数
|
||||
days_diff = (end_date - start_date).days + 1 # 包含开始和结束日期
|
||||
|
||||
# 构建时间区间字符串
|
||||
billing_period = f"{days_diff} {start_date.strftime('%Y-%m-%d')} ~ {end_date.strftime('%Y-%m-%d')}"
|
||||
|
||||
rows.append({
|
||||
"序号": idx,
|
||||
|
||||
Reference in New Issue
Block a user