From 57e872df6d6fe8b01965543cdd3638e396c0aaba Mon Sep 17 00:00:00 2001 From: paramita Date: Tue, 17 Sep 2024 12:26:11 +0530 Subject: [PATCH] Solving GL issue --- src/TDS_Calculate/TDS_Calculation.java | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/TDS_Calculate/TDS_Calculation.java b/src/TDS_Calculate/TDS_Calculation.java index 0938846..854f5e2 100644 --- a/src/TDS_Calculate/TDS_Calculation.java +++ b/src/TDS_Calculate/TDS_Calculation.java @@ -66,7 +66,7 @@ public class TDS_Calculation { + "DA.INTT_PAID,DP.PROD_CODE,DA.INTT_SOP_DATE,DA.INTT_EOP_DATE,DA.TERM_VALUE,DA.MAT_VALUE,DA.MAT_DT,DA.TERM_LENGTH,\n" + "DA.NXT_DUE_DATE,DA.INTT_PROJECTED,dp.INTT_PAYOUT_FREQ FROM DEP_ACCOUNT DA ,dep_product dp\n" + "where DA.DEP_PROD_ID=dp.ID and substr(dp.prod_code,1,1) in ('2','3') and substr(DA.GL_CLASS_CODE,9,2)='14'\n" - + "and DA.CURR_STATUS ='O' and DA.PACS_ID in ('07190') group by DA.KEY_1,DA.PACS_ID,DA.CURR_STATUS,DA.CUSTOMER_NO,DA.ACCT_OPEN_DT,\n" + + "and DA.CURR_STATUS ='O' and DA.PACS_ID in ('07544') group by DA.KEY_1,DA.PACS_ID,DA.CURR_STATUS,DA.CUSTOMER_NO,DA.ACCT_OPEN_DT,\n" + "DA.INTT_PAID,DA.INTT_SOP_DATE,DA.INTT_EOP_DATE,DA.TERM_VALUE,DA.MAT_VALUE,DA.MAT_DT,DA.TERM_LENGTH,\n" + "DA.NXT_DUE_DATE,DA.INTT_PROJECTED,dp.INTT_PAYOUT_FREQ,DP.PROD_CODE"; PreparedStatement preparedStatement = conn.prepareStatement(depAccountSql); @@ -639,6 +639,7 @@ public class TDS_Calculation { Double end_bal = 0.0; Double cum_curr_val = 0.0; Double tot_cr = 0.0; + Double transaction_amount = 0.0; boolean rowUpdated = false; try (Connection conn = DriverManager.getConnection(URL, USERNAME, PASWORD)) { @@ -668,7 +669,7 @@ public class TDS_Calculation { long randomNumberGeneration = randomNumberGenerator(); //Fetch the End Balance and cumm_val from gl_txn and gl_account - String fetchLastRowSql = "Select END_BAL from GL_TXN where ACCT_NO =? ORDER BY POST_TIME DESC FETCH first 1 ROW ONLY"; + String fetchLastRowSql = "Select COALESCE(END_BAL,TXN_AMT) from GL_TXN where ACCT_NO =? ORDER BY POST_TIME DESC FETCH first 1 ROW ONLY"; PreparedStatement fetchpreparestatement = conn.prepareStatement(fetchLastRowSql); @@ -676,14 +677,20 @@ public class TDS_Calculation { ResultSet fetchrs = fetchpreparestatement.executeQuery(); - while (fetchrs.next()) { + if (fetchrs.next()) { end_bal = fetchrs.getDouble("END_BAL"); + transaction_amount = fetchrs.getDouble("TXN_AMT"); + + System.out.println("end_bal is : " +end_bal); - if (end_bal == null) { - end_bal = tds_amount; - } else { + if (end_bal == 0) { + end_bal = tds_amount+transaction_amount; + } else { end_bal = end_bal + tds_amount; } + }else{ + end_bal = transaction_amount; + System.out.println("No rows found. Setting end_bal to transaction_amount" + transaction_amount); } String fetchCumVal = "Select cum_curr_val,tot_cr from gl_account where key_1 = ? and pacs_id = ? and gl_prod_id ='061340427'"; @@ -698,7 +705,7 @@ public class TDS_Calculation { cum_curr_val = fetchCumRs.getDouble("cum_curr_val"); tot_cr = fetchCumRs.getDouble("tot_cr"); - if (cum_curr_val == null) { + if (cum_curr_val == 0) { cum_curr_val = tds_amount; } else { cum_curr_val = cum_curr_val + tds_amount;