Commit 316947f6 authored by ngadkari's avatar ngadkari

Loan Tracking system

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@185427 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 08fca456
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.ejb.Stateless;
import org.w3c.dom.CDATASection;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
@Stateless
public class LoanIC extends ValidatorEJB implements LoanICLocal, LoanICRemote
{
E12GenericUtility genericUtility = new E12GenericUtility();
FinCommon finCommon = new FinCommon();
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException
{
Document dom = null;
Document dom1 = null;
Document dom2 = null;
String valueXmlString = "";
try
{
if(xmlString != null && xmlString.trim().length() > 0)
{
dom = genericUtility.parseString(xmlString);
}
if(xmlString1 != null && xmlString1.trim().length() > 0)
{
dom1 = genericUtility.parseString(xmlString1);
}
if(xmlString2 != null && xmlString2.trim().length() > 0)
{
dom2 = genericUtility.parseString(xmlString2);
}
valueXmlString = itemChanged(dom,dom1,dom2,objContext,currentColumn,editFlag,xtraParams);
}
catch(Exception e)
{
System.out.println("Exception : [LoanPartyIC][itemChanged( String, String )] :==>\n" + e.getMessage());
}
return valueXmlString;
}
public String itemChanged(Document dom, Document dom1, Document dom2,String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException
{
int currentFormNo = 0;
int ctr = 0;
String sql = "",partyName="",loanParty="",bankCode="",bankName="",acctDescr="",acctCodePay="",cctrCodePay="",cctrCodeDescr="",refNo="",netAmtBc="",mAmt="";
String refSer="",acctCode="",amountPaid="", cctrCode="",marginAmount="",currCode="",exchRate="",tranDate="",loanAmt="",siteCode="",cctrCodeAp="",acctCodeAp="";
StringBuffer valueXmlString = new StringBuffer();
Connection conn = null;
PreparedStatement pstmt = null, pstmt1 = null;
ResultSet rs = null, rs1 = null ;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
String childNodeName = null;
Double loanAmtBC = 0.0,mAmtBC=0.0;
Double mexrate = 0.0;
List amtList = new ArrayList();
String code="",tempCode="",descr = "";
String columnValue="",loginSite="";
int childNodeListLength = 0;
try
{
conn = getConnection();
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
if (objContext != null && objContext.trim().length() > 0)
{
currentFormNo = Integer.parseInt(objContext.trim());
}
valueXmlString = new StringBuffer("<?xml version=\"1.0\"?><Root><header><editFlag>");
valueXmlString.append(editFlag).append("</editFlag></header>");
System.out.println("**********ITEMCHANGE FOR CASE" + currentFormNo + "**************");
switch (currentFormNo)
{
case 1:
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
ctr = 0;
valueXmlString.append("<Detail1>");
childNodeListLength = childNodeList.getLength();
do
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equals(currentColumn))
{
if (childNode.getFirstChild()!= null)
{
columnValue = childNode.getFirstChild().getNodeValue().trim();
}
}
ctr++;
}
while(ctr < childNodeListLength && !childNodeName.equals(currentColumn));
System.out.println("[" + currentColumn + "] ==> '" + columnValue + "'");
if("itm_default".equalsIgnoreCase(currentColumn.trim()))
{
System.out.println("----------- inside itm_default ---------------");
tranDate = simpleDateFormat.format(currentDate.getTime());
valueXmlString.append("<tran_date>").append("<![CDATA[" + tranDate + "]]>").append("</tran_date>");
}
else if(currentColumn.trim().equalsIgnoreCase("loan_party"))
{
loanParty = genericUtility.getColumnValue("loan_party", dom);
sql = "select party_name,acct_code__ap,cctr_code__ap from loanparty where party_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,loanParty);
rs = pstmt.executeQuery();
if(rs.next())
{
partyName = rs.getString("party_name");
acctCodeAp = rs.getString("acct_code__ap");
cctrCodeAp = rs.getString("cctr_code__ap");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(partyName != null && partyName.trim().length() > 0 )
{
valueXmlString.append("<party_name>").append("<![CDATA[" + checkNull(partyName) + "]]>").append("</party_name>");
}
if(acctCodeAp != null && acctCodeAp.trim().length() > 0 )
{
valueXmlString.append("<acct_code__pay>").append("<![CDATA[" + checkNull(acctCodeAp) + "]]>").append("</acct_code__pay>");
setNodeValue(dom,"acct_code__pay" , acctCodeAp);
String reStr = itemChanged(dom, dom1, dom2, objContext, "acct_code__pay", editFlag, xtraParams);
int pos = reStr.indexOf("<Detail1>");
reStr = reStr.substring(pos + 9);
pos = reStr.indexOf("</Detail1>");
reStr = reStr.substring(0, pos);
valueXmlString.append(reStr);
}
if(cctrCodeAp != null && cctrCodeAp.trim().length() > 0 )
{
valueXmlString.append("<cctr_code__pay>").append("<![CDATA[" + checkNull(cctrCodeAp) + "]]>").append("</cctr_code__pay>");
setNodeValue(dom,"cctr_code__pay" , cctrCodeAp);
String reStrc = itemChanged(dom, dom1, dom2, objContext, "cctr_code__pay", editFlag, xtraParams);
int posc = reStrc.indexOf("<Detail1>");
reStrc = reStrc.substring(posc + 9);
posc = reStrc.indexOf("</Detail1>");
reStrc = reStrc.substring(0, posc);
valueXmlString.append(reStrc);
}
}
else if(currentColumn.trim().equalsIgnoreCase("bank_code"))
{
bankCode = genericUtility.getColumnValue("bank_code", dom);
sql = "select bank_name from bank where bank_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,bankCode);
rs = pstmt.executeQuery();
if(rs.next())
{
bankName = rs.getString("bank_name");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(bankName != null && bankName.trim().length() > 0 )
{
valueXmlString.append("<bank_name>").append("<![CDATA[" + checkNull(bankName) + "]]>").append("</bank_name>");
}
}// end of if block
else if(currentColumn.trim().equalsIgnoreCase("acct_code__pay"))
{
acctCodePay =genericUtility.getColumnValue("acct_code__pay", dom);
sql = "select descr from accounts where acct_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,acctCodePay);
rs = pstmt.executeQuery();
if(rs.next())
{
acctDescr = rs.getString("descr");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(acctDescr != null && acctDescr.trim().length() > 0 )
{
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + checkNull(acctDescr) + "]]>").append("</accounts_descr>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("cctr_code__pay"))
{
cctrCodePay =genericUtility.getColumnValue("cctr_code__pay", dom);
sql = "select descr from costctr where cctr_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,cctrCodePay);
rs = pstmt.executeQuery();
if(rs.next())
{
cctrCodeDescr = rs.getString("descr");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cctrCodeDescr != null && cctrCodeDescr.trim().length() > 0 )
{
valueXmlString.append("<costctr_descr>").append("<![CDATA[" + checkNull(cctrCodeDescr) + "]]>").append("</costctr_descr>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("curr_code"))
{
tranDate =genericUtility.getColumnValue("tran_date", dom);
siteCode =genericUtility.getColumnValue("site_code", dom);
currCode =genericUtility.getColumnValue("curr_code", dom);
mexrate = finCommon.getDailyExchRateSellBuy(currCode, "", siteCode, tranDate, "B", conn);
valueXmlString.append("<exch_rate>").append("<![CDATA[" + mexrate + "]]>").append("</exch_rate>");
loanAmt = genericUtility.getColumnValue("loan_amount", dom);
loanAmtBC = (Double.parseDouble(loanAmt)) * mexrate;
valueXmlString.append("<loan_amt__bc>").append("<![CDATA[" + loanAmtBC + "]]>").append("</loan_amt__bc>");
}
String userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"); System.out.println("--login code--"+userId);
loginSite = getValueFromXTRA_PARAMS(xtraParams,"loginSiteCode");
String chgUser = this.genericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgUser");
String chgTerm = this.genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId");
valueXmlString.append("</Detail1>"); // close tag
System.out.println("NANDKUMAR itemchanged case 1 valueXmlString : "+valueXmlString);
break;
case 2 :
System.out.println("**********************In case 2 ***********************8");
parentNodeList = dom.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
ctr = 0;
valueXmlString.append("<Detail2>");
childNodeListLength = childNodeList.getLength();
do
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equals(currentColumn))
{
if (childNode.getFirstChild()!= null)
{
columnValue = childNode.getFirstChild().getNodeValue().trim();
}
}
ctr++;
}
while(ctr < childNodeListLength && !childNodeName.equals(currentColumn));
System.out.println("IN DETAILS column name is %%%%%%%%%%%%%[" + currentColumn + "] ==> '" + columnValue + "'");
if("itm_default".equalsIgnoreCase(currentColumn.trim()))
{
valueXmlString.append("<ref_ser>").append("<![CDATA["+"M-VOUC"+"]]>").append("</ref_ser>");
}
else if(currentColumn.trim().equalsIgnoreCase("ref_no"))
{
refNo=checkNull(this.genericUtility.getColumnValue("ref_no", dom));
if(refNo != null && refNo.trim().length() > 0 )
{
sql = "select acct_code,cctr_code,tot_amt from voucher where tran_id = ? and confirmed = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refNo);
pstmt.setString(2,"Y");
rs = pstmt.executeQuery();
if(rs.next())
{
amountPaid=checkNull(rs.getString("tot_amt"));
acctCode=checkNull(rs.getString("acct_code"));
cctrCode=checkNull(rs.getString("cctr_code"));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
valueXmlString.append("<amount_paid protect = \"1\">").append("<![CDATA["+amountPaid+"]]>").append("</amount_paid>");
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);
String reStr = itemChanged(dom, dom1, dom2, objContext, "acct_code", editFlag, xtraParams);
int pos = reStr.indexOf("<Detail2>");
reStr = reStr.substring(pos + 9);
pos = reStr.indexOf("</Detail2>");
reStr = reStr.substring(0, pos);
valueXmlString.append(reStr);
String reStrc = itemChanged(dom, dom1, dom2, objContext, "cctr_code", editFlag, xtraParams);
int posc = reStrc.indexOf("<Detail2>");
reStrc = reStrc.substring(posc + 9);
posc = reStrc.indexOf("</Detail2>");
reStrc = reStrc.substring(0, posc);
valueXmlString.append(reStrc);
}
}
if(currentColumn.trim().equalsIgnoreCase("acct_code"))
{
acctCode = checkNull(genericUtility.getColumnValue("acct_code",dom)).trim();
sql = "select descr from accounts where acct_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,acctCode);
rs = pstmt.executeQuery();
if(rs.next())
{
acctDescr = rs.getString("descr");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(acctDescr != null && acctDescr.trim().length() > 0 )
{
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + checkNull(acctDescr) + "]]>").append("</accounts_descr>");
}
}
if(currentColumn.trim().equalsIgnoreCase("cctr_code"))
{
cctrCode = checkNull(genericUtility.getColumnValue("cctr_code",dom)).trim();
sql = "select descr from costctr where cctr_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,cctrCode);
rs = pstmt.executeQuery();
if(rs.next())
{
cctrCodeDescr = rs.getString("descr");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cctrCodeDescr != null && cctrCodeDescr.trim().length() > 0 )
{
valueXmlString.append("<costctr_descr>").append("<![CDATA[" + checkNull(cctrCodeDescr) + "]]>").append("</costctr_descr>");
}
}
valueXmlString.append("</Detail2>");
break;
// case 2 end
case 3 :
System.out.println("**********************In case 3 ***********************8");
parentNodeList = dom.getElementsByTagName("Detail3");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
ctr = 0;
valueXmlString.append("<Detail3>");
childNodeListLength = childNodeList.getLength();
do
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equals(currentColumn))
{
if (childNode.getFirstChild()!= null)
{
columnValue = childNode.getFirstChild().getNodeValue().trim();
}
}
ctr++;
}
while(ctr < childNodeListLength && !childNodeName.equals(currentColumn));
System.out.println("IN DETAILS column name is %%%%%%%%%%%%%[" + currentColumn + "] ==> '" + columnValue + "'");
if("itm_default".equalsIgnoreCase(currentColumn.trim()))
{
valueXmlString.append("<ref_ser>").append("<![CDATA["+"M-ADV"+"]]>").append("</ref_ser>");
}
else if(currentColumn.trim().equalsIgnoreCase("ref_no"))
{
refNo=checkNull(this.genericUtility.getColumnValue("ref_no", dom));
if(refNo != null && refNo.trim().length() > 0 )
{
sql = "select acct_code,cctr_code,curr_code,exch_rate,tot_amt,net_amt__bc from voucher where tran_id = ? and confirmed = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refNo);
pstmt.setString(2,"Y");
rs = pstmt.executeQuery();
if(rs.next())
{
marginAmount=checkNull(rs.getString("tot_amt"));
acctCode=checkNull(rs.getString("acct_code"));
cctrCode=checkNull(rs.getString("cctr_code"));
currCode=checkNull(rs.getString("curr_code"));
exchRate=checkNull(rs.getString("exch_rate"));
netAmtBc=checkNull(rs.getString("net_amt__bc"));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
valueXmlString.append("<ref_ser>").append("<![CDATA["+refSer+"]]>").append("</ref_ser>");
valueXmlString.append("<margin_amount protect = \"1\">").append("<![CDATA["+marginAmount+"]]>").append("</margin_amount>");
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("<amount__bc protect = \"1\">").append("<![CDATA[" + netAmtBc + "]]>").append("</amount__bc>");
String reStr = itemChanged(dom, dom1, dom2, objContext, "acct_code", editFlag, xtraParams);
int pos = reStr.indexOf("<Detail3>");
reStr = reStr.substring(pos + 9);
pos = reStr.indexOf("</Detail3>");
reStr = reStr.substring(0, pos);
valueXmlString.append(reStr);
String reStrc = itemChanged(dom, dom1, dom2, objContext, "cctr_code", editFlag, xtraParams);
int posc = reStrc.indexOf("<Detail3>");
reStrc = reStrc.substring(posc + 9);
posc = reStrc.indexOf("</Detail3>");
reStrc = reStrc.substring(0, posc);
valueXmlString.append(reStrc);
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);
}
}
else if(currentColumn.trim().equalsIgnoreCase("acct_code"))
{
acctCode = checkNull(genericUtility.getColumnValue("acct_code",dom)).trim();
sql = "select descr from accounts where acct_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,acctCode);
rs = pstmt.executeQuery();
if(rs.next())
{
acctDescr = rs.getString("descr");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(acctDescr != null && acctDescr.trim().length() > 0 )
{
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + checkNull(acctDescr) + "]]>").append("</accounts_descr>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("cctr_code"))
{
cctrCode = checkNull(genericUtility.getColumnValue("cctr_code",dom)).trim();
sql = "select descr from costctr where cctr_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,cctrCode);
rs = pstmt.executeQuery();
if(rs.next())
{
cctrCodeDescr = rs.getString("descr");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cctrCodeDescr != null && cctrCodeDescr.trim().length() > 0 )
{
valueXmlString.append("<costctr_descr>").append("<![CDATA[" + checkNull(cctrCodeDescr) + "]]>").append("</costctr_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 protect = \"1\">").append("<![CDATA["+mexrate+"]]>").append("</exch_rate>");
mAmt = genericUtility.getColumnValue("margin_amount", dom);
mAmtBC = (Double.parseDouble(mAmt)) * mexrate;
valueXmlString.append("<amount__bc protect = \"1\">").append("<![CDATA[" + mAmtBC + "]]>").append("</amount__bc>");
}
valueXmlString.append("</Detail3>");
break;
}
valueXmlString.append("</Root>");
}// end of try block
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(conn != null)
{
conn.close();
conn = null;
}
}
catch(Exception d)
{
d.printStackTrace();
}
}// end of finally statement
return valueXmlString.toString();
}
private String checkNull(String input)
{
return input == null ? "" : input;
}
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
Document dom = null;
Document dom1 = null;
Document dom2 = null;
String errString = "";
try
{
if(xmlString != null && xmlString.trim().length() > 0)
{
dom = genericUtility.parseString(xmlString);
}
if(xmlString1 != null && xmlString1.trim().length() > 0)
{
dom1 = genericUtility.parseString(xmlString1);
}
if(xmlString2 != null && xmlString2.trim().length() > 0)
{
dom2 = genericUtility.parseString(xmlString2);
}
errString = wfValData(dom,dom1,dom2,objContext,editFlag,xtraParams);
System.out.println("retString:::"+errString);
}
catch(Exception e)
{
throw new ITMException(e);
}
return(errString);
}
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
int ctr=0;
int childNodeListLength;
int currentFormNo = 0;
int cnt = 0;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
String siteCode = "";
String userId = "";
String sql="";
String errCode="";
String errorType = "";
String childNodeName = null;
String errString = "";
ArrayList<String> errList = new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
Connection conn = null;
PreparedStatement pstmt = null ;
ResultSet rs = null;
String existFlag = "";
String loanParty = "",bankCode = "",acctCodePay = "",cctrCodePay = "",currCode = "",refNo="";
String refSer = "",acctCode = "",cctrCode="",bank_code="",int_term="",int_term__penalty="";
String chq_name="",acct_code__ar="",modName="",acct_code__ap="",acct_code__ap_adv="",cctr_code__ar="";
String cctr_code__ap="",cctr_code__ap_adv="",site_code="",channel_partner="",curr_code="",loginSiteCode;
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
try
{
SimpleDateFormat sdf1= new SimpleDateFormat(genericUtility.getDBDateFormat());
conn = getConnection();
userId = getValueFromXTRA_PARAMS(xtraParams, "loginCode");
if (objContext != null && objContext.trim().length() > 0)
{
currentFormNo = Integer.parseInt(objContext);
}
switch (currentFormNo)
{
case 1:
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for(ctr = 0; ctr < childNodeListLength; ctr ++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equalsIgnoreCase("site_code"))
{
siteCode = genericUtility.getColumnValue("site_code", dom);
if(editFlag.equals("A"))
{
if(siteCode!= null && siteCode.trim().length() > 0)
{
existFlag = isExist("site", "site_code", siteCode, conn);
if (! "TRUE".equals(existFlag))
{
errCode = "VTDUPSITCD";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
}// end of if block for site_code
else if("loan_party".equalsIgnoreCase(childNodeName))
{
loanParty = checkNull(genericUtility.getColumnValue("loan_party", dom)).trim();
if(loanParty == null || loanParty.trim().length() ==0)
{
errCode = "VTLPCDNL";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
sql = "select count(*) as cnt from Loanparty where PARTY_CODE =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,loanParty);
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 = "VMPARTY1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block
else if("bank_code".equalsIgnoreCase(childNodeName))
{
bankCode = checkNull(genericUtility.getColumnValue("bank_code",dom)).trim();
if(bankCode == null || bankCode.trim().length() == 0)
{
errCode = "VTBANKBLK";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
sql = "select count(*) as cnt from bank where bank_code =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,bankCode);
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 = "VTBANK1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block
else if("acct_code__pay".equalsIgnoreCase(childNodeName))
{
acctCodePay = checkNull(genericUtility.getColumnValue("acct_code__pay",dom)).trim();
if(acctCodePay == null || acctCodePay.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,acctCodePay);
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 for party_name
else if("cctr_code__pay".equalsIgnoreCase(childNodeName))
{
cctrCodePay = checkNull(genericUtility.getColumnValue("cctr_code__pay",dom)).trim();
if(cctrCodePay == null || cctrCodePay.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,cctrCodePay);
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 for party_name
else if("curr_code".equalsIgnoreCase(childNodeName))
{
currCode = checkNull(genericUtility.getColumnValue("curr_code",dom)).trim();
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 for group_code
}
break;
case 2:
parentNodeList = dom.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
System.out.println("@@@@@@@@@@@@childNodeListLength["+ childNodeListLength + "]");
for (ctr = 0; ctr < childNodeListLength; ctr++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if("ref_no".equalsIgnoreCase(childNodeName))
{
refNo = checkNull(genericUtility.getColumnValue("ref_no", dom)).trim();
if(refNo == null || refNo.trim().length() ==0)
{
errCode = "VTREFRNO";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
sql = "select count(*) as cnt from voucher where tran_id =? and confirmed = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,refNo);
pstmt.setString(2,"Y");
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 = "VTNOSUCHRN";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block
else if("ref_ser".equalsIgnoreCase(childNodeName))
{
refSer = checkNull(genericUtility.getColumnValue("ref_ser",dom)).trim();
if(refSer == null || refSer.trim().length() == 0)
{
errCode = "VTREFSER7";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
sql = "select count(*) as cnt from refser where ref_ser =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,refSer);
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 = "VMREFSER";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block
else if("acct_code".equalsIgnoreCase(childNodeName))
{
acctCode = checkNull(genericUtility.getColumnValue("acct_code",dom)).trim();
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".equalsIgnoreCase(childNodeName))
{
cctrCode = checkNull(genericUtility.getColumnValue("cctr_code",dom)).trim();
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
}//end for loop
break;
case 3:
parentNodeList = dom.getElementsByTagName("Detail3");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
System.out.println("@@@@@@@@@@@@childNodeListLength["+ childNodeListLength + "]");
for (ctr = 0; ctr < childNodeListLength; ctr++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if("ref_no".equalsIgnoreCase(childNodeName))
{
refNo = checkNull(genericUtility.getColumnValue("ref_no", dom)).trim();
if(refNo == null || refNo.trim().length() ==0)
{
errCode = "VTREFRNO";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
sql = "select count(*) as cnt from voucher where tran_id =? and confirmed = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,refNo);
pstmt.setString(2,"Y");
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 = "VTNOSUCHRN";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block
else if("ref_ser".equalsIgnoreCase(childNodeName))
{
refSer = checkNull(genericUtility.getColumnValue("ref_ser",dom)).trim();
if(refSer == null || refSer.trim().length() == 0)
{
errCode = "VTREFSER7";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
sql = "select count(*) as cnt from refser where ref_ser =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,refSer);
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 = "VMREFSER";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block
else if("acct_code".equalsIgnoreCase(childNodeName))
{
acctCode = checkNull(genericUtility.getColumnValue("acct_code",dom)).trim();
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".equalsIgnoreCase(childNodeName))
{
cctrCode = checkNull(genericUtility.getColumnValue("cctr_code",dom)).trim();
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)).trim();
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
}
}// end of switch statement
int errListSize = errList.size();
String errFldName = null;
if(errList != null && errListSize > 0)
{
for(cnt = 0; cnt < errListSize; cnt ++)
{
errCode = errList.get((int) cnt);
errFldName = errFields.get((int) cnt);
System.out.println("errCode .........." + errCode);
errString = getErrorString(errFldName, errCode, userId);
errorType = errorType(conn , errCode);
if(errString.length() > 0)
{
String bifurErrString = errString.substring(errString.indexOf("<Errors>") + 8, errString.indexOf("<trace>"));
bifurErrString = bifurErrString + errString.substring(errString.indexOf("</trace>") + 8, errString.indexOf("</Errors>"));
errStringXml.append(bifurErrString);
errString = "";
}
if(errorType.equalsIgnoreCase("E"))
{
break;
}
}
errList.clear();
errList = null;
errFields.clear();
errFields = null;
errStringXml.append("</Errors> </Root> \r\n");
}
else
{
errStringXml = new StringBuffer("");
}
}// End of try
catch(Exception e)
{
e.printStackTrace();
errString = e.getMessage();
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(conn != null)
{
conn.close();
conn = null;
}
}
catch(Exception d)
{
d.printStackTrace();
throw new ITMException(d);
}
}
errString = errStringXml.toString();
System.out.println("testing : final errString : " + errString);
return errString;
}//end of validation
private String isExist(String table, String field, String value, Connection conn) throws SQLException
{
String sql = "", retStr = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
int cnt = 0;
sql = " SELECT COUNT(1) FROM " + table + " WHERE " + field + " = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, value);
rs = pstmt.executeQuery();
if (rs.next())
{
cnt = rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if (cnt > 0)
{
retStr = "TRUE";
}
if (cnt == 0)
{
retStr = "FALSE";
}
System.out.println("@@@@ isexist[" + value + "]:::[" + retStr + "]:::[" + cnt + "]");
return retStr;
}
private static void setNodeValue( Document dom, String nodeName, String nodeVal ) throws Exception
{
Node tempNode = dom.getElementsByTagName( nodeName ).item(0);
if( tempNode != null )
{
if( tempNode.getFirstChild() == null )
{
CDATASection cDataSection = dom.createCDATASection( nodeVal );
tempNode.appendChild( cDataSection );
}
else
{
tempNode.getFirstChild().setNodeValue(nodeVal);
}
}
tempNode = null;
}
private String errorType(Connection conn , String errorCode)
{
String msgType = "";
PreparedStatement pstmt = null ;
ResultSet rs = null;
try
{
String sql = "SELECT MSG_TYPE FROM MESSAGES WHERE MSG_NO = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,errorCode);
rs = pstmt.executeQuery();
while(rs.next())
{
msgType = rs.getString("MSG_TYPE");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
return msgType;
}
}
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import javax.ejb.Local;
import org.w3c.dom.Document;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
@Local
public interface LoanICLocal extends ValidatorLocal
{
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(Document dom, Document dom1, Document dom2,String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
}
\ No newline at end of file
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import javax.ejb.Remote;
import org.w3c.dom.Document;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
@Remote
public interface LoanICRemote extends ValidatorRemote
{
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(Document dom, Document dom1, Document dom2,String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
}
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