| Line 1556... |
Line 1556... |
| 1556 |
|
1556 |
|
| 1557 |
List<List<?>> rows = new ArrayList<>();
|
1557 |
List<List<?>> rows = new ArrayList<>();
|
| 1558 |
|
1558 |
|
| 1559 |
List<LoanStatementReportModel> loanStatementReportModels = loanStatementRepository.selectByDatesAndStoreCode(startDate, endDate, fofoStore.getCode());// Extract the store name from the first loan statement
|
1559 |
List<LoanStatementReportModel> loanStatementReportModels = loanStatementRepository.selectByDatesAndStoreCode(startDate, endDate, fofoStore.getCode());// Extract the store name from the first loan statement
|
| 1560 |
String storeName = loanStatementReportModels.get(0).getStoreName();
|
1560 |
String storeName = loanStatementReportModels.get(0).getStoreName();
|
| 1561 |
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm");
|
1561 |
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd/MM/yy");
|
| 1562 |
for (LoanStatementReportModel loanStatement : loanStatementReportModels) {
|
1562 |
for (LoanStatementReportModel loanStatement : loanStatementReportModels) {
|
| 1563 |
rows.add(Arrays.asList(
|
1563 |
rows.add(Arrays.asList(
|
| 1564 |
loanStatement.getCode(), // Code
|
1564 |
loanStatement.getCode(), // Code
|
| 1565 |
String.valueOf(loanStatement.getId()), // ID (convert int to string)
|
1565 |
String.valueOf(loanStatement.getId()), // ID (convert int to string)
|
| 1566 |
loanStatement.getStoreName(), // Store Name
|
1566 |
loanStatement.getStoreName(), // Store Name
|
| Line 1570... |
Line 1570... |
| 1570 |
loanStatement.getTerritory(), // Territory
|
1570 |
loanStatement.getTerritory(), // Territory
|
| 1571 |
String.valueOf(loanStatement.getLoanId()), // Loan ID
|
1571 |
String.valueOf(loanStatement.getLoanId()), // Loan ID
|
| 1572 |
loanStatement.getInterestRate().toString(), // Interest Rate (BigDecimal to String)
|
1572 |
loanStatement.getInterestRate().toString(), // Interest Rate (BigDecimal to String)
|
| 1573 |
loanStatement.getIntialAmount().toString(), // Initial Amount (BigDecimal to String)
|
1573 |
loanStatement.getIntialAmount().toString(), // Initial Amount (BigDecimal to String)
|
| 1574 |
loanStatement.getPendingAmount().toString(), // Pending Amount (BigDecimal to String)
|
1574 |
loanStatement.getPendingAmount().toString(), // Pending Amount (BigDecimal to String)
|
| - |
|
1575 |
loanStatement.getInvoiceNumber() != null ? loanStatement.getInvoiceNumber() : "-", // Invoice Number
|
| 1575 |
loanStatement.getCreatedOn().format(dateTimeFormatter), // Created On (format LocalDateTime)
|
1576 |
loanStatement.getCreatedOn().format(dateTimeFormatter), // Created On (format LocalDateTime)
|
| 1576 |
loanStatement.getDueDate().format(dateTimeFormatter), // Due Date (format LocalDateTime)
|
1577 |
loanStatement.getDueDate().format(dateTimeFormatter), // Due Date (format LocalDateTime)
|
| 1577 |
loanStatement.getInterestAccrued().toString(), // Interest Accrued (BigDecimal to String)
|
1578 |
loanStatement.getInterestAccrued().toString(), // Interest Accrued (BigDecimal to String)
|
| 1578 |
loanStatement.getInterestPaid().toString(), // Interest Paid (BigDecimal to String)
|
1579 |
loanStatement.getInterestPaid().toString(), // Interest Paid (BigDecimal to String)
|
| 1579 |
String.valueOf(loanStatement.getFreeDays()), // Free Days (convert int to string)
|
1580 |
String.valueOf(loanStatement.getFreeDays()), // Free Days (convert int to string)
|
| Line 1586... |
Line 1587... |
| 1586 |
));
|
1587 |
));
|
| 1587 |
}
|
1588 |
}
|
| 1588 |
|
1589 |
|
| 1589 |
// Set up the headers and create the CSV
|
1590 |
// Set up the headers and create the CSV
|
| 1590 |
List<String> headers = Arrays.asList("Code", "ID", "Store Name", "State", "Zone", "Area", "Territory", "Loan ID",
|
1591 |
List<String> headers = Arrays.asList("Code", "ID", "Store Name", "State", "Zone", "Area", "Territory", "Loan ID",
|
| 1591 |
"Interest Rate", "Initial Amount", "Pending Amount", "Created On", "Due Date",
|
1592 |
"Interest Rate", "Initial Amount", "Pending Amount", "Invoice Number", "Created On", "Due Date",
|
| 1592 |
"Interest Accrued", "Interest Paid", "Free Days", "Loan Reference Type",
|
1593 |
"Interest Accrued", "Interest Paid", "Free Days", "Loan Reference Type",
|
| 1593 |
"Amount", "Business Date", "Created At", "Description", "Status");
|
1594 |
"Amount", "Business Date", "Created At", "Description", "Status");
|
| 1594 |
|
1595 |
|
| 1595 |
// Create the CSV byte stream
|
1596 |
// Create the CSV byte stream
|
| 1596 |
org.apache.commons.io.output.ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, rows);
|
1597 |
org.apache.commons.io.output.ByteArrayOutputStream baos = FileUtil.getCSVByteStream(headers, rows);
|