Commit 6d6b651a authored by caluka's avatar caluka

Sundry Transfer and G/L Transfer process for JV Year End[FI3LFRA001]


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@95043 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 89c787c0
/********************************************************
Title : GLTransferIC[FI3LFRA001]
Date : 08/04/14
Developer: Chandrashekar
********************************************************/
package ibase.webitm.ejb.fin;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import java.text.SimpleDateFormat;
import java.util.*;
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 org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import javax.ejb.Stateless;
@Stateless
public class GLTransferIC extends ValidatorEJB implements GLTransferICLocal, GLTransferICRemote
{
GenericUtility genericUtility = GenericUtility.getInstance();
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
String errString = "";
Document dom = null;
Document dom1 = null;
Document dom2 = null;
try
{
if (xmlString != null && xmlString.trim().length() > 0 )
{
dom = parseString(xmlString);
System.out.println("xmlString["+xmlString+"]");
}
if (xmlString1 != null && xmlString1.trim().length() > 0 )
{
dom1 = parseString(xmlString1);
System.out.println("xmlString1["+xmlString1+"]");
}
if (xmlString2 != null && xmlString2.trim().length() > 0 )
{
dom2 = parseString(xmlString2);
System.out.println("xmlString2["+xmlString2+"]");
}
errString = wfValData(dom, dom1, dom2, objContext, editFlag, xtraParams);
}
catch(Exception e)
{
System.out.println("Exception : [GLTransferIC][wfValData( String, String )] :==>\n" + e.getMessage());
throw new ITMException(e);
}
return(errString);
}
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
String childNodeName = null;
String errString = "";
String errCode = "";
String userId = "";
String sql = "";
String errorType = "";
int cnt = 0;
int ctr=0;
int childNodeListLength;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
ArrayList<String> errList = new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
Connection conn = null;
PreparedStatement pstmt = null ;
ResultSet rs = null;
ConnDriver connDriver = new ConnDriver();
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
int currentFormNo =0,count=0;
String accPeriodFr="",siteCode="",finEntity="";
try
{
System.out.println("@@@@@@@@ wfvaldata called");
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
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("fin_entity"))
{
finEntity = genericUtility.getColumnValue("fin_entity", dom);
if(finEntity == null || (finEntity.length() == 0))
{
errList.add("VMFINENT1 ");
errFields.add(childNodeName.toLowerCase());
}
if(finEntity != null && finEntity.trim().length() > 0)
{
sql = " select count(*) from finent where fin_entity = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,finEntity);
rs = pstmt.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
if(count == 0)
{
errCode = "VMFINENTM2";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}
else if(childNodeName.equalsIgnoreCase("acct_prd__fr"))
{
accPeriodFr = checkNull(genericUtility.getColumnValue("acct_prd__fr", dom));
System.out.println("@@@@ accPeriodFr["+accPeriodFr+"]");
if(accPeriodFr == null || (accPeriodFr.length() == 0))
{
errList.add("VMINVPRDFR");
errFields.add(childNodeName.toLowerCase());
}
if(accPeriodFr != null && accPeriodFr.trim().length() > 0)
{
sql = "select count(*) as count from acctprd where code =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,accPeriodFr);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if( cnt == 0 )
{
errCode = "PRDCODE1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
}// end for
break; // case 1 end
}
int errListSize = errList.size();
cnt = 0;
String errFldName = null;
if(errList != null && errListSize > 0)
{
for(cnt = 0; cnt < errListSize; cnt ++)
{
errCode = errList.get(cnt);
errFldName = errFields.get(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("");
}
}
catch(Exception e)
{
e.printStackTrace();
errString = e.getMessage();
throw new ITMException(e);
}
finally
{
try
{
if(conn != null)
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
conn.close();
}
conn = null;
}
catch(Exception d)
{
d.printStackTrace();
throw new ITMException(d);
}
}
errString = errStringXml.toString();
return errString;
}
//end of validation
// method for item change
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 = "";
System.out.println("xmlString............."+xmlString);
System.out.println("xmlString1............"+xmlString);
System.out.println("xmlString2............"+xmlString);
try
{
if(xmlString != null && xmlString.trim().length() > 0)
{
dom = parseString(xmlString);
}
if(xmlString1 != null && xmlString1.trim().length() > 0)
{
dom1 = parseString(xmlString1);
}
if(xmlString2 != null && xmlString2.trim().length() > 0)
{
dom2 = parseString(xmlString2);
}
valueXmlString = itemChanged(dom, dom1, dom2, objContext, currentColumn, editFlag, xtraParams);
}
catch(Exception e)
{
System.out.println("Exception : [GLTransferIC][itemChanged( String, String )] :==>\n" + e.getMessage());
throw new ITMException(e);
}
return valueXmlString;
}
// method for item change
public String itemChanged(Document dom, Document dom1, Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException
{
String childNodeName = null;
String sql = "";
StringBuffer valueXmlString = new StringBuffer();
int ctr = 0;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null ;
GenericUtility genericUtility = GenericUtility.getInstance();
ConnDriver connDriver = new ConnDriver();
int currentFormNo =0;
String columnValue="",acctPrdFr="",acctPrdTo="";
java.util.Date newDate=null;
Timestamp toDate=null;
try
{
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
String sysDate = sdf.format(currentDate.getTime());
conn = connDriver.getConnectDB("DriverITM");
conn.setAutoCommit(false);
connDriver = null;
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>");
int 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(currentColumn.trim().equalsIgnoreCase("acct_prd__fr"))
{
acctPrdFr = checkNull(genericUtility.getColumnValue("acct_prd__fr", dom));
sql = "select to_date from acctprd where code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,acctPrdFr);
rs = pstmt.executeQuery();
if(rs.next())
{
toDate = rs.getTimestamp("to_date");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(toDate != null)
{
newDate = (java.util.Date ) relativeDate(toDate, 1);
sql = "select code from acctprd where fr_date = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setDate(1, new java.sql.Date(newDate.getTime()));
rs = pstmt.executeQuery();
if(rs.next())
{
acctPrdTo = rs.getString("code");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
valueXmlString.append("<acct_prd__to>").append("<![CDATA["+acctPrdTo+"]]>").append("</acct_prd__to>");
}
}
valueXmlString.append("</Detail1>");
break;
}
valueXmlString.append("</Root>");
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
finally
{
try
{
if(conn != null)
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
conn.close();
}
conn = null;
}
catch(Exception d)
{
d.printStackTrace();
}
}
return valueXmlString.toString();
}
private String checkNull(String input)
{
if(input == null)
{
input = "";
}
return input;
}
public static java.util.Date relativeDate(java.util.Date date, int days)
{
java.util.Date calculatedDate = null;
if (date != null)
{
final GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(date);
calendar.add(Calendar.DATE,days);
calculatedDate = new java.util.Date(calendar.getTime().getTime());
}
return calculatedDate;
}
private String errorType(Connection conn , String errorCode) throws ITMException
{
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();
if(rs.next())
{
msgType = rs.getString("MSG_TYPE");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
catch(Exception ex)
{
ex.printStackTrace();
throw new ITMException(ex);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
}
return msgType;
}
}
/********************************************************
Title : GLTransferICLocal[FI3LFRA001]
Date : 08/04/14
Developer: Chandrashekar
********************************************************/
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import org.w3c.dom.*;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.ValidatorLocal;
import javax.ejb.Local; // added for ejb3
@Local // added for ejb3
public interface GLTransferICLocal 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 objCotext, 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
/********************************************************
Title : GLTransferICRemote[FI3LFRA001]
Date : 08/04/14
Developer: Chandrashekar
********************************************************/
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import org.w3c.dom.*;
import ibase.webitm.utility.ITMException;
import javax.ejb.Remote; // added for ejb3
import ibase.webitm.ejb.ValidatorRemote;// added for ejb3
@Remote // added for ejb3
public interface GLTransferICRemote 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;
}
\ No newline at end of file
/********************************************************
Title : GLTransferPrc[FI3LFRA001]
Date : 08/04/14
Developer: Chandrashekar
********************************************************/
package ibase.webitm.ejb.fin;
import ibase.webitm.utility.*;
import ibase.webitm.ejb.*;
import ibase.system.config.*;
import java.rmi.RemoteException;
import java.util.*;
import java.sql.*;
import org.w3c.dom.*;
import java.text.SimpleDateFormat;
import javax.ejb.Stateless; // added for ejb3
@Stateless // added for ejb3
public class GLTransferPrc extends ProcessEJB implements GLTransferPrcLocal,GLTransferPrcRemote
{
String loginSiteCode = null;
GenericUtility genericUtility = GenericUtility.getInstance();
String currDateTs = null;
String chgUser = "";
String chgTerm = "";
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
public String process(String xmlString, String xmlString2, String windowName, String xtraParams)
throws RemoteException,ITMException
{
Document detailDom = null;
Document headerDom = null;
String retStr = "";
System.out.println("Process method called......");
try
{
if(xmlString != null && xmlString.trim().length()!=0)
{
headerDom = genericUtility.parseString(xmlString);
System.out.println("headerDom" + headerDom);
}
if(xmlString2 != null && xmlString2.trim().length()!=0)
{
detailDom = genericUtility.parseString(xmlString2);
System.out.println("detailDom" + detailDom);
}
retStr = process(headerDom, detailDom, windowName, xtraParams);
}
catch (Exception e)
{
System.out.println("Exception :GLTransferPrc :process(String xmlString, String xmlString2, String windowName, String xtraParams):" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
return retStr;
}//END OF PROCESS (1)
public String process(Document headerDom, Document detailDom, String windowName, String xtraParams) throws RemoteException,ITMException
{
Connection conn = null;
String resultString = "", errString = "";
boolean isError = false;
PreparedStatement pstmt = null;
PreparedStatement pstmt1 = null;
PreparedStatement pstmt2 = null;
ResultSet rs = null;
ResultSet rs1 = null;
ResultSet rs2 = null;
String sql = "",sql1="",sql2="";
String siteCode = "";
String finEntity = "",acctCode = "",currCodeAc = "",acctPrdFr = "",acctPrdTo="";
String actCodeFr = "",actCodeTo = "",site = "",cctrCode="";
double oldCrAmt=0,oldDrAmt=0,oldCrAmtBase=0,oldDrAmtBase=0;
double sumCrAmt =0,sumDrAmt=0,sumCrAmtBase=0,sumDrAmtBase=0;
int cnt=0,count=0,updCnt=0;
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
String userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"userId");
loginSiteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginSiteCode");
chgUser = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
chgTerm = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"termId");
try
{
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
conn.setAutoCommit(false);
acctPrdFr = genericUtility.getColumnValue("acct_prd__fr",headerDom );
acctPrdTo = genericUtility.getColumnValue("acct_prd__to",headerDom );
actCodeFr = genericUtility.getColumnValue("acct_code__fr",headerDom );
actCodeTo = genericUtility.getColumnValue("acct_code__to",headerDom );
finEntity = genericUtility.getColumnValue("fin_entity",headerDom );
if(actCodeFr == null)
{
actCodeFr = "0";
}
if(actCodeTo == null)
{
actCodeTo = "z";
}
sql2 = " select site_code from site where fin_entity = ? ";
pstmt2 = conn.prepareStatement( sql2 );
pstmt2.setString(1,finEntity);
rs2 = pstmt2.executeQuery();
while (rs2.next())
{
siteCode = rs2.getString( "site_code" );
siteCode = siteCode.trim();
System.out.println("siteCode is =====>"+siteCode);
sql1="select acctbal.fin_entity,acctbal.acct_code,acctbal.curr_code__ac,acctbal.site_code,acctbal.cctr_code " +
"from acctbal,acctgrp,acctsgrp,accounts where ( acctsgrp.group_code = acctgrp.group_code ) and " +
"( acctbal.acct_code = accounts.acct_code ) and ( accounts.sgroup_code = acctsgrp.sgroup_code ) and ( ( acctbal.acct_prd = ? ) and " +
"( acctbal.prd_code = 'zzzzzz' ) and ( acctbal.site_code in ( ? ) ) and ( acctbal.acct_code >= ? ) and " +
"( acctbal.acct_code <= ? ) and ( acctgrp.acct_cat in ('A','L') ) )";
pstmt1 = conn.prepareStatement( sql1 );
pstmt1.setString(1,acctPrdFr);
pstmt1.setString(2,siteCode);
pstmt1.setString(3,actCodeFr);
pstmt1.setString(4,actCodeTo);
rs1 = pstmt1.executeQuery();
while (rs1.next())
{
finEntity = checkNull(rs1.getString(1));
acctCode = checkNull(rs1.getString(2));
currCodeAc = checkNull(rs1.getString(3));
site = checkNull(rs1.getString(4));
cctrCode = checkNull(rs1.getString(5));
System.out.println("acctCode:::["+acctCode+"]");
sql = "select sum(case when acctbal.cr_amt is null then 0 else acctbal.cr_amt end) as cr_amt, sum(case when acctbal.dr_amt is null then 0 else acctbal.dr_amt end) as dr_amt," +
"sum(case when acctbal.cr_amt__base is null then 0 else acctbal.cr_amt__base end) as cr_amt__base,sum(case when acctbal.dr_amt__base is null then 0 else acctbal.dr_amt__base end) as dr_amt__base " +
"from acctbal where acctbal.acct_prd = ? and acctbal.prd_code <> 'zzzzzz' and "+
"acctbal.site_code = ? and acctbal.fin_entity = ? and "+
"acctbal.acct_code = ? and acctbal.cctr_code = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString(1,acctPrdFr);
pstmt.setString(2,site);
pstmt.setString(3,finEntity);
pstmt.setString(4,acctCode);
pstmt.setString(5,cctrCode);
rs = pstmt.executeQuery();
if (rs.next())
{
sumCrAmt = Double.parseDouble(rs.getString(1));
sumDrAmt = Double.parseDouble(rs.getString(2));
sumCrAmtBase = Double.parseDouble(rs.getString(3));
sumDrAmtBase = Double.parseDouble(rs.getString(4));
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
sql = "update acctbal set cr_amt = ?, dr_amt = ?,cr_amt__base = ?, dr_amt__base = ? " +
" where acct_prd = ? and prd_code = 'zzzzzz' and site_code = ? and " +
"fin_entity = ? and acct_code = ? and cctr_code = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setDouble(1,sumCrAmt);
pstmt.setDouble(2,sumDrAmt);
pstmt.setDouble(3,sumCrAmtBase);
pstmt.setDouble(4,sumDrAmtBase);
pstmt.setString(5,acctPrdFr);
pstmt.setString(6,site);
pstmt.setString(7,finEntity);
pstmt.setString(8,acctCode);
pstmt.setString(9,cctrCode);
updCnt = pstmt.executeUpdate();
if (!(updCnt==1))
{
errString = itmDBAccessEJB.getErrorString("","DS000NR","");
}
pstmt.close();
pstmt = null;
sql = "select count(*) as count from acctbal where acct_prd = ? and prd_code = 'zzzzzz' and site_code = ? and " +
"fin_entity = ? and acct_code = ? and cctr_code = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString(1,acctPrdTo);
pstmt.setString(2,site);
pstmt.setString(3,finEntity);
pstmt.setString(4,acctCode);
pstmt.setString(5,cctrCode);
rs = pstmt.executeQuery();
if (rs.next())
{
cnt = rs.getInt(1);
System.out.println("@@@cnt"+cnt);
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(cnt==0)
{
sql = "insert into acctbal(acct_prd, prd_code, fin_entity, acct_code, cctr_code, cr_amt, dr_amt, curr_code__ac, cr_amt__base, dr_amt__base," +
"chg_date, chg_user, chg_term,site_code )values" +
"( ?,?, ?,?, ? , ?, ?, ?, ?, ?, ?, ?,?, ?)";
pstmt = conn.prepareStatement( sql );
pstmt.setString(1,acctPrdTo);
pstmt.setString(2,"zzzzzz");
pstmt.setString(3,finEntity);
pstmt.setString(4,acctCode);
pstmt.setString(5,cctrCode);
pstmt.setDouble(6,sumCrAmt);
pstmt.setDouble(7,sumDrAmt);
pstmt.setString(8,currCodeAc);
pstmt.setDouble(9,sumCrAmtBase);
pstmt.setDouble(10,sumDrAmtBase);
pstmt.setTimestamp(11, getCurrdateAppFormat() );
pstmt.setString(12,chgUser);
pstmt.setString(13,chgTerm);
pstmt.setString(14,site);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}else
if(cnt==1)
{
sql = "select cr_amt as oldcr_amt, dr_amt as olddr_amt,cr_amt__base as oldcr_amt__base,dr_amt__base as olddr_amt__base "+
"from acctbal where acct_prd = ? and prd_code = '000000' and "+
"site_code = ? and fin_entity = ? and "+
"acct_code = ? and cctr_code = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString(1,acctPrdTo);
pstmt.setString(2,site);
pstmt.setString(3,finEntity);
pstmt.setString(4,acctCode);
pstmt.setString(5,cctrCode);
rs = pstmt.executeQuery();
if (rs.next())
{
oldCrAmt = Double.parseDouble(rs.getString(1));
oldDrAmt = Double.parseDouble(rs.getString(2));
oldCrAmtBase = Double.parseDouble(rs.getString(3));
oldDrAmtBase = Double.parseDouble(rs.getString(4));
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
sql = "update acctbal set cr_amt = cr_amt-?+?, dr_amt = dr_amt-?+?,cr_amt__base =cr_amt__base-?+?, dr_amt__base = dr_amt__base-?+? " +
"where acct_prd = ? and prd_code = 'zzzzzz' and site_code = ? and " +
"fin_entity = ? and acct_code = ? and cctr_code = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setDouble(1,oldCrAmt);
pstmt.setDouble(2,sumCrAmt);
pstmt.setDouble(3,oldDrAmt);
pstmt.setDouble(4,sumDrAmt);
pstmt.setDouble(5,oldCrAmtBase);
pstmt.setDouble(6,sumCrAmtBase);
pstmt.setDouble(7,oldDrAmtBase);
pstmt.setDouble(8,sumDrAmtBase);
pstmt.setString(9,acctPrdTo);
pstmt.setString(10,site);
pstmt.setString(11,finEntity);
pstmt.setString(12,acctCode);
pstmt.setString(13,cctrCode);
updCnt = pstmt.executeUpdate();
if (!(updCnt==1))
{
errString = itmDBAccessEJB.getErrorString("","DS000NR","");
}
pstmt.close();
pstmt = null;
sql = "select count(*) as count from acctbal where acct_prd = ? and prd_code = '000000' and site_code = ? and " +
"fin_entity = ? and acct_code = ? and cctr_code = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString(1,acctPrdTo);
pstmt.setString(2,site);
pstmt.setString(3,finEntity);
pstmt.setString(4,acctCode);
pstmt.setString(5,cctrCode);
rs = pstmt.executeQuery();
if (rs.next())
{
count = rs.getInt(1);
System.out.println("count@@@"+count);
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(count==0)
{
sql = "insert into acctbal(acct_prd, prd_code, fin_entity, acct_code, cr_amt, dr_amt, curr_code__ac, cr_amt__base, dr_amt__base," +
" chg_date, chg_user, chg_term,site_code,cctr_code )values" +
" ( ? , ?, ?,?, ? , ?, ?, ?, ?, ?, ?, ?,?,? )";
pstmt = conn.prepareStatement( sql );
pstmt.setString(1,acctPrdTo);
pstmt.setString(2,"000000");
pstmt.setString(3,finEntity);
pstmt.setString(4,acctCode);
pstmt.setDouble(5,sumCrAmt);
pstmt.setDouble(6,sumDrAmt);
pstmt.setString(7,currCodeAc);
pstmt.setDouble(8,sumCrAmtBase);
pstmt.setDouble(9,sumDrAmtBase);
pstmt.setTimestamp(10, getCurrdateAppFormat() );
pstmt.setString(11,chgUser);
pstmt.setString(12,chgTerm);
pstmt.setString(13,site);
pstmt.setString(14,cctrCode);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}else if(count==1)
{
sql = "update acctbal set cr_amt = ?, dr_amt = ?,cr_amt__base = ?, dr_amt__base = ?" +
" where acct_prd = ? and prd_code = '000000' and site_code = ? and " +
"fin_entity = ? and acct_code = ? and cctr_code = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setDouble(1,sumCrAmt);
pstmt.setDouble(2,sumDrAmt);
pstmt.setDouble(3,sumCrAmtBase);
pstmt.setDouble(4,sumDrAmtBase);
pstmt.setString(5,acctPrdTo);
pstmt.setString(6,site);
pstmt.setString(7,finEntity);
pstmt.setString(8,acctCode);
pstmt.setString(9,cctrCode);
updCnt = pstmt.executeUpdate();
if (!(updCnt==1))
{
errString = itmDBAccessEJB.getErrorString("","DS000NR","");
}
pstmt.close();
pstmt = null;
}
}
}
pstmt1.close();
pstmt1 = null;
rs1.close();
rs1 = null;
} // while
pstmt2.close();
pstmt2 = null;
rs2.close();
rs2 = null;
} // end of try code
catch(Exception e)
{
isError = true;
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)
{
if(isError)
{
conn.rollback();
System.out.println("connection rollback.............");
resultString = itmDBAccessEJB.getErrorString("","PROCFAILED",userId);
}
else
{
conn.commit();
System.out.println("commiting connection.............");
if(errString.equals(""))
{
errString = "PROCSUCC";
}
resultString = itmDBAccessEJB.getErrorString("",errString,userId);
}
conn.close();
conn = null;
}
}
catch(SQLException sqle)
{
sqle.printStackTrace();
}
}
System.out.println("returning from "+resultString);
return resultString;
} //end process
private String checkNull(String input)
{
if(input == null)
{
input = "";
}
return input;
}
private Timestamp getCurrdateAppFormat()
{
Timestamp timestamp = null;
GenericUtility genericUtility = GenericUtility.getInstance();
try
{
java.util.Date date = null;
timestamp = new Timestamp(System.currentTimeMillis());
SimpleDateFormat simpledateformat = new SimpleDateFormat(genericUtility.getDBDateFormat());
date = simpledateformat.parse(timestamp.toString());
timestamp = Timestamp.valueOf(simpledateformat.format(date).toString() + " 00:00:00.0");
}
catch(Exception exception)
{
System.out.println("Exception in getCurrdateAppFormat " + exception.getMessage());
}
return timestamp;
}
}
\ No newline at end of file
/********************************************************
Title : GLTransferPrcLocal[FI3LFRA001]
Date : 08/04/14
Developer: Chandrashekar
********************************************************/
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
//import javax.ejb.EJBObject;
import org.w3c.dom.*;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import javax.xml.parsers.*;
import ibase.webitm.ejb.ProcessLocal;
import javax.ejb.Local; // added for ejb3
import ibase.webitm.utility.ITMException;
@Local // added for ejb3`
public interface GLTransferPrcLocal extends ProcessLocal
{
public String process() throws RemoteException,ITMException;
public String process(String string1, String string2, String windowName, String xtraParams) throws RemoteException,ITMException;
}
\ No newline at end of file
/********************************************************
Title : GLTransferPrcRemote[FI3LFRA001]
Date : 08/04/14
Developer: Chandrashekar
********************************************************/
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.ProcessRemote;
import javax.ejb.Remote; // added for ejb3
import ibase.webitm.ejb.ValidatorRemote;// added for ejb3
@Remote // added for ejb3
public interface GLTransferPrcRemote extends ProcessRemote
{
public String process() throws RemoteException,ITMException;
public String process(String string1, String string2, String windowName, String xtraParams) throws RemoteException,ITMException;
}
\ No newline at end of file
/********************************************************
Title : SundryTransferIC[FI3LFRA001]
Date : 08/04/14
Developer: Chandrashekar
********************************************************/
package ibase.webitm.ejb.fin;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import javax.ejb.Stateless;
@Stateless
public class SundryTransferIC extends ValidatorEJB implements SundryTransferICLocal, SundryTransferICRemote
{
GenericUtility genericUtility = GenericUtility.getInstance();
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
String errString = "";
Document dom = null;
Document dom1 = null;
Document dom2 = null;
try
{
if (xmlString != null && xmlString.trim().length() > 0 )
{
dom = parseString(xmlString);
System.out.println("xmlString["+xmlString+"]");
}
if (xmlString1 != null && xmlString1.trim().length() > 0 )
{
dom1 = parseString(xmlString1);
System.out.println("xmlString1["+xmlString1+"]");
}
if (xmlString2 != null && xmlString2.trim().length() > 0 )
{
dom2 = parseString(xmlString2);
System.out.println("xmlString2["+xmlString2+"]");
}
errString = wfValData(dom, dom1, dom2, objContext, editFlag, xtraParams);
}
catch(Exception e)
{
System.out.println("Exception : [SundryTransferIC][wfValData( String, String )] :==>\n" + e.getMessage());
throw new ITMException(e);
}
return(errString);
}
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
String childNodeName = null;
String errString = "";
String errCode = "";
String userId = "";
String sql = "";
String errorType = "";
int cnt = 0;
int ctr=0;
int childNodeListLength;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
ArrayList<String> errList = new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
Connection conn = null;
PreparedStatement pstmt = null ;
ResultSet rs = null;
ConnDriver connDriver = new ConnDriver();
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
int currentFormNo =0,count=0;
String accPeriodFr="",acctPrdTo="",siteCode="",finEntity="";
try
{
System.out.println("@@@@@@@@ wfvaldata called");
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
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("fin_entity"))
{
finEntity = genericUtility.getColumnValue("fin_entity", dom);
if(finEntity == null || (finEntity.length() == 0))
{
errList.add("VMFINENT1 ");
errFields.add(childNodeName.toLowerCase());
}
if(finEntity != null && finEntity.trim().length() > 0)
{
sql = " select count(*) from finent where fin_entity = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,finEntity);
rs = pstmt.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
if(count == 0)
{
errCode = "VMFINENTM2";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}
else if(childNodeName.equalsIgnoreCase("acct_prd__fr"))
{
accPeriodFr = checkNull(genericUtility.getColumnValue("acct_prd__fr", dom));
acctPrdTo = checkNull(genericUtility.getColumnValue("acct_prd__to", dom));
if(accPeriodFr == null || (accPeriodFr.length() == 0))
{
errList.add("VMINVPRDFR");
errFields.add(childNodeName.toLowerCase());
}
if(accPeriodFr != null && accPeriodFr.trim().length() > 0)
{
sql = "select count(*) as count from acctprd where code =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,accPeriodFr);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if( cnt == 0 )
{
errCode = "PRDCODE1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
}// end for
break; // case 1 end
}
int errListSize = errList.size();
cnt = 0;
String errFldName = null;
if(errList != null && errListSize > 0)
{
for(cnt = 0; cnt < errListSize; cnt ++)
{
errCode = errList.get(cnt);
errFldName = errFields.get(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("");
}
}
catch(Exception e)
{
e.printStackTrace();
errString = e.getMessage();
throw new ITMException(e);
}
finally
{
try
{
if(conn != null)
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
conn.close();
}
conn = null;
}
catch(Exception d)
{
d.printStackTrace();
throw new ITMException(d);
}
}
errString = errStringXml.toString();
return errString;
}
//end of validation
// method for item change
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 = "";
System.out.println("xmlString............."+xmlString);
System.out.println("xmlString1............"+xmlString);
System.out.println("xmlString2............"+xmlString);
try
{
if(xmlString != null && xmlString.trim().length() > 0)
{
dom = parseString(xmlString);
}
if(xmlString1 != null && xmlString1.trim().length() > 0)
{
dom1 = parseString(xmlString1);
}
if(xmlString2 != null && xmlString2.trim().length() > 0)
{
dom2 = parseString(xmlString2);
}
valueXmlString = itemChanged(dom, dom1, dom2, objContext, currentColumn, editFlag, xtraParams);
}
catch(Exception e)
{
System.out.println("Exception : [SundryTransferIC][itemChanged( String, String )] :==>\n" + e.getMessage());
throw new ITMException(e);
}
return valueXmlString;
}
// method for item change
public String itemChanged(Document dom, Document dom1, Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException
{
String childNodeName = null;
String sql = "";
StringBuffer valueXmlString = new StringBuffer();
int ctr = 0;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null ;
GenericUtility genericUtility = GenericUtility.getInstance();
ConnDriver connDriver = new ConnDriver();
int currentFormNo =0;
String columnValue="",acctPrdFr="",acctPrdTo="";
Timestamp toDate=null;
java.util.Date newDate=null;
try
{
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
String sysDate = sdf.format(currentDate.getTime());
System.out.println("Now the date is :=> " + sysDate);
conn = connDriver.getConnectDB("DriverITM");
conn.setAutoCommit(false);
connDriver = null;
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>");
int 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(currentColumn.trim().equalsIgnoreCase("acct_prd__fr"))
{
acctPrdFr = checkNull(genericUtility.getColumnValue("acct_prd__fr", dom));
sql = "select to_date from acctprd where code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,acctPrdFr);
rs = pstmt.executeQuery();
if(rs.next())
{
toDate = rs.getTimestamp("to_date");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(toDate != null)
{
newDate = (java.util.Date ) relativeDate(toDate, 1);
sql = "select code from acctprd where fr_date = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setDate(1, new java.sql.Date(newDate.getTime()));
rs = pstmt.executeQuery();
if(rs.next())
{
acctPrdTo = rs.getString("code");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
valueXmlString.append("<acct_prd__to>").append("<![CDATA["+acctPrdTo+"]]>").append("</acct_prd__to>");
}
}
valueXmlString.append("</Detail1>");
break;
}
valueXmlString.append("</Root>");
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
finally
{
try
{
if(conn != null)
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
conn.close();
}
conn = null;
}
catch(Exception d)
{
d.printStackTrace();
}
}
return valueXmlString.toString();
}
private String checkNull(String input)
{
if(input == null)
{
input = "";
}
return input;
}
public static java.util.Date relativeDate(java.util.Date date, int days)
{
java.util.Date calculatedDate = null;
if (date != null)
{
final GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(date);
calendar.add(Calendar.DATE,days);
calculatedDate = new java.util.Date(calendar.getTime().getTime());
}
return calculatedDate;
}
private String errorType(Connection conn , String errorCode) throws ITMException
{
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();
if(rs.next())
{
msgType = rs.getString("MSG_TYPE");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
catch(Exception ex)
{
ex.printStackTrace();
throw new ITMException(ex);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
}
return msgType;
}
}
/********************************************************
Title : SundryTransferICLocal[FI3LFRA001]
Date : 08/04/14
Developer: Chandrashekar
********************************************************/
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import org.w3c.dom.*;
//import javax.ejb.EJBObject;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.ValidatorLocal;
import javax.ejb.Local; // added for ejb3
@Local // added for ejb3
public interface SundryTransferICLocal 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
/********************************************************
Title : SundryTransferICRemote[FI3LFRA001]
Date : 08/04/14
Developer: Chandrashekar
********************************************************/
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import org.w3c.dom.*;
import ibase.webitm.utility.ITMException;
import javax.ejb.Remote; // added for ejb3
import ibase.webitm.ejb.ValidatorRemote;// added for ejb3
@Remote // added for ejb3
public interface SundryTransferICRemote 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;
}
\ No newline at end of file
/********************************************************
Title : SundryTransferPrc[FI3LFRA001]
Date : 08/04/14
Developer: Chandrashekar
********************************************************/
package ibase.webitm.ejb.fin;
import ibase.webitm.utility.*;
import ibase.webitm.ejb.*;
import ibase.system.config.*;
import java.rmi.RemoteException;
import java.util.*;
import java.sql.*;
import org.w3c.dom.*;
import java.text.SimpleDateFormat;
import javax.ejb.Stateless; // added for ejb3
@Stateless // added for ejb3
public class SundryTransferPrc extends ProcessEJB implements SundryTransferPrcLocal,SundryTransferPrcRemote
{
String loginSiteCode = null;
GenericUtility genericUtility = GenericUtility.getInstance();
String currDateTs = null;
String chgUser = "";
String chgTerm = "";
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
public String process(String xmlString, String xmlString2, String windowName, String xtraParams)
throws RemoteException,ITMException
{
Document detailDom = null;
Document headerDom = null;
String retStr = "";
System.out.println("Process method called......");
try
{
if(xmlString != null && xmlString.trim().length()!=0)
{
headerDom = genericUtility.parseString(xmlString);
System.out.println("headerDom" + headerDom);
}
if(xmlString2 != null && xmlString2.trim().length()!=0)
{
detailDom = genericUtility.parseString(xmlString2);
System.out.println("detailDom" + detailDom);
}
retStr = process(headerDom, detailDom, windowName, xtraParams);
}
catch (Exception e)
{
System.out.println("Exception :SundryTransferPrc :process(String xmlString, String xmlString2, String windowName, String xtraParams):" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
return retStr;
}//END OF PROCESS (1)
public String process(Document headerDom, Document detailDom, String windowName, String xtraParams) throws RemoteException,ITMException
{
Connection conn = null;
String resultString = "", errString = "";
boolean isError = false;
PreparedStatement pstmt = null;
PreparedStatement pstmt1 = null;
PreparedStatement pstmt2 = null;
ResultSet rs = null;
ResultSet rs1 = null;
ResultSet rs2 = null;
String sql = "",sql1="",sql2="";
String siteCode = "";
String finEntity = "",acctCode = "",contactCode = "",currCodeAc = "",acctPrdFr = "",acctPrdTo="",sundryType = "";
String sundryCodeFr = "",sundryCodeTo = "",sundryCode = "",site = "",cctrCode="";
double oldCrAmt=0,oldDrAmt=0,oldCrAmtBase=0,oldDrAmtBase=0,oldAdvAmt=0;
double sumCrAmt =0,sumDrAmt=0,sumCrAmtBase=0,sumDrAmtBase=0,sumAdvAmt=0;
int cnt=0,count=0,updCnt=0;
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
String userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"userId");
loginSiteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginSiteCode");
chgUser = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
chgTerm = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"termId");
try
{
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
conn.setAutoCommit(false);
acctPrdFr = genericUtility.getColumnValue("acct_prd__fr",headerDom );
acctPrdTo = genericUtility.getColumnValue("acct_prd__to",headerDom );
sundryType = genericUtility.getColumnValue("sundry_type",headerDom );
sundryCodeFr = genericUtility.getColumnValue("sundry_code__fr",headerDom );
sundryCodeTo = genericUtility.getColumnValue("sundry_code__to",headerDom );
finEntity = genericUtility.getColumnValue("fin_entity",headerDom );
if(sundryCodeFr == null)
{
sundryCodeFr = "0";
}
if(sundryCodeTo == null)
{
sundryCodeFr = "z";
}
sql2 = " select site_code from site where fin_entity = ? ";
pstmt2 = conn.prepareStatement( sql2 );
pstmt2.setString(1,finEntity);
rs2 = pstmt2.executeQuery();
while (rs2.next())
{
siteCode = rs2.getString( "site_code" );
siteCode = siteCode.trim();
System.out.println("siteCode is =====>"+siteCode);
sql1 = "select fin_entity,sundry_type,acct_code,curr_code__ac,sundry_code,contact_code,site_code,cctr_code from sundrybal "+
"where site_code =? and acct_prd=? and sundry_type = ? and sundry_code >= ? and sundry_code <= ? and prd_code = 'zzzzzz'";
pstmt1 = conn.prepareStatement( sql1 );
pstmt1.setString(1,siteCode);
pstmt1.setString(2,acctPrdFr);
pstmt1.setString(3,sundryType);
pstmt1.setString(4,sundryCodeFr);
pstmt1.setString(5,sundryCodeTo);
rs1 = pstmt1.executeQuery();
while (rs1.next())
{
finEntity = checkNull(rs1.getString(1));
sundryType = checkNull(rs1.getString(2));
acctCode = checkNull(rs1.getString(3));
currCodeAc = checkNull(rs1.getString(4));
sundryCode = checkNull(rs1.getString(5));
contactCode = checkNull(rs1.getString(6));
site = checkNull(rs1.getString(7));
cctrCode = checkNull(rs1.getString(8));
System.out.println("acctCode:::["+acctCode+"]");
System.out.println("sundryCode:::["+sundryCode+"]");
sql = "select sum(case when sundrybal.cr_amt is null then 0 else sundrybal.cr_amt end) as cr_amt, sum(case when sundrybal.dr_amt is null then 0 else sundrybal.dr_amt end) as dr_amt," +
"sum(case when sundrybal.cr_amt__base is null then 0 else sundrybal.cr_amt__base end) as cr_amt__base,sum(case when sundrybal.dr_amt__base is null then 0 else sundrybal.dr_amt__base end) as dr_amt__base, " +
"sum(case when sundrybal.adv_amt is null then 0 else sundrybal.adv_amt end) as adv_amt "+
"from sundrybal where sundrybal.acct_prd = ? and sundrybal.prd_code <> 'zzzzzz' and "+
"sundrybal.site_code = ? and sundrybal.sundry_type = ? and sundrybal.sundry_code = ? and "+
"sundrybal.acct_code = ? and sundrybal.cctr_code = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString(1,acctPrdFr);
pstmt.setString(2,site);
pstmt.setString(3,sundryType);
pstmt.setString(4,sundryCode);
pstmt.setString(5,acctCode);
pstmt.setString(6,cctrCode);
rs = pstmt.executeQuery();
if (rs.next())
{
sumCrAmt = Double.parseDouble(rs.getString(1));
sumDrAmt = Double.parseDouble(rs.getString(2));
sumCrAmtBase = Double.parseDouble(rs.getString(3));
sumDrAmtBase = Double.parseDouble(rs.getString(4));
sumAdvAmt = Double.parseDouble(rs.getString(5));
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
sql = "update sundrybal set cr_amt = ?, dr_amt = ?,cr_amt__base = ?, dr_amt__base = ?," +
"adv_amt = ? where acct_prd = ? and prd_code = 'zzzzzz' and site_code = ? and " +
"sundry_type = ? and sundry_code = ? and acct_code = ? and cctr_code = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setDouble(1,sumCrAmt);
pstmt.setDouble(2,sumDrAmt);
pstmt.setDouble(3,sumCrAmtBase);
pstmt.setDouble(4,sumDrAmtBase);
pstmt.setDouble(5,sumAdvAmt);
pstmt.setString(6,acctPrdFr);
pstmt.setString(7,site);
pstmt.setString(8,sundryType);
pstmt.setString(9,sundryCode);
pstmt.setString(10,acctCode);
pstmt.setString(11,cctrCode);
updCnt = pstmt.executeUpdate();
if (!(updCnt==1))
{
errString = itmDBAccessEJB.getErrorString("","DS000NR","");
}
pstmt.close();
pstmt = null;
sql = "select count(*) as count from sundrybal where acct_prd = ? and prd_code = 'zzzzzz' and site_code = ? and " +
"sundry_type = ? and sundry_code = ? and acct_code = ? and cctr_code = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString(1,acctPrdTo);
pstmt.setString(2,site);
pstmt.setString(3,sundryType);
pstmt.setString(4,sundryCode);
pstmt.setString(5,acctCode);
pstmt.setString(6,cctrCode);
rs = pstmt.executeQuery();
if (rs.next())
{
cnt = rs.getInt(1);
System.out.println("@@@cnt"+cnt);
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(cnt==0)
{
sql = "insert into sundrybal(acct_prd, prd_code, fin_entity, acct_code, sundry_type, cr_amt, dr_amt, curr_code__ac, cr_amt__base, dr_amt__base," +
"adv_amt, chg_date, chg_user, chg_term, sundry_code, contact_code,site_code, cctr_code )values" +
"( ?,'zzzzzz', ?,?, ? , ?, ?, ?, ?, ?, ?, ?,?, ?, ?, ?, ?, ? )";
pstmt = conn.prepareStatement( sql );
pstmt.setString(1,acctPrdTo);
pstmt.setString(2,finEntity);
pstmt.setString(3,acctCode);
pstmt.setString(4,sundryType);
pstmt.setDouble(5,sumCrAmt);
pstmt.setDouble(6,sumDrAmt);
pstmt.setString(7,currCodeAc);
pstmt.setDouble(8,sumCrAmtBase);
pstmt.setDouble(9,sumDrAmtBase);
pstmt.setDouble(10,sumAdvAmt);
pstmt.setTimestamp(11, getCurrdateAppFormat() );
pstmt.setString(12,chgUser);
pstmt.setString(13,chgTerm);
pstmt.setString(14,sundryCode);
pstmt.setString(15,contactCode);
pstmt.setString(16,site);
pstmt.setString(17,cctrCode);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}else
if(cnt==1)
{
sql = "select cr_amt as oldcr_amt, dr_amt as olddr_amt,cr_amt__base as oldcr_amt__base,dr_amt__base as olddr_amt__base, adv_amt as oldadv_amt "+
"from sundrybal where acct_prd = ? and prd_code = '000000' and "+
"site_code = ? and sundry_type = ? and sundry_code = ? and "+
"acct_code = ? and cctr_code = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString(1,acctPrdTo);
pstmt.setString(2,site);
pstmt.setString(3,sundryType);
pstmt.setString(4,sundryCode);
pstmt.setString(5,acctCode);
pstmt.setString(6,cctrCode);
rs = pstmt.executeQuery();
if (rs.next())
{
oldCrAmt = Double.parseDouble(rs.getString(1));
oldDrAmt = Double.parseDouble(rs.getString(2));
oldCrAmtBase = Double.parseDouble(rs.getString(3));
oldDrAmtBase = Double.parseDouble(rs.getString(4));
oldAdvAmt = Double.parseDouble(rs.getString(5));
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
sql = "update sundrybal set cr_amt = cr_amt-?+?, dr_amt = dr_amt-?+?,cr_amt__base =cr_amt__base-?+?, dr_amt__base = dr_amt__base-?+?," +
"adv_amt =adv_amt-?+? where acct_prd = ? and prd_code = 'zzzzzz' and site_code = ? and " +
"sundry_type = ? and sundry_code = ? and acct_code = ? and cctr_code = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setDouble(1,oldCrAmt);
pstmt.setDouble(2,sumCrAmt);
pstmt.setDouble(3,oldDrAmt);
pstmt.setDouble(4,sumDrAmt);
pstmt.setDouble(5,oldCrAmtBase);
pstmt.setDouble(6,sumCrAmtBase);
pstmt.setDouble(7,oldDrAmtBase);
pstmt.setDouble(8,sumDrAmtBase);
pstmt.setDouble(9,oldAdvAmt);
pstmt.setDouble(10,sumAdvAmt);
pstmt.setString(11,acctPrdTo);
pstmt.setString(12,site);
pstmt.setString(13,sundryType);
pstmt.setString(14,sundryCode);
pstmt.setString(15,acctCode);
pstmt.setString(16,cctrCode);
updCnt = pstmt.executeUpdate();
if (!(updCnt==1))
{
errString = itmDBAccessEJB.getErrorString("","DS000NR","");
}
pstmt.close();
pstmt = null;
sql = "select count(*) as count from sundrybal where acct_prd = ? and prd_code = '000000' and site_code = ? and " +
"sundry_type = ? and sundry_code = ? and acct_code = ? and cctr_code = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString(1,acctPrdTo);
pstmt.setString(2,site);
pstmt.setString(3,sundryType);
pstmt.setString(4,sundryCode);
pstmt.setString(5,acctCode);
pstmt.setString(6,cctrCode);
rs = pstmt.executeQuery();
if (rs.next())
{
count = rs.getInt(1);
System.out.println("@@@count"+count);
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(count==0)
{
sql = "insert into sundrybal(acct_prd, prd_code, fin_entity, acct_code, sundry_type, cr_amt, dr_amt, curr_code__ac, cr_amt__base, dr_amt__base," +
"adv_amt, chg_date, chg_user, chg_term, sundry_code, contact_code,site_code, cctr_code )values" +
" ( ? , '000000', ?,?, ? , ?, ?, ?, ?, ?, ?, ?,?, ?, ?, ?, ?, ? )";
pstmt = conn.prepareStatement( sql );
pstmt.setString(1,acctPrdTo);
pstmt.setString(2,finEntity);
pstmt.setString(3,acctCode);
pstmt.setString(4,sundryType);
pstmt.setDouble(5,sumCrAmt);
pstmt.setDouble(6,sumDrAmt);
pstmt.setString(7,currCodeAc);
pstmt.setDouble(8,sumCrAmtBase);
pstmt.setDouble(9,sumDrAmtBase);
pstmt.setDouble(10,sumAdvAmt);
pstmt.setTimestamp(11, getCurrdateAppFormat() );
pstmt.setString(12,chgUser);
pstmt.setString(13,chgTerm);
pstmt.setString(14,sundryCode);
pstmt.setString(15,contactCode);
pstmt.setString(16,site);
pstmt.setString(17,cctrCode);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}else if(count==1)
{
sql = "update sundrybal set cr_amt = ?, dr_amt = ?,cr_amt__base = ?, dr_amt__base = ?," +
"adv_amt = ? where acct_prd = ? and prd_code = '000000' and site_code = ? and " +
"sundry_type = ? and sundry_code = ? and acct_code = ? and cctr_code = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setDouble(1,sumCrAmt);
pstmt.setDouble(2,sumDrAmt);
pstmt.setDouble(3,sumCrAmtBase);
pstmt.setDouble(4,sumDrAmtBase);
pstmt.setDouble(5,sumAdvAmt);
pstmt.setString(6,acctPrdTo);
pstmt.setString(7,site);
pstmt.setString(8,sundryType);
pstmt.setString(9,sundryCode);
pstmt.setString(10,acctCode);
pstmt.setString(11,cctrCode);
updCnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}
}
}
pstmt1.close();
pstmt1 = null;
rs1.close();
rs1 = null;
} // while
pstmt2.close();
pstmt2 = null;
rs2.close();
rs2 = null;
} // end of try code
catch(Exception e)
{
isError = true;
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)
{
if(isError)
{
conn.rollback();
System.out.println("connection rollback.............");
resultString = itmDBAccessEJB.getErrorString("","PROCFAILED",userId);
}
else
{
conn.commit();
System.out.println("commiting connection.............");
if(errString.equals(""))
{
errString = "PROCSUCC";
}
resultString = itmDBAccessEJB.getErrorString("",errString,userId);
}
conn.close();
conn = null;
}
}
catch(SQLException sqle)
{
sqle.printStackTrace();
}
}
System.out.println("returning from "+resultString);
return resultString;
} //end process
private String checkNull(String input)
{
if(input == null)
{
input = "";
}
return input;
}
private Timestamp getCurrdateAppFormat()
{
Timestamp timestamp = null;
GenericUtility genericUtility = GenericUtility.getInstance();
try
{
java.util.Date date = null;
timestamp = new Timestamp(System.currentTimeMillis());
SimpleDateFormat simpledateformat = new SimpleDateFormat(genericUtility.getDBDateFormat());
date = simpledateformat.parse(timestamp.toString());
timestamp = Timestamp.valueOf(simpledateformat.format(date).toString() + " 00:00:00.0");
}
catch(Exception exception)
{
System.out.println("Exception in getCurrdateAppFormat " + exception.getMessage());
}
return timestamp;
}
}
\ No newline at end of file
/********************************************************
Title : SundryTransferPrcLocal[FI3LFRA001]
Date : 08/04/14
Developer: Chandrashekar
********************************************************/
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.ProcessLocal;
import javax.ejb.Local; // added for ejb3
@Local // added for ejb3`
public interface SundryTransferPrcLocal extends ProcessLocal
{
public String process() throws RemoteException,ITMException;
public String process(String string1, String string2, String windowName, String xtraParams) throws RemoteException,ITMException;
}
\ No newline at end of file
/********************************************************
Title : SundryTransferPrcRemote[FI3LFRA001]
Date : 08/04/14
Developer: Chandrashekar
********************************************************/
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.ProcessRemote;
import javax.ejb.Remote; // added for ejb3
@Remote // added for ejb3
public interface SundryTransferPrcRemote extends ProcessRemote
{
public String process() throws RemoteException,ITMException;
public String process(String string1, String string2, String windowName, String xtraParams) throws RemoteException,ITMException;
}
\ No newline at end of file
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