添加功能

This commit is contained in:
李鹏宇
2025-09-15 10:57:03 +08:00
parent 4463c4669e
commit 905b53edf1
@@ -144,6 +144,26 @@ class PropertyReconciliationWizard(models.Model):
self.receivable_total = total
self.create_reconciliation_vals()
not_submitted_list = []
# 查找应收日期之前的所有未对账的违约金
unpaid_penalty_recs = self.env['property.accounts.receivable'].search([
('contract_id', '=', contract_id.id),
('collection_type', '=', 'penalty'),
('is_reconciliation', '=', False),
('due_date', '<=', fields.Date.to_string(self.actual_date)),
])
for unpaid_penalty_rec in unpaid_penalty_recs:
not_submitted_list.append((0, 0, {
'contract_id': contract_id.id if contract_id else None,
'rent_month': unpaid_penalty_recs.submitted,
'due_date': unpaid_penalty_recs.due_date,
'rent': unpaid_penalty_rec.submitted,
'collection_type': 'penalty',
'remake': unpaid_penalty_recs.remark,
}))
self.write({'reconciliation_line_ids': not_submitted_list})
all_due_dates = []
for line in self.reconciliation_line_ids:
if line.collection_type == 'rent' and line.due_date:
@@ -237,6 +257,8 @@ class PropertyReconciliationWizard(models.Model):
'collection_type': 'penalty',
'remake': f'违约金({fields.Date.to_string(first_day)}至{fields.Date.to_string(self.actual_date)},共{penalty_days}天',
}))
if missing_penalty_lines:
self.write({ 'reconciliation_line_ids': missing_penalty_lines})
# 查找上个月应收是否有未交全的租金
unpaid_rent_recs = self.env['property.accounts.receivable'].search([
@@ -263,25 +285,6 @@ class PropertyReconciliationWizard(models.Model):
'remake': f'违约金({fields.Date.to_string(first_day)}至{fields.Date.to_string(self.actual_date)},共{penalty_days.days + 1}天)',
}))
# 查找应收日期之前的所有未对账的违约金
unpaid_penalty_recs = self.env['property.accounts.receivable'].search([
('contract_id', '=', contract.id),
('collection_type', '=', 'penalty'),
('is_reconciliation', '=', False),
('due_date', '<=', fields.Date.to_string(self.actual_date)),
])
for unpaid_penalty_rec in unpaid_penalty_recs:
missing_penalty_lines.append((0, 0, {
'contract_id': contract.id if contract else None,
'rent_month': unpaid_penalty_recs.submitted,
'due_date': unpaid_penalty_recs.due_date,
'rent': unpaid_penalty_rec.submitted,
'collection_type': 'penalty',
'remake': unpaid_penalty_recs.remark,
}))
if missing_penalty_lines:
self.write({ 'reconciliation_line_ids': missing_penalty_lines})
self.create_reconciliation_vals()
def create_reconciliation_vals(self):