Commit 5beac0a3 authored by kshinde's avatar kshinde

Bug fix

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@185943 ce508802-f39f-4f6c-b175-0d175dae99d5
parent fdf1ff95
package ibase.webitm.ejb.fin.adv;
import java.rmi.RemoteException;
import java.sql.*;
import javax.ejb.*;
import ibase.webitm.utility.*;
import ibase.webitm.ejb.*;
import ibase.system.config.*;
import javax.ejb.Stateless;
import javax.naming.InitialContext;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.utility.CommonConstants;
import ibase.system.config.AppConnectParm;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.utility.TransIDGenerator;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.DBAccessLocal;
import ibase.webitm.ejb.E12CreateBatchLoadEjb;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ITMDBAccessLocal;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.sys.CreateRCPXML;
import ibase.webitm.utility.GenericUtility;
//import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
import sun.java2d.pipe.SpanShapeRenderer.Simple;
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.SimpleDateFormat;
import java.util.*;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.ejb.Stateless;
import javax.naming.InitialContext;
import org.bouncycastle.crypto.prng.drbg.DualECPoints;
import org.bouncycastle.crypto.prng.drbg.DualECSP800DRBG;
import org.w3c.dom.CDATASection;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
@Stateless
public class LcVouchConf extends ActionHandlerEJB implements LcVouchConfLocal, LcVouchConfRemote {
public class LoanConf extends ActionHandlerEJB implements LoanConfLocal,LoanConfRemote //SessionBean
{
E12GenericUtility genericUtility = new E12GenericUtility();
public String confirm(String tranId,String xtraParams,String forcedFlag) throws RemoteException,ITMException{
public String confirm(String tranId, String xtraParams, String forcedFlag) throws RemoteException, ITMException {
String retString = "";
try {
retString = gbfPostLogic(tranId, xtraParams);
String errString ="";
Connection conn = null;
try{
errString = confirm(tranId, xtraParams, forcedFlag, conn);
}catch (Exception e) {
// TODO: handle exception
System.out.println("Exception in confirm() ==>"+e.getMessage());
errString = genericUtility.createErrorString(e);
System.out.println("errString in cofirm() ==>"+errString);
} catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return errString;
return retString;
}
public String confirm(String tranId,String xtraParams,String forcedFlag,Connection conn) throws RemoteException,ITMException
public String gbfPostLogic(String tranId,String xtraParams) throws ITMException
{
Connection conn = null;
String retString = "", errString = "", sql = "",status="";
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
String confirm = "" ,siteCode = "";
String errString = "" ;
FinCommon finCommon = null;
ITMDBAccessEJB itmDBAccessEJB = null;
boolean isLocalConn = false;
try
{
finCommon = new FinCommon();
itmDBAccessEJB = new ITMDBAccessEJB();
if(conn == null)
{
conn = getConnection();
conn.setAutoCommit(false);
isLocalConn = true;
}
sql =" select confirmed,site_code from loan_hdr where tran_id = ?";
sql = "Select status from lc_voucher where tran_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
pstmt.setString(1, tranId);
rs=pstmt.executeQuery();
if(rs.next())
{
confirm = rs.getString("confirmed");
siteCode = rs.getString("site_code");
status=checkNull(rs.getString(1));
}
rs.close();
rs = null;
rs=null;
pstmt.close();
pstmt = null;
pstmt=null;
if(confirm != null && "Y".equalsIgnoreCase(confirm))
if("E".equalsIgnoreCase(status))
{
System.out.println("The Selected transaction is already confirmed");
errString = itmDBAccessEJB.getErrorString("","VTMCONF1","","",conn);
return errString;
errString = gbfPostNew(tranId, xtraParams, conn);
if (errString == null || errString.length() == 0) {
retString=new ITMDBAccessEJB().getErrorString("", "VTCONSUCF", "", "", conn);
}
else
{
errString = this.loanConfirm(tranId,xtraParams,forcedFlag,conn);
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
else
{
errString=new ITMDBAccessEJB().getErrorString("", "VTCONSUCF", "", "", conn);
retString=new ITMDBAccessEJB().getErrorString("", "VTCL07", "", "", conn);
}
}
} //end of try
catch(Exception e)
{
System.out.println("Exception ::"+e.getMessage());
errString = genericUtility.createErrorString(e);
e.printStackTrace();
try{
conn.rollback();
}
catch(Exception e1){
System.out.println("Exception while rollbacking222.......");
}
throw new ITMException(e);
}
finally
{
System.out.println("IN fINALLY loanConfirm confirm @#......>>["+isLocalConn+"]");
System.out.println("IN fINALLY loanConfirm confirm errString@#......>>["+errString+"]");
try
{
if(errString != null && errString.trim().length() > 0)
{
if(errString.indexOf("VTCONSUCF") > -1)
try {
if(retString.indexOf("VTCONSUCF") > -1)
{
if(isLocalConn){
System.out.println("Transaction commited111.............from loanConfirm");
conn.commit();
}
System.out.println("Connection Committed. . .");
}
else
{
System.out.println("CONNECTION Rollbacking......................................");
conn.rollback();
System.out.println("CONNECTION Rollback......................................");
System.out.println("Connection Rollback. . .");
}
}
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(isLocalConn)
conn.close();
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
throw new ITMException(e);
}
}
return retString;
}
return errString;
} //end of confirm method
@SuppressWarnings({ "rawtypes", "unchecked" })
private String loanConfirm(String tranId,String xtraParams,String forcedFlag, Connection conn)throws RemoteException,ITMException
{
PreparedStatement pstmt = null;
PreparedStatement pstmtInsert = null;
PreparedStatement pstmtInner = null;
ResultSet rs = null;
ResultSet rsInner = null;
String sql = "",sqlInsert = "",sqlInner="";
String loginEmpCode = "" ;
ITMDBAccessEJB itmDBAccessEJB = null;
@SuppressWarnings("unchecked")
public String gbfPostNew(String tranId, String xtraParams, Connection conn) throws ITMException {
String retString = "", sql = "",errCode="",errString="";
PreparedStatement pstmt = null, pstmt1 = null;
ResultSet rs = null, rs1 = null;
int updcnt=0;
String status="",lsSite="",lsSiteFor="",lsLink="",lsCustFor="",genCodeVal="";
long impVal=0;
Timestamp today=null;
boolean lbSameSite=false,lbCustFor=false,NoacctEffect=false;
Document ediDataDom=null;
String linkType="",tranType="",siteCode="",siteCodeFor="",custCodeFor="",finEntity="",acctCodeLc="",cctrCodeLc="",currCode="",remarks="",purcOrder="",bankCode="",acctCodeBc="",cctrCodeBc="",finEntityFor="",
currCodeBc="",bankChrgType="",acctCodeMargin="",cctrCodeMargin="",currCodeMar="",acctCodeIss="",cctrCodeIss="",acctCodeAp="",cctrCodeAp="",acctCodeRcp="",cctrCodeRcp="",acctCodeBal="",cctrCodeBal="",suppCode="";
double exchRate=0,lcAmt=0,exchRateBc=0,bankCharges=0,marginAmt=0,exchRateMar=0,othCharges=0,lcBkchgTot=0;
Timestamp tranDate=null,effDate=null,dueDate=null,dueDateAct=null;
HashMap lcVouchHdr=null;
FinCommon Fcommon = new FinCommon();
DistCommon Dcommon = new DistCommon();
java.sql.Timestamp tranDate = null;
java.sql.Timestamp effDate = null;
java.sql.Timestamp billDate = null;
java.sql.Timestamp dueDate = null;
java.sql.Timestamp resiDate = null;
java.sql.Timestamp relieveDate = null;
HashMap loanDetMap=null;
ArrayList<HashMap> loanDetList = new ArrayList<HashMap>();
double taxAmt=0,rndTo=0,totAmt=0,netAmt=0,advAmt=0,netAmtBc=0,diffAmtExch=0,suppBillAmt=0,exchRate=0,rndAmt=0,billAmt=0;
String siteCodehdr="",loanType="",tranType="",loanPartyhdr="",bankCode="",
acctCodePay="",cctrCodePay="",securityTerm="",othRef="",remarks=null,currCode="",finEnt="";
String lineNoDet="",refSerDet="",AcctCodeDet="",cctrCodeDet="",currCodeDet="",refNoDet="",sundryCodeDet="",
sundryTypeDet="",acctCodeBal="",cctrCodeBal="",loanTenureUnit="";
String errString="";
Timestamp sanctionDt=null,disburseDt=null,tranDatehdr=null;
Double loanAmthdr=0d,marginAmt=0d,marginAmtDet=0d,loanAmtBcHdr=0d,amountPaid=0d,exchRateDet=0d,TotdetAmt=0d;
int lineInt =0,cnt = 0,loanTenure=0;
boolean detailExist=false;
SimpleDateFormat sdf = null;
E12GenericUtility genericUtility=new E12GenericUtility();
ITMDBAccessEJB itmDbAccessEjb =new ITMDBAccessEJB();
try
{
sdf=new SimpleDateFormat(new E12GenericUtility().getApplDateFormat());
tranDate=new Timestamp(System.currentTimeMillis());
today=new Timestamp(System.currentTimeMillis());
SimpleDateFormat sdf=new SimpleDateFormat(genericUtility.getApplDateFormat());
//Getting data from lc_voucher
//Getting Data from loan header
sql=" SELECT TRAN_DATE, SITE_CODE, LOAN_TYPE, TRAN_TYPE, LOAN_PARTY, BANK_CODE,"
+ "SANTION_DATE, DISBURS_DATE, ACCT_CODE__PAY, CCTR_CODE__PAY, LOAN_AMOUNT, CURR_CODE, EXCH_RATE,"
+ "LOAN_AMT__BC, LOAN_TENURE, LOAN_TENUE_UNIT, REPAY_DAYS, INT_RATE, MORATORIUM_PRD,"
+ "SECURITY_TERM, OTH_REF, REMARKS "
+ "FROM LOAN_HDR WHERE tran_id = ?";
sql="Select LINK_TYPE,TRAN_TYPE,SITE_CODE,SITE_CODE__FOR,SUPP_CODE,CUST_CODE__FOR,TRAN_DATE,EFF_DATE,DUE_DATE,DUE_DATE__ACT,FIN_ENTITY,"
+ "FIN_ENTITY__FOR,ACCT_CODE__LC,CCTR_CODE__LC,CURR_CODE,EXCH_RATE,LC_AMT,REMARKS,PURC_ORDER,"
+ "BANK_CODE,ACCT_CODE__BC,CCTR_CODE__BC,ACCT_CODE__BAL,CCTR_CODE__BAL,CURR_CODE__BC,EXCH_RATE__BC,BANK_CHARGES_TYPE,BANK_CHARGES,OTHER_CHARGES,"
+ "MARGIN_AMT,ACCT_CODE__MAR,CCTR_CODE__MAR,CURR_CODE__MAR,EXCH_RATE__MAR,ACCT_CODE__ISS,CCTR_CODE__ISS,"
+ "ACCT_CODE__AP,CCTR_CODE__AP,ACCT_CODE__RCP,CCTR_CODE__RCP "
+ "from lc_voucher where tran_id = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs=pstmt.executeQuery();
if(rs.next())
{
tranDatehdr=rs.getTimestamp("TRAN_DATE");
siteCodehdr=rs.getString("SITE_CODE");
loanType=rs.getString("LOAN_TYPE");
tranType=rs.getString("TRAN_TYPE");
loanPartyhdr=rs.getString("LOAN_PARTY");
bankCode=rs.getString("BANK_CODE");
sanctionDt=rs.getTimestamp("SANTION_DATE");
disburseDt=rs.getTimestamp("DISBURS_DATE");
acctCodePay=rs.getString("ACCT_CODE__PAY");
cctrCodePay=rs.getString("CCTR_CODE__PAY");
loanAmthdr=rs.getDouble("LOAN_AMOUNT");
loanAmtBcHdr=rs.getDouble("LOAN_AMT__BC");
linkType=checkNull(rs.getString("LINK_TYPE"));
tranType=checkNull(rs.getString("TRAN_TYPE"));
siteCode=checkNull(rs.getString("SITE_CODE"));
siteCodeFor = checkNull(rs.getString("SITE_CODE__FOR"));
custCodeFor=checkNull(rs.getString("CUST_CODE__FOR"));
suppCode=rs.getString("SUPP_CODE");
tranDate=rs.getTimestamp("TRAN_DATE");
effDate=rs.getTimestamp("EFF_DATE");
dueDate=rs.getTimestamp("DUE_DATE");
dueDateAct=rs.getTimestamp("DUE_DATE__ACT");
finEntity=rs.getString("FIN_ENTITY");
finEntityFor=rs.getString("FIN_ENTITY__FOR");
acctCodeLc=rs.getString("ACCT_CODE__LC");
cctrCodeLc=rs.getString("CCTR_CODE__LC");
currCode=rs.getString("CURR_CODE");
exchRate=rs.getDouble("EXCH_RATE");
securityTerm=rs.getString("SECURITY_TERM");
othRef=rs.getString("OTH_REF");
lcAmt=rs.getDouble("LC_AMT");
remarks=rs.getString("REMARKS");
loanTenure=rs.getInt("LOAN_TENUE_UNIT");
loanTenureUnit=rs.getString("LOAN_TENURE");
purcOrder=rs.getString("PURC_ORDER");
bankCode=rs.getString("BANK_CODE");
acctCodeBc=rs.getString("ACCT_CODE__BC");
cctrCodeBc=rs.getString("CCTR_CODE__BC");
acctCodeBal=rs.getString("ACCT_CODE__BAL");
cctrCodeBal=rs.getString("CCTR_CODE__BAL");
currCodeBc=rs.getString("CURR_CODE__BC");
exchRateBc=rs.getDouble("EXCH_RATE__BC");
bankChrgType=rs.getString("BANK_CHARGES_TYPE");
bankCharges=rs.getDouble("BANK_CHARGES");
othCharges=rs.getDouble("OTHER_CHARGES");
marginAmt=rs.getDouble("MARGIN_AMT");
acctCodeMargin=rs.getString("ACCT_CODE__MAR");
cctrCodeMargin=rs.getString("CCTR_CODE__MAR");
currCodeMar=rs.getString("CURR_CODE__MAR");
exchRateMar=rs.getDouble("EXCH_RATE__MAR");
acctCodeIss=rs.getString("ACCT_CODE__ISS");
cctrCodeIss=rs.getString("CCTR_CODE__ISS");
acctCodeAp=rs.getString("ACCT_CODE__AP");
cctrCodeAp=rs.getString("CCTR_CODE__AP");
acctCodeRcp=rs.getString("ACCT_CODE__RCP");
cctrCodeRcp=rs.getString("CCTR_CODE__RCP");
//creating Hashmap
lcVouchHdr=new HashMap();
lcVouchHdr.put("tran_id",tranId);
lcVouchHdr.put("link_type",linkType);
lcVouchHdr.put("site_code",siteCode);
lcVouchHdr.put("site_code__for",siteCodeFor);
lcVouchHdr.put("cust_code__for",custCodeFor);
lcVouchHdr.put("supp_code",suppCode);
lcVouchHdr.put("tran_date",tranDate);
lcVouchHdr.put("eff_date",effDate);
lcVouchHdr.put("due_date",dueDate);
lcVouchHdr.put("due_date__act",dueDateAct);
lcVouchHdr.put("fin_entity",finEntity);
lcVouchHdr.put("fin_entity__for",finEntityFor);
lcVouchHdr.put("acct_code__lc",acctCodeLc);
lcVouchHdr.put("cctr_code__lc",cctrCodeLc);
lcVouchHdr.put("exch_rate",exchRate);
lcVouchHdr.put("lc_amt",lcAmt);
lcVouchHdr.put("remarks",remarks);
lcVouchHdr.put("purc_order",purcOrder);
lcVouchHdr.put("bank_code",bankCode);
lcVouchHdr.put("acct_code__bc",acctCodeBc);
lcVouchHdr.put("cctr_code__bc",cctrCodeBc);
lcVouchHdr.put("acct_code__bal",acctCodeBal);
lcVouchHdr.put("cctr_code__bal",cctrCodeBal);
lcVouchHdr.put("curr_code__bc",currCodeBc);
lcVouchHdr.put("exch_rate__bc",exchRateBc);
lcVouchHdr.put("bank_charges_type",bankChrgType);
lcVouchHdr.put("other_charges",othCharges);
lcVouchHdr.put("margin_amt",marginAmt);
lcVouchHdr.put("acct_code__mar",acctCodeMargin);
lcVouchHdr.put("cctr_code__mar",cctrCodeMargin);
lcVouchHdr.put("curr_code__mar",currCodeMar);
lcVouchHdr.put("exch_rate__mar",exchRateMar);
lcVouchHdr.put("acct_code__iss",acctCodeIss);
lcVouchHdr.put("cctr_code__iss",cctrCodeIss);
lcVouchHdr.put("acct_code__ap",acctCodeAp);
lcVouchHdr.put("cctr_code__ap",cctrCodeAp);
lcVouchHdr.put("acct_code__rcp",acctCodeRcp);
lcVouchHdr.put("cctr_code__rcp",cctrCodeRcp);
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
//Getting data from loan_detail
sql="SELECT L.TRAN_ID,L.LINE_NO, L.REF_SER, L.REF_NO, L.ACCT_CODE,L.CCTR_CODE,L.AMOUNT_PAID,M.SUNDRY_CODE,M.CURR_CODE,M.EXCH_RATE,M.SUNDRY_TYPE "
+ "FROM LOAN_DET L,MISC_PAYABLES M WHERE L.tran_id = ? and M.ref_no=L.ref_no";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs=pstmt.executeQuery();
while(rs.next())
{
detailExist=true;
lineNoDet=rs.getString("LINE_NO");
refSerDet=rs.getString("REF_SER");
refNoDet=rs.getString("REF_NO");
AcctCodeDet=rs.getString("ACCT_CODE");
cctrCodeDet=rs.getString("CCTR_CODE");
amountPaid=rs.getDouble("AMOUNT_PAID");
sundryCodeDet=rs.getString("SUNDRY_CODE");
sundryTypeDet=rs.getString("SUNDRY_TYPE");
currCodeDet=rs.getString("CURR_CODE");
exchRateDet=rs.getDouble("EXCH_RATE");
loanDetMap=new HashMap();
loanDetMap.put("LINE_NO", lineNoDet);
loanDetMap.put("REF_SER", refSerDet);
loanDetMap.put("REF_NO", refNoDet);
loanDetMap.put("ACCT_CODE", AcctCodeDet);
loanDetMap.put("CCTR_CODE", cctrCodeDet);
loanDetMap.put("AMOUNT_PAID", amountPaid);
loanDetMap.put("SUNDRY_CODE", sundryCodeDet);
loanDetMap.put("CURR_CODE", currCodeDet);
loanDetMap.put("EXCH_RATE", exchRateDet);
loanDetList.add(loanDetMap);
sql = "SELECT UDF_STR1 FROM GENCODES WHERE FLD_NAME = 'TRAN_TYPE' AND (MOD_NAME = 'W_LC_VOUCHER' OR MOD_NAME = 'X')"
+ "AND RTRIM(FLD_VALUE) = ? ";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, tranType);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
genCodeVal=rs1.getString("UDF_STR1"); ////gencode val if Y then boolean true
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
//Finentity from site
sql="Select fin_entity from site where site_code = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, siteCodehdr);
rs=pstmt.executeQuery();
if(rs.next())
if(genCodeVal.equalsIgnoreCase("N"))
{
finEnt=rs.getString(1);
NoacctEffect=true; //No accounting effect boolean
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
HashMap sundryBalUpd=new HashMap();
HashMap miscPayUpd= new HashMap();
//Initializing HashMaps
HashMap glTraceUpd=new HashMap();
HashMap miscPayUpd= new HashMap();
HashMap sundryBalUpd=new HashMap();
HashMap bankTranLogUpd=new HashMap();
//New buyers Credit OR New Term Loan
if("1".equalsIgnoreCase(loanType) && (detailExist))
if(custCodeFor.trim().length()>0)
{
errString=new ITMDBAccessEJB().getErrorString("", "DTNOEXT", "", "", conn);
lbCustFor=true;
}
else
{
for(HashMap eachdetAmt: loanDetList)
if(siteCode.trim().equalsIgnoreCase(siteCodeFor))
{
TotdetAmt+=(Double)eachdetAmt.get("AMOUNT_PAID");
lbSameSite=true;
}
if(loanAmthdr!=TotdetAmt)
{
errString=new ITMDBAccessEJB().getErrorString("", "AMTMISM", "", "", conn);
}
}
if("0".equalsIgnoreCase(loanType) || "1".equalsIgnoreCase(loanType))
{
sql="select acct_code__bal, cctr_code__bal "
+ "from bank where bank_code = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, bankCode);
rs=pstmt.executeQuery();
if(rs.next())
if(!("R".equalsIgnoreCase(linkType) || "C".equalsIgnoreCase(linkType))) //
{
acctCodeBal=rs.getString("acct_code__bal");
cctrCodeBal=rs.getString("cctr_code__bal");
if(!NoacctEffect)//No accounting effect
{
if (!lbCustFor)
{
//HashMap glTraceUpd=new HashMap();
glTraceUpd.put("tran_date", tranDate);
glTraceUpd.put("eff_date", effDate);
glTraceUpd.put("fin_entity", finEntity);
glTraceUpd.put("site_code", siteCode);
glTraceUpd.put("sundry_type", "O");
glTraceUpd.put("sundry_code", " ");
glTraceUpd.put("acct_code", acctCodeLc);
glTraceUpd.put("cctr_code", cctrCodeLc);
glTraceUpd.put("curr_code", currCode);
glTraceUpd.put("exch_rate", exchRate);
if(lcAmt>0)
{
glTraceUpd.put("dr_amt", 0);
glTraceUpd.put("cr_amt", lcAmt);
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
//creating misc receipt entry
StringBuffer xmlBuff= new StringBuffer();
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_rcp").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 dbID=\"\" domID=\'1\' objName=\"misc_rcp\" objContext=\"1\">");
xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<tran_date><![CDATA[" + (sdf.format(tranDatehdr)) + "]]></tran_date>");
xmlBuff.append("<eff_date><![CDATA[" + (sdf.format(tranDatehdr)) + "]]></eff_date>");
xmlBuff.append("<site_code><![CDATA[" + (siteCodehdr) + "]]></site_code>");
xmlBuff.append("<fin_entity><![CDATA[" + (finEnt) + "]]></fin_entity>");
xmlBuff.append("<acct_code__bal><![CDATA[" + (acctCodeBal) + "]]></acct_code__bal>");
xmlBuff.append("<cctr_code__bal><![CDATA[" + (cctrCodeBal) + "]]></cctr_code__bal>");
xmlBuff.append("<sundry_code><![CDATA[" + (loanPartyhdr) + "]]></sundry_code>");
xmlBuff.append("<sundry_type><![CDATA[" + ("L") + "]]></sundry_type>");
xmlBuff.append("<tran_type><![CDATA[" + ("") + "]]></tran_type>");//tran type ??
xmlBuff.append("<bank_code><![CDATA[" + (bankCode) + "]]></bank_code>");
xmlBuff.append("<net_amt><![CDATA[" + (loanAmthdr) + "]]></net_amt>");
xmlBuff.append("<curr_code><![CDATA[" + (currCode) + "]]></curr_code>");
xmlBuff.append("<exch_rate><![CDATA[" + (exchRate) + "]]></exch_rate>");
xmlBuff.append("<net_amt__bc><![CDATA[" + (loanAmtBcHdr) + "]]></net_amt__bc>");
xmlBuff.append("<sundry_type><![CDATA[" + ("L") + "]]></sundry_type>");
xmlBuff.append("</Detail1>");
xmlBuff.append("<Detail2 dbID=\"\" domID=\'1\' objName=\"misc_rcp\" objContext=\"2\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<line_no>"+("1")+"</line_no>");
xmlBuff.append("<acct_code><![CDATA[" + (acctCodePay) + "]]></acct_code>");
xmlBuff.append("<sundry_code><![CDATA[" + (loanPartyhdr) + "]]></sundry_code>");
xmlBuff.append("<sundry_type><![CDATA[" + ("L") + "]]></sundry_type>");
xmlBuff.append("<cctr_code><![CDATA[" + (cctrCodePay) + "]]></cctr_code>");
xmlBuff.append("<amount><![CDATA[" + (loanAmthdr) + "]]></amount>");
xmlBuff.append("</Detail2>");
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
errString=saveData(xtraParams,siteCodehdr, xmlBuff.toString(), conn);
if( errString.indexOf("Success") == -1 )
else
{
return errString;
glTraceUpd.put("dr_amt", 0);
glTraceUpd.put("cr_amt", -lcAmt);
}
//Getting tranID from response String
String[] arrayForTranId = errString.split("<TranID>");
int endIndex = arrayForTranId[1].indexOf("</TranID>");
tranId = arrayForTranId[1].substring(0,endIndex);
if(tranId != null && tranId.trim().length() > 0)
glTraceUpd.put("ref_type", "D");
glTraceUpd.put( "ref_id",tranId);
glTraceUpd.put( "remarks",remarks);
errString=Fcommon.glTraceUpdate(glTraceUpd,conn);
if(errString!=null && errString.trim().length()>0)
{
System.out.println("tran_id [" + tranId + "]");
errString = null;
return errString;
}
//confirm webservice misc receipt
errString=confirmReceipt("misc_rcp",tranId, xtraParams,forcedFlag,conn);
if( errString.indexOf("VTSUCC1") == -1 )
}
else
{
//create miscrcp method need to be migrated
errString=gbfCreateMiscDr(lcVouchHdr,"L",xtraParams,conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
//--Generating payable against loanParty Start
}
// credit lc account - cr end
// insert into misc_payables for the LC
miscPayUpd.put("tran_ser","LCVOUH");
miscPayUpd.put("tran_date",tranDate);
miscPayUpd.put("tran_id",tranId);
miscPayUpd.put("bill_no"," ");
miscPayUpd.put("curr_code",currCode);
miscPayUpd.put("exch_rate",exchRate);
miscPayUpd.put("sundry_type","L");
miscPayUpd.put("sundry_code",loanPartyhdr);
miscPayUpd.put("acct_code",acctCodePay);
miscPayUpd.put("cctr_code",cctrCodePay);
miscPayUpd.put("due_date",getDueDate(tranDate, loanTenureUnit, loanTenure));
miscPayUpd.put("site_code",siteCodehdr);
miscPayUpd.put("tot_amt",loanAmthdr);
miscPayUpd.put("sundry_type","O");
miscPayUpd.put("sundry_code"," ");
miscPayUpd.put("acct_code",acctCodeLc);
miscPayUpd.put("cctr_code",cctrCodeLc);
miscPayUpd.put("due_date",dueDate);
miscPayUpd.put("site_code",siteCode);
miscPayUpd.put("fin_entity",finEntity);
miscPayUpd.put("lc_amt",lcAmt);
miscPayUpd.put("bank_code",bankCode);
miscPayUpd.put("auto_pay","N");
miscPayUpd.put("pay_mode","T");
miscPayUpd.put("paid","N");
miscPayUpd.put("fin_entity",finEnt);
miscPayUpd.put("adv_amt",0);
miscPayUpd.put("hold_amt",0);
miscPayUpd.put("purc_order",purcOrder);
errString=Fcommon.gbfMiscPayUpd(miscPayUpd, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
//--Generating payable against loanParty end
//HashMap glTraceUpd= new HashMap();
//--- bank charges
if(! (bankCharges==0 || othCharges==0))
{
glTraceUpd.put("tran_date", tranDate);
glTraceUpd.put("eff_date", effDate);
glTraceUpd.put("fin_entity", finEntity);
glTraceUpd.put("site_code", siteCode);
glTraceUpd.put("sundry_type", "O");
glTraceUpd.put("sundry_code", " ");
glTraceUpd.put("acct_code", acctCodeBc);
glTraceUpd.put("cctr_code", cctrCodeBc);
glTraceUpd.put("curr_code", currCodeBc);
glTraceUpd.put("exch_rate", exchRateBc);
if("F".equalsIgnoreCase(bankChrgType))
{
lcBkchgTot=bankCharges;
if(lcBkchgTot>0)
{
glTraceUpd.put("dr_amt", lcBkchgTot);
glTraceUpd.put("cr_amt", 0);
}
else //convert buyers credit to Term Loan(Type 2)
else
{
//Loan detail list
for(HashMap detailmap: loanDetList)
glTraceUpd.put("dr_amt", 0);
glTraceUpd.put("cr_amt", -lcBkchgTot);
}
}
else
{
sql="Update misc_payables set adj_amt = ? where ref_no = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setDouble(1,(Double) detailmap.get("AMOUNT_PAID"));
pstmt.setString(2, detailmap.get("REF_NO").toString());
pstmt.executeUpdate();
pstmt.close();
pstmt=null;
lcBkchgTot=lcAmt;
if(lcBkchgTot>0)
{
glTraceUpd.put("dr_amt", lcBkchgTot);
glTraceUpd.put("cr_amt", 0);
}
else
{
glTraceUpd.put("dr_amt", 0);
glTraceUpd.put("cr_amt", -lcBkchgTot);
}
}
glTraceUpd.put("ref_type", "D");
glTraceUpd.put("ref_ser", "LCVOUH");
glTraceUpd.put( "ref_id",tranId);
glTraceUpd.put( "remarks",remarks);
errString=Fcommon.glTraceUpdate(glTraceUpd, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
//2nd gltrace part
//HashMap glTraceUpd= new HashMap();
glTraceUpd.put("tran_date", tranDate);
glTraceUpd.put("eff_date", effDate);
glTraceUpd.put("fin_entity", finEntity);
glTraceUpd.put("site_code", siteCode);
glTraceUpd.put("sundry_type", "B");
glTraceUpd.put("sundry_code", bankCode);
glTraceUpd.put("acct_code", acctCodeBal);
glTraceUpd.put("cctr_code", cctrCodeBal);
glTraceUpd.put("emp_code", " ");
glTraceUpd.put("anal_code", " ");
glTraceUpd.put("curr_code__bc", currCodeBc);
glTraceUpd.put("exch_rate__bc", exchRateBc);
if("F".equalsIgnoreCase(bankChrgType))
{
lcBkchgTot=bankCharges;
if(lcBkchgTot>0)
{
glTraceUpd.put("dr_amt", 0);
glTraceUpd.put("cr_amt", lcBkchgTot);
}
else
{
glTraceUpd.put("dr_amt", -lcBkchgTot);
glTraceUpd.put("cr_amt", 0);
}
}
else
{
lcBkchgTot=lcAmt;
if(lcBkchgTot>0)
{
glTraceUpd.put("dr_amt", 0);
glTraceUpd.put("cr_amt", lcBkchgTot);
}
else
{
glTraceUpd.put("dr_amt", -lcBkchgTot);
glTraceUpd.put("cr_amt", 0);
}
}
glTraceUpd.put("ref_type", "D");
glTraceUpd.put("ref_ser", "LCVOUH");
glTraceUpd.put( "ref_id",tranId);
glTraceUpd.put( "remarks",remarks);
errCode=Fcommon.glTraceUpdate(glTraceUpd, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
//--Negative payables towards detail loan party start
miscPayUpd.put("tran_ser","M-VOUC");
miscPayUpd.put("tran_date",tranDate);
miscPayUpd.put("ref_no",refNoDet);
miscPayUpd.put("bill_no"," ");
miscPayUpd.put("curr_code",currCode);
miscPayUpd.put("exch_rate",exchRate);
miscPayUpd.put("sundry_type",sundryTypeDet);
miscPayUpd.put("sundry_code",sundryCodeDet);
miscPayUpd.put("acct_code",AcctCodeDet);
miscPayUpd.put("cctr_code",cctrCodeDet);
miscPayUpd.put("due_date",getDueDate(tranDate, loanTenureUnit, loanTenure));
miscPayUpd.put("site_code",siteCodehdr);
miscPayUpd.put("tot_amt",-amountPaid);
miscPayUpd.put("fin_entity",finEnt);
miscPayUpd.put("bank_code",bankCode);
miscPayUpd.put("auto_pay","N");
miscPayUpd.put("pay_mode","T");
miscPayUpd.put("paid","N");
miscPayUpd.put("adj_amt",amountPaid); //Adjusting negative payable
miscPayUpd.put("hold_amt",0);
miscPayUpd.put("adv_amt",0);
//Sundry Bal
//HashMap sundryBalUpd=new HashMap();
sundryBalUpd.put("tran_date", tranDate);
sundryBalUpd.put("eff_date", effDate);
sundryBalUpd.put("fin_entity", finEntity);
sundryBalUpd.put("site_code", siteCode);
sundryBalUpd.put("sundry_type", "B");
sundryBalUpd.put("sundry_code", bankCode);
sundryBalUpd.put("acct_code", acctCodeBal);
sundryBalUpd.put("cctr_code", cctrCodeBal);
sundryBalUpd.put("curr_code", currCodeBc);
sundryBalUpd.put("exch_rate", exchRateBc);
if("F".equalsIgnoreCase(bankChrgType))
{
//lcBkchgTot=bankCharges;
if(lcBkchgTot>0)
{
sundryBalUpd.put("dr_amt", 0);
sundryBalUpd.put("cr_amt", lcBkchgTot);
}
else
{
sundryBalUpd.put("dr_amt", -lcBkchgTot);
sundryBalUpd.put("cr_amt", 0);
}
}
else
{
//lcBkchgTot=lcAmt;
if(lcBkchgTot>0)
{
sundryBalUpd.put("dr_amt", 0);
sundryBalUpd.put("cr_amt", lcBkchgTot);
}
else
{
sundryBalUpd.put("dr_amt", -lcBkchgTot);
sundryBalUpd.put("cr_amt", 0);
}
}
sundryBalUpd.put("adv_amt", 0);
errString=Fcommon.gbf_sundrybal_upd(sundryBalUpd, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
//banktranLog
//HashMap bankTranLogUpd=new HashMap();
bankTranLogUpd.put("tran_date", tranDate);
bankTranLogUpd.put("tran_ser", "LCVOUH");
bankTranLogUpd.put("tran_id",tranId);
bankTranLogUpd.put("bank_code", bankCode);
bankTranLogUpd.put("ref_no", " ");
bankTranLogUpd.put("ref_date", tranDate);
bankTranLogUpd.put("ref_mode", "T");
bankTranLogUpd.put("amount", lcBkchgTot);
bankTranLogUpd.put("tran_type", "P");
bankTranLogUpd.put("site_code", siteCode);
bankTranLogUpd.put("tran_type", "P");
bankTranLogUpd.put("acct_code", acctCodeBal);
bankTranLogUpd.put("cctr_code", cctrCodeBal);
bankTranLogUpd.put("sundry_type", "S");
bankTranLogUpd.put("sundry_code", suppCode);
bankTranLogUpd.put("remarks", remarks);
bankTranLogUpd.put("tran_date", tranDate);
bankTranLogUpd.put("exch_rate__bc", exchRateBc);
errCode=Fcommon.bankTranLogUpdate(bankTranLogUpd, xtraParams, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
}//end of bank charges
//margin amount
if(marginAmt!=0)
{
glTraceUpd.put("tran_date", tranDate);
glTraceUpd.put("eff_date", effDate);
glTraceUpd.put("fin_entity", finEntity);
glTraceUpd.put("site_code", siteCode);
glTraceUpd.put("sundry_type", "O");
glTraceUpd.put("sundry_code", " ");
glTraceUpd.put("acct_code", acctCodeMargin);
glTraceUpd.put("cctr_code", cctrCodeMargin);
glTraceUpd.put("emp_code", " ");
glTraceUpd.put("anal_code", " ");
glTraceUpd.put("curr_code", currCodeMar);
glTraceUpd.put("exch_rate__bc", exchRateMar);
if(marginAmt>0)
{
glTraceUpd.put("dr_amt", marginAmt);
glTraceUpd.put("cr_amt", 0);
}
else
{
glTraceUpd.put("dr_amt", 0);
glTraceUpd.put("cr_amt", -marginAmt);
}
glTraceUpd.put("ref_type", "D");
glTraceUpd.put("ref_ser", "LCVOUH");
glTraceUpd.put( "ref_id",tranId);
glTraceUpd.put( "remarks",remarks);
errString=Fcommon.gbfMiscPayUpd(miscPayUpd, conn);
errCode=Fcommon.glTraceUpdate(glTraceUpd, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
//--negative payables towards detail loan party End
//Gltrace debit note to sundry code
//2nd gltrace
glTraceUpd.put("tran_date", tranDate);
glTraceUpd.put("eff_date", tranDate);
glTraceUpd.put("fin_entity", finEnt);
glTraceUpd.put("site_code", siteCodehdr);
glTraceUpd.put("sundry_type", sundryTypeDet);
glTraceUpd.put("sundry_code", sundryCodeDet);
glTraceUpd.put("acct_code", AcctCodeDet);
glTraceUpd.put("cctr_code", cctrCodeDet);
glTraceUpd.put("curr_code", currCodeDet);
glTraceUpd.put("exch_rate", exchRateDet);
glTraceUpd.put("dr_amt", amountPaid);
glTraceUpd.put("eff_date", effDate);
glTraceUpd.put("fin_entity", finEntity);
glTraceUpd.put("site_code", siteCode);
glTraceUpd.put("sundry_type", "B");
glTraceUpd.put("sundry_code", bankCode);
glTraceUpd.put("acct_code", acctCodeBal);
glTraceUpd.put("cctr_code", cctrCodeBal);
glTraceUpd.put("emp_code", " ");
glTraceUpd.put("anal_code", " ");
glTraceUpd.put("curr_code", currCodeMar);
glTraceUpd.put("exch_rate", exchRateMar);
if(marginAmt>0)
{
glTraceUpd.put("dr_amt", 0);
glTraceUpd.put("cr_amt", marginAmt);
}
else
{
glTraceUpd.put("dr_amt", -marginAmt);
glTraceUpd.put("cr_amt", 0);
//glTraceUpd.put("ref_type", "D");
}
glTraceUpd.put("ref_type", "D");
glTraceUpd.put("ref_ser", "LCVOUH");
glTraceUpd.put( "ref_id",tranId);
errString=Fcommon.glTraceUpdate(glTraceUpd, conn);
glTraceUpd.put( "remarks",remarks);
errCode=Fcommon.glTraceUpdate(glTraceUpd, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
//SundryBal debit to sundry code
//HashMap sundryBalUpd=new HashMap();
sundryBalUpd.put("tran_date", tranDate);
//sundryBalUpd.put("eff_date", effDate);
sundryBalUpd.put("fin_entity", finEnt);
sundryBalUpd.put("site_code", siteCodehdr);
sundryBalUpd.put("sundry_type", sundryTypeDet);
sundryBalUpd.put("sundry_code", sundryCodeDet);
sundryBalUpd.put("acct_code", acctCodePay);
sundryBalUpd.put("cctr_code", cctrCodeDet);
sundryBalUpd.put("curr_code", currCodeDet);
sundryBalUpd.put("exch_rate", exchRateDet);
sundryBalUpd.put("dr_amt", 0.0);
sundryBalUpd.put("cr_amt", amountPaid);
sundryBalUpd.put("adv_amt", 0.0);
sundryBalUpd.put("eff_date", effDate);
sundryBalUpd.put("fin_entity", finEntity);
sundryBalUpd.put("site_code", siteCode);
sundryBalUpd.put("sundry_type", "B");
sundryBalUpd.put("sundry_code", bankCode);
sundryBalUpd.put("acct_code", acctCodeBal);
sundryBalUpd.put("cctr_code", cctrCodeBal);
sundryBalUpd.put("curr_code__mar", currCodeMar);
sundryBalUpd.put("exch_rate__mar", exchRateMar);
//lcBkchgTot=bankCharges;
if(marginAmt>0)
{
sundryBalUpd.put("dr_amt", 0);
sundryBalUpd.put("cr_amt", marginAmt);
}
else
{
sundryBalUpd.put("dr_amt", -marginAmt);
sundryBalUpd.put("cr_amt", 0);
}
sundryBalUpd.put("adv_amt", 0);
errString=Fcommon.gbf_sundrybal_upd(sundryBalUpd, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
//update banktranLog for margin
//HashMap bankTranLogUpd=new HashMap();
bankTranLogUpd.put("tran_date", tranDate);
bankTranLogUpd.put("tran_ser", "LCVOUH");
bankTranLogUpd.put("tran_id",tranId);
bankTranLogUpd.put("bank_code", bankCode);
bankTranLogUpd.put("ref_no", " ");
bankTranLogUpd.put("ref_date", tranDate);
bankTranLogUpd.put("ref_mode", "T");
bankTranLogUpd.put("amount", marginAmt);
bankTranLogUpd.put("tran_type", "P");
bankTranLogUpd.put("site_code", siteCode);
bankTranLogUpd.put("tran_type", "P");
bankTranLogUpd.put("acct_code", acctCodeBal);
bankTranLogUpd.put("cctr_code", cctrCodeBal);
bankTranLogUpd.put("sundry_type", "O");
bankTranLogUpd.put("sundry_code", " ");
bankTranLogUpd.put("remarks", remarks);
bankTranLogUpd.put("tran_date", tranDate);
bankTranLogUpd.put("exch_rate__mar", exchRateMar);
errString=Fcommon.bankTranLogUpdate(bankTranLogUpd, xtraParams, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
}
///Positive payable against loanParty header Start
miscPayUpd.put("tran_ser","M-VOUC");//Tran_ser ??
miscPayUpd.put("tran_date",tranDate);
miscPayUpd.put("ref_no",refNoDet);
miscPayUpd.put("bill_no"," ");
miscPayUpd.put("curr_code",currCode);
miscPayUpd.put("exch_rate",exchRate);
miscPayUpd.put("sundry_type","L");
miscPayUpd.put("sundry_code",loanPartyhdr);
miscPayUpd.put("acct_code",acctCodePay);
miscPayUpd.put("cctr_code",cctrCodePay);
miscPayUpd.put("due_date",getDueDate(tranDate, loanTenureUnit, loanTenure));
miscPayUpd.put("site_code",siteCodehdr);
miscPayUpd.put("tot_amt",loanAmthdr);
miscPayUpd.put("bank_code",bankCode);
miscPayUpd.put("auto_pay","N");
miscPayUpd.put("pay_mode","T");
miscPayUpd.put("paid","N");
miscPayUpd.put("adv_amt",0);
miscPayUpd.put("fin_entity",finEnt);
miscPayUpd.put("hold_amt",0);
}
}
//Misc Payables against loanParty
errString=Fcommon.gbfMiscPayUpd(miscPayUpd, conn);
if(errString!=null && errString.trim().length()>0)
//debit supplier /site dr -start
//debit supplier / site a/c dr -start
if(!NoacctEffect) //No accounting effect
{
return errString;
if(!lbCustFor)
{ //HashMap glTraceUpd=new HashMap();
if(lbSameSite || ("R".equalsIgnoreCase(lsLink) || "C".equalsIgnoreCase(lsLink)) )
{//ap a/c dr
//HashMap glTraceUpd=new HashMap();
glTraceUpd.put("sundry_type", "S");
glTraceUpd.put("sundry_code", suppCode);
glTraceUpd.put("acct_code", acctCodeAp);
glTraceUpd.put("cctr_code", cctrCodeAp);
if("R".equalsIgnoreCase(lsLink) || "C".equalsIgnoreCase(lsLink))
{
glTraceUpd.put("fin_entity__for", finEntityFor);
glTraceUpd.put("site_code", siteCodeFor);
}
else
{
glTraceUpd.put("fin_entity", finEntity);
glTraceUpd.put("site_code", siteCode);
}
glTraceUpd.put("emp_code", " ");
glTraceUpd.put("anal_code", " ");
glTraceUpd.put("curr_code__bc", currCodeBc);
glTraceUpd.put("exch_rate__bc", exchRateBc);
}
else
{
glTraceUpd.put("acct_code", acctCodeIss);
glTraceUpd.put("cctr_code", cctrCodeIss);
glTraceUpd.put("fin_entity", finEntity);
glTraceUpd.put("site_code", siteCode);
glTraceUpd.put("sundry_type", "O");
glTraceUpd.put("sundry_code", " ");
}
glTraceUpd.put("tran_date", tranDate);
glTraceUpd.put("eff_date", tranDate);
glTraceUpd.put("fin_entity", finEnt);
glTraceUpd.put("site_code", siteCodehdr);
glTraceUpd.put("sundry_type", "L");
glTraceUpd.put("sundry_code", loanPartyhdr);
glTraceUpd.put("acct_code", acctCodePay);
glTraceUpd.put("cctr_code", cctrCodePay);
glTraceUpd.put("eff_date", effDate);
glTraceUpd.put("curr_code", currCode);
glTraceUpd.put("exch_rate", exchRate);
glTraceUpd.put("dr_amt", amountPaid);
glTraceUpd.put("cr_amt", 0.0);
//glTraceUpd.put("ref_type", "D");
glTraceUpd.put("exch_ate", exchRate);
if(lcAmt>0)
{
glTraceUpd.put("dr_amt", lcAmt);
glTraceUpd.put("cr_amt", 0);
}
else
{
glTraceUpd.put("dr_amt", 0);
glTraceUpd.put("cr_amt", -lcAmt);
}
glTraceUpd.put("ref_type", "D");
glTraceUpd.put("ref_ser", "LCVOUH");
glTraceUpd.put( "ref_id",tranId);
glTraceUpd.put( "remarks",remarks);
errString=Fcommon.glTraceUpdate(glTraceUpd, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
return errCode;
}
if("O".equalsIgnoreCase(glTraceUpd.get("sundry_code").toString()))
{
//HashMap sundryBalUpd=new HashMap();
sundryBalUpd.put("fin_entity", glTraceUpd.get("fin_entity"));
sundryBalUpd.put("site_code", glTraceUpd.get("site_code"));
sundryBalUpd.put("sundry_type", glTraceUpd.get("sundry_type"));
sundryBalUpd.put("sundry_code", glTraceUpd.get("sundry_code"));
sundryBalUpd.put("tran_date", tranDate);
//sundryBalUpd.put("eff_date", effDate);
sundryBalUpd.put("fin_entity", finEnt);
sundryBalUpd.put("site_code", siteCodehdr);
sundryBalUpd.put("sundry_type", "L");
sundryBalUpd.put("sundry_code", loanPartyhdr);
sundryBalUpd.put("acct_code", acctCodePay);
sundryBalUpd.put("cctr_code", cctrCodePay);
sundryBalUpd.put("eff_date", effDate);
sundryBalUpd.put("acct_code", acctCodeAp);
sundryBalUpd.put("cctr_code", cctrCodeAp);
sundryBalUpd.put("curr_code", currCode);
sundryBalUpd.put("exch_rate", exchRate);
sundryBalUpd.put("dr_amt", 0.0);
sundryBalUpd.put("cr_amt", amountPaid);
sundryBalUpd.put("adv_amt", 0.0);
//lcBkchgTot=bankCharges;
if(lcAmt>0)
{
sundryBalUpd.put("dr_amt", lcAmt);
sundryBalUpd.put("cr_amt", 0);
}
else
{
sundryBalUpd.put("dr_amt", 0);
sundryBalUpd.put("cr_amt", -lcAmt);
}
sundryBalUpd.put("adv_amt", 0);
errString=Fcommon.gbf_sundrybal_upd(sundryBalUpd, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
///Positive payable against loanParty header end
// debit supplier / site - sundry effect dr - end
}
if(errString==null || errString.trim().length()==0)
if("R".equalsIgnoreCase(lsLink) || "C".equalsIgnoreCase(lsLink))
{//receiving site cr entry
glTraceUpd.put("tran_date", tranDate);
glTraceUpd.put("eff_date", effDate);
glTraceUpd.put("site_code", siteCode);
glTraceUpd.put("emp_code", " ");
glTraceUpd.put("anal_code", " ");
glTraceUpd.put("curr_code", currCode);
glTraceUpd.put("exch_rate", exchRate);
glTraceUpd.put("sundry_type", "O");
glTraceUpd.put("sundry_code", " ");
glTraceUpd.put("acct_code", acctCodeRcp);
glTraceUpd.put("cctr_code", cctrCodeRcp);
if(lcAmt>0)
{
sql="Update loan_hdr set confirmed = 'Y' where tran_id = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, tranId);
pstmt.executeUpdate();
pstmt.close();
pstmt=null;
glTraceUpd.put("dr_amt", 0);
glTraceUpd.put("cr_amt", lcAmt);
}
else
{
glTraceUpd.put("dr_amt", -lcAmt);
glTraceUpd.put("cr_amt", 0);
}
glTraceUpd.put("ref_type", "D");
glTraceUpd.put("ref_ser", "LCVOUH");
glTraceUpd.put( "ref_id",tranId);
glTraceUpd.put( "remarks",remarks);
errString=Fcommon.glTraceUpdate(glTraceUpd, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
} //try
}
//payable - dr effect for supp_code -start
//if same site then generate or else if it is at other site generate
if(lbSameSite || ("R".equalsIgnoreCase(lsLink) || "C".equalsIgnoreCase(lsLink)))
{
//HashMap miscPayUpd= new HashMap();
if(lbSameSite)
{//patable - for supp_code
catch (Exception e)
miscPayUpd.put("supp_code",suppCode);
miscPayUpd.put("site_code",siteCode);
miscPayUpd.put("fin_entity",finEntity);
}
else
{
try {
conn.rollback();
System.out.println("connection rollback");
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
miscPayUpd.put("supp_code",suppCode);
miscPayUpd.put("site_code__for",siteCodeFor);
miscPayUpd.put("fin_entity__for",finEntityFor);
}
miscPayUpd.put("acct_code_ap",acctCodeAp);
miscPayUpd.put("cctr_code_ap",cctrCodeAp);
miscPayUpd.put("tot_amt",lcAmt);
miscPayUpd.put("adv_amt",0);
miscPayUpd.put("tran_ser","LCADV");
miscPayUpd.put("tran_date",tranDate);
miscPayUpd.put("ref_date",tranDate);
miscPayUpd.put("tran_id",tranId);
miscPayUpd.put("curr_code",currCode);
miscPayUpd.put("exchrate",exchRate);
miscPayUpd.put("sundry_type","S");
miscPayUpd.put("due_date",dueDate);
miscPayUpd.put("bank_code",bankCode);
miscPayUpd.put("auto_pay","N");
miscPayUpd.put("pay_mode","T");
miscPayUpd.put("paid","N");
miscPayUpd.put("purc_order",purcOrder);
errString=Fcommon.gbfMiscPayUpd(miscPayUpd, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
System.out.println("Exception :loanConfirm :loanConfirmmethod :==>"+e.getMessage());
errString = genericUtility.createErrorString(e);
throw new ITMException(e);
}
errString=Fcommon.checkGlTranDrCr("LCVOUH", tranId, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
}
finally
}
//payable - dr effect for supp_code/cust_code__for -end
if ("P".equalsIgnoreCase(lsLink))
{
try
errString=gbfCreateLc(lcVouchHdr,xtraParams,conn);
if(errCode!=null && errCode.trim().length()>0)
{
return errString;
}
}
//if edi transfer link then create edi data
if("E".equalsIgnoreCase(lsLink))
{
if(rs != null)
CreateRCPXML createRCPXML = new CreateRCPXML("w_lc_voucher", "tran_id");
String dataStr = createRCPXML.getTranXML(tranId, conn);
System.out.println("dataStr =[ " + dataStr + "]");
ediDataDom = genericUtility.parseString(dataStr);
setNodeValue(ediDataDom, "link_type", "C");
setNodeValue(ediDataDom, "bank_charges", "0");
setNodeValue(ediDataDom, "other_charges", "0");
setNodeValue(ediDataDom, "margin_amt", "C");
setNodeValue(ediDataDom, "status", "O");
E12CreateBatchLoadEjb e12CreateBatchLoad = new E12CreateBatchLoadEjb();
retString = e12CreateBatchLoad.createBatchLoad(ediDataDom,"w_supplier_bank", "" + 1, xtraParams, conn);
createRCPXML = null;
e12CreateBatchLoad = null;
if (retString != null && "SUCCESS".equals(retString))
{
rs.close();
rs = null;
System.out.println("retString = [" + retString + "]");
}
if(rsInner != null)
else
{
rsInner.close();
rsInner = null;
return retString;
}
if(pstmt != null)
}
if("R".equalsIgnoreCase(lsLink) || "C".equalsIgnoreCase(lsLink))
{
pstmt.close();
pstmt = null;
String sql1="update lc_voucher set status = 'L',status_date = ? where tran_id = ?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setTimestamp(1, today);
//pstmt1.setString(2, glTraceUpd.get("ref_id").toString());
pstmt1.setString(2, tranId);
updcnt=pstmt1.executeUpdate();
pstmt1.close();
pstmt1=null;
}
if(pstmtInner != null)
else
{
pstmtInner.close();
pstmtInner = null;
String sql1="update lc_voucher set status = 'O',status_date = ? where tran_id = ?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setTimestamp(1, today);
//pstmt1.setString(2, glTraceUpd.get("ref_id").toString());
pstmt1.setString(2, tranId);
updcnt=pstmt1.executeUpdate();
pstmt1.close();
pstmt1=null;
}
if(updcnt==0)
{
errCode="DS000";
errString=itmDbAccessEjb.getErrorString("", errCode, "", "", conn);
return errString;
}
catch(Exception e)
if(errCode!=null || errCode.trim().length()==0)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
if(!NoacctEffect)
{
errString=Fcommon.checkGlTranDrCr("LCVOUH", tranId, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
}
return errString;
}
} catch (Exception e) {
e.printStackTrace();
throw new ITMException(e);
}
return errString;
}
private String saveData(String xtraParams,String siteCode, String xmlString, Connection conn) throws ITMException
{
System.out.println("saving data...........");
......@@ -724,158 +993,346 @@ public String confirm(String tranId,String xtraParams,String forcedFlag) throws
}
return retString;
}
public String confirmReceipt(String businessObj, String tranIdFr,String xtraParams, String forcedFlag,Connection conn) throws ITMException
{
String methodName = "";
String compName = "";
String retString = "";
String serviceCode = "";
String serviceURI = "";
String actionURI = "";
String sql = "";
PreparedStatement pStmt = null;
ResultSet rs = null;
int cnt = 0;
public String gbfCreateMiscDr(HashMap lcVouchHdr,String drType,String xtraParams,Connection conn) throws ITMException
{
String errString="",sql="";
ResultSet rs=null;
PreparedStatement pstmt=null;
String tranId="", tranSer="", finEnt="", site="", bcType="",sType="", sCode="", acctCode="", cctrCode="", currCode="", remarks="",
tranType="", acctDet1="", cctrDet1="", schgType="", keyStr="",
lcNo="", acctDet2="", cctrDet2="", acctDet3="", cctrDet3="", acctDet4="", cctrDet4;
Timestamp Date=null, today=null;
double amt=0, amtBc=0, scAmt=0, amAmt=0, bcAmt=0, bchgAmt=0, bcAmtp=0, bchgAmtp=0,
exch=0, exchPay=0;
StringBuffer xmlBuff = new StringBuffer();
SimpleDateFormat sdf=null;
try
{
site=lcVouchHdr.get("site_code").toString();
Date=(Timestamp)lcVouchHdr.get("due_date__act");
tranSer = "MDRCRD";
finEnt = lcVouchHdr.get("fin_entity").toString();
sType = "C";
sCode = lcVouchHdr.get("cust_code__for").toString();
lcNo = lcVouchHdr.get("tran_id").toString();
exch = 1;
methodName = "gbf_post";
actionURI = "http://NvoServiceurl.org/" + methodName;
forcedFlag="";
sql="select curr_code from site, finent "
+ "where site.fin_entity = finent.fin_entity and site_code = ?";
System.out.println("forcedFlag Method["+forcedFlag+"]");
sql = "SELECT SERVICE_CODE,COMP_NAME FROM SYSTEM_EVENTS WHERE OBJ_NAME = ? AND EVENT_CODE = 'pre_confirm' ";
pStmt = conn.prepareStatement(sql);
pStmt.setString(1,businessObj);
rs = pStmt.executeQuery();
if ( rs.next() )
{
serviceCode = rs.getString("SERVICE_CODE");
compName = rs.getString("COMP_NAME");
}
if (pStmt != null)
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, site);
rs=pstmt.executeQuery();
if(rs.next())
{
pStmt.close();
pStmt=null;
currCode=rs.getString("curr_code");
}
if (rs !=null)
{
rs.close();
rs=null;
}
sql = "SELECT SERVICE_URI FROM SYSTEM_EVENT_SERVICES WHERE SERVICE_CODE = ? ";
pStmt = conn.prepareStatement(sql);
pStmt.setString(1,serviceCode);
rs = pStmt.executeQuery();
if ( rs.next() )
pstmt.close();
pstmt=null;
if("L".equalsIgnoreCase(drType))
{
serviceURI = rs.getString("SERVICE_URI");
}
if (pStmt != null)
remarks="Toward opening LC : "+lcNo;
amt=Double.parseDouble(lcVouchHdr.get("lc_amt").toString());
exchPay=Double.parseDouble(lcVouchHdr.get("exch_rate").toString());
amtBc=amt*exchPay;
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_drcr_rcp").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>");
sdf=new SimpleDateFormat(new E12GenericUtility().getApplDateFormat());
xmlBuff.append("<Detail1 dbID=\"\" domID=\'1\' objName=\"misc_drcr_rcp\" objContext=\"1\">");
xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<tran_ser><![CDATA[" + (tranSer) + "]]></tran_ser>");
xmlBuff.append("<tran_date><![CDATA[" + (Date==null?Date:sdf.format(Date)) + "]]></tran_date>");
xmlBuff.append("<eff_date><![CDATA[" + (Date==null?Date:sdf.format(Date)) + "]]></eff_date>");
xmlBuff.append("<fin_entity><![CDATA[" + (finEnt) + "]]></fin_entity>");
xmlBuff.append("<site_code><![CDATA[" + (site) + "]]></site_code>");
xmlBuff.append("<sundry_type><![CDATA[" + (sType) + "]]></sundry_type>");
xmlBuff.append("<sundry_code><![CDATA[" + (sCode) + "]]></sundry_code>");
xmlBuff.append("<acct_code><![CDATA[" + (acctCode) + "]]></acct_code>");
xmlBuff.append("<cctr_code><![CDATA[" + (cctrCode) + "]]></cctr_code>");
xmlBuff.append("<curr_code><![CDATA[" + (currCode) + "]]></curr_code>");
xmlBuff.append("<exch_rate><![CDATA[" + (amt) + "]]></exch_rate>");
xmlBuff.append("<remarks><![CDATA[" + (remarks) + "]]></remarks>");
xmlBuff.append("<drcr_flag><![CDATA[" + ("D") + "]]></drcr_flag>");
xmlBuff.append("<confirmed><![CDATA[" + ("N") + "]]></confirmed>");
xmlBuff.append("<due_date><![CDATA[" + (sdf.format(Date)) + "]]></due_date>");
xmlBuff.append("<tran_type><![CDATA[" + (tranType) + "]]></tran_type>");
xmlBuff.append("<amount__bc><![CDATA[" + (amtBc) + "]]></amount__bc>");
xmlBuff.append("</Detail1>");
// the detail account code for pay amt
acctDet2=lcVouchHdr.get("acct_code__lc").toString();
cctrDet2=lcVouchHdr.get("cctr_code__lc").toString();
xmlBuff.append("<Detail2 dbID=\"\" domID=\'1\' objName=\"misc_drcr_rcp\" objContext=\"2\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<line_no>"+("1")+"</line_no>");
xmlBuff.append("<acct_code><![CDATA[" + (acctDet2) + "]]></acct_code>");
xmlBuff.append("<cctr_code><![CDATA[" + (cctrDet2) + "]]></cctr_code>");
xmlBuff.append("<amount><![CDATA[" + amtBc + "]]></amount>");
xmlBuff.append("<anal_code><![CDATA[" +null+ "]]></anal_code>");
xmlBuff.append("<emp_code><![CDATA[" +null+ "]]></emp_code>");
xmlBuff.append("<net_amt><![CDATA[" + amtBc + "]]></net_amt>");
xmlBuff.append("</Detail2>");
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
System.out.println("Debit Note xml["+xmlBuff.toString()+"]");
errString=saveData(xtraParams, site, xmlBuff.toString(), conn);
System.out.println("MiscDebit Note savedata()"+errString);
if (errString != null && errString.trim().length() > 0)
{
pStmt.close();
pStmt=null;
return errString;
}
if (rs !=null)
{
rs.close();
rs=null;
}
System.out.println("SERVICE_URI["+serviceURI+"]");
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(serviceURI));
call.setOperationName( new javax.xml.namespace.QName("http://NvoServiceurl.org", methodName ) );
call.setUseSOAPAction(true);
call.setSOAPActionURI(actionURI);
Object[] aobj = new Object[4];
call.addParameter( new javax.xml.namespace.QName("http://NvoServiceurl.org", "component_name"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter( new javax.xml.namespace.QName("http://NvoServiceurl.org", "tran_id"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter( new javax.xml.namespace.QName("http://NvoServiceurl.org", "xtra_params"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter( new javax.xml.namespace.QName("http://NvoServiceurl.org", "forced_flag"), XMLType.XSD_STRING, ParameterMode.IN);
aobj[0] = new String(compName);
aobj[1] = new String(tranIdFr);
aobj[2] = new String(xtraParams);
aobj[3] = new String(forcedFlag);
call.setReturnType(XMLType.XSD_STRING);
retString = (String)call.invoke(aobj);
System.out.println("Return string from NVO is:==>["+retString+"]");
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
finally
return errString;
}
public String gbfCreateLc(HashMap lcVouchHdr,String xtraParams,Connection conn) throws ITMException
{
String errString="",sql="",keyCol="",xmlValues="",uniqueKey="";
Statement stmt=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
String keyString="";
SimpleDateFormat sdf=null;
StringBuffer xmlBuff=new StringBuffer();
E12GenericUtility genericUtility=new E12GenericUtility();
int updcnt=0;
Timestamp tranDate=null,dueDate=null,effDate=null,dueDateAct=null;
try
{
if (pStmt != null )
/*sql="select key_string,tran_id_col into from transetup where upper(tran_window) = 'W_LC_VOUCHER' ";
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
if(rs.next())
{
pStmt.close();
pStmt = null;
keyString=rs.getString("key_string");
keyCol=rs.getString("tran_id_col");
}
if (rs !=null)
{
stmt.close();
stmt=null;
rs.close();
rs=null;
sdf=new SimpleDateFormat(genericUtility.getApplDateFormat());
//Generate Tran ID
xmlValues = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<site_code>"+lcVouchHdr.get("site_code").toString()+"</site_code>";
xmlValues = xmlValues + "<site_code__for>"+lcVouchHdr.get("site_code__for").toString()+"</site_code__for>";
xmlValues = xmlValues + "<tran_date>"+sdf.format(lcVouchHdr.get("tran_date"))+"</tran_date>";
xmlValues = xmlValues + "<eff_date>"+sdf.format(lcVouchHdr.get("eff_date"))+"</eff_date>";
xmlValues = xmlValues + "</Detail1></Root>";
System.out.println("xmlValues :[" + xmlValues + "]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE",
"");
uniqueKey = tg.generateTranSeqID("LCVOUH", keyCol, keyString,
conn);
System.out.println("uniqueKey :" + uniqueKey);*/
/*sql="Update lc_voucher set tran_id = ?,link_type = 'R' where tran_id = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, uniqueKey);
pstmt.setString(2, lcVouchHdr.get("tran_id").toString());
updcnt=pstmt.executeUpdate();
if(updcnt==0)
{
errCode="DS000";
}*/
/*lcVouchHdr=new HashMap();
lcVouchHdr.put("link_type",linkType);
lcVouchHdr.put("site_code",siteCode);
lcVouchHdr.put("site_code__for",siteCodeFor);
lcVouchHdr.put("cust_code__for",custCodeFor);
lcVouchHdr.put("supp_code",suppCode);
lcVouchHdr.put("tran_date",tranDate);
lcVouchHdr.put("eff_date",effDate);
lcVouchHdr.put("due_date",dueDate);
lcVouchHdr.put("due_date__act",dueDateAct);
lcVouchHdr.put("fin_entity",finEntity);
lcVouchHdr.put("fin_entity__for",finEntityFor);
lcVouchHdr.put("acct_code__lc",acctCodeLc);
lcVouchHdr.put("cctr_code__lc",cctrCodeLc);
lcVouchHdr.put("exch_rate",exchRate);
lcVouchHdr.put("lc_amt",lcAmt);
lcVouchHdr.put("remarks",remarks);
lcVouchHdr.put("purc_order",purcOrder);
lcVouchHdr.put("bank_code",bankCode);
lcVouchHdr.put("acct_code__bc",acctCodeBc);
lcVouchHdr.put("cctr_code__bc",cctrCodeBc);
lcVouchHdr.put("acct_code__bal",acctCodeBal);
lcVouchHdr.put("cctr_code__bal",cctrCodeBal);
lcVouchHdr.put("curr_code__bc",currCodeBc);
lcVouchHdr.put("exch_rate__bc",exchRateBc);
lcVouchHdr.put("bank_charges_type",bankChrgType);
lcVouchHdr.put("other_charges",othCharges);
lcVouchHdr.put("margin_amt",marginAmt);
lcVouchHdr.put("acct_code__mar",acctCodeMargin);
lcVouchHdr.put("cctr_code__mar",cctrCodeMargin);
lcVouchHdr.put("curr_code__mar",currCodeMar);
lcVouchHdr.put("exch_rate__mar",exchRateMar);
lcVouchHdr.put("acct_code__iss",acctCodeIss);
lcVouchHdr.put("cctr_code__iss",cctrCodeIss);
lcVouchHdr.put("acct_code__ap",acctCodeAp);
lcVouchHdr.put("cctr_code__ap",cctrCodeAp);
lcVouchHdr.put("acct_code__rcp",acctCodeRcp);
lcVouchHdr.put("cctr_code__rcp",cctrCodeRcp);
*/
tranDate=(Timestamp)lcVouchHdr.get("tran_date");
effDate=(Timestamp)lcVouchHdr.get("eff_date");
dueDate=(Timestamp)lcVouchHdr.get("due_date");
dueDateAct=(Timestamp)lcVouchHdr.get("due_date__act");
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("lc_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>");
sdf=new SimpleDateFormat(new E12GenericUtility().getApplDateFormat());
xmlBuff.append("<Detail1 dbID=\"\" domID=\"1\" objName=\"lc_voucher\" objContext=\"1\">");
xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<link_type><![CDATA[" + (lcVouchHdr.get("link_type").toString()) + "]]></tran_ser>");
xmlBuff.append("<site_code><![CDATA[" + (lcVouchHdr.get("site_code").toString()) + "]]></site_code>");
xmlBuff.append("<site_code__for><![CDATA[" + (lcVouchHdr.get("site_code__for").toString()) + "]]></site_code__for>");
xmlBuff.append("<cust_code__for><![CDATA[" + (lcVouchHdr.get("site_code").toString()) + "]]></cust_code__for>");
xmlBuff.append("<supp_code><![CDATA[" + (lcVouchHdr.get("supp_code").toString()) + "]]></supp_code>");
xmlBuff.append("<tran_date><![CDATA[" + (tranDate!=null?sdf.format(tranDate):"") + "]]></tran_date>");
xmlBuff.append("<eff_date><![CDATA[" + (effDate!=null?sdf.format(effDate):"") + "]]></eff_date>");
xmlBuff.append("<due_date><![CDATA[" + (dueDate!=null?sdf.format(dueDate):"") + "]]></due_date>");
xmlBuff.append("<due_date__act><![CDATA[" + (dueDateAct!=null?sdf.format(dueDateAct):"") + "]]></due_date__act>");
xmlBuff.append("<fin_entity><![CDATA[" + (lcVouchHdr.get("fin_entity").toString()) + "]]></fin_entity>");
xmlBuff.append("<fin_entity__for><![CDATA[" + (lcVouchHdr.get("fin_entity__for").toString()) + "]]></fin_entity__for>");
xmlBuff.append("<acct_code__lc><![CDATA[" + (lcVouchHdr.get("acct_code__lc").toString()) + "]]></acct_code__lc>");
xmlBuff.append("<cctr_code__lc><![CDATA[" + (lcVouchHdr.get("cctr_code__lc").toString()) + "]]></cctr_code__lc>");
xmlBuff.append("<exch_rate><![CDATA[" + (lcVouchHdr.get("exch_rate").toString()) + "]]></exch_rate>");
xmlBuff.append("<lc_amt><![CDATA[" + (lcVouchHdr.get("lc_amt").toString()) + "]]></lc_amt>");
xmlBuff.append("<remarks><![CDATA[" + (lcVouchHdr.get("remarks").toString()) + "]]></remarks>");
xmlBuff.append("<purc_order><![CDATA[" + (lcVouchHdr.get("purc_order").toString()) + "]]></purc_order>");
xmlBuff.append("<bank_code><![CDATA[" + (lcVouchHdr.get("bank_code").toString()) + "]]></bank_code>");
xmlBuff.append("<acct_code__bc><![CDATA[" + (lcVouchHdr.get("acct_code__bc").toString()) + "]]></acct_code__bc>");
xmlBuff.append("<cctr_code__bc><![CDATA[" + (lcVouchHdr.get("cctr_code__bc").toString()) + "]]></cctr_code__bc>");
xmlBuff.append("<cctr_code__bal><![CDATA[" + (lcVouchHdr.get("cctr_code__bal").toString()) + "]]></cctr_code__bal>");
xmlBuff.append("<curr_code__bc><![CDATA[" + (lcVouchHdr.get("curr_code__bc").toString()) + "]]></curr_code__bc>");
xmlBuff.append("<exch_rate__bc><![CDATA[" + (lcVouchHdr.get("exch_rate__bc").toString()) + "]]></exch_rate__bc>");
xmlBuff.append("<bank_charges_type><![CDATA[" + (lcVouchHdr.get("bank_charges_type").toString()) + "]]></bank_charges_type>");
xmlBuff.append("<other_charges><![CDATA[" + (lcVouchHdr.get("other_charges").toString()) + "]]></other_charges>");
xmlBuff.append("<margin_amt><![CDATA[" + (lcVouchHdr.get("margin_amt").toString()) + "]]></margin_amt>");
xmlBuff.append("<acct_code__mar><![CDATA[" + (lcVouchHdr.get("acct_code__mar").toString()) + "]]></acct_code__mar>");
xmlBuff.append("<cctr_code__mar><![CDATA[" + (lcVouchHdr.get("cctr_code__mar").toString()) + "]]></cctr_code__mar>");
xmlBuff.append("<curr_code__mar><![CDATA[" + (lcVouchHdr.get("curr_code__mar").toString()) + "]]></curr_code__mar>");
xmlBuff.append("<exch_rate__mar><![CDATA[" + (lcVouchHdr.get("exch_rate__mar").toString()) + "]]></exch_rate__mar>");
xmlBuff.append("<acct_code__iss><![CDATA[" + (lcVouchHdr.get("acct_code__iss").toString()) + "]]></acct_code__iss>");
xmlBuff.append("<cctr_code__iss><![CDATA[" + (lcVouchHdr.get("cctr_code__iss").toString()) + "]]></cctr_code__iss>");
xmlBuff.append("<acct_code__ap><![CDATA[" + (lcVouchHdr.get("acct_code__ap").toString()) + "]]></acct_code__ap>");
xmlBuff.append("<acct_code__rcp><![CDATA[" + (lcVouchHdr.get("acct_code__rcp").toString()) + "]]></acct_code__rcp>");
xmlBuff.append("<cctr_code__rcp><![CDATA[" + (lcVouchHdr.get("cctr_code__rcp").toString()) + "]]></cctr_code__rcp>");
xmlBuff.append("</Detail1>");
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
errString=saveData(xtraParams, lcVouchHdr.get("site_code").toString(), xmlBuff.toString(), conn);
if( errString.indexOf("Success") != -1 )
{
errString="";
}
}
catch(Exception e)
{}
{
e.printStackTrace();
throw new ITMException(e);
}
return retString;
return errString;
}
public Timestamp getDueDate(Timestamp today,String tenureUnit,int tenure) throws ITMException
{
Timestamp dueDate=null;
E12GenericUtility genericUtility=new E12GenericUtility();
try
private static void setNodeValue( Document dom, String nodeName, String nodeVal ) throws Exception
{
SimpleDateFormat dateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
System.out.println(dateFormat.format(today));
Calendar c = Calendar.getInstance();
c.setTime(today);
Node tempNode = dom.getElementsByTagName( nodeName ).item(0);
// manipulate date
if("0".equalsIgnoreCase(tenureUnit.trim()))
if( tempNode != null )
{
c.add(Calendar.DATE, tenure);
}
else if("1".equalsIgnoreCase(tenureUnit.trim()))
if( tempNode.getFirstChild() == null )
{
c.add(Calendar.MONTH, tenure);
CDATASection cDataSection = dom.createCDATASection( nodeVal );
tempNode.appendChild( cDataSection );
}
else
{
c.add(Calendar.YEAR, tenure);
tempNode.getFirstChild().setNodeValue(nodeVal);
}
}
tempNode = null;
}
//same with c.add(Calendar.DAY_OF_MONTH, 1);
/*c.add(Calendar.HOUR, 1);
c.add(Calendar.MINUTE, 1);
c.add(Calendar.SECOND, 1);*/
// convert calendar to date
Date d1 = c.getTime();
//convert to timestamp
dueDate=new Timestamp(d1.getTime());
System.out.println(dateFormat.format(dueDate));
private String checkNull(String str)
{
if(str == null)
{
return "";
}
catch(Exception e)
else
{
e.getMessage();
e.printStackTrace();
throw new ITMException(e);
return str ;
}
return dueDate;
}
} //class
}
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