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; ...@@ -6,6 +6,7 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
...@@ -67,7 +68,8 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -67,7 +68,8 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
int currentFormNo = 0; int currentFormNo = 0;
int ctr = 0; int ctr = 0;
String sql = "",partyName="",loanParty="",bankCode="",bankName="",acctDescr="",acctCodePay="",cctrCodePay="",cctrCodeDescr="",refNo="",netAmtBc="",mAmt=""; 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(); StringBuffer valueXmlString = new StringBuffer();
Connection conn = null; Connection conn = null;
PreparedStatement pstmt = null, pstmt1 = null; PreparedStatement pstmt = null, pstmt1 = null;
...@@ -77,13 +79,14 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -77,13 +79,14 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
Node parentNode = null; Node parentNode = null;
Node childNode = null; Node childNode = null;
String childNodeName = null; String childNodeName = null;
Double loanAmtBC = 0.0,mAmtBC=0.0,exchRate=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; 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(); List amtList = new ArrayList();
Timestamp billdate=null;
String code="",tempCode="",descr = ""; String code="",tempCode="",descr = "";
String columnValue="",loginSite=""; String columnValue="",loginSite="";
int childNodeListLength = 0; int childNodeListLength = 0;
SimpleDateFormat sdf = null;
try try
{ {
...@@ -217,6 +220,40 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -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_code>").append("<![CDATA[" + checkNull(bankCode.toUpperCase()) + "]]>").append("</bank_code>");
valueXmlString.append("<bank_name>").append("<![CDATA[" + checkNull(bankName) + "]]>").append("</bank_name>"); 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 }// end of if block
else if(currentColumn.trim().equalsIgnoreCase("acct_code__pay")) else if(currentColumn.trim().equalsIgnoreCase("acct_code__pay"))
{ {
...@@ -284,6 +321,70 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -284,6 +321,70 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
valueXmlString.append("<costctr_descr>").append("<![CDATA[" + checkNull(cctrCodeDescr) + "]]>").append("</costctr_descr>"); 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")) else if(currentColumn.trim().equalsIgnoreCase("loan_amount"))
{ {
...@@ -295,7 +396,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -295,7 +396,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
if(currCode !=null && currCode.trim().length() > 0) if(currCode !=null && currCode.trim().length() > 0)
{ {
mexrate = finCommon.getDailyExchRateSellBuy(currCode, "", siteCode, tranDate, "B", conn); 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); loanAmt = genericUtility.getColumnValue("loan_amount", dom);
if(loanAmt !=null && loanAmt.trim().length() > 0) if(loanAmt !=null && loanAmt.trim().length() > 0)
{ {
...@@ -311,7 +412,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -311,7 +412,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
tranDate =genericUtility.getColumnValue("tran_date", dom); tranDate =genericUtility.getColumnValue("tran_date", dom);
siteCode =genericUtility.getColumnValue("site_code", dom); siteCode =genericUtility.getColumnValue("site_code", dom);
mexrate = finCommon.getDailyExchRateSellBuy(currCode, "", siteCode, tranDate, "B", conn); 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); loanAmt = genericUtility.getColumnValue("loan_amount", dom);
if(loanAmt !=null && loanAmt.trim().length() > 0) if(loanAmt !=null && loanAmt.trim().length() > 0)
{ {
...@@ -322,6 +423,19 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -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); 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 ...@@ -358,8 +472,23 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
} }
while(ctr < childNodeListLength && !childNodeName.equals(currentColumn)); while(ctr < childNodeListLength && !childNodeName.equals(currentColumn));
System.out.println("IN DETAILS column name is %%%%%%%%%%%%%[" + currentColumn + "] ==> '" + columnValue + "'"); System.out.println("IN DETAILS column name is %%%%%%%%%%%%%[" + currentColumn + "] ==> '" + columnValue + "'");
if (currentColumn.trim().equalsIgnoreCase("itm_defaultedit"))
if(currentColumn.trim().equalsIgnoreCase("ref_no")) {
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 ...@@ -368,7 +497,8 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
refSer = checkNull(genericUtility.getColumnValue("ref_ser",dom)); refSer = checkNull(genericUtility.getColumnValue("ref_ser",dom));
if(refNo != null && refNo.trim().length() > 0 ) 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 = conn.prepareStatement(sql);
pstmt.setString(1, refNo); pstmt.setString(1, refNo);
pstmt.setString(2,refSer); pstmt.setString(2,refSer);
...@@ -379,6 +509,13 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -379,6 +509,13 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
acctCode=checkNull(rs.getString("acct_code")); acctCode=checkNull(rs.getString("acct_code"));
cctrCode=checkNull(rs.getString("cctr_code")); cctrCode=checkNull(rs.getString("cctr_code"));
adjAmt=rs.getDouble("adj_amt"); 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.close();
...@@ -388,6 +525,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -388,6 +525,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
amountPaid = totAmt-adjAmt; amountPaid = totAmt-adjAmt;
valueXmlString.append("<amount_paid protect = \"1\">").append("<![CDATA["+amountPaid+"]]>").append("</amount_paid>"); 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("<ref_no>").append("<![CDATA["+refNo+"]]>").append("</ref_no>");
valueXmlString.append("<acct_code>").append("<![CDATA["+acctCode+"]]>").append("</acct_code>"); valueXmlString.append("<acct_code>").append("<![CDATA["+acctCode+"]]>").append("</acct_code>");
setNodeValue(dom,"acct_code" , acctCode); setNodeValue(dom,"acct_code" , acctCode);
...@@ -407,10 +545,78 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -407,10 +545,78 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
posc = reStrc.indexOf("</Detail2>"); posc = reStrc.indexOf("</Detail2>");
reStrc = reStrc.substring(0, posc); reStrc = reStrc.substring(0, posc);
valueXmlString.append(reStrc); 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)); acctCode = checkNull(genericUtility.getColumnValue("acct_code",dom));
sql = "select descr from accounts where acct_code = ? "; sql = "select descr from accounts where acct_code = ? ";
...@@ -435,10 +641,15 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -435,10 +641,15 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
{ {
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + checkNull(acctDescr) + "]]>").append("</accounts_descr>"); 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)); cctrCode = checkNull(genericUtility.getColumnValue("cctr_code",dom));
sql = "select descr from costctr where cctr_code = ? "; sql = "select descr from costctr where cctr_code = ? ";
...@@ -462,12 +673,141 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -462,12 +673,141 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
if(cctrCodeDescr != null && cctrCodeDescr.trim().length() > 0 ) if(cctrCodeDescr != null && cctrCodeDescr.trim().length() > 0 )
{ {
valueXmlString.append("<costctr_descr>").append("<![CDATA[" + checkNull(cctrCodeDescr) + "]]>").append("</costctr_descr>"); 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>"); valueXmlString.append("</Detail2>");
System.out.println(" itemchanged case 2 valueXmlString : "+valueXmlString);
break; break;
// case 2 end // case 2 end
...@@ -496,7 +836,23 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -496,7 +836,23 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
} }
while(ctr < childNodeListLength && !childNodeName.equals(currentColumn)); while(ctr < childNodeListLength && !childNodeName.equals(currentColumn));
System.out.println("IN DETAILS column name is %%%%%%%%%%%%%[" + currentColumn + "] ==> '" + columnValue + "'"); 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 ...@@ -505,21 +861,26 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
if(refNo != null && refNo.trim().length() > 0 ) 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 = conn.prepareStatement(sql);
pstmt.setString(1, refNo); pstmt.setString(1, refNo);
pstmt.setString(2,refSer); pstmt.setString(2,refSer);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
totAmt=rs.getDouble("tot_amt"); totAmt=rs.getDouble("tot_amt");
adjAmt=rs.getDouble("adj_amt");
acctCode=checkNull(rs.getString("acct_code")); acctCode=checkNull(rs.getString("acct_code"));
cctrCode=checkNull(rs.getString("cctr_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"); 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.close();
rs = null; rs = null;
...@@ -528,17 +889,25 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -528,17 +889,25 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
marginAmount = totAmt-adjAmt; marginAmount = totAmt-adjAmt;
valueXmlString.append("<margin_amount protect = \"1\">").append("<![CDATA["+marginAmount+"]]>").append("</margin_amount>"); 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("<ref_no>").append("<![CDATA["+refNo+"]]>").append("</ref_no>");
valueXmlString.append("<acct_code>").append("<![CDATA["+acctCode+"]]>").append("</acct_code>"); valueXmlString.append("<acct_code>").append("<![CDATA["+acctCode+"]]>").append("</acct_code>");
setNodeValue(dom,"acct_code" , acctCode); setNodeValue(dom,"acct_code" , acctCode);
valueXmlString.append("<cctr_code>").append("<![CDATA["+cctrCode+"]]>").append("</cctr_code>"); valueXmlString.append("<cctr_code>").append("<![CDATA["+cctrCode+"]]>").append("</cctr_code>");
setNodeValue(dom,"cctr_code" , cctrCode); setNodeValue(dom,"cctr_code" , cctrCode);
valueXmlString.append("<curr_code protect = \"1\">").append("<![CDATA["+currCode+"]]>").append("</curr_code>"); valueXmlString.append("<curr_code>").append("<![CDATA["+currCode+"]]>").append("</curr_code>");
valueXmlString.append("<exch_rate protect = \"1\">").append("<![CDATA["+exchRate+"]]>").append("</exch_rate>"); 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; 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); String reStr = itemChanged(dom, dom1, dom2, objContext, "acct_code", editFlag, xtraParams);
int pos = reStr.indexOf("<Detail3>"); int pos = reStr.indexOf("<Detail3>");
...@@ -554,12 +923,33 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -554,12 +923,33 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
reStrc = reStrc.substring(0, posc); reStrc = reStrc.substring(0, posc);
valueXmlString.append(reStrc); 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>"); int posA = reStrA.indexOf("<Detail3>");
reStrA = reStrA.substring(posA + 9); reStrA = reStrA.substring(posA + 9);
posA = reStrA.indexOf("</Detail3>"); posA = reStrA.indexOf("</Detail3>");
reStrA = reStrA.substring(0, posA); 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 ...@@ -589,6 +979,11 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
{ {
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + checkNull(acctDescr) + "]]>").append("</accounts_descr>"); 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 ...@@ -616,7 +1011,12 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
if(cctrCodeDescr != null && cctrCodeDescr.trim().length() > 0 ) if(cctrCodeDescr != null && cctrCodeDescr.trim().length() > 0 )
{ {
valueXmlString.append("<costctr_descr>").append("<![CDATA[" + checkNull(cctrCodeDescr) + "]]>").append("</costctr_descr>"); 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")) else if(currentColumn.trim().equalsIgnoreCase("curr_code"))
{ {
...@@ -628,13 +1028,53 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -628,13 +1028,53 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
siteCode = genericUtility.getColumnValueFromNode("site_code",currDetailF); siteCode = genericUtility.getColumnValueFromNode("site_code",currDetailF);
currCode =genericUtility.getColumnValue("curr_code", dom); currCode =genericUtility.getColumnValue("curr_code", dom);
mexrate = finCommon.getDailyExchRateSellBuy(currCode, "", siteCode, tranDate, "B", conn); 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>");
mAmt = genericUtility.getColumnValue("margin_amount", dom);
if(mAmt !=null && mAmt.trim().length() > 0) 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>"); valueXmlString.append("</Detail3>");
...@@ -963,7 +1403,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -963,7 +1403,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
errFields.add(childNodeName.toLowerCase()); errFields.add(childNodeName.toLowerCase());
} }
} }
}// end of if block for party_name }// end of if block
else if("cctr_code__pay".equalsIgnoreCase(childNodeName)) else if("cctr_code__pay".equalsIgnoreCase(childNodeName))
{ {
cctrCodePay = checkNull(genericUtility.getColumnValue("cctr_code__pay",dom)); cctrCodePay = checkNull(genericUtility.getColumnValue("cctr_code__pay",dom));
...@@ -1001,7 +1441,83 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -1001,7 +1441,83 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
errFields.add(childNodeName.toLowerCase()); 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)) else if("curr_code".equalsIgnoreCase(childNodeName))
{ {
currCode = checkNull(genericUtility.getColumnValue("curr_code",dom)); currCode = checkNull(genericUtility.getColumnValue("curr_code",dom));
...@@ -1039,7 +1555,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -1039,7 +1555,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
errFields.add(childNodeName.toLowerCase()); errFields.add(childNodeName.toLowerCase());
} }
} }
}// end of if block for group_code }// end of if block
else if("loan_amount".equalsIgnoreCase(childNodeName)) else if("loan_amount".equalsIgnoreCase(childNodeName))
{ {
loanAmountStr = checkNull(genericUtility.getColumnValue("loan_amount",dom)); loanAmountStr = checkNull(genericUtility.getColumnValue("loan_amount",dom));
...@@ -1055,7 +1571,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -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)) else if("loan_tenure".equalsIgnoreCase(childNodeName))
{ {
loanTenureStr = checkNull(genericUtility.getColumnValue("loan_tenure",dom)); loanTenureStr = checkNull(genericUtility.getColumnValue("loan_tenure",dom));
...@@ -1071,7 +1587,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -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)) else if("int_rate".equalsIgnoreCase(childNodeName))
{ {
intRateStr = checkNull(genericUtility.getColumnValue("int_rate",dom)); intRateStr = checkNull(genericUtility.getColumnValue("int_rate",dom));
...@@ -1088,7 +1604,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -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)) else if("exch_rate".equalsIgnoreCase(childNodeName))
{ {
exchRateStr = checkNull(genericUtility.getColumnValue("exch_rate",dom)); exchRateStr = checkNull(genericUtility.getColumnValue("exch_rate",dom));
...@@ -1105,7 +1621,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -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)) else if("repay_days".equalsIgnoreCase(childNodeName))
{ {
repayDays = checkNull(genericUtility.getColumnValue("repay_days",dom)); repayDays = checkNull(genericUtility.getColumnValue("repay_days",dom));
...@@ -1139,7 +1655,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -1139,7 +1655,7 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
} }
}// end of if block for group_code }// end of if blocK
} }
break; break;
...@@ -1312,6 +1828,122 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -1312,6 +1828,122 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
} }
} }
}// end of if block }// 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)) /*else if("amount_paid".equalsIgnoreCase(childNodeName))
{ {
...@@ -1763,6 +2395,23 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote ...@@ -1763,6 +2395,23 @@ public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
} }
return inputVal; 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) private String errorType(Connection conn , String errorCode)
{ {
String msgType = ""; 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 ...@@ -196,11 +196,11 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
String siteCodehdr="",loanType="",tranType="",loanPartyhdr="",bankCode="", String siteCodehdr="",loanType="",tranType="",loanPartyhdr="",bankCode="",
acctCodePay="",cctrCodePay="",securityTerm="",othRef="",remarks=null,currCode="",finEnt=""; acctCodePay="",cctrCodePay="",securityTerm="",othRef="",remarks=null,currCode="",finEnt="";
String lineNoDet="",refSerDet="",AcctCodeDet="",cctrCodeDet="",currCodeDet="",refNoDet="",sundryCodeDet="", String lineNoDet="",refSerDet="",AcctCodeDet="",cctrCodeDet="",currCodeDet="",refNoDet="",sundryCodeDet="",
sundryTypeDet="",acctCodeBal="",cctrCodeBal="",loanTenureUnit=""; sundryTypeDet="",acctCodeBal="",cctrCodeBal="",loanTenureUnit="",acctCodeCF="",cctrCodeCF="";
String errString=""; String errString="";
Timestamp sanctionDt=null,disburseDt=null,tranDatehdr=null; Timestamp sanctionDt=null,disburseDt=null,tranDatehdr=null;
String tranIdRcp=""; 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; int lineInt =0,cnt = 0,loanTenure=0;
boolean detailExist=false; boolean detailExist=false;
SimpleDateFormat sdf = null; SimpleDateFormat sdf = null;
...@@ -214,7 +214,7 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws ...@@ -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," 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," + "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," + "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 = ?"; + "FROM LOAN_HDR WHERE tran_id = ?";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1, tranId); pstmt.setString(1, tranId);
...@@ -240,6 +240,9 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws ...@@ -240,6 +240,9 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
remarks=rs.getString("REMARKS"); remarks=rs.getString("REMARKS");
loanTenure=rs.getInt("LOAN_TENUE_UNIT"); loanTenure=rs.getInt("LOAN_TENUE_UNIT");
loanTenureUnit=rs.getString("LOAN_TENURE"); 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.close();
pstmt=null; pstmt=null;
...@@ -247,7 +250,7 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws ...@@ -247,7 +250,7 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
rs=null; rs=null;
//Getting data from loan_detail //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" + " FROM LOAN_DET L"
+ " WHERE L.tran_id = ? "; + " WHERE L.tran_id = ? ";
...@@ -267,7 +270,7 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws ...@@ -267,7 +270,7 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
AcctCodeDet=rs.getString("ACCT_CODE"); AcctCodeDet=rs.getString("ACCT_CODE");
cctrCodeDet=rs.getString("CCTR_CODE"); cctrCodeDet=rs.getString("CCTR_CODE");
amountPaid=rs.getDouble("AMOUNT_PAID"); 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 = ? "; 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 ...@@ -321,6 +324,7 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
HashMap sundryBalUpd=new HashMap(); HashMap sundryBalUpd=new HashMap();
HashMap miscPayUpd= new HashMap(); HashMap miscPayUpd= new HashMap();
HashMap glTraceUpd=new HashMap(); HashMap glTraceUpd=new HashMap();
HashMap glTraceMap = new HashMap();
//New buyers Credit OR New Term Loan //New buyers Credit OR New Term Loan
...@@ -538,7 +542,8 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws ...@@ -538,7 +542,8 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
glTraceUpd.put("cctr_code", cctrCodeDet); glTraceUpd.put("cctr_code", cctrCodeDet);
glTraceUpd.put("curr_code", currCodeDet); glTraceUpd.put("curr_code", currCodeDet);
glTraceUpd.put("exch_rate", exchRateDet); 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("cr_amt", 0.0);
glTraceUpd.put( "ref_ser","LN-VCH"); glTraceUpd.put( "ref_ser","LN-VCH");
//glTraceUpd.put("ref_type", "D"); //glTraceUpd.put("ref_type", "D");
...@@ -560,7 +565,8 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws ...@@ -560,7 +565,8 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
sundryBalUpd.put("cctr_code", cctrCodeDet); sundryBalUpd.put("cctr_code", cctrCodeDet);
sundryBalUpd.put("curr_code", currCodeDet); sundryBalUpd.put("curr_code", currCodeDet);
sundryBalUpd.put("exch_rate", exchRateDet); 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("cr_amt", 0.0);
sundryBalUpd.put("adv_amt", 0.0); sundryBalUpd.put("adv_amt", 0.0);
...@@ -611,7 +617,8 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws ...@@ -611,7 +617,8 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
glTraceUpd.put("curr_code", currCode); glTraceUpd.put("curr_code", currCode);
glTraceUpd.put("exch_rate", exchRate); glTraceUpd.put("exch_rate", exchRate);
glTraceUpd.put("dr_amt", 0.0); 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_type", "D");
glTraceUpd.put( "ref_id",tranId); glTraceUpd.put( "ref_id",tranId);
glTraceUpd.put( "ref_ser","LN-VCH"); glTraceUpd.put( "ref_ser","LN-VCH");
...@@ -622,6 +629,49 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws ...@@ -622,6 +629,49 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
return errString; 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("tran_date", tranDatehdr);
//sundryBalUpd.put("eff_date", effDate); //sundryBalUpd.put("eff_date", effDate);
...@@ -634,7 +684,8 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws ...@@ -634,7 +684,8 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
sundryBalUpd.put("curr_code", currCode); sundryBalUpd.put("curr_code", currCode);
sundryBalUpd.put("exch_rate", exchRate); sundryBalUpd.put("exch_rate", exchRate);
sundryBalUpd.put("dr_amt", 0.0); 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); sundryBalUpd.put("adv_amt", 0.0);
errString=Fcommon.gbf_sundrybal_upd(sundryBalUpd, conn); 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