Commit 2b052530 authored by dpawar's avatar dpawar

added source code for Multi. misc. voucher


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@95932 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 6c3f8c54
package ibase.webitm.ejb.fin;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.ejb.Stateless;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@Stateless
public class MiscVchEmpIC extends ValidatorEJB implements MiscVchEmpICLocal,MiscVchEmpICRemote
{
GenericUtility genericUtility = GenericUtility.getInstance();
public String wfValData(String xmlString, String xmlString1, String xmlString2,String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
System.out.println("------------ wfvalData method called-----------------");
System.out.println("xmlString --->>> [["+xmlString+" ]]");
System.out.println("xmlString1 --->>> [["+xmlString1+" ]]");
System.out.println("xmlString2 --->>> [["+xmlString2+" ]]");
System.out.println("editFlag --->>> [["+editFlag+" ]]");
String errString = null;
Document dom = null;
Document dom1 = null;
Document dom2 = null;
try
{
dom = parseString(xmlString);
dom1 = parseString(xmlString1);
dom2 = parseString(xmlString2);
errString = wfValData(dom,dom1,dom2,objContext,editFlag,xtraParams);
}
catch(Exception e)
{
System.out.println("Exception : MiscVchEmpIC.java : wfValData(String xmlString) : ==>\n"+e.getMessage());
throw new ITMException(e);
}
return errString;
} //end of wfValData
public String wfValData(Document dom, Document dom1, Document dom2,String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
int ctr=0;
String childNodeName = null;
String analCode = "",sundryCode = "",acctCodeAp="",cctrCodeAp="",siteCode="",currCode="",userId = "",sql="";
String empCode="",cctrCode="",bankCode="",projCode="",taxClass="",taxChap="",taxEnv="",amount="",errCode="";
String errString="",errorType="",SundryType="",tranDate="",payMode="",vouchType="",cctrCodeAdv="",acctCodeAdv="";
Connection conn = null;
PreparedStatement pstmt;
ResultSet rs=null;
int cnt1=0,cnt=0;
int currentFormNo=0,miscCount=0;
int childNodeListLength;
java.util.Date tranDateL = null;
ConnDriver connDriver = new ConnDriver();
//ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
ArrayList <String> errList = new ArrayList<String>();
ArrayList <String>errFields = new ArrayList <String> ();
StringBuffer errStringXml = new StringBuffer("<?xml version=\"1.0\"?>\r\n<Root><Errors>");
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
try
{
SimpleDateFormat simpleDateFormatObj = new SimpleDateFormat(genericUtility.getApplDateFormat());
conn = connDriver.getConnectDB("DriverITM");
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
System.out.println("user ID form XtraParam : "+userId +"Edit Flag -->>: "+editFlag);
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();
System.out.println("Child name --->> "+childNodeName);
if(childNodeName.equalsIgnoreCase("tran_date"))
{
tranDate = checkNull(genericUtility.getColumnValue("tran_date",dom));
System.out.println("tran_date--->["+tranDate+"]");
if(tranDate.length() == 0){
errCode = "VMTRNDNN";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
if (childNodeName.equalsIgnoreCase("vouch_type"))
{
vouchType = checkNull(genericUtility.getColumnValue("vouch_type",dom));
System.out.println("vouch_type--->["+vouchType+"]");
if(vouchType.length() == 0){
errCode = "VMVCHTNN";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
if (childNodeName.equalsIgnoreCase("anal_code"))
{
analCode = checkNull(genericUtility.getColumnValue("anal_code",dom));
System.out.println("analCode--->["+analCode+"]");
if (analCode.length() > 0 ){
cnt1=getDBRowCount(conn,"Analysis","anal_code",analCode);
System.out.println("Anal code cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMANALNF";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
if (childNodeName.equalsIgnoreCase("acct_code__ap"))
{
acctCodeAp = checkNull(genericUtility.getColumnValue("acct_code__ap",dom));
System.out.println("payable A/c-->["+acctCodeAp+"]");
if (acctCodeAp.length()==0)
{
errCode = "VMPAYACNN";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
else
{
cnt1=getDBRowCount(conn,"Accounts","ACCT_CODE",acctCodeAp);
System.out.println("Payable A/c code cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMPAYACNF";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
if (childNodeName.equalsIgnoreCase("cctr_code__ap"))
{
cctrCodeAp = checkNull(genericUtility.getColumnValue("cctr_code__ap",dom));
System.out.println("cctrCodeAp--->>["+cctrCodeAp+"]");
if (cctrCodeAp.length()==0)
{
errCode = "VMCCTRNN";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
else
{
cnt1=getDBRowCount(conn,"COSTCTR","CCTR_CODE",cctrCodeAp);
System.out.println("cctrCodeAp code cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMCCTRNF";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
if (childNodeName.equalsIgnoreCase("site_code"))
{
siteCode = checkNull(genericUtility.getColumnValue("site_code",dom));
System.out.println("siteCode---->["+siteCode+"]");
if (siteCode.length()==0)
{
errCode = "VTSITENN";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
else
{
cnt1=getDBRowCount(conn,"site","site_code",siteCode);
System.out.println("Site code cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VTSITEND";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}else{
tranDateL=simpleDateFormatObj.parse(tranDate);
String code = checkNull(this.nfCheckPeriod("FIN", tranDateL, siteCode));
System.out.println("Period check111--->>["+code+"]");
if(errCode.length() > 0){
errCode = code;
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
}
if(childNodeName.equalsIgnoreCase( "curr_code" ))
{
currCode = checkNull(genericUtility.getColumnValue("curr_code",dom));
System.out.println("curr_code---->["+currCode+"]");
if (currCode.length()==0)
{
errCode = "VMCURRCNN";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
else
{
cnt1=getDBRowCount(conn,"Currency","CURR_CODE",currCode);
System.out.println("curr code cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMCURRCND";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
if( childNodeName.equalsIgnoreCase( "bank_code" ) )
{
bankCode = checkNull(genericUtility.getColumnValue("bank_code",dom));
System.out.println("bank_code---->["+bankCode+"]");
if (bankCode==null || bankCode.trim().length()==0)
{
errList.add("VMBNKNN");
errFields.add("bank_code");
}
else
{
cnt1=getDBRowCount(conn,"Bank","bank_code",bankCode);
System.out.println("Bank code cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMBNKND";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
if( childNodeName.equalsIgnoreCase( "proj_code" ) )
{
projCode = checkNull(genericUtility.getColumnValue("proj_code",dom));
System.out.println("projCode---->["+projCode+"]");
if ( projCode.length() > 0 )
{
cnt1=getDBRowCount(conn,"Project","proj_Code",projCode);
System.out.println("projCode cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMPROJCND";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
if( childNodeName.equalsIgnoreCase( "pay_mode" ) )
{
payMode = checkNull(genericUtility.getColumnValue("pay_mode",dom));
System.out.println("payMode---->["+projCode+"]");
if(payMode.length() == 0){
errCode = "VMPAYMNN";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
if(childNodeName.equalsIgnoreCase( "tax_class" ))
{
taxClass = checkNull(genericUtility.getColumnValue("tax_class",dom));
System.out.println("tax_class---->["+taxClass+"]");
if ( taxClass.length() > 0 )
{
cnt1=getDBRowCount(conn,"TAXCLASS","tax_class",taxClass);
System.out.println("TAX_CLASS cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMTAXCLND";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
if(childNodeName.equalsIgnoreCase( "tax_chap" ))
{
taxChap = checkNull(genericUtility.getColumnValue("tax_chap",dom));
System.out.println("tax_chap---->["+taxChap+"]");
if ( taxChap.length() > 0 )
{
cnt1=getDBRowCount(conn,"TAXCHAP","tax_chap",taxChap);
System.out.println("tax_chap cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMTAXCPND";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
if(childNodeName.equalsIgnoreCase( "tax_env" ))
{
taxEnv = checkNull(genericUtility.getColumnValue("tax_env",dom));
System.out.println("tax_env---->["+taxEnv+"]");
if ( taxEnv.length() > 0 )
{
cnt1=getDBRowCount(conn,"TAXENV","tax_env",taxChap);
System.out.println("tax_env cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMTAXENND";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
if (childNodeName.equalsIgnoreCase("acct_code__adv"))
{
acctCodeAdv = checkNull(genericUtility.getColumnValue("acct_code__adv",dom));
System.out.println("acct_code__adv A/c-->["+acctCodeAp+"]");
if (acctCodeAdv.length() > 0)
{
cnt1=getDBRowCount(conn,"Accounts","ACCT_CODE",acctCodeAdv);
System.out.println("acct_code__adv A/c code cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMACTADNF";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
if (childNodeName.equalsIgnoreCase("cctr_code__adv"))
{
cctrCodeAdv = checkNull(genericUtility.getColumnValue("cctr_code__adv",dom));
System.out.println("cctr_code__adv--->>["+cctrCodeAp+"]");
if (cctrCodeAdv.length() > 0)
{
cnt1=getDBRowCount(conn,"COSTCTR","CCTR_CODE",cctrCodeAdv);
System.out.println("cctr_code__adv code cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMCTRADNF";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
} //end for loop
break;
case 2 :
parentNodeList = dom.getElementsByTagName("Detail2");
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("sundry_code"))
{
sundryCode = checkNull(genericUtility.getColumnValue("sundry_code",dom));
SundryType = checkNull(genericUtility.getColumnValue("sundry_type",dom));
System.out.println("sundryCode detail---->["+sundryCode+"]");
System.out.println("sundry_type detail---->["+SundryType+"]");
if (sundryCode.length()==0)
{
errCode = "VMSUNYCNN";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
else
{
if("S".equalsIgnoreCase(SundryType)){
cnt1=getDBRowCount(conn,"supplier","supp_code",sundryCode);
System.out.println("supplier DETAIL cnt1--->"+cnt1);
}
else if("E".equalsIgnoreCase(SundryType)){
cnt1=getDBRowCount(conn,"employee","emp_code",sundryCode);
System.out.println("employee DETAIL cnt1--->"+cnt1);
}
else if("L".equalsIgnoreCase(SundryType)){
cnt1=getDBRowCount(conn,"loanparty","party_code",sundryCode);
System.out.println("loanparty DETAIL cnt1--->"+cnt1);
}
System.out.println("sundry_code DETAIL cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMSUNYCND";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
if(childNodeName.equalsIgnoreCase("cctr_code"))
{
cctrCode = checkNull(genericUtility.getColumnValue("cctr_code",dom));
System.out.println("cctrCode detail---->["+cctrCode+"]");
if (cctrCode.length()==0)
{
errCode = "VMCCTRNN";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
else
{
cnt1=getDBRowCount(conn,"costctr","cctr_code",cctrCode);
System.out.println("cctrCode DETAIL cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMCCTRNN";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
if(childNodeName.equalsIgnoreCase("amount"))
{
amount = checkNull(genericUtility.getColumnValue("amount",dom));
System.out.println("Amount DETAIL --->["+amount+"]");
if (amount.length()==0)
{
errCode = "VMAMTNN";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
if(childNodeName.equalsIgnoreCase("tax_class"))
{
taxClass = checkNull(genericUtility.getColumnValue("tax_class",dom));
System.out.println("tax_class---->["+taxClass+"]");
if ( taxClass.length() > 0 )
{
cnt1=getDBRowCount(conn,"TAXCLASS","tax_class",taxClass);
System.out.println("TAX_CLASS cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMTAXCLND";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
if(childNodeName.equalsIgnoreCase("tax_chap"))
{
taxChap = checkNull(genericUtility.getColumnValue("tax_chap",dom));
System.out.println("tax_chap---->["+taxChap+"]");
if ( taxChap.length() > 0 )
{
cnt1=getDBRowCount(conn,"TAXCHAP","tax_chap",taxChap);
System.out.println("tax_chap cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMTAXCPND";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
if(childNodeName.equalsIgnoreCase("tax_env"))
{
taxEnv = checkNull(genericUtility.getColumnValue("tax_env",dom));
System.out.println("tax_env---->["+taxEnv+"]");
if ( taxEnv.length() > 0 )
{
cnt1=getDBRowCount(conn,"TAXENV","tax_env",taxChap);
System.out.println("tax_env cnt1--->"+cnt1);
if(cnt1 == 0){
errCode = "VMTAXENND";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
}
break;
} //end switch
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);
System.out.println("errStringXml .........."+errStringXml);
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 try
catch (SQLException se) {
System.out.println("SQLException ::"+se);
se.printStackTrace();
throw new ITMException(se);
}
catch(Exception e)
{
System.out.println("Exception ::"+e);
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if(conn!=null)
{
conn.close();
conn = null;
}
if(connDriver!=null){
connDriver = null;
}
if(rs !=null)
{
rs.close();
rs=null;
}
}
catch(Exception d)
{
d.printStackTrace();
}
}
System.out.println("ErrString ::[ "+errStringXml.toString()+" ]");
return errStringXml.toString();
}
public String itemChanged(String xmlString,String xmlString1,String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException
{
System.out.println("------------------ itemChanged called------------------");
System.out.println("xmlString DOM-->>["+xmlString+"]");
System.out.println("xmlString DOM1-->>["+xmlString1+"]");
System.out.println("xmlString DOM2-->>["+xmlString2+"]");
Document dom = null;
Document dom1 = null;
Document dom2 = null;
String valueXmlString = "";
try
{
dom = parseString(xmlString);
dom1 = parseString(xmlString1);
dom2 = parseString(xmlString2);
valueXmlString = itemChanged(dom,dom1,dom2,objContext,currentColumn,editFlag,xtraParams);
}
catch(Exception e)
{
System.out.println("Exception : [MiscVchEmpIC ][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
{
System.out.println("@@@@@@@ itemChanged called");
StringBuffer valueXmlString = new StringBuffer();
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
GenericUtility genericUtility = GenericUtility.getInstance();
ConnDriver connDriver = new ConnDriver();
String sundryCode = "",suppName="",acctCodeAp="",acctCodeApDesc="",cctrCodeAp="",cctrCodeApDesc="",actCodeDesc="";
String empCode = "",siteCode="",siteDesc="",currCode="",exchngRate="",sundryType="";
String empFname = "",empMname="",deptCode="",cctrCode="",costctrDescr="",acctCode="",acctCodeDescr="";
String empLname = "",taxClass="",taxChap="",taxEnv="",accountCode="",analCode="",finEntity="",bankCode="";
String itemDescr = "";
int currentFormNo =0;
String columnValue = null;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
int ctr = 0;
Double dexchngRate = 0.0;
try
{
SimpleDateFormat simpleDateFormatObj = new SimpleDateFormat(genericUtility.getApplDateFormat());
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("-------- currentFormNo : "+currentFormNo);
switch(currentFormNo)
{
case 1 :
valueXmlString.append("<Detail1>");
System.out.println("[" + currentColumn + "] ==> '" + columnValue + "'");
System.out.println("editFlag =>" +editFlag);
if( currentColumn.trim().equalsIgnoreCase( "itm_default" ) )
{
System.out.println("------------in itm_default--------->");
String confirm="N",loginSite="",siteDescr1="",code="",sundryTypeL="E",vouchType="E",autoPay="Y";
Calendar currentDate = Calendar.getInstance();
String tranDate = simpleDateFormatObj.format(currentDate.getTime());
valueXmlString.append("<tran_date>").append("<![CDATA[" + tranDate + "]]>").append("</tran_date>");
valueXmlString.append("<confirmed>").append("<![CDATA[" + confirm + "]]>").append("</confirmed>");
loginSite = checkNull(getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode"));
System.out.println("loginSite ----->>["+loginSite+"]");
if(loginSite.length() > 0){
siteDescr1=getColumnDescr(conn, "DESCR", "site", "SITE_CODE", loginSite);
}
System.out.println("loginSite-->["+loginSite.length()+"]");
System.out.println("tranDate-->["+tranDate.length()+"]");
if(loginSite.length() > 0 && tranDate.length() > 0){
code=getCurrCodeExchRate(conn, loginSite, tranDate);
System.out.println("code--->["+code+"]");
String [] codeSplit =code.split(",");
currCode=codeSplit[0];
exchngRate=codeSplit[1];
bankCode=checkNull(getColumnDescr(conn, "bank_code", "site", "SITE_CODE", loginSite));
System.out.println("Bank code--->["+bankCode+"]");
}
valueXmlString.append("<site_code>").append("<![CDATA[" + loginSite + "]]>").append("</site_code>");
valueXmlString.append("<site_descr>").append("<![CDATA[" + siteDescr1 + "]]>").append("</site_descr>");
valueXmlString.append("<curr_code>").append("<![CDATA[" + currCode + "]]>").append("</curr_code>");
valueXmlString.append("<exch_rate>").append("<![CDATA[" + exchngRate + "]]>").append("</exch_rate>");
valueXmlString.append("<bank_code>").append("<![CDATA[" + bankCode + "]]>").append("</bank_code>");
valueXmlString.append("<due_date>").append("<![CDATA[" + tranDate + "]]>").append("</due_date>");
valueXmlString.append("<vouch_type>").append("<![CDATA[" + vouchType + "]]>").append("</vouch_type>");
valueXmlString.append("<sundry_type>").append("<![CDATA["+sundryTypeL+"]]>").append("</sundry_type>");
valueXmlString.append("<auto_pay>").append("<![CDATA["+autoPay+"]]>").append("</auto_pay>");
}
if((currentColumn.trim().equalsIgnoreCase("acct_code__ap")))
{
acctCodeAp = checkNull(genericUtility.getColumnValue("acct_code__ap",dom));
System.out.println("payable A/c-->["+acctCodeAp+"]");
acctCodeApDesc= getColumnDescr(conn, "sh_descr", "accounts", "acct_code", acctCodeAp);
valueXmlString.append("<sh_descr>").append("<![CDATA[" + acctCodeApDesc + "]]>").append("</sh_descr>");
}
else if (currentColumn.trim().equalsIgnoreCase("site_code"))
{
String siteDescr1="",code="",tranDate="";
siteCode = checkNull(genericUtility.getColumnValue("site_code",dom));
tranDate =checkNull(genericUtility.getColumnValue("tran_date",dom));
System.out.println("siteCode11 ----->>["+siteCode+"]");
System.out.println("tranDate ----->>["+tranDate+"]");
if(siteCode.length() > 0){
siteDescr1=getColumnDescr(conn, "DESCR", "site", "SITE_CODE", siteCode);
}
if(siteCode.length() > 0 && tranDate.length() > 0){
code=getCurrCodeExchRate(conn, siteCode, tranDate);
System.out.println("code123--->["+code+"]");
String [] codeSplit =code.split(",");
currCode=codeSplit[0];
exchngRate=codeSplit[1];
bankCode=checkNull(getColumnDescr(conn, "bank_code", "site", "SITE_CODE", siteCode));
System.out.println("Bank code--->["+bankCode+"]");
}
valueXmlString.append("<site_descr>").append("<![CDATA[" + siteDescr1 + "]]>").append("</site_descr>");
valueXmlString.append("<curr_code>").append("<![CDATA[" + currCode + "]]>").append("</curr_code>");
valueXmlString.append("<exch_rate>").append("<![CDATA[" + exchngRate + "]]>").append("</exch_rate>");
valueXmlString.append("<bank_code>").append("<![CDATA[" + bankCode + "]]>").append("</bank_code>");
}
else if (currentColumn.trim().equalsIgnoreCase("cctr_code__ap"))
{
cctrCodeAp = checkNull(genericUtility.getColumnValue("cctr_code__ap",dom));
System.out.println("payable Cctr-->["+cctrCodeAp+"]");
cctrCodeApDesc= getColumnDescr(conn, "sh_descr", "costctr", "cctr_code", cctrCodeAp);
valueXmlString.append("<costctr_descr>").append("<![CDATA[" + cctrCodeApDesc + "]]>").append("</costctr_descr>");
}
valueXmlString.append("</Detail1>");
break;
case 2:
parentNodeList = dom.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
valueXmlString.append("<Detail2>");
int childListLength = childNodeList.getLength();
if( currentColumn.trim().equalsIgnoreCase( "itm_default" ) )
{
String sundryTypeL="",acctCodeAdvL="",cctrCodeAdvL="";
System.out.println("detail itm default called................");
sundryType = checkNull(genericUtility.getColumnValue("sundry_type",dom1));
acctCodeAdvL = checkNull(genericUtility.getColumnValue("acct_code__adv",dom1));
cctrCodeAdvL = checkNull(genericUtility.getColumnValue("cctr_code__adv",dom1));
System.out.println("sundryType--->["+sundryType+"]");
System.out.println("acctCodeAdvL--->["+acctCodeAdvL+"]");
System.out.println("cctrCodeAdvL--->["+cctrCodeAdvL+"]");
if(sundryType.length() > 0){
valueXmlString.append("<sundry_type>").append("<![CDATA[" + sundryType + "]]>").append("</sundry_type>");
}
if(acctCodeAdvL.length() > 0){
valueXmlString.append("<acct_code__adv>").append("<![CDATA[" + acctCodeAdvL + "]]>").append("</acct_code__adv>");
}
if(cctrCodeAdvL.length() > 0){
valueXmlString.append("<cctr_code__adv>").append("<![CDATA[" + cctrCodeAdvL + "]]>").append("</cctr_code__adv>");
}
System.out.println("sundry_type A/c itm D-->["+sundryType+"]");
}
if (currentColumn.trim().equals("acct_code"))
{
acctCodeAp = checkNull(genericUtility.getColumnValue("acct_code",dom));
System.out.println("acct_code A/c-->["+acctCodeAp+"]");
acctCodeApDesc= getColumnDescr(conn, "sh_descr", "accounts", "acct_code", acctCodeAp);
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + acctCodeApDesc + "]]>").append("</accounts_descr>");
}
else if (currentColumn.trim().equals("cctr_code"))
{
cctrCode = checkNull(genericUtility.getColumnValue("cctr_code",dom));
System.out.println("cctr_code A/c-->["+cctrCode+"]");
cctrCodeApDesc= getColumnDescr(conn, "sh_descr", "costctr", "cctr_code", cctrCode);
valueXmlString.append("<costctr_descr>").append("<![CDATA[" + cctrCodeApDesc + "]]>").append("</costctr_descr>");
}
else if (currentColumn.trim().equals("sundry_code"))
{
String sql="",empFName="",empMName="",empLName="",deptCodeL="";
sundryCode = checkNull(genericUtility.getColumnValue("sundry_code",dom));
System.out.println("sundry_code A/c-->["+sundryCode+"]");
if(sundryCode.length() > 0){
sql="select emp_fname,emp_mname,emp_lname,dept_code from Employee"
+ " where emp_code = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, sundryCode);
rs=pstmt.executeQuery();
if(rs.next()){
empFName=checkNull(rs.getString(1));
empMName=checkNull(rs.getString(2));
empLName=checkNull(rs.getString(3));
deptCodeL=checkNull(rs.getString(4));
}
if(rs!=null){
rs.close();
rs=null;
}
if(pstmt!=null){
pstmt.close();
pstmt=null;
}
}
System.out.println("Employee Descr-->>["+empFName+" "+empMName+" "+empLName+ "]");
valueXmlString.append("<emp_code>").append("<![CDATA[" + sundryCode + "]]>").append("</emp_code>");
valueXmlString.append("<emp_fname>").append("<![CDATA[" + empFName + "]]>").append("</emp_fname>");
valueXmlString.append("<emp_mname>").append("<![CDATA[" + empMName + "]]>").append("</emp_mname>");
valueXmlString.append("<emp_lname>").append("<![CDATA[" + empLName + "]]>").append("</emp_lname>");
valueXmlString.append("<dept_code>").append("<![CDATA[" + deptCodeL + "]]>").append("</dept_code>");
}
valueXmlString.append("</Detail2>");
}// end switch
valueXmlString.append("</Root>");
} //end try-------------------------------------------------------------
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+e.getMessage());
throw new ITMException(e);
}
finally
{
try
{
if(conn!=null)
{
conn.close();
conn = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception d)
{
d.printStackTrace();
}
}
return valueXmlString.toString();
}
private String getCurrCodeExchRate(Connection conn,String siteCode,String tranDate)
{
System.out.println("In getBankCodeExchRate method site code--->["+siteCode+"]");
ResultSet rs=null;
PreparedStatement pstmt=null;
String sql="",currCode="",finEntity="",exchngRate="";
double dexchngRate=0.0;
try{
sql="SELECT B.CURR_CODE,A.FIN_ENTITY FROM SITE A, FINENT B WHERE A.FIN_ENTITY = B.FIN_ENTITY"
+ " AND A.SITE_CODE = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
rs=pstmt.executeQuery();
if(rs.next()){
currCode=checkNull(rs.getString(1));
finEntity=checkNull(rs.getString(2));
}
System.out.println("currCode1-->["+currCode+"] finEntity2-->["+finEntity+"]");
if(rs!=null){
rs.close();
rs=null;
}
if(pstmt!=null){
pstmt.close();
pstmt=null;
}
FinCommon fincmm= new FinCommon();
dexchngRate=fincmm.getDailyExchRateSellBuy(currCode,"",siteCode,tranDate,"B",conn);
System.out.println("After return rate from fincommon--->>["+dexchngRate+"]");
exchngRate= checkNull(Double.toString(dexchngRate));
}
catch(Exception e){
System.out.println("Exception : getBankCodeExchRate...");
e.printStackTrace();
}
if(exchngRate.length() == 0){
exchngRate= " ";
}
if(currCode.length() == 0){
currCode= " ";
}
System.out.println("Return String from getBankCodeExchRate --->>["+exchngRate+","+currCode+"]");
return currCode+","+exchngRate;
}
protected int getDBRowCount(Connection conn, String table_name, String whrCondCol, String whrCondVal)
{
int count=-1;
if(conn!=null){
ResultSet rs=null;
PreparedStatement pstmt = null;
String sql="select count(1) from "+table_name+" where "+whrCondCol+" = ?";
System.out.println("SQL in getDBRowCount method : "+sql);
try
{
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,whrCondVal);
rs = pstmt.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
}
catch(SQLException e)
{
System.out.println("SQL Exception In getDBRowCount method of MiscVchEmpIC Class : "+e.getMessage());
e.printStackTrace();
}
catch(Exception ex)
{
System.out.println("Exception In getDBRowCount method of MiscVchEmpIC Class : "+ex.getMessage());
ex.printStackTrace();
}finally{
try{
if(pstmt!=null){
pstmt.close();
pstmt = null;
}
if(rs!=null){
rs.close();
rs = null;
}
}catch (SQLException se) {
se.printStackTrace();
}
}
}else{
try {
throw new SQLException("Connection passed to MiscVchEmpIC.getDBRowCount() method ");
} catch (SQLException e) {
e.printStackTrace();
}
}
return count;
}
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, checkNull(errorCode));
rs = pstmt.executeQuery();
while( rs.next() )
{
msgType = rs.getString("MSG_TYPE");
}
}
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;
}
public String checkNull(String input)
{
if (input == null)
{
input="";
}
return input.trim();
}
protected String getNameOrDescrForCode(Connection conn, String table_name, String descr_col_name,String whrCondCol, String whrCondVal)
{
String descr = null;
if(conn!=null){
ResultSet rs=null;
PreparedStatement pstmt = null;
String sql="SELECT "+descr_col_name+" FROM "+table_name+" WHERE "+whrCondCol+" = ?";
System.out.println("SQL in getNameOrDescrForCode method : "+sql);
try
{
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,whrCondVal);
rs = pstmt.executeQuery();
if(rs.next())
{
descr = rs.getString(descr_col_name);
}
descr=descr==null ?"" :descr;
}
catch(SQLException e)
{
System.out.println("SQL Exception In getNameOrDescrForCode method of MiscVchEmpIC Class : "+e.getMessage());
e.printStackTrace();
}
catch(Exception ex)
{
System.out.println("Exception In getNameOrDescrForCode method of MiscVchEmpIC Class : "+ex.getMessage());
ex.printStackTrace();
}finally{
try{
if(pstmt!=null){
pstmt.close();
pstmt = null;
}
if(rs!=null){
rs.close();
rs = null;
}
}catch (SQLException se) {
se.printStackTrace();
}
}
}else{
try {
throw new SQLException("Connection passed to MiscVchEmpIC.getNameOrDescrForCode() method is null");
} catch (SQLException e) {
e.printStackTrace();
}
}
return descr;
}
protected String getColumnDescr(Connection conn, String columnName ,String tableName, String columnName2, String value)
{
PreparedStatement pstmt = null ;
ResultSet rs = null ;
String sql = "";
String findValue = "";
try
{
sql = "SELECT " + columnName + " from " + tableName + " where " + columnName2 +"= ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,value);
rs = pstmt.executeQuery();
if(rs.next())
{
findValue = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
catch(Exception e)
{
System.out.println("Exception in getColumnDescr ");
e.printStackTrace();
}
System.out.println("returning String from getColumnDescr " + findValue);
return findValue;
}
}
package ibase.webitm.ejb.fin;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Local;
import org.w3c.dom.Document;
@Local
public interface MiscVchEmpICLocal extends ValidatorLocal {
public String wfValData(String xmlString, String xmlString1, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(Document dom, Document dom1, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(String xmlString, String xmlString1, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(Document dom, Document dom1, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.fin;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Remote;
import org.w3c.dom.Document;
@Remote
public interface MiscVchEmpICRemote extends ValidatorRemote{
public String wfValData(Document dom, Document dom1, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(String xmlString, String xmlString1, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(Document dom, Document dom1, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.fin;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.ejb.Stateless;
import org.w3c.dom.Document;
@Stateless
public class MiscVchEmpPostSave extends ValidatorEJB implements MiscVchEmpPostSaveLocal,MiscVchEmpPostSaveRemote{
public String postSave(String xmlString,String tranId,String editFlag, String xtraParams,Connection conn) throws RemoteException,ITMException
{
System.out.println("xml String--->>["+xmlString+"]");
Document dom = null;
String errString="";
try
{
if (xmlString != null && xmlString.trim().length() > 0)
{
dom = parseString(xmlString);
errString = postSave(dom,tranId,xtraParams,conn);
}
}
catch(Exception e)
{
System.out.println("Exception : MiscVchEmpPostSave.java : postSave : ==>\n"+e.getMessage());
throw new ITMException(e);
}
return errString;
}
public String postSave(Document dom,String tranId,String xtraParams,Connection conn)
{
System.out.println("in MiscVchEmpPostSave postSave tran_id---->>["+tranId+"]");
ResultSet rs=null;
PreparedStatement pstmt=null;
String sql="",errorString="";
double sumAmount=0;
int count=0;
try{
tranId = GenericUtility.getInstance().getColumnValue("tran_id",dom);
System.out.println("tran_id123--->>["+tranId+"]");
sql="select sum(amount) from misc_vch_empdet where tran_id = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs=pstmt.executeQuery();
if(rs.next()){
sumAmount=rs.getDouble(1);
}
System.out.println("sumAmount---->>["+sumAmount+"]");
if (pstmt != null){
pstmt.close();
pstmt=null;
}
if (rs !=null){
rs.close();
rs=null;
}
sql="update misc_vch_emp set total_amount = ? where tran_id = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setDouble(1, sumAmount);
pstmt.setString(2, tranId);
count=pstmt.executeUpdate();
if(count > 0){
conn.commit();
}else{
conn.rollback();
}
System.out.println("post count---->>["+count+"]");
}
catch(Exception e){
System.out.println("Exception : MiscVchEmpPostSave -->["+e.getMessage()+"]");
e.printStackTrace();
try{
conn.rollback();
}catch(Exception e1){
System.out.println("Exception while rollbacking transaction....");
e1.printStackTrace();
}
}
return errorString;
}
}
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
import java.sql.Connection;
import javax.ejb.Local;
@Local
public interface MiscVchEmpPostSaveLocal extends ValidatorLocal{
public String postSave(String xmlString,String tranId,String editFlag, String xtraParams,Connection conn) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import java.sql.Connection;
import javax.ejb.Remote;
@Remote
public interface MiscVchEmpPostSaveRemote extends ValidatorRemote {
public String postSave(String xmlString,String tranId,String editFlag, String xtraParams,Connection conn) throws RemoteException,ITMException;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
package ibase.webitm.ejb.fin.adv;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import java.rmi.RemoteException;
import java.sql.*;
//import javax.ejb.EJBObject;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.ejb.Local; // added for ejb3
@Local
public interface MiscValConfLocal extends ActionHandlerLocal//,EJBObject
{
public String confirm(String tranID, String xtraParams, String forcedFlag) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.fin.adv;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import java.rmi.RemoteException;
import java.sql.*;
//import javax.ejb.EJBObject;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.ejb.Remote; // added for ejb3
@Remote // added for ejb3
public interface MiscValConfRemote extends ActionHandlerRemote//, EJBObject
{
public String confirm(String tranID, String xtraParams, String forcedFlag) throws RemoteException,ITMException;
}
/*
Window Name : w_misc_vch_emp
*/
package ibase.webitm.ejb.fin.adv;
import ibase.system.config.AppConnectParm;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Random;
import javax.ejb.Stateless;
import javax.naming.InitialContext;
// added for ejb3
@Stateless // added for ejb3
public class MiscVchEmpIConf extends ActionHandlerEJB implements MiscVchEmpIConfLocal, MiscVchEmpIConfRemote
{
GenericUtility genericUtility = GenericUtility.getInstance();
UtilMethods utilMethods = UtilMethods.getInstance();
Random rnd = new Random();
ArrayList<String> miscVoucherTranID=new ArrayList<String>();
public String confirm(String tranId, String xtraParams, String forcedFlag) throws RemoteException,ITMException
{
System.out.println("--------------confirm method of MiscVchEmpIConf ------------- : ");
String retString = "";
try
{
retString = confirmMiscVchEmp(tranId,xtraParams,forcedFlag);
}
catch(Exception e)
{
System.out.println("Exception :MiscVchEmpIConf :confirm():" + e.getMessage() + ":");
retString = GenericUtility.getInstance().createErrorString(e);
e.printStackTrace();
}
return retString;
}
public String confirmMiscVchEmp(String tranId,String xtraParams,String forcedFlag) throws ITMException
{
String retString = "";
String sql = "";
StringBuffer valueXmlString = new StringBuffer("<?xml version=\"1.0\"?>\r\n<Root><Root>\r\n");
Connection conn = null;
PreparedStatement pstmt = null;
ITMDBAccessEJB itmdbAccess = null;
String tranIds = tranId;
String xtraParam = xtraParams;
String forcedF = forcedFlag;
String errString = null;
ResultSet rs = null;
ibase.webitm.utility.GenericUtility genericUtility = null;
System.out.println("Confirm Action Called:::");
String confirmed = "";
String approverCode = "";
try
{
itmdbAccess = new ITMDBAccessEJB();
genericUtility = ibase.webitm.utility.GenericUtility.getInstance();
ConnDriver connDriver = null;
connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
conn.setAutoCommit(false);
connDriver=null;
sql = "Select confirmed from misc_vch_emp where tran_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranIds);
rs = pstmt.executeQuery();
if(rs.next())
{
confirmed = rs.getString(1)==null? "N" :rs.getString(1);
}
if( pstmt != null ){
pstmt.close();
pstmt = null;
}
if ( rs != null ){
rs.close();
rs = null;
}
if( confirmed != null && confirmed.equalsIgnoreCase("Y") )
{
//if already confirm then show error
errString = itmdbAccess.getErrorString("", "VTDIST26", "", "", conn);
return errString;
}
if( errString == null || errString.trim().length() == 0 )
{
approverCode = genericUtility.getValueFromXTRA_PARAMS(xtraParam,"loginEmpCode");
System.out.println("approverCode-->["+approverCode+"]");
retString = generateMiscVoucher(tranIds, xtraParam, forcedF,conn);
System.out.println("generateMiscVoucher return String--->["+retString+"]");
if("Success".equalsIgnoreCase(retString)){
sql = "update misc_vch_emp set CONFIRMED = 'Y',CONF_DATE = sysdate,EMP_CODE__APRV = ? where tran_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,approverCode);
pstmt.setString(2,tranIds);
int rowcnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
if(rowcnt > 0){
conn.commit();
errString = itmdbAccess.getErrorString("", "VMTRNCONS", "", "", conn);
System.out.println("Voucher Confirmed Successfully.......");
return errString;
}else{
conn.rollback();
errString = itmdbAccess.getErrorString("", "VMTRNCONN", "", "", conn);
System.out.println("Voucher Confirmed Sucessfully.......");
return errString;
}
}else if("Error".equalsIgnoreCase(retString)){
errString = itmdbAccess.getErrorString("", "VMTRNCONN", "", "", conn);
conn.rollback();
return errString;
}
}
}
catch( Exception e)
{
e.printStackTrace();
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 e){
e.printStackTrace();
}
}
return retString;
}
private String generateMiscVoucher(String tranId, String xtraParams, String forcedFlag ,Connection conn) throws RemoteException, ITMException
{
FinCommon finCommon = new FinCommon();
DistCommon disC = new DistCommon();
String retSting = "";
ConnDriver connDriver = null;
String sql = "";
StringBuffer xmlBuff=null;
// Connection conn = null;
PreparedStatement pStmt = null,pStmt1=null;
String tranIds = tranId;
String xtraParam = xtraParams;
String forcedF = forcedFlag;
ResultSet rs = null,rs1 = null;
String siteCode = "",empCode="",acctCode="",cctrCode="",taxApply="",deptCode="",sAmount="",crTerm="",effDate="";
String tranID = "",vouchType="",tranType="",sundryCode="",sundryType="",analCode="",remarks="",acctCodeAp="",cctrCodeAp="";
Timestamp tranDate = null;
String currCode = "",exchRate="",bankCode="",projCode="",autoPay="",taxClass="",taxChap="",taxEnv="",finEntity="";
String sundryTypeD="",sundryCodeD="",acctCodeD="",cctrCodeD="",acctCodeAdvD="",cctrCodeAdvD="",analCodeD="";
String remarksD="",taxChapD="",taxClassD="",taxEnvD="",empCodeD="",miscVchTranId="",payMode="";
double amountD=0.0;
Timestamp taxDate = null,dueDate=null;
String xmlString = null;
String tranDate1 ="",dueDate1="",taxDate1="",retString=null,errorStringMisc="";
double amount=0.0,totalAmt=0.0;
int lineNo=0,billAmt=0;
try
{
if(miscVoucherTranID != null){
miscVoucherTranID.clear();
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat( genericUtility.getApplDateFormat());
effDate=simpleDateFormat.format(new java.util.Date()).toString();
crTerm = finCommon.getFinparams("999999", "DEF_CR_TERM", conn);
sql="select tran_date,vouch_type,tran_type,sundry_type,site_code,anal_code,remarks,acct_code__ap,"
+ "cctr_code__ap,curr_code,exch_rate,bank_code,proj_code,auto_pay,tax_class,tax_chap,tax_env,"
+ "tax_date,due_date,total_amount,pay_mode from misc_vch_emp where tran_id=?";
/*sql = "select eevch.TRAN_DATE,eevch.VOUCH_TYPE,eevch.TRAN_TYPE,eevch.SUNDRY_TYPE,"
+"eevch.SUNDRY_CODE,eevch.SITE_CODE,eevch.ANAL_CODE,eevch.REMARKS,eevch.ACCT_CODE__AP,"
+"eevch.CCTR_CODE__AP,eevch.CURR_CODE,eevch.EXCH_RATE,eevch.BANK_CODE,eevch.PROJ_CODE,"
+"eevch.AUTO_PAY,eevch.TAX_CLASS,eevch.TAX_CHAP,eevch.TAX_ENV,eevch.TAX_DATE,eevch.DUE_DATE,"
+"eevch.TOTAL_AMOUNT "
+"from misc_vch_emp eevch where tran_id=? ";*/
pStmt = conn.prepareStatement(sql);
pStmt.setString(1,tranIds);
rs = pStmt.executeQuery();
if(rs.next())
{
tranDate = rs.getTimestamp(1);
vouchType = checkNull(rs.getString(2));
tranType = checkNull(rs.getString(3));
sundryType = checkNull(rs.getString(4));
siteCode=checkNull(rs.getString(5));
analCode = checkNull(rs.getString(6));
remarks = checkNull(rs.getString(7));
acctCodeAp =checkNull( rs.getString(8));
cctrCodeAp = checkNull(rs.getString(9));
currCode = checkNull(rs.getString(10));
exchRate = checkNull(rs.getString(11));
bankCode = checkNull(rs.getString(12));
projCode = checkNull(rs.getString(13));
autoPay = checkNull(rs.getString(14));
taxClass = checkNull(rs.getString(15));
taxChap = checkNull(rs.getString(16));
taxEnv = checkNull(rs.getString(17));
taxDate = rs.getTimestamp(18);
dueDate = rs.getTimestamp(19);
totalAmt = rs.getDouble(20);
payMode = checkNull(rs.getString(21));
}
rs.close();
rs = null;
pStmt.close();
pStmt = null;
sql = " SELECT B.CURR_CODE,A.FIN_ENTITY FROM SITE A, FINENT B WHERE A.FIN_ENTITY = B.FIN_ENTITY "
+ " AND A.SITE_CODE = ? " ;
pStmt1 = conn.prepareStatement(sql);
System.out.println("sql for currCode and finEntity : " + sql);
pStmt1.setString(1,siteCode);
rs1 = pStmt1.executeQuery();
if (rs1.next())
{
currCode=rs1.getString(1);
finEntity = rs1.getString(2);
}
rs1.close(); rs1 = null;
pStmt1.close(); pStmt1 = null;
System.out.println("tran type ::"+tranType);
if(tranDate !=null){
tranDate1=simpleDateFormat.format( tranDate ).toString();
System.out.println("tranDate1 ::"+tranDate1);
}
if(dueDate !=null){
dueDate1=simpleDateFormat.format(dueDate).toString();
System.out.println("dueDate1 ::"+dueDate1);
}
if(taxDate !=null){
taxDate1=simpleDateFormat.format(taxDate).toString();
System.out.println("taxDate1 ::"+taxDate1);
}
sql="select sundry_type,sundry_code,acct_code,cctr_code,acct_code__adv,cctr_code__adv,amount,anal_code,"
+ "remarks,tax_chap,tax_class,tax_env,emp_code,line_no from misc_vch_empdet where tran_id = ?";
pStmt1=conn.prepareStatement(sql);
pStmt1.setString(1, tranId);
rs1=pStmt1.executeQuery();
while(rs1.next()){
xmlString="";
xmlBuff = new StringBuffer();
sundryTypeD=checkNull(rs1.getString(1));
sundryCodeD=checkNull(rs1.getString(2));
acctCodeD=checkNull(rs1.getString(3));
cctrCodeD=checkNull(rs1.getString(4));
acctCodeAdvD=checkNull(rs1.getString(5));
cctrCodeAdvD=checkNull(rs1.getString(6));
amountD=rs1.getDouble(7);
analCodeD=checkNull(rs1.getString(8));
remarksD=checkNull(rs1.getString(9));
taxChapD=checkNull(rs1.getString(10));
taxClassD=checkNull(rs1.getString(11));
taxEnvD=checkNull(rs1.getString(12));
empCodeD =checkNull(rs1.getString(13));
lineNo=rs1.getInt(14);
xmlBuff.append("<?xml version='1.0' encoding='ISO-8859-1'?>\n");
xmlBuff.append("<DocumentRoot>");
xmlBuff.append("<description>").append("Datawindow Root").append("</description>");
xmlBuff.append("<group0>");
xmlBuff.append("<description>").append("Group0 description").append("</description>");
xmlBuff.append("<Header0>");
xmlBuff.append("<objName><![CDATA[").append("misc_voucher").append("]]></objName>");
xmlBuff.append("<pageContext><![CDATA[").append("1").append("]]></pageContext>");
xmlBuff.append("<objContext><![CDATA[").append("1").append("]]></objContext>");
xmlBuff.append("<editFlag><![CDATA[").append("A").append("]]></editFlag>");
xmlBuff.append("<focusedColumn><![CDATA[").append("").append("]]></focusedColumn>");
xmlBuff.append("<action><![CDATA[").append("SAVE").append("]]></action>");
xmlBuff.append("<elementName><![CDATA[").append("").append("]]></elementName>");
xmlBuff.append("<keyValue><![CDATA[").append("1").append("]]></keyValue>");
xmlBuff.append("<taxKeyValue><![CDATA[").append(" ").append("]]></taxKeyValue>");
xmlBuff.append("<saveLevel><![CDATA[").append("1").append("]]></saveLevel>");
xmlBuff.append("<forcedSave><![CDATA[").append(true).append("]]></forcedSave>");
xmlBuff.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>");
xmlBuff.append("<description>").append("Header0 members").append("</description>");
xmlBuff.append("<Detail1 objContext =\"1\"").append(" objName=\"misc_voucher\" domID=\"1\" dbID=\"\">");
xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<tran_type><![CDATA[").append(tranType==null?"":tranType.trim()).append("]]></tran_type>");
xmlBuff.append("<tran_mode><![CDATA[").append("A").append("]]></tran_mode>");
xmlBuff.append("<tran_date><![CDATA[").append(tranDate1).append("]]></tran_date>");
xmlBuff.append("<vouch_type><![CDATA[").append("A").append("]]></vouch_type>");
xmlBuff.append("<eff_date><![CDATA[").append(tranDate1).append("]]></eff_date>");
xmlBuff.append("<sundry_type><![CDATA[").append(sundryType).append("]]></sundry_type>");
xmlBuff.append("<sundry_code><![CDATA[").append(sundryCodeD).append("]]></sundry_code>");
xmlBuff.append("<acct_code__ap><![CDATA[").append(acctCodeAp).append("]]></acct_code__ap>");
xmlBuff.append("<cctr_code__ap><![CDATA[").append(cctrCodeAp).append("]]></cctr_code__ap>");
xmlBuff.append("<acct_code__adv><![CDATA[").append(acctCodeAdvD).append("]]></acct_code__adv>");
xmlBuff.append("<cctr_code__adv><![CDATA[").append(cctrCodeAdvD).append("]]></cctr_code__adv>");
xmlBuff.append("<sundry_type__pay><![CDATA[").append("E").append("]]></sundry_type__pay>");
xmlBuff.append("<sundry_code__pay><![CDATA[").append(sundryCodeD).append("]]></sundry_code__pay>");
xmlBuff.append("<acct_code__pay><![CDATA[").append(acctCodeAp).append("]]></acct_code__pay>");
xmlBuff.append("<cctr_code__pay><![CDATA[").append(cctrCodeAp).append("]]></cctr_code__pay>");
xmlBuff.append("<site_code><![CDATA[").append(siteCode).append("]]></site_code>");
xmlBuff.append("<site_code__pay><![CDATA[").append(siteCode).append("]]></site_code__pay>");
xmlBuff.append("<fin_entity><![CDATA[").append(finEntity).append("]]></fin_entity>");
xmlBuff.append("<curr_code><![CDATA[").append(currCode).append("]]></curr_code>");
xmlBuff.append("<exch_rate><![CDATA[").append(exchRate).append("]]></exch_rate>");
xmlBuff.append("<cr_term><![CDATA[").append(crTerm==null?"":crTerm).append("]]></cr_term>");
xmlBuff.append("<proj_code><![CDATA[").append(projCode).append("]]></proj_code>");
xmlBuff.append("<tax_class><![CDATA[").append(taxClass).append("]]></tax_class>");
xmlBuff.append("<tax_chap><![CDATA[").append(taxChap).append("]]></tax_chap>");
xmlBuff.append("<tax_env><![CDATA[").append(taxEnv).append("]]></tax_env>");
xmlBuff.append("<tax_date><![CDATA[").append(taxDate1==null?"":taxDate1).append("]]></tax_date>");
xmlBuff.append("<due_date><![CDATA[").append(dueDate1==null?"":dueDate1).append("]]></due_date>");
xmlBuff.append("<auto_pay><![CDATA[").append(autoPay).append("]]></auto_pay>");
xmlBuff.append("<pay_mode><![CDATA[").append(payMode).append("]]></pay_mode>");
xmlBuff.append("<bank_code><![CDATA[").append(bankCode).append("]]></bank_code>");
xmlBuff.append("<confirmed><![CDATA[").append("N").append("]]></confirmed>");
xmlBuff.append("<remarks><![CDATA[").append(remarks).append("]]></remarks>");
xmlBuff.append("<adv_amt><![CDATA[").append("0").append("]]></adv_amt>");
xmlBuff.append("<net_amt><![CDATA[").append("0").append("]]></net_amt>");
xmlBuff.append("<tot_amt><![CDATA[").append("0").append("]]></tot_amt>");
xmlBuff.append("<bill_amt><![CDATA[").append("0").append("]]></bill_amt>");
xmlBuff.append("<chg_user/>");
xmlBuff.append("<chg_date/>");
xmlBuff.append("<chg_term/>");
xmlBuff.append("</Detail1>");
xmlBuff.append("<Detail3 objContext=\"3\" objName=\"misc_voucher\" domID=\"1\" dbID=''>");
xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<line_no><![CDATA["+lineNo+"]]></line_no>");
xmlBuff.append("<acct_code><![CDATA[").append(finCommon.getFinparams("999999","ACCT_CODE_PE",conn)).append("]]></acct_code>");
xmlBuff.append("<cctr_code><![CDATA[").append(cctrCodeAp).append("]]></cctr_code>");
xmlBuff.append("<amount><![CDATA[").append(amountD).append("]]></amount>");
xmlBuff.append("<emp_code><![CDATA[").append(sundryCodeD).append("]]></emp_code>");
xmlBuff.append("<tax_class><![CDATA[").append(taxClassD).append("]]></tax_class>");
xmlBuff.append("<tax_chap><![CDATA[").append(taxChapD).append("]]></tax_chap>");
xmlBuff.append("<tax_env><![CDATA[").append(taxEnvD).append("]]></tax_env>");
xmlBuff.append("<anal_code><![CDATA[").append(analCodeD).append("]]></anal_code>");
xmlBuff.append("<remarks><![CDATA[").append(remarksD).append("]]></remarks>");
xmlBuff.append("</Detail3>");
System.out.println("Payment Mode----->>["+payMode+"]");
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
xmlString = xmlBuff.toString();
System.out.println("Final xmlString---->>["+xmlString+"]");
retString = saveData(siteCode,xmlString,conn);
System.out.println("After save retString---->>["+retString+"]");
if (retString.indexOf("Success") > -1)
{
System.out.println("retString.indexOf(Success) > -1)");
String[] arrayForTranId = retString.split("<TranID>");
int endIndex = arrayForTranId[1].indexOf("</TranID>");
miscVchTranId = arrayForTranId[1].substring(0,endIndex);
System.out.println("miscVchTranId12345------>>>["+miscVchTranId+"]");
if(miscVchTranId != null && miscVchTranId.trim().length() > 0)
{
MiscValConf MiscValConfObj=new MiscValConf();
errorStringMisc=MiscValConfObj.confirm(miscVchTranId, xtraParams, forcedFlag);
miscVoucherTranID.add(checkNull(miscVchTranId));
System.out.println("Return String from MiscValConf confirm---->["+errorStringMisc+"]");
if(!(errorStringMisc.indexOf("CONFSUCCES") > -1)){
return errorStringMisc;
}
}
}
else
{
conn.rollback();
System.out.println("VOUCHER NOT GENERATED FOR SUPPLIER");
return retString;
}
} //end while
if(errorStringMisc.indexOf("CONFSUCCES") > -1){
String str=generateAutoPayment(miscVoucherTranID, payMode, conn);
System.out.println("after generateAutoPayment-->["+str+"]");
return "Success";
}
}
catch(Exception e)
{
System.out.println("Exception : MiscVchEmpICConf : CONFIRM :" +e.getMessage());
e.printStackTrace();
return "Error";
// throw new ITMException(e);
}
return retSting;
}
public String saveData(String siteCode,String xmlString, Connection conn) throws ITMException
{
System.out.println("saving data...........");
InitialContext ctx = null;
String retString = null;
MasterStatefulLocal masterStateful = null; // for ejb3
try
{
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
masterStateful = (MasterStatefulLocal)ctx.lookup("ibase/MasterStatefulEJB/local");
String [] authencate = new String[2];
authencate[0] = "";
authencate[1] = "";
System.out.println("xmlString :::: " + xmlString+"END END END");
retString = masterStateful.processRequest(authencate, siteCode, true, xmlString,true,conn);
masterStateful = null;
}
catch(ITMException itme)
{
System.out.println("ITMException : saveData :==>");
itme.printStackTrace();
throw itme;
}
catch(Exception e)
{
System.out.println("Exception : saveData :==>");
e.printStackTrace();
throw new ITMException(e);
}
return retString;
}
/*public String getMiscVouchXml(Connection conn,String tranId,String payMode )
{
ResultSet rs=null,ts1=null;
PreparedStatement pstmt=null,pstmt1=null;
try{
}
catch(Exception e)
{
e.printStackTrace();
}
}*/
private String generateAutoPayment(ArrayList<String> miscTranID,String payMode,Connection conn)
{
System.out.println("-----in generateAutoPayment method-----");
System.out.println("Misc.voucher Tranid List----->>["+miscTranID+"]");
ResultSet rs=null,rs1=null;
PreparedStatement pstmt=null,pstmt1=null;
GenericUtility GenericUtilityObj=GenericUtility.getInstance();
String sql="",siteCode="",sundryType="",sundryCode="",vouchNoFrom="",vouchNoTo="",entryBatchNo=" ",
currCode="",dueDateS="",errorString="",xmlString="",retString="",miscPayTranId="";
String sundryCodeL="",payModeL="",bankCodeL="",currCodeL="",siteCodeL="",finEntityL="",acctCodeL="",
cctrCodeL="",autoPay="",sundryTypeL="";
double totAmt=0,exchRateL=0;
StringBuffer xmlStringBuff = new StringBuffer();;
Timestamp dueDate=null;
int count=0;
try{
SimpleDateFormat sdf=new SimpleDateFormat(GenericUtilityObj.getApplDateFormat());
Calendar currentDate = Calendar.getInstance();
String tranDate = sdf.format(currentDate.getTime());
payMode=checkNull(payMode);
if(miscTranID !=null){
for(String tranID : miscTranID)
{
count++;
System.out.println("count111---->>["+count+"]");
sql="select site_code,sundry_code,sundry_type,curr_code,entry_batch_no,due_date"
+ " from misc_voucher where tran_id = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, tranID);
rs=pstmt.executeQuery();
if(rs.next()){
siteCode=checkNull(rs.getString("site_code"));
sundryCode=checkNull(rs.getString("sundry_code"));
sundryType=checkNull(rs.getString("sundry_type"));
currCode=checkNull(rs.getString("curr_code"));
entryBatchNo=rs.getString("entry_batch_no") == null ? " " :rs.getString("entry_batch_no");
dueDate=rs.getTimestamp("due_date");
}
if(rs !=null){
rs.close();
rs=null;
}
if(pstmt != null){
pstmt.close();
pstmt=null;
}
if(dueDate !=null){
dueDateS=sdf.format(dueDate);
}
System.out.println("siteCode--->>["+siteCode+"]");
System.out.println("sundryCode--->>["+sundryCode+"]");
System.out.println("sundryType--->>["+sundryType+"]");
System.out.println("currCode--->>["+currCode+"]");
System.out.println("dueDateS--->>["+dueDateS+"]");
sql= " select sundry_code,pay_mode,bank_code,tot_amt,curr_code,exch_rate,site_code,fin_entity,acct_code,cctr_code,auto_pay,sundry_type,"
+"fn_confirmed_by(misc_payables.tran_ser, misc_payables.ref_no) as username,"
+"misc_payables.tot_amt - (case when misc_payables.adj_amt is null then 0 else misc_payables.adj_amt end) - (case when misc_payables.hold_amt is null then 0 else misc_payables.hold_amt end) as pay_amt,"
+"fn_sundry_name(misc_payables.sundry_type,misc_payables.sundry_code,'') as sundry_name,"
+" misc_payables.tot_amt - (case when misc_payables.adj_amt is null then 0 else misc_payables.adj_amt end) - (case when misc_payables.hold_amt is null then 0 else misc_payables.hold_amt end) as net_payable "
+"FROM misc_payables "
+"WHERE ( misc_payables.site_code = ? ) AND "
+"( misc_payables.sundry_type = ? ) AND "
+"( misc_payables.sundry_code = ? ) AND "
+"( misc_payables.due_date >= ? ) AND "
+"( misc_payables.due_date <= ? ) AND "
+"( misc_payables.ref_no >= ? ) AND "
+"( misc_payables.ref_no <= ? ) AND "
+"( misc_payables.auto_pay = ? ) AND "
+"(misc_payables.tot_amt - misc_payables.adj_amt <> 0 ) AND "
+"(misc_payables.hold_amt is null or misc_payables.tot_amt - misc_payables.adj_amt - misc_payables.hold_amt <> 0 ) AND "
+"misc_payables.pay_mode = ? AND "
+"case when misc_payables.entry_batch_no is null then ' ' else"
+" misc_payables.entry_batch_no end = ? AND "
+" curr_code = ? and tran_ser= ? "
+" ORDER BY misc_payables.sundry_type ASC,"
+"misc_payables.sundry_code ASC,"
+"misc_payables.ref_no ASC";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
pstmt.setString(2, sundryType);
pstmt.setString(3, sundryCode);
pstmt.setString(4, dueDateS);
pstmt.setString(5, dueDateS);
pstmt.setString(6, tranID);
pstmt.setString(7, tranID);
pstmt.setString(8, "Y");
pstmt.setString(9, payMode);
pstmt.setString(10, entryBatchNo);
pstmt.setString(11, currCode);
pstmt.setString(12, "M-VOUC");
rs=pstmt.executeQuery();
if(rs.next()){
sundryCodeL=rs.getString("sundry_code");
sundryTypeL=rs.getString("sundry_type");
payModeL=rs.getString("pay_mode");
bankCodeL=rs.getString("bank_code");
totAmt=rs.getDouble("tot_amt");
currCodeL=checkNull(rs.getString("curr_code"));
exchRateL=rs.getDouble("exch_rate");
siteCodeL=rs.getString("site_code");
finEntityL=rs.getString("fin_entity");
acctCodeL=rs.getString("acct_code");
cctrCodeL=rs.getString("cctr_code");
autoPay=rs.getString("auto_pay");
}
xmlStringBuff.append("<?xml version='1.0' encoding='ISO-8859-1'?>\n");
xmlStringBuff.append("<DocumentRoot>");
xmlStringBuff.append("<description>").append("Datawindow Root").append("</description>");
xmlStringBuff.append("<group0>");
xmlStringBuff.append("<description>").append("Group0 description").append("</description>");
xmlStringBuff.append("<Header0>");
xmlStringBuff.append("<objName><![CDATA[").append("misc_pay").append("]]></objName>");
xmlStringBuff.append("<pageContext><![CDATA[").append("1").append("]]></pageContext>");
xmlStringBuff.append("<objContext><![CDATA[").append("1").append("]]></objContext>");
xmlStringBuff.append("<editFlag><![CDATA[").append("A").append("]]></editFlag>");
xmlStringBuff.append("<focusedColumn><![CDATA[").append("").append("]]></focusedColumn>");
xmlStringBuff.append("<action><![CDATA[").append("SAVE").append("]]></action>");
xmlStringBuff.append("<elementName><![CDATA[").append("").append("]]></elementName>");
xmlStringBuff.append("<keyValue><![CDATA[").append("1").append("]]></keyValue>");
xmlStringBuff.append("<taxKeyValue><![CDATA[").append(" ").append("]]></taxKeyValue>");
xmlStringBuff.append("<saveLevel><![CDATA[").append("1").append("]]></saveLevel>");
xmlStringBuff.append("<forcedSave><![CDATA[").append(true).append("]]></forcedSave>");
xmlStringBuff.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>");
xmlStringBuff.append("<description>").append("Header0 members").append("</description>");
xmlStringBuff.append("<Detail1 dbID='' domID=\"1\" objName=\"misc_pay\" objContext=\"1\">");
xmlStringBuff.append("<attribute pkNames=\"tran_id:\" status=\"N\" updateFlag=\"A\" selected=\"N\" />");
xmlStringBuff.append("<tran_id><![CDATA[]]></tran_id>");
xmlStringBuff.append("<tran_date><![CDATA[" + tranDate + "]]></tran_date>");
xmlStringBuff.append("<tran_type><![CDATA[[]]></tran_type>");
xmlStringBuff.append("<sundry_type><![CDATA[" + sundryTypeL + "]]></sundry_type>");
xmlStringBuff.append("<sundry_code><![CDATA[" + sundryCodeL + "]]></sundry_code>");
xmlStringBuff.append("<site_code><![CDATA[" + siteCodeL + "]]></site_code>");
xmlStringBuff.append("<fin_entity><![CDATA[" + finEntityL + "]]></fin_entity>");
xmlStringBuff.append("<bank_code><![CDATA[" + bankCodeL + "]]></bank_code>");
xmlStringBuff.append("<exch_rate><![CDATA[" + exchRateL + "]]></exch_rate>");
xmlStringBuff.append("<curr_code><![CDATA[" + currCodeL + "]]></curr_code>");
xmlStringBuff.append("<ref_no><![CDATA[1234]]></ref_no>");
String remarks="Payment gen. Multi Sundry Misc. Voucher transaction";
xmlStringBuff.append("<remarks><![CDATA[" + remarks + "]]></remarks>");
xmlStringBuff.append("<net_amt><![CDATA[" + totAmt + "]]></net_amt>");
xmlStringBuff.append("<net_amt__bc><![CDATA[" + totAmt + "]]></net_amt__bc>");
xmlStringBuff.append("<acct_code__bc><![CDATA[" + acctCodeL + "]]></acct_code__bc>");
xmlStringBuff.append("<acct_code__bal><![CDATA[" + acctCodeL + "]]></acct_code__bal>");
xmlStringBuff.append("<cctr_code__bal><![CDATA[" + cctrCodeL + "]]></cctr_code__bal>");
xmlStringBuff.append("<cctr_code__bc><![CDATA[" + cctrCodeL + "]]></cctr_code__bc>");
xmlStringBuff.append("<curr_code__bc><![CDATA[" + currCodeL + "]]></curr_code__bc>");
xmlStringBuff.append("<exch_rate__bc><![CDATA[" + exchRateL + "]]></exch_rate__bc>");
xmlStringBuff.append("<auto_paid><![CDATA[Y]]></auto_paid>");
xmlStringBuff.append("<chg_user/>");
xmlStringBuff.append("<chg_date/>");
xmlStringBuff.append("<chg_term/>");
xmlStringBuff.append("</Detail1>");
xmlStringBuff.append("<Detail2 objContext=\"2\" objName=\"misc_voucher\" domID=\"1\" dbID=''>");
xmlStringBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlStringBuff.append("<tran_id/>");
xmlStringBuff.append("<line_no><![CDATA[1]]></line_no>");
xmlStringBuff.append("<tran_ser><![CDATA[M-VOUC]]></tran_ser>");
xmlStringBuff.append("<vouch_no><![CDATA["+tranID+"]]></vouch_no>");
xmlStringBuff.append("<net_amt><![CDATA["+totAmt+"]]></net_amt>");
xmlStringBuff.append("<pay_amt><![CDATA["+totAmt+"]]></pay_amt>");
xmlStringBuff.append("<curr_code><![CDATA["+currCodeL+"]]></curr_code>");
xmlStringBuff.append("<exch_rate__vouch><![CDATA["+exchRateL+"]]></exch_rate__vouch>");
xmlStringBuff.append("<diff_amt__exch><![CDATA[0]]></diff_amt__exch>");
xmlStringBuff.append("<acct_code__ap><![CDATA["+acctCodeL+"]]></acct_code__ap>");
xmlStringBuff.append("<cctr_code__ap><![CDATA["+cctrCodeL+"]]></cctr_code__ap>");
xmlStringBuff.append("</Detail2>");
xmlStringBuff.append("</Header0>");
xmlStringBuff.append("</group0>");
xmlStringBuff.append("</DocumentRoot>");
xmlString = xmlStringBuff.toString();
System.out.println("Final xmlString misc. payments---->>["+xmlString+"]");
retString = saveData(siteCodeL,xmlString,conn);
System.out.println("After save retString---->>["+retString+"]");
if (retString.indexOf("Success") > -1)
{
System.out.println("retString.indexOf(Success) > -1)");
String[] arrayForTranId = retString.split("<TranID>");
int endIndex = arrayForTranId[1].indexOf("</TranID>");
miscPayTranId = arrayForTranId[1].substring(0,endIndex);
System.out.println("miscPayTranId12345------>>>["+miscPayTranId+"]");
if(miscPayTranId != null && miscPayTranId.trim().length() > 0)
{
}
}
else
{
conn.rollback();
System.out.println("VOUCHER NOT GENERATED FOR SUPPLIER");
return retString;
}
} //end for
} //end miscTranID
}
catch(Exception e)
{
System.out.println("Exception in generateAutoPayment method........");
e.printStackTrace();
}
return "";
}
public String checkNull(String input)
{
if (input == null)
{
input="";
}
return input.trim();
}
}
package ibase.webitm.ejb.fin.adv;
import ibase.webitm.ejb.ActionHandlerLocal;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Local;
//import javax.ejb.EJBObject;
@Local // added for ejb3
public interface MiscVchEmpIConfLocal extends ActionHandlerLocal
{
public String confirm(String tranId, String xtraParams, String forcedFlag) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.fin.adv;
import ibase.webitm.ejb.ActionHandlerRemote;
import ibase.webitm.utility.ITMException;
import javax.ejb.Remote;
import java.rmi.RemoteException;
//import javax.ejb.EJBObject;
@Remote // added for ejb3
public interface MiscVchEmpIConfRemote extends ActionHandlerRemote
{
public String confirm(String tranId, String xtraParams, String forcedFlag) 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