feat: enhance lease and rent payment management

- Added methods in LeaseRepository to find leases by apartment ID and exclude a specific lease ID.
- Introduced a method in RentPaymentRepository to delete all payments by lease ID.
- Updated LeaseService to handle overlapping leases and generate rent payments upon lease creation.
- Implemented rent payment deletion in LeaseService when a lease is deleted.
- Enhanced RentPaymentService to generate rent payments with pro-rata calculations for partial months.
- Modified RentPaymentController to accept rent and charges when marking payments as paid.
- Created RentPaymentPaidRequest DTO for validating rent payment requests.
- Added a RentPaymentValidationDialog for confirming payment amounts before processing.
- Updated frontend components to support new rent payment features, including validation and date filtering for leases.
- Adjusted tests to cover new functionalities and ensure proper integration of rent payment management.
This commit is contained in:
nessar committed 2026-08-17 14:18:15 +02:00
1 parent 479012d661
commit 9cfb55d79c
25 files changed
+389 -175

No files matched your search

@@ -24,8 +24,8 @@ export class RentPaymentService {
return this.http.get<RentPayment[]>('/api/rent-payments');
}
markPaid(id: string): Observable<RentPayment> {
return this.http.put<RentPayment>(`/api/rent-payments/${id}/paid`, {});
markPaid(id: string, rent: number, charges: number): Observable<RentPayment> {
return this.http.put<RentPayment>(`/api/rent-payments/${id}/paid`, { rent, charges });
}
downloadReceipt(id: string): Observable<Blob> {