From e70e00328a08eaa471e2845904e26f9aada4f0d2 Mon Sep 17 00:00:00 2001 From: danielales2541 Date: Fri, 9 May 2025 20:36:11 +0200 Subject: [PATCH] FINERACT-2202: Bulk import fix --- .../fineract/portfolio/savings/SavingsApiConstants.java | 5 ++++- .../savings/SavingsTransactionImportHandler.java | 6 +++--- .../portfolio/savings/data/SavingsAccountConstant.java | 9 +++++---- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/fineract-core/src/main/java/org/apache/fineract/portfolio/savings/SavingsApiConstants.java b/fineract-core/src/main/java/org/apache/fineract/portfolio/savings/SavingsApiConstants.java index 4fe8d64b1..b0ac6cecd 100644 --- a/fineract-core/src/main/java/org/apache/fineract/portfolio/savings/SavingsApiConstants.java +++ b/fineract-core/src/main/java/org/apache/fineract/portfolio/savings/SavingsApiConstants.java @@ -71,7 +71,7 @@ public class SavingsApiConstants { public static final String dateFormatParamName = "dateFormat"; public static final String monthDayFormatParamName = "monthDayFormat"; public static final String staffIdParamName = "savingsOfficerId"; - + public static final String accountIdParamName = "accountId"; // savings product and account parameters public static final String idParamName = "id"; public static final String isGSIM = "isGSIM"; @@ -170,6 +170,9 @@ public class SavingsApiConstants { public static final String amountOutstandingParamName = "amountOutstanding"; public static final String amountOrPercentageParamName = "amountOrPercentage"; public static final String amountParamName = "amount"; + public static final String isManualTransaction = "isManualTransaction"; + public static final String lienTransaction = "lienTransaction"; + public static final String chargesPaidByData = "chargesPaidByData"; public static final String amountPaidParamName = "amountPaid"; public static final String chargeOptionsParamName = "chargeOptions"; public static final String chargePaymentModeParamName = "chargePaymentMode"; diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/importhandler/savings/SavingsTransactionImportHandler.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/importhandler/savings/SavingsTransactionImportHandler.java index 77aff1791..42a2c87c7 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/importhandler/savings/SavingsTransactionImportHandler.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/importhandler/savings/SavingsTransactionImportHandler.java @@ -66,7 +66,7 @@ public class SavingsTransactionImportHandler implements ImportHandler { @Override public Count process(final Workbook workbook, final String locale, final String dateFormat) { List savingsTransactions = readExcelFile(workbook, locale, dateFormat); - return importEntity(workbook, savingsTransactions, dateFormat); + return importEntity(workbook, savingsTransactions, dateFormat, locale); } private List readExcelFile(final Workbook workbook, final String locale, final String dateFormat) { @@ -115,13 +115,13 @@ public class SavingsTransactionImportHandler implements ImportHandler { } private Count importEntity(final Workbook workbook, final List savingsTransactions, - final String dateFormat) { + final String dateFormat, final String locale) { Sheet savingsTransactionSheet = workbook.getSheet(TemplatePopulateImportConstants.SAVINGS_TRANSACTION_SHEET_NAME); int successCount = 0; int errorCount = 0; String errorMessage = ""; GsonBuilder gsonBuilder = GoogleGsonSerializerHelper.createGsonBuilder(); - gsonBuilder.registerTypeAdapter(LocalDate.class, new DateSerializer(dateFormat)); + gsonBuilder.registerTypeAdapter(LocalDate.class, new DateSerializer(dateFormat, locale)); gsonBuilder.registerTypeAdapter(SavingsAccountTransactionEnumData.class, new SavingsAccountTransactionEnumValueSerialiser()); for (SavingsAccountTransactionData transaction : savingsTransactions) { diff --git a/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountConstant.java b/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountConstant.java index 0809ee9a1..2265a80b9 100644 --- a/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountConstant.java +++ b/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountConstant.java @@ -46,10 +46,11 @@ public class SavingsAccountConstant extends SavingsApiConstants { * get response parameters to match those of request parameters. */ - protected static final Set SAVINGS_ACCOUNT_TRANSACTION_REQUEST_DATA_PARAMETERS = new HashSet<>( - Arrays.asList(localeParamName, dateFormatParamName, transactionDateParamName, transactionAmountParamName, - paymentTypeIdParamName, transactionAccountNumberParamName, checkNumberParamName, routingCodeParamName, - receiptNumberParamName, bankNumberParamName, retailEntriesParamName, childAccountIdParamName, noteParamName)); + protected static final Set SAVINGS_ACCOUNT_TRANSACTION_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName, + dateFormatParamName, transactionDateParamName, transactionAmountParamName, paymentTypeIdParamName, + transactionAccountNumberParamName, checkNumberParamName, routingCodeParamName, receiptNumberParamName, bankNumberParamName, + retailEntriesParamName, childAccountIdParamName, noteParamName, amountParamName, dateParamName, isManualTransaction, + lienTransaction, chargesPaidByData, submittedOnDateParamName, accountIdParamName)); protected static final Set SAVINGS_ACCOUNT_TRANSACTION_RESPONSE_DATA_PARAMETERS = new HashSet<>( Arrays.asList(idParamName, accountNoParamName));