Commit 13f16b6c authored by ngadkari's avatar ngadkari

Loan Tracking system

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@187534 ce508802-f39f-4f6c-b175-0d175dae99d5
parent ec80cb57
......@@ -6,6 +6,7 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
......@@ -67,7 +68,8 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
int currentFormNo = 0;
int ctr = 0;
String sql = "",partyName="",loanParty="",bankCode="",bankName="",acctDescr="",acctCodePay="",cctrCodePay="",cctrCodeDescr="",refNo="",netAmtBc="",mAmt="";
String refSer="",acctCode="", cctrCode="",currCode="",tranDate="",loanAmt="",siteCode="",cctrCodeAp="",acctCodeAp="",loanType="";
String refSer="",acctCode="", cctrCode="",currCode="",tranDate="",loanAmt="",siteCode="",cctrCodeAp="",acctCodeAp="",loanType="",billNo="",sundryCode="",billdateStr="";
String acctCodeCf="",cctrCodeCf="",sundryName="",acctDescrCF="",acctCodeCF="",cctrCodeDescrCF="",cctrCodeCF="";
StringBuffer valueXmlString = new StringBuffer();
Connection conn = null;
PreparedStatement pstmt = null, pstmt1 = null;
......@@ -77,13 +79,14 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
Node parentNode = null;
Node childNode = null;
String childNodeName = null;
Double loanAmtBC = 0.0,mAmtBC=0.0,exchRate=0.0;
Double mexrate = 0.0,totAmt=0.0,adjAmt=0.0,amountPaid=0.0,marginAmount=0.0;
Double loanAmtBC = 0.0,mAmtBC=0.0,exchRate=0.0,amount=0.0,diffAmtExchEX=0.0;
Double mexrate = 0.0,totAmt=0.0,adjAmt=0.0,amountPaid=0.0,marginAmount=0.0,exchRatePay=0.0,diffAmtExch=0.0;
List amtList = new ArrayList();
Timestamp billdate=null;
String code="",tempCode="",descr = "";
String columnValue="",loginSite="";
int childNodeListLength = 0;
SimpleDateFormat sdf = null;
try
{
......@@ -217,6 +220,40 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
valueXmlString.append("<bank_code>").append("<![CDATA[" + checkNull(bankCode.toUpperCase()) + "]]>").append("</bank_code>");
valueXmlString.append("<bank_name>").append("<![CDATA[" + checkNull(bankName) + "]]>").append("</bank_name>");
}
sql = "select acct_code__cf, cctr_code__cf from bank where bank_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, bankCode);
rs = pstmt.executeQuery();
if (rs.next())
{
acctCodeCf = checkNull(rs.getString(1));
cctrCodeCf = checkNull(rs.getString(2));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
valueXmlString.append("<acct_code__cf>").append("<![CDATA[" + acctCodeCf + "]]>").append("</acct_code__cf>");
setNodeValue(dom,"acct_code__cf" , acctCodeCf);
String reStracf = itemChanged(dom, dom1, dom2, objContext, "acct_code__cf", editFlag, xtraParams);
int posacf = reStracf.indexOf("<Detail1>");
reStracf = reStracf.substring(posacf + 9);
posacf = reStracf.indexOf("</Detail1>");
reStracf = reStracf.substring(0, posacf);
valueXmlString.append(reStracf);
valueXmlString.append("<cctr_code__cf >").append("<![CDATA[" + cctrCodeCf + "]]>").append("</cctr_code__cf>");
setNodeValue(dom,"cctr_code__cf" , cctrCodeCf);
String reStrccf = itemChanged(dom, dom1, dom2, objContext, "cctr_code__cf", editFlag, xtraParams);
int posccf = reStrccf.indexOf("<Detail1>");
reStrccf = reStrccf.substring(posccf + 9);
posccf = reStrccf.indexOf("</Detail1>");
reStrccf = reStrccf.substring(0, posccf);
valueXmlString.append(reStrccf);
}// end of if block
else if(currentColumn.trim().equalsIgnoreCase("acct_code__pay"))
{
......@@ -284,6 +321,70 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
valueXmlString.append("<costctr_descr>").append("<![CDATA[" + checkNull(cctrCodeDescr) + "]]>").append("</costctr_descr>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("acct_code__cf"))
{
acctCodeCf = checkNull(genericUtility.getColumnValue("acct_code__cf",dom));
sql = "select descr from accounts where acct_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,acctCodeCf);
rs = pstmt.executeQuery();
if(rs.next())
{
acctDescrCF = rs.getString("descr");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(acctDescrCF != null && acctDescrCF.trim().length() > 0 )
{
valueXmlString.append("<acc_cf_descr>").append("<![CDATA[" + checkNull(acctDescrCF) + "]]>").append("</acc_cf_descr>");
}
else
{
valueXmlString.append("<acc_cf_descr>").append("<![CDATA[]]>").append("</acc_cf_descr>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("cctr_code__cf"))
{
cctrCodeCf = checkNull(genericUtility.getColumnValue("cctr_code__cf",dom));
sql = "select descr from costctr where cctr_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,cctrCodeCf);
rs = pstmt.executeQuery();
if(rs.next())
{
cctrCodeDescrCF = rs.getString("descr");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cctrCodeDescrCF != null && cctrCodeDescrCF.trim().length() > 0 )
{
valueXmlString.append("<cctr_cf_descr>").append("<![CDATA[" + checkNull(cctrCodeDescrCF) + "]]>").append("</cctr_cf_descr>");
}
else
{
valueXmlString.append("<cctr_cf_descr>").append("<![CDATA[]]>").append("</cctr_cf_descr>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("loan_amount"))
{
......@@ -295,7 +396,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
if(currCode !=null && currCode.trim().length() > 0)
{
mexrate = finCommon.getDailyExchRateSellBuy(currCode, "", siteCode, tranDate, "B", conn);
valueXmlString.append("<exch_rate protect = \"1\">").append("<![CDATA[" + mexrate + "]]>").append("</exch_rate>");
valueXmlString.append("<exch_rate>").append("<![CDATA[" + mexrate + "]]>").append("</exch_rate>");
loanAmt = genericUtility.getColumnValue("loan_amount", dom);
if(loanAmt !=null && loanAmt.trim().length() > 0)
{
......@@ -311,7 +412,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
tranDate =genericUtility.getColumnValue("tran_date", dom);
siteCode =genericUtility.getColumnValue("site_code", dom);
mexrate = finCommon.getDailyExchRateSellBuy(currCode, "", siteCode, tranDate, "B", conn);
valueXmlString.append("<exch_rate protect = \"1\">").append("<![CDATA[" + mexrate + "]]>").append("</exch_rate>");
valueXmlString.append("<exch_rate>").append("<![CDATA[" + mexrate + "]]>").append("</exch_rate>");
loanAmt = genericUtility.getColumnValue("loan_amount", dom);
if(loanAmt !=null && loanAmt.trim().length() > 0)
{
......@@ -322,6 +423,19 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
}
else if(currentColumn.trim().equalsIgnoreCase("exch_rate"))
{
mexrate = checkDoubleNull(genericUtility.getColumnValue("exch_rate",dom));
loanAmt = genericUtility.getColumnValue("loan_amount", dom);
if(loanAmt !=null && loanAmt.trim().length() > 0)
{
loanAmtBC = (Double.parseDouble(loanAmt)) * mexrate;
}
valueXmlString.append("<loan_amt__bc protect = \"1\">").append("<![CDATA[" + loanAmtBC + "]]>").append("</loan_amt__bc>");
}
String userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"); System.out.println("--login code--"+userId);
......@@ -358,8 +472,23 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
}
while(ctr < childNodeListLength && !childNodeName.equals(currentColumn));
System.out.println("IN DETAILS column name is %%%%%%%%%%%%%[" + currentColumn + "] ==> '" + columnValue + "'");
if(currentColumn.trim().equalsIgnoreCase("ref_no"))
if (currentColumn.trim().equalsIgnoreCase("itm_defaultedit"))
{
Node currDetailF=null;
NodeList detailList1 = dom2.getElementsByTagName("Detail1");
currDetailF = detailList1.item(0);
loanAmtBC = checkDoubleNull(genericUtility.getColumnValueFromNode("loan_amt__bc",currDetailF));
diffAmtExchEX = checkDoubleNull(genericUtility.getColumnValueFromNode("diff_amt__exch",dom));
mAmtBC = checkDoubleNull(genericUtility.getColumnValueFromNode("amount__bc",dom));
diffAmtExch = loanAmtBC - mAmtBC ;
System.out.println("diffAmtExch[" + diffAmtExch + "] ==>diffAmtExchEX '" + diffAmtExchEX + "'");
if (diffAmtExchEX != diffAmtExch)
{
valueXmlString.append("<diff_amt__exch protect = \"1\">").append("<![CDATA[" + getReqDecimal(diffAmtExch, 3) + "]]>").append("</diff_amt__exch>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("ref_no"))
{
......@@ -368,7 +497,8 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
refSer = checkNull(genericUtility.getColumnValue("ref_ser",dom));
if(refNo != null && refNo.trim().length() > 0 )
{
sql = "select acct_code,cctr_code,tot_amt,adj_amt from misc_payables where ref_no = ? and tran_ser = ? ";
sql = "select acct_code,cctr_code,tot_amt,adj_amt,bill_no,bill_date,sundry_code,exch_rate,"
+ "bank_code,curr_code,FN_SUNDRY_NAME(sundry_type,sundry_code,'') as sundry_name from misc_payables where ref_no = ? and tran_ser = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refNo);
pstmt.setString(2,refSer);
......@@ -379,6 +509,13 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
acctCode=checkNull(rs.getString("acct_code"));
cctrCode=checkNull(rs.getString("cctr_code"));
adjAmt=rs.getDouble("adj_amt");
billNo=checkNull(rs.getString("bill_no"));
sundryCode=checkNull(rs.getString("sundry_code"));
exchRate=rs.getDouble("exch_rate");
billdate=rs.getTimestamp("bill_date");
bankCode=checkNull(rs.getString("bank_code"));
currCode=checkNull(rs.getString("curr_code"));
sundryName=checkNull(rs.getString("sundry_name"));
}
rs.close();
......@@ -388,6 +525,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
amountPaid = totAmt-adjAmt;
valueXmlString.append("<amount_paid protect = \"1\">").append("<![CDATA["+amountPaid+"]]>").append("</amount_paid>");
setNodeValue(dom,"amount_paid" , amountPaid.toString());
valueXmlString.append("<ref_no>").append("<![CDATA["+refNo+"]]>").append("</ref_no>");
valueXmlString.append("<acct_code>").append("<![CDATA["+acctCode+"]]>").append("</acct_code>");
setNodeValue(dom,"acct_code" , acctCode);
......@@ -407,10 +545,78 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
posc = reStrc.indexOf("</Detail2>");
reStrc = reStrc.substring(0, posc);
valueXmlString.append(reStrc);
valueXmlString.append("<bill_no>").append("<![CDATA["+billNo+"]]>").append("</bill_no>");
if( billdate != null)
{
billdateStr = simpleDateFormat.format(billdate);
valueXmlString.append("<bill_date>").append("<![CDATA["+billdateStr+"]]>").append("</bill_date>");
}
else
{
valueXmlString.append("<bill_date>").append("<![CDATA["+billdateStr+"]]>").append("</bill_date>");
}
valueXmlString.append("<sundry_code>").append("<![CDATA["+sundryCode+"]]>").append("</sundry_code>");
valueXmlString.append("<sundry_name>").append("<![CDATA["+sundryName+"]]>").append("</sundry_name>");
setNodeValue(dom,"sundry_code" , sundryCode);
String reStrS = itemChanged(dom, dom1, dom2, objContext, "sundry_code", editFlag, xtraParams);
int posS = reStrS.indexOf("<Detail2>");
reStrS = reStrS.substring(posS + 9);
posS = reStrS.indexOf("</Detail2>");
reStrS = reStrS.substring(0, posS);
valueXmlString.append(reStrS);
sql = "select acct_code__cf, cctr_code__cf from bank where bank_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, bankCode);
rs = pstmt.executeQuery();
if (rs.next())
{
acctCodeCf = checkNull(rs.getString(1));
cctrCodeCf = checkNull(rs.getString(2));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
valueXmlString.append("<acct_code__cf>").append("<![CDATA[" + acctCodeCf + "]]>").append("</acct_code__cf>");
setNodeValue(dom,"acct_code__cf" , acctCodeCf);
String reStracf = itemChanged(dom, dom1, dom2, objContext, "acct_code__cf", editFlag, xtraParams);
int posacf = reStracf.indexOf("<Detail2>");
reStracf = reStracf.substring(posacf + 9);
posacf = reStracf.indexOf("</Detail2>");
reStracf = reStracf.substring(0, posacf);
valueXmlString.append(reStracf);
valueXmlString.append("<cctr_code__cf >").append("<![CDATA[" + cctrCodeCf + "]]>").append("</cctr_code__cf>");
setNodeValue(dom,"cctr_code__cf" , cctrCodeCf);
String reStrccf = itemChanged(dom, dom1, dom2, objContext, "cctr_code__cf", editFlag, xtraParams);
int posccf = reStrccf.indexOf("<Detail2>");
reStrccf = reStrccf.substring(posccf + 9);
posccf = reStrccf.indexOf("</Detail2>");
reStrccf = reStrccf.substring(0, posccf);
valueXmlString.append(reStrccf);
valueXmlString.append("<curr_code>").append("<![CDATA["+currCode+"]]>").append("</curr_code>");
setNodeValue(dom,"curr_code" , currCode);
String reStrcur = itemChanged(dom, dom1, dom2, objContext, "curr_code", editFlag, xtraParams);
int poscur = reStrcur.indexOf("<Detail2>");
reStrcur = reStrcur.substring(poscur + 9);
poscur = reStrcur.indexOf("</Detail2>");
reStrcur = reStrcur.substring(0, poscur);
valueXmlString.append(reStrcur);
}
}
if(currentColumn.trim().equalsIgnoreCase("acct_code"))
else if(currentColumn.trim().equalsIgnoreCase("acct_code"))
{
acctCode = checkNull(genericUtility.getColumnValue("acct_code",dom));
sql = "select descr from accounts where acct_code = ? ";
......@@ -435,10 +641,15 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
{
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + checkNull(acctDescr) + "]]>").append("</accounts_descr>");
}
else
{
valueXmlString.append("<accounts_descr>").append("<![CDATA[]]>").append("</accounts_descr>");
}
}
if(currentColumn.trim().equalsIgnoreCase("cctr_code"))
else if(currentColumn.trim().equalsIgnoreCase("cctr_code"))
{
cctrCode = checkNull(genericUtility.getColumnValue("cctr_code",dom));
sql = "select descr from costctr where cctr_code = ? ";
......@@ -462,12 +673,141 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
if(cctrCodeDescr != null && cctrCodeDescr.trim().length() > 0 )
{
valueXmlString.append("<costctr_descr>").append("<![CDATA[" + checkNull(cctrCodeDescr) + "]]>").append("</costctr_descr>");
}
}
else
{
valueXmlString.append("<costctr_descr>").append("<![CDATA[]]>").append("</costctr_descr>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("acct_code__cf"))
{
acctCodeCf = checkNull(genericUtility.getColumnValue("acct_code__cf",dom));
sql = "select descr from accounts where acct_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,acctCodeCf);
rs = pstmt.executeQuery();
if(rs.next())
{
acctDescrCF = rs.getString("descr");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(acctDescrCF != null && acctDescrCF.trim().length() > 0 )
{
valueXmlString.append("<acc_cf_descr>").append("<![CDATA[" + checkNull(acctDescrCF) + "]]>").append("</acc_cf_descr>");
}
else
{
valueXmlString.append("<acc_cf_descr>").append("<![CDATA[]]>").append("</acc_cf_descr>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("cctr_code__cf"))
{
cctrCodeCf = checkNull(genericUtility.getColumnValue("cctr_code__cf",dom));
sql = "select descr from costctr where cctr_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,cctrCodeCf);
rs = pstmt.executeQuery();
if(rs.next())
{
cctrCodeDescrCF = rs.getString("descr");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cctrCodeDescrCF != null && cctrCodeDescrCF.trim().length() > 0 )
{
valueXmlString.append("<cctr_cf_descr>").append("<![CDATA[" + checkNull(cctrCodeDescrCF) + "]]>").append("</cctr_cf_descr>");
}
else
{
valueXmlString.append("<cctr_cf_descr>").append("<![CDATA[]]>").append("</cctr_cf_descr>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("curr_code"))
{
Node currDetailF=null;
NodeList detailList1 = dom2.getElementsByTagName("Detail1");
currDetailF = detailList1.item(0);
tranDate = genericUtility.getColumnValueFromNode("tran_date",currDetailF);
siteCode = genericUtility.getColumnValueFromNode("site_code",currDetailF);
currCode =genericUtility.getColumnValue("curr_code", dom);
mexrate = finCommon.getDailyExchRateSellBuy(currCode, "", siteCode, tranDate, "B", conn);
valueXmlString.append("<exch_rate>").append("<![CDATA["+mexrate+"]]>").append("</exch_rate>");
setNodeValue(dom,"exch_rate" , mexrate.toString());
String reStr = itemChanged(dom, dom1, dom2, objContext, "exch_rate", editFlag, xtraParams);
int pos = reStr.indexOf("<Detail2>");
reStr = reStr.substring(pos + 9);
pos = reStr.indexOf("</Detail2>");
reStr = reStr.substring(0, pos);
valueXmlString.append(reStr);
}
else if(currentColumn.trim().equalsIgnoreCase("exch_rate"))
{
Node currDetailF=null;
NodeList detailList1 = dom2.getElementsByTagName("Detail1");
currDetailF = detailList1.item(0);
loanAmtBC = checkDoubleNull(genericUtility.getColumnValueFromNode("loan_amt__bc",currDetailF));
mexrate = checkDoubleNull(genericUtility.getColumnValue("exch_rate",dom));
amount = checkDoubleNull(genericUtility.getColumnValue("amount_paid", dom));
mAmtBC = amount * mexrate;
valueXmlString.append("<amount__bc protect = \"1\">").append("<![CDATA[" + getReqDecimal(mAmtBC,3 ) + "]]>").append("</amount__bc>");
/*refNo=checkNullAndTrim(genericUtility.getColumnValue("ref_no", dom));
refSer = checkNull(genericUtility.getColumnValue("ref_ser",dom));
sql = "select exch_rate from misc_payables where ref_no = ? and tran_ser = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refNo);
pstmt.setString(2,refSer);
rs = pstmt.executeQuery();
if(rs.next())
{
exchRatePay=rs.getDouble("exch_rate");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;*/
diffAmtExch = loanAmtBC - mAmtBC ;
valueXmlString.append("<diff_amt__exch protect = \"1\">").append("<![CDATA[" + getReqDecimal(diffAmtExch, 3) + "]]>").append("</diff_amt__exch>");
}
valueXmlString.append("</Detail2>");
System.out.println(" itemchanged case 2 valueXmlString : "+valueXmlString);
break;
// case 2 end
......@@ -496,7 +836,23 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
}
while(ctr < childNodeListLength && !childNodeName.equals(currentColumn));
System.out.println("IN DETAILS column name is %%%%%%%%%%%%%[" + currentColumn + "] ==> '" + columnValue + "'");
if(currentColumn.trim().equalsIgnoreCase("ref_no"))
if (currentColumn.trim().equalsIgnoreCase("itm_defaultedit"))
{
Node currDetailF=null;
NodeList detailList1 = dom2.getElementsByTagName("Detail1");
currDetailF = detailList1.item(0);
loanAmtBC = checkDoubleNull(genericUtility.getColumnValueFromNode("loan_amt__bc",currDetailF));
diffAmtExchEX = checkDoubleNull(genericUtility.getColumnValueFromNode("diff_amt__exch",dom));
mAmtBC = checkDoubleNull(genericUtility.getColumnValueFromNode("amount__bc",dom));
diffAmtExch = loanAmtBC - mAmtBC ;
System.out.println("diffAmtExch[" + diffAmtExch + "] ==>diffAmtExchEX '" + diffAmtExchEX + "'");
if (diffAmtExchEX != diffAmtExch)
{
valueXmlString.append("<diff_amt__exch protect = \"1\">").append("<![CDATA[" + getReqDecimal(diffAmtExch, 3) + "]]>").append("</diff_amt__exch>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("ref_no"))
{
......@@ -505,21 +861,26 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
if(refNo != null && refNo.trim().length() > 0 )
{
sql = "select acct_code,cctr_code,curr_code,exch_rate,tot_amt,adj_amt from misc_payables where ref_no = ? and tran_ser = ?";
sql = "select acct_code,cctr_code,tot_amt,adj_amt,bill_no,bill_date,sundry_code,exch_rate,"
+ "bank_code,curr_code,FN_SUNDRY_NAME(sundry_type,sundry_code,'') as sundry_name from misc_payables where ref_no = ? and tran_ser = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refNo);
pstmt.setString(2,refSer);
rs = pstmt.executeQuery();
if(rs.next())
{
totAmt=rs.getDouble("tot_amt");
adjAmt=rs.getDouble("adj_amt");
acctCode=checkNull(rs.getString("acct_code"));
cctrCode=checkNull(rs.getString("cctr_code"));
currCode=checkNull(rs.getString("curr_code"));
adjAmt=rs.getDouble("adj_amt");
billNo=checkNull(rs.getString("bill_no"));
sundryCode=checkNull(rs.getString("sundry_code"));
exchRate=rs.getDouble("exch_rate");
billdate=rs.getTimestamp("bill_date");
bankCode=checkNull(rs.getString("bank_code"));
currCode=checkNull(rs.getString("curr_code"));
sundryName=checkNull(rs.getString("sundry_name"));
}
rs.close();
rs = null;
......@@ -528,17 +889,25 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
marginAmount = totAmt-adjAmt;
valueXmlString.append("<margin_amount protect = \"1\">").append("<![CDATA["+marginAmount+"]]>").append("</margin_amount>");
setNodeValue(dom,"margin_amount" , marginAmount.toString());
valueXmlString.append("<ref_no>").append("<![CDATA["+refNo+"]]>").append("</ref_no>");
valueXmlString.append("<acct_code>").append("<![CDATA["+acctCode+"]]>").append("</acct_code>");
setNodeValue(dom,"acct_code" , acctCode);
valueXmlString.append("<cctr_code>").append("<![CDATA["+cctrCode+"]]>").append("</cctr_code>");
setNodeValue(dom,"cctr_code" , cctrCode);
valueXmlString.append("<curr_code protect = \"1\">").append("<![CDATA["+currCode+"]]>").append("</curr_code>");
valueXmlString.append("<exch_rate protect = \"1\">").append("<![CDATA["+exchRate+"]]>").append("</exch_rate>");
valueXmlString.append("<curr_code>").append("<![CDATA["+currCode+"]]>").append("</curr_code>");
setNodeValue(dom,"curr_code" , currCode);
String reStrcur = itemChanged(dom, dom1, dom2, objContext, "curr_code", editFlag, xtraParams);
int poscur = reStrcur.indexOf("<Detail3>");
reStrcur = reStrcur.substring(poscur + 9);
poscur = reStrcur.indexOf("</Detail3>");
reStrcur = reStrcur.substring(0, poscur);
valueXmlString.append(reStrcur);
/*valueXmlString.append("<exch_rate protect = \"1\">").append("<![CDATA["+exchRate+"]]>").append("</exch_rate>");
mAmtBC = marginAmount * exchRate;
valueXmlString.append("<amount__bc protect = \"1\">").append("<![CDATA[" + mAmtBC + "]]>").append("</amount__bc>");
valueXmlString.append("<amount__bc protect = \"1\">").append("<![CDATA[" + mAmtBC + "]]>").append("</amount__bc>");*/
String reStr = itemChanged(dom, dom1, dom2, objContext, "acct_code", editFlag, xtraParams);
int pos = reStr.indexOf("<Detail3>");
......@@ -554,12 +923,33 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
reStrc = reStrc.substring(0, posc);
valueXmlString.append(reStrc);
String reStrA = itemChanged(dom, dom1, dom2, objContext, "margin_amount", editFlag, xtraParams);
/*String reStrA = itemChanged(dom, dom1, dom2, objContext, "margin_amount", editFlag, xtraParams);
int posA = reStrA.indexOf("<Detail3>");
reStrA = reStrA.substring(posA + 9);
posA = reStrA.indexOf("</Detail3>");
reStrA = reStrA.substring(0, posA);
valueXmlString.append(reStrA);
valueXmlString.append(reStrA);*/
valueXmlString.append("<bill_no>").append("<![CDATA["+billNo+"]]>").append("</bill_no>");
if( billdate != null)
{
billdateStr = simpleDateFormat.format(billdate);
valueXmlString.append("<bill_date>").append("<![CDATA["+billdateStr+"]]>").append("</bill_date>");
}
else
{
valueXmlString.append("<bill_date>").append("<![CDATA["+billdateStr+"]]>").append("</bill_date>");
}
valueXmlString.append("<sundry_code>").append("<![CDATA["+sundryCode+"]]>").append("</sundry_code>");
valueXmlString.append("<sundry_name>").append("<![CDATA["+sundryName+"]]>").append("</sundry_name>");
setNodeValue(dom,"sundry_code" , sundryCode);
String reStrS = itemChanged(dom, dom1, dom2, objContext, "sundry_code", editFlag, xtraParams);
int posS = reStrS.indexOf("<Detail3>");
reStrS = reStrS.substring(posS + 9);
posS = reStrS.indexOf("</Detail3>");
reStrS = reStrS.substring(0, posS);
valueXmlString.append(reStrS);
}
......@@ -589,6 +979,11 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
{
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + checkNull(acctDescr) + "]]>").append("</accounts_descr>");
}
else
{
valueXmlString.append("<accounts_descr>").append("<![CDATA[]]>").append("</accounts_descr>");
}
}
......@@ -616,7 +1011,12 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
if(cctrCodeDescr != null && cctrCodeDescr.trim().length() > 0 )
{
valueXmlString.append("<costctr_descr>").append("<![CDATA[" + checkNull(cctrCodeDescr) + "]]>").append("</costctr_descr>");
}
}
else
{
valueXmlString.append("<costctr_descr>").append("<![CDATA[]]>").append("</costctr_descr>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("curr_code"))
{
......@@ -628,13 +1028,53 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
siteCode = genericUtility.getColumnValueFromNode("site_code",currDetailF);
currCode =genericUtility.getColumnValue("curr_code", dom);
mexrate = finCommon.getDailyExchRateSellBuy(currCode, "", siteCode, tranDate, "B", conn);
valueXmlString.append("<exch_rate protect = \"1\">").append("<![CDATA["+mexrate+"]]>").append("</exch_rate>");
mAmt = genericUtility.getColumnValue("margin_amount", dom);
if(mAmt !=null && mAmt.trim().length() > 0)
valueXmlString.append("<exch_rate>").append("<![CDATA["+mexrate+"]]>").append("</exch_rate>");
setNodeValue(dom,"exch_rate" , mexrate.toString());
String reStr = itemChanged(dom, dom1, dom2, objContext, "exch_rate", editFlag, xtraParams);
int pos = reStr.indexOf("<Detail3>");
reStr = reStr.substring(pos + 9);
pos = reStr.indexOf("</Detail3>");
reStr = reStr.substring(0, pos);
valueXmlString.append(reStr);
}
else if(currentColumn.trim().equalsIgnoreCase("exch_rate"))
{
Node currDetailF=null;
NodeList detailList1 = dom2.getElementsByTagName("Detail1");
currDetailF = detailList1.item(0);
loanAmtBC = checkDoubleNull(genericUtility.getColumnValueFromNode("loan_amt__bc",currDetailF));
mexrate = checkDoubleNull(genericUtility.getColumnValue("exch_rate",dom));
amount = checkDoubleNull(genericUtility.getColumnValue("margin_amount", dom));
mAmtBC = amount * mexrate;
valueXmlString.append("<amount__bc protect = \"1\">").append("<![CDATA[" + getReqDecimal(mAmtBC,3 )+ "]]>").append("</amount__bc>");
/*refNo=checkNullAndTrim(genericUtility.getColumnValue("ref_no", dom));
refSer = checkNull(genericUtility.getColumnValue("ref_ser",dom));
sql = "select exch_rate from misc_payables where ref_no = ? and tran_ser = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refNo);
pstmt.setString(2,refSer);
rs = pstmt.executeQuery();
if(rs.next())
{
mAmtBC = (Double.parseDouble(mAmt)) * mexrate;
exchRatePay=rs.getDouble("exch_rate");
}
valueXmlString.append("<amount__bc protect = \"1\">").append("<![CDATA[" + mAmtBC + "]]>").append("</amount__bc>");
rs.close();
rs = null;
pstmt.close();
pstmt = null;
*/
/*diffAmtExch = (amount * exchRatePay) - (amount * mexrate);*/
diffAmtExch = loanAmtBC - mAmtBC ;
valueXmlString.append("<diff_amt__exch protect = \"1\">").append("<![CDATA[" + getReqDecimal(diffAmtExch, 3) + "]]>").append("</diff_amt__exch>");
}
valueXmlString.append("</Detail3>");
......@@ -963,7 +1403,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block for party_name
}// end of if block
else if("cctr_code__pay".equalsIgnoreCase(childNodeName))
{
cctrCodePay = checkNull(genericUtility.getColumnValue("cctr_code__pay",dom));
......@@ -1001,7 +1441,83 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block for party_name
}// end of if block
else if("acct_code__cf".equalsIgnoreCase(childNodeName))
{
acctCode = checkNull(genericUtility.getColumnValue("acct_code__cf",dom));
if(acctCode == null || acctCode.trim().length() == 0)
{
errCode = "VMACCTNULL";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
sql = "select count(*) as cnt from accounts where acct_code =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,acctCode);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("cnt");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cnt == 0)
{
errCode = "VMACTCDINV";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block
else if("cctr_code__cf".equalsIgnoreCase(childNodeName))
{
cctrCode = checkNull(genericUtility.getColumnValue("cctr_code__cf",dom));
if(cctrCode == null || cctrCode.trim().length() == 0)
{
errCode = "VTNULCCTR";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
sql = "select count(*) as cnt from Costctr where cctr_code =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,cctrCode);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("cnt");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cnt == 0)
{
errCode = "VMINVCCTR";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block
else if("curr_code".equalsIgnoreCase(childNodeName))
{
currCode = checkNull(genericUtility.getColumnValue("curr_code",dom));
......@@ -1039,7 +1555,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block for group_code
}// end of if block
else if("loan_amount".equalsIgnoreCase(childNodeName))
{
loanAmountStr = checkNull(genericUtility.getColumnValue("loan_amount",dom));
......@@ -1055,7 +1571,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
}
}// end of if block for group_code
}// end of if block
else if("loan_tenure".equalsIgnoreCase(childNodeName))
{
loanTenureStr = checkNull(genericUtility.getColumnValue("loan_tenure",dom));
......@@ -1071,7 +1587,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
}
}// end of if block for group_code
}// end of if block
else if("int_rate".equalsIgnoreCase(childNodeName))
{
intRateStr = checkNull(genericUtility.getColumnValue("int_rate",dom));
......@@ -1088,7 +1604,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
}
}// end of if block for group_code
}// end of if block
else if("exch_rate".equalsIgnoreCase(childNodeName))
{
exchRateStr = checkNull(genericUtility.getColumnValue("exch_rate",dom));
......@@ -1105,7 +1621,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
}
}// end of if block for group_code
}// end of if block
else if("repay_days".equalsIgnoreCase(childNodeName))
{
repayDays = checkNull(genericUtility.getColumnValue("repay_days",dom));
......@@ -1139,7 +1655,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
}
}// end of if block for group_code
}// end of if blocK
}
break;
......@@ -1312,6 +1828,122 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
}
}
}// end of if block
else if("acct_code__cf".equalsIgnoreCase(childNodeName))
{
acctCode = checkNull(genericUtility.getColumnValue("acct_code__cf",dom));
if(acctCode == null || acctCode.trim().length() == 0)
{
errCode = "VMACCTNULL";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
sql = "select count(*) as cnt from accounts where acct_code =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,acctCode);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("cnt");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cnt == 0)
{
errCode = "VMACTCDINV";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block
else if("cctr_code__cf".equalsIgnoreCase(childNodeName))
{
cctrCode = checkNull(genericUtility.getColumnValue("cctr_code__cf",dom));
if(cctrCode == null || cctrCode.trim().length() == 0)
{
errCode = "VTNULCCTR";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
sql = "select count(*) as cnt from Costctr where cctr_code =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,cctrCode);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("cnt");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cnt == 0)
{
errCode = "VMINVCCTR";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block
else if("curr_code".equalsIgnoreCase(childNodeName))
{
currCode = checkNull(genericUtility.getColumnValue("curr_code",dom));
if(currCode == null || currCode.trim().length() == 0)
{
errCode = "VMCUR2";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
sql = "select count(*) as cnt from currency where curr_code =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,currCode);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("cnt");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cnt == 0)
{
errCode = "VTCURRCD1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block
/*else if("amount_paid".equalsIgnoreCase(childNodeName))
{
......@@ -1763,6 +2395,23 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
}
return inputVal;
}
private double getReqDecimal(double actVal, int prec)
{
String fmtStr = "############0";
String strValue = null;
double retVal = 0;
if (prec > 0)
{
fmtStr = fmtStr + "." + "000000000".substring(0, prec);
}
DecimalFormat decFormat = new DecimalFormat(fmtStr);
retVal = Double.parseDouble(decFormat.format(actVal));
if (Math.abs(retVal) == 0)
{
retVal = 0;
}
return retVal;
}
private String errorType(Connection conn , String errorCode)
{
String msgType = "";
......
package ibase.webitm.ejb.fin;
import ibase.system.config.AppConnectParm;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.dis.DistCommon;
//import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.naming.InitialContext;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.w3c.dom.Document;
import javax.ejb.Stateless;
@Stateless
public class LoanPostSave extends ValidatorEJB implements LoanPostSaveLocal, LoanPostSaveRemote
{
public String postSave()throws RemoteException,ITMException
{
return "";
}
public String postSave( String domString, String editFlag, String xtraParams, Connection conn ) throws RemoteException,ITMException
{
System.out.println("In LoanPostSave ... ");
PreparedStatement pstmt = null;
Document dom = null;
ResultSet rs =null;
boolean isError = false;
String tranId = "",lineNo="";
String errString ="";
String xmlString =null;
String sql = null;
String sqlC=null;
StringBuffer xmlBuff = new StringBuffer();
double diffAmtExchTotal = 0 ;
String sql1 ="";
String errorString="";
double diffAmtExchDet = 0, diffAmtExchMM = 0;
int cnt=0;
try
{
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
E12GenericUtility genericUtility = new E12GenericUtility();
dom = genericUtility.parseString(domString);
tranId = genericUtility.getColumnValue("tran_id",dom);
sql="select sum(diff_amt__exch) from loan_det WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
diffAmtExchDet = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql="select sum(diff_amt__exch) from loan_mmoney WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
diffAmtExchMM = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
diffAmtExchTotal = diffAmtExchDet + diffAmtExchMM;
System.out.println("diffAmtExchDet [" + diffAmtExchDet + "] diffAmtExchMM [" + diffAmtExchMM + "] diffAmtExchTotal [" + diffAmtExchTotal + "]" );
sql="UPDATE loan_hdr SET DIFF_AMT__EXCH = ? WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,diffAmtExchTotal );
pstmt.setString(2,tranId );
cnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
if( cnt > 0)
{
System.out.println("update successfully ["+cnt+"]");
}
}
catch(Exception e)
{
try {
conn.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
isError = true;
System.out.println("Exception :LoanPostSave : :==>\n"+e.getMessage());
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
System.out.println("isError ["+isError+"]");
if (rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
System.out.println("Exception :SavexPreSaveEJB : :==>\n"+e.getMessage());
try
{
System.out.println("Before rollback");
conn.rollback();
}
catch(SQLException sqle)
{
System.out.println(sqle);
}
throw new ITMException(e);
}
}
System.out.println("Out LoanPostSave ... ");
return errorString;
}
}
package ibase.webitm.ejb.fin;
import ibase.webitm.ejb.*;
import java.rmi.RemoteException;
import java.sql.Connection;
import javax.ejb.Local; // added for ejb3
import ibase.webitm.utility.ITMException;
@Local
public interface LoanPostSaveLocal extends ValidatorLocal
{
public String postSave( String domString, String editFlag, String xtraParams,
Connection conn ) throws RemoteException,ITMException;
}
\ No newline at end of file
package ibase.webitm.ejb.fin;
import ibase.webitm.ejb.*;
import java.rmi.RemoteException;
import java.sql.Connection;
import javax.ejb.Remote; // added for ejb3
import ibase.webitm.utility.ITMException;
@Remote
public interface LoanPostSaveRemote extends ValidatorRemote
{
public String postSave( String domString, String editFlag, String xtraParams,
Connection conn ) throws RemoteException,ITMException;
}
\ No newline at end of file
......@@ -196,11 +196,11 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
String siteCodehdr="",loanType="",tranType="",loanPartyhdr="",bankCode="",
acctCodePay="",cctrCodePay="",securityTerm="",othRef="",remarks=null,currCode="",finEnt="";
String lineNoDet="",refSerDet="",AcctCodeDet="",cctrCodeDet="",currCodeDet="",refNoDet="",sundryCodeDet="",
sundryTypeDet="",acctCodeBal="",cctrCodeBal="",loanTenureUnit="";
sundryTypeDet="",acctCodeBal="",cctrCodeBal="",loanTenureUnit="",acctCodeCF="",cctrCodeCF="";
String errString="";
Timestamp sanctionDt=null,disburseDt=null,tranDatehdr=null;
String tranIdRcp="";
Double loanAmthdr=0.0,marginAmt=0d,marginAmtDet=0d,loanAmtBcHdr=0d,amountPaid=0d,exchRateDet=0d,TotdetAmt=0.0;
Double loanAmthdr=0.0,marginAmt=0d,marginAmtDet=0d,loanAmtBcHdr=0d,amountPaid=0d,exchRateDet=0d,TotdetAmt=0.0,amountBC=0.0;
int lineInt =0,cnt = 0,loanTenure=0;
boolean detailExist=false;
SimpleDateFormat sdf = null;
......@@ -214,7 +214,7 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
sql=" SELECT TRAN_DATE, SITE_CODE, LOAN_TYPE, TRAN_TYPE, LOAN_PARTY, BANK_CODE,"
+ "SANTION_DATE, DISBURS_DATE, ACCT_CODE__PAY, CCTR_CODE__PAY, LOAN_AMOUNT, CURR_CODE, EXCH_RATE,"
+ "LOAN_AMT__BC, LOAN_TENURE, LOAN_TENUE_UNIT, REPAY_DAYS, INT_RATE, MORATORIUM_PRD,"
+ "SECURITY_TERM, OTH_REF, REMARKS "
+ "SECURITY_TERM, OTH_REF, REMARKS ,ACCT_CODE__CF , CCTR_CODE__CF , DIFF_AMT__EXCH "
+ "FROM LOAN_HDR WHERE tran_id = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, tranId);
......@@ -240,6 +240,9 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
remarks=rs.getString("REMARKS");
loanTenure=rs.getInt("LOAN_TENUE_UNIT");
loanTenureUnit=rs.getString("LOAN_TENURE");
acctCodeCF=rs.getString("ACCT_CODE__CF");
cctrCodeCF=rs.getString("CCTR_CODE__CF");
diffAmtExch=rs.getDouble("DIFF_AMT__EXCH");
}
pstmt.close();
pstmt=null;
......@@ -247,7 +250,7 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
rs=null;
//Getting data from loan_detail
sql="SELECT L.TRAN_ID,L.LINE_NO, L.REF_SER, L.REF_NO, L.ACCT_CODE,L.CCTR_CODE,L.AMOUNT_PAID "
sql="SELECT L.TRAN_ID,L.LINE_NO, L.REF_SER, L.REF_NO, L.ACCT_CODE,L.CCTR_CODE,L.AMOUNT_PAID,L.AMOUNT__BC "
+ " FROM LOAN_DET L"
+ " WHERE L.tran_id = ? ";
......@@ -267,7 +270,7 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
AcctCodeDet=rs.getString("ACCT_CODE");
cctrCodeDet=rs.getString("CCTR_CODE");
amountPaid=rs.getDouble("AMOUNT_PAID");
amountBC=rs.getDouble("AMOUNT__BC");
String sql2="select SUNDRY_CODE,SUNDRY_TYPE,CURR_CODE,EXCH_RATE from misc_payables where ref_no = ? ";
......@@ -321,6 +324,7 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
HashMap sundryBalUpd=new HashMap();
HashMap miscPayUpd= new HashMap();
HashMap glTraceUpd=new HashMap();
HashMap glTraceMap = new HashMap();
//New buyers Credit OR New Term Loan
......@@ -538,7 +542,8 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
glTraceUpd.put("cctr_code", cctrCodeDet);
glTraceUpd.put("curr_code", currCodeDet);
glTraceUpd.put("exch_rate", exchRateDet);
glTraceUpd.put("dr_amt", amountPaid);
//glTraceUpd.put("dr_amt", amountPaid);commented by Nandkumar Gadkari and added amountBC
glTraceUpd.put("dr_amt", amountBC);
glTraceUpd.put("cr_amt", 0.0);
glTraceUpd.put( "ref_ser","LN-VCH");
//glTraceUpd.put("ref_type", "D");
......@@ -560,7 +565,8 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
sundryBalUpd.put("cctr_code", cctrCodeDet);
sundryBalUpd.put("curr_code", currCodeDet);
sundryBalUpd.put("exch_rate", exchRateDet);
sundryBalUpd.put("dr_amt", amountPaid);
//sundryBalUpd.put("dr_amt", amountPaid);commented by Nandkumar Gadkari and added amountBC
sundryBalUpd.put("dr_amt", amountBC);
sundryBalUpd.put("cr_amt", 0.0);
sundryBalUpd.put("adv_amt", 0.0);
......@@ -611,7 +617,8 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
glTraceUpd.put("curr_code", currCode);
glTraceUpd.put("exch_rate", exchRate);
glTraceUpd.put("dr_amt", 0.0);
glTraceUpd.put("cr_amt", amountPaid);
//glTraceUpd.put("cr_amt", amountPaid);commented by Nandkumar Gadkari and added loanAmtBcHdr
glTraceUpd.put("cr_amt", loanAmtBcHdr);
//glTraceUpd.put("ref_type", "D");
glTraceUpd.put( "ref_id",tranId);
glTraceUpd.put( "ref_ser","LN-VCH");
......@@ -622,6 +629,49 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
return errString;
}
if(diffAmtExch != 0)
{
glTraceMap.put("tran_date",tranDatehdr );
glTraceMap.put("eff_date",tranDatehdr);
glTraceMap.put("fin_entity", finEnt);
glTraceMap.put("site_code", siteCodehdr);
glTraceMap.put("sundry_type", "O");
glTraceMap.put("sundry_code", loanPartyhdr);
glTraceMap.put("acct_code", acctCodeCF);
if(acctCodeCF ==null || acctCodeCF.trim().length() == 0)
{
glTraceMap.put("cctr_code", cctrCodePay);
}
else
{
glTraceMap.put("cctr_code", cctrCodeCF);
}
glTraceMap.put("emp_code", "");
glTraceMap.put("anal_code", "");
glTraceMap.put("curr_code", currCode);
glTraceMap.put("exch_rate",exchRate);
if(diffAmtExch > 0)
{
glTraceMap.put("dr_amt",diffAmtExch);
glTraceMap.put("cr_amt", 0);
}else
{
glTraceMap.put("dr_amt", 0.0);
glTraceMap.put("cr_amt", -1 * diffAmtExch);
}
glTraceMap.put("ref_ser", "LN-VCH");
glTraceMap.put("ref_id", tranId);
System.out.println("1938 glTraceUpdate Called..............");
errString=Fcommon.glTraceUpdate(glTraceMap, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
}
sundryBalUpd.put("tran_date", tranDatehdr);
//sundryBalUpd.put("eff_date", effDate);
......@@ -634,7 +684,8 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
sundryBalUpd.put("curr_code", currCode);
sundryBalUpd.put("exch_rate", exchRate);
sundryBalUpd.put("dr_amt", 0.0);
sundryBalUpd.put("cr_amt", amountPaid);
// sundryBalUpd.put("cr_amt", amountPaid); commented by Nandkumar Gadkari and added loanAmtBcHdr
sundryBalUpd.put("cr_amt", loanAmtBcHdr);
sundryBalUpd.put("adv_amt", 0.0);
errString=Fcommon.gbf_sundrybal_upd(sundryBalUpd, conn);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment