0% found this document useful (0 votes)
29 views3 pages

Lending Alerts and Management System

The document outlines a LendingController in Java that manages lending alerts based on expected return dates, categorizing them into different alert statuses. It also includes a JSP template for displaying lending information and alert statuses to users, along with options to view, edit, or delete lending records. Additionally, it contains methods for deleting payments and updating loan amounts in the database.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views3 pages

Lending Alerts and Management System

The document outlines a LendingController in Java that manages lending alerts based on expected return dates, categorizing them into different alert statuses. It also includes a JSP template for displaying lending information and alert statuses to users, along with options to view, edit, or delete lending records. Additionally, it contains methods for deleting payments and updating loan amounts in the database.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

lending alert

import [Link];
import [Link];
import [Link].*;

@Controller
public class LendingController {

@Autowired
private LendingService lendingService;

@GetMapping("/lendings")
public String showLendings(Model model, HttpSession session) {
User user = (User) [Link]("user");
int userId = [Link]();

List<Lending> lendings = [Link](userId);

LocalDate today = [Link]();


List<Map<String, Object>> lendingWithAlerts = new ArrayList<>();

for (Lending lending : lendings) {


LocalDate expectedReturnDate =
lending.getExpected_return_date().toLocalDate();
long daysBetween = [Link](today, expectedReturnDate);

String alertStatus = "NO_ALERT";


if (daysBetween >= 0 && daysBetween <= 2) {
alertStatus = "ALERT_2_DAYS";
} else if (daysBetween > 2 && daysBetween <= 30) {
alertStatus = "ALERT_1_MONTH";
} else if (daysBetween > 30 && daysBetween <= 90) {

alertStatus = "ALERT_3_MONTHS";
}

Map<String, Object> map = new HashMap<>();


[Link]("lending", lending);
[Link]("alertStatus", alertStatus);

[Link](map);
}

[Link]("lendingsWithAlerts", lendingWithAlerts);
[Link]("user", user);

return "lend/lendings";
}
}

[Link]
<%
List<Map<String, Object>> lendingsWithAlerts = (List<Map<String, Object>>)
[Link]("lendingsWithAlerts");
%>
<!-- Lending Cards -->
<%
for (Map<String, Object> map : lendingsWithAlerts) {
Lending lending = (Lending) [Link]("lending");
String alertStatus = (String) [Link]("alertStatus");
%>
<div class="lending-card">
<div class="lending-header">
<%= lending.getBorrower_name() %>
<% if ("ALERT_2_DAYS".equals(alertStatus)) { %>
<span style="color: #e74c3c; font-weight:bold; margin-left:10px;">⚠
Due within 2 days!</span>
<% } else if ("ALERT_1_MONTH".equals(alertStatus)) { %>
<span style="color: #f39c12; font-weight:bold; margin-left:10px;">⚠
Due within 1 month</span>
<% } else if ("ALERT_3_MONTHS".equals(alertStatus)) { %>
<span style="color: #3498db; font-weight:bold; margin-left:10px;">⚠
Due within 3 months</span>
<% } %>
</div>

<div class="lending-detail"><strong>Lending ID:</strong> <%=


lending.getLending_id() %></div>
<div class="lending-detail"><strong>Amount:</strong> ₹<%=
[Link]() %></div>
<div class="lending-detail"><strong>Expected Return Date:</strong> <%=
lending.getExpected_return_date() %></div>
<div class="lending-detail"><strong>Amount to be Received:</strong> ₹<%=
[Link]() - lending.getAmount_received() %></div>

<div class="lending-actions">
<form action="viewPayments" method="get">
<input type="hidden" name="lendingId" value="<%=
lending.getLending_id() %>"/>
<input type="hidden" name="userId" value="<%= [Link]() %>"/>
<button type="submit" class="btn btn-primary">View
Payments</button>
</form>

<form action="editLending" method="post">


<input type="hidden" name="lendingId" value="<%=
lending.getLending_id() %>"/>
<input type="hidden" name="userId" value="<%= [Link]() %>"/>
<button type="submit" class="btn btn-warning">Edit Lending</button>
</form>

<form action="deleteLending" method="post" onsubmit="return


confirm('Are you sure you want to delete this lending?');">
<input type="hidden" name="lendingId" value="<%=
lending.getLending_id() %>"/>
<button type="submit" class="btn btn-danger">Delete
Lending</button>
</form>
</div>
</div>
<%
}
%>
loans:
@Override
public void deletePayment(int paymentId) {
// Get amount_paid and loan_id before deleting
String getPaymentQuery = "SELECT loan_id, amount_paid FROM loan_payments WHERE
payment_id = ?";
Map<String, Object> paymentData = [Link](getPaymentQuery,
paymentId);

int loanId = (int) [Link]("loan_id");


double amountPaid = (double) [Link]("amount_paid");

// Delete the payment


String deletePaymentQuery = "DELETE FROM loan_payments WHERE payment_id = ?";
[Link](deletePaymentQuery, paymentId);

// Update loan's amount_paid


String updateLoanQuery = "UPDATE loans SET amount_paid = amount_paid - ? WHERE
loan_id = ?";
[Link](updateLoanQuery, amountPaid, loanId);
}

borrowings
@Override
public void deleteBorrowingPayment(int borrowpaymentId) {
// Get amount_paid and borrowing_id first
String selectQuery = "SELECT borrowing_id, amount_paid FROM
borrowing_interest_payments WHERE borrowpayment_id = ?";
Map<String, Object> paymentData = [Link](selectQuery,
borrowpaymentId);

int borrowingId = (int) [Link]("borrowing_id");


double amountPaid = (double) [Link]("amount_paid");

// Delete the payment


String deleteQuery = "DELETE FROM borrowing_interest_payments WHERE
borrowpayment_id = ?";
[Link](deleteQuery, borrowpaymentId);

// Update the borrowing's amount_paid


String updateQuery = "UPDATE borrowing SET amount_paid = amount_paid - ? WHERE
borrowing_id = ?";
[Link](updateQuery, amountPaid, borrowingId);
}

DELETE ALERT
<form action="deletePayment" method="post"
onsubmit="return confirm('Are
you sure you want to delete this payment?');"
loans

You might also like