Commit 3076873b authored by mjadhav's avatar mjadhav

generating cheque writing xml


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@98152 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 557ae99b
/*
* Request Id=S15CSUN003
* developer : mahendra
*
* this scheduler allow to generate cheque writing XML from misc_payment .
*
*
*/
package ibase.webitm.ejb.fin;
import ibase.scheduler.utility.interfaces.Schedule;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ITMDBAccessLocal;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import java.io.File;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.utility.CommonConstants;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpException;
public class GenPaymentSchedule implements Schedule {
private String pmtHost = "";
private String pmtUser = "";
private String pmtPwd = "";
//private String remoteFilePath = "base_out/Stock.csv";
private String remoteFilePath = "";
private String xmlFileNameUpd = "";
private String pmtRmFilePath="";
private String locFilePath="";
private String pmtBackupFilePath="";
private String pmtPort="";
static String accToBeCredited="";
@Override
public String schedule(HashMap arg0) throws Exception {
// TODO Auto-generated method stub
return null;
}
@Override
public String schedulePriority(String arg0) throws Exception {
// TODO Auto-generated method stub
return null;
}
@Override
public String schedule(String scheduleParamXML) throws Exception {
// TODO Auto-generated method stub
System.out.println("scheduleParamXML:::"+scheduleParamXML);
ibase.utility.UserInfoBean userInfo = null;
String disparmLoginSiteCode = "";
Connection conn = null;
Connection connRtm = null;
ConnDriver connDriver = new ConnDriver();
SimpleDateFormat sdf;
conn = connDriver.getConnectDB("DriverITM");
String sql = "",retString="",finParamTranType="",filePath="",updResult="",paymentSql="";
String tranId="";
PreparedStatement pstmt = null;
ResultSet rs = null;
String siteCodeList="",siteCode="",paymentId="";
ArrayList<String> paymentIdList = new ArrayList<String>();
ArrayList<String> paymentSuccList = new ArrayList<String>();
ArrayList<String> paymentFailedList = new ArrayList<String>();
FinCommon finCommon = new FinCommon();
try
{
Document dom = null;
Node currDetail = null ;
int noOfParam=0;
GenericUtility genericUtility=GenericUtility.getInstance();
System.out.println("scheduleParamXML-----"+scheduleParamXML);
dom=genericUtility.parseString(scheduleParamXML);
NodeList paramList = dom.getElementsByTagName( "SCHEDULE" );
noOfParam = paramList.getLength();
NodeList parentNodeList = null,childNodeList = null;
Node parentNode = null,childNode = null;
int childNodeListLength = 0;
String childNodeName = null;
paymentIdList.clear();
//paymentSql = "select tran_id from misc_payment where confirmed='Y' and status='S' and tran_date = sysdate";
paymentSql =" select tran_id from misc_payment " +
" where confirmed='Y' and eff_date IS NULL and wf_status='S' ";
pstmt = conn.prepareStatement(paymentSql);
//pstmt.setString(1,tranId);
//pstmt.setString(2,custType);
rs = pstmt.executeQuery();
while (rs.next())
{
paymentIdList.add(rs.getString("tran_id"));
}
System.out.println("paymentIdList for payment id :"+paymentIdList);
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(paymentIdList.size() <= 0)
{
System.out.println("Error:System not found data for confirmed as 'Y' and wf_status='S' and null eff_date date in misc_payment.");
}
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
dom = db.parse("/IBASEHOME/ibase.xml");
locFilePath = dom.getElementsByTagName("PMT_EXPORT_PATH").item(0).getFirstChild().getNodeValue();
System.out.println("LocFilePath :"+locFilePath);
for (int i = 0; i < paymentIdList.size(); i++)
{
paymentId = paymentIdList.get(i);
System.out.println(paymentId);
filePath=locFilePath+"/payment_"+paymentId.trim()+".xml";
System.out.println("filePath :"+filePath);
retString = genChequeWritingXML(filePath,paymentId,conn);
System.out.println("retString :::"+retString);
if(retString.indexOf("Success") > -1)
{
try
{
sdf= new SimpleDateFormat(genericUtility.getDBDateFormat());
java.util.Date date=new Date();
java.sql.Timestamp currentDt=java.sql.Timestamp.valueOf(sdf.format(date).toString() + " 00:00:00.0");
System.out.println(">>>>execute update query!!!!!!!!!");
sql=" update misc_payment set eff_date = ? where tran_id=? ";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, currentDt);
pstmt.setString(2, paymentId);
pstmt.executeUpdate();
conn.commit();
paymentSuccList.add(paymentId);
System.out.println("paymentId : "+paymentId+" updated succefully!!!");
finParamTranType=checkNull(finCommon.getFinparams("999999","CHQ_AUTO_UPLOAD",conn));
System.out.println("finParamTranType :"+finParamTranType);
if(finParamTranType.equalsIgnoreCase("Y"))
{
//filePath=this is local path where cheque writing xml is generated.
//invRmFilePath = this is remote path where cheque writing xml is uploaded
//invUser=SFTP username
//invHost=SFTP Host
//invPwd=SFTP Password
setSFTPConfig();
pmtRmFilePath=pmtRmFilePath+"/payment_"+paymentId.trim()+".xml";
pmtBackupFilePath=pmtBackupFilePath+"/payment_"+paymentId.trim()+".xml";
System.out.println("pmtRmFilePath by appending xml @@@@"+pmtRmFilePath);
updResult=putFile(pmtUser, pmtHost,pmtPwd,pmtPort,pmtRmFilePath,filePath);
if(updResult.equalsIgnoreCase("success"))
{
File fromFile = new File(filePath);
File toFile = new File(pmtBackupFilePath);
moveUploadFile(fromFile,toFile);
System.out.println("payment"+paymentId.trim()+".xml uploaded sucessfully and move to backup folder!!!");
}
else
{
System.out.println("payment"+paymentId.trim()+".xml uploaded failed!!!");
}
}
}
catch(Exception e)
{
//conn.rollback();
e.printStackTrace();
System.out.println("Exception :"+e.getMessage());
}
finally
{
try
{
if(pstmt != null)
{
pstmt.close();
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}//end of if
}//end of for sitecodelist for invoice
/*---------------------------------------------------------------------------------------------------------------------*/
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if(conn != null)
{
conn.close();
}
if(pstmt != null)
{
pstmt.close();
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
return "";
}
public String genChequeWritingXML(String filePath,String paymentId,Connection conn)throws RemoteException, ITMException
{
String errString="";
ITMDBAccessLocal itmDBAccessLocal = new ITMDBAccessEJB();
try
{
System.out.println("------genChequeWritingXML---------L ");
System.out.println("filepath :"+filePath);
DocumentBuilderFactory icFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder icBuilder;
icBuilder = icFactory.newDocumentBuilder();
Document document = icBuilder.newDocument();
Element mainRootElement = document.createElementNS("urn:iso:std:iso:20022:tech:xsd:pain.001.001.03", "Document");
mainRootElement.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
document.appendChild(mainRootElement);
mainRootElement.appendChild(getChequeInfo(document,paymentId,conn));
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource domSource = new DOMSource(document);
// StreamResult streamResult = new StreamResult(new File("//home//basedv-2//mahendra//work//xmlFile//Sample_Facturae11.xml"));
StreamResult streamResult = new StreamResult(new File(filePath));
transformer.transform(domSource, streamResult);
System.out.println("Done creating XML File@@@!!");
return "Success";
}
catch (ParserConfigurationException pce)
{
pce.printStackTrace();
System.out.println("ParserConfigurationException :"+pce.getMessage());
errString = itmDBAccessLocal.getErrorString("", "VTEXPFAIL", "");
return errString;
}
catch (TransformerException tfe)
{
tfe.printStackTrace();
System.out.println("TransformerException :"+tfe.getMessage());
errString = itmDBAccessLocal.getErrorString("", "VTEXPFAIL", "");
return errString;
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception :"+e.getMessage());
errString = itmDBAccessLocal.getErrorString("", "VTEXPFAIL", "");
return errString;
}
// return "Success";
}
private Node getChequeInfo(Document doc,String miscPayId,Connection conn) throws Exception {
String result="",sql="";
PreparedStatement pstmt = null;
ResultSet rs = null;
Map<String,String> rmtInfoMap = new HashMap<String,String>();
String msgId="",creDtTm="",nbOfTxs = "",ctrlSum = "" , nm = "" , pmtInfId = "",pmtMtd="";
String nbOfTxs1 ="",ctrlSum1 = "",reqdExctnDt ="",siteNm = "",ctry = "",id = "";
String ccy = "",bIC = "" , mmbId = "" , instrId ="",endToEndId = "",ccy1 = "" ,instdAmt="";
String chqNb = "" ,prtry="",frmsCd="",suppNm="",strtNm="",pstCd="",twnNm="",ctrySubDvsn="";
String sundryId="",cd="",nb="",rltdDt="",duePyblAmt="",ref="",ctry1="";
String duePyblAmt1="",ccy3="",ccy2="",dscntApldAmt="",rmtdAmt="";
int cnt=0;
Date refDate=null;
try
{
//miscPayId="076BPE0001";///076BPE0001//718BPF0045
System.out.println("miscPayId is :"+miscPayId);
sql = " SELECT MISC_PAYMENT.TRAN_ID AS MsgId,TO_CHAR(SYSDATE,'YYYY-MM-DD') || 'T' ||TO_CHAR(SYSDATE,'HH:MM:SS') " +
" AS CreDtTm,1 as NbOfTxs,misc_payment.net_amt__bc as CtrlSum,site.descr as Nm,misc_payment.tran_id as PmtInfId," +
" (case when misc_payment.pay_mode ='W' then 'CHK' else misc_payment.pay_mode end ) as PmtMtd, " +
"1 as NbOfTxs1,misc_payment.net_amt__bc as CtrlSum1,to_char(misc_payment.ref_date,'YYYY-MM-DD') as ReqdExctnDt, " +
" site.descr as siteNm,state.count_code as Ctry,bank.ac_no as Id,bank.curr_code as Ccy, " +
" bank.swift_code as BIC,bank.udf_str8 as MmbId,bank.count_code as Ctry1,misc_payment.tran_id as InstrId, " +
" misc_payment.tran_id AS EndToEndId,misc_payment.curr_code as Ccy,misc_payment.net_amt__bc as InstdAmt, " +
" misc_payment.ref_no as ChqNb,nvl((select gencodes.udf_str1 " +
" from gencodes where gencodes.fld_name='PAY_TYPE' AND gencodes.mod_name='W_MISC_PAY' " +
" and gencodes.fld_value = misc_payment.pay_type),'00000') as Prtry, " +
" nvl((select gencodes.udf_str2 from gencodes where gencodes.fld_name='PAY_TYPE' " +
" AND gencodes.mod_name='W_MISC_PAY' and gencodes.fld_value = misc_payment.pay_type),'A1') as FrmsCd," +
" supplier.chq_name as suppNm,supplier.addr1 || supplier.addr2 || supplier.addr3 as StrtNm, " +
" supplier.pin as PstCd,supplier.city as TwnNm,supplier.state_code as CtrySubDvsn, " +
" supplier.count_code as Ctry,misc_paydet.sundry_code as sundryId,'CINV' AS Cd,misc_payables.bill_no AS Nb, " +
" to_char(misc_payables.bill_date,'yyyy-mm-dd') as RltdDt,misc_paydet.curr_code as Ccy1, " +
" misc_paydet.pay_amt as DuePyblAmt,misc_paydet.curr_code as Ccy3,misc_paydet.discount_amt as DscntApldAmt, " +
" misc_paydet.curr_code as Ccy2,misc_paydet.pay_amt as RmtdAmt,misc_payables.purc_order as Ref " +
" FROM MISC_PAYMENT , site , " +
" state , bank , supplier , misc_paydet , MISC_PAYABLES WHERE misc_payment.site_code = site.site_code and " +
" site.state_code = state.state_code and misc_payment.bank_code = bank.bank_code and " +
" misc_payment.tran_id = misc_paydet.tran_id AND MISC_PAYDET.TRAN_SER = MISC_PAYABLES.TRAN_SER AND " +
" MISC_PAYDET.VOUCH_NO = MISC_PAYABLES.REF_NO and misc_payment.sundry_type='S' and " +
" misc_payment.sundry_code = supplier.supp_code and MISC_PAYMENT.TRAN_ID=? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, miscPayId);
rs = pstmt.executeQuery();
while(rs.next())
{
cnt++;
msgId = checkNull(rs.getString("MsgId"));
System.out.println("msgId : "+msgId);
creDtTm = checkNull(rs.getString("CreDtTm"));
nbOfTxs = checkNull(rs.getString("NbOfTxs"));
ctrlSum = checkNull(rs.getString("CtrlSum"));
nm = checkNull(rs.getString("Nm"));
pmtInfId = checkNull(rs.getString("PmtInfId"));
pmtMtd = checkNull(rs.getString("PmtMtd"));
nbOfTxs1 = checkNull(rs.getString("NbOfTxs1"));
ctrlSum1 = checkNull(rs.getString("CtrlSum1"));
reqdExctnDt = checkNull(rs.getString("ReqdExctnDt"));
siteNm = checkNull(rs.getString("siteNm"));
ctry = checkNull(rs.getString("Ctry"));//state.count_code
id = checkNull(rs.getString("Id"));
ccy = checkNull(rs.getString("Ccy")); //bank.curr_code
bIC = checkNull(rs.getString("BIC"));
mmbId = checkNull(rs.getString("MmbId"));
ctry1 = checkNull(rs.getString("Ctry1"));//bank.count_code
instrId = checkNull(rs.getString("InstrId"));
endToEndId = checkNull(rs.getString("EndToEndId"));
ccy1 = checkNull(rs.getString("Ccy"));//misc_payment.curr_code
instdAmt = checkNull(rs.getString("InstdAmt"));
chqNb = checkNull(rs.getString("ChqNb"));
prtry = checkNull(rs.getString("Prtry"));
frmsCd = checkNull(rs.getString("FrmsCd"));
//Cdtr Nm
suppNm = checkNull(rs.getString("suppNm")); //Cdtr NM
strtNm = checkNull(rs.getString("StrtNm"));//StrtNm
pstCd = checkNull(rs.getString("PstCd"));//PstCd
twnNm = checkNull(rs.getString("TwnNm"));//TwnNm
ctrySubDvsn = checkNull(rs.getString("CtrySubDvsn"));//CtrySubDvsn
sundryId = checkNull(rs.getString("sundryId"));//Cdtr OrgId Id
//RmtInf
cd = checkNull(rs.getString("Cd"));//RfrdDocInf CdOrPrtry CdOrPrtry Cd
nb = checkNull(rs.getString("Nb"));//RfrdDocInf CdOrPrtry Nb
rltdDt = checkNull(rs.getString("RltdDt")); //RfrdDocInf RltdDt
ccy1 = checkNull(rs.getString("Ccy1")); //RfrdDocAmt Ccy
duePyblAmt = checkNull(rs.getString("DuePyblAmt")); //RfrdDocAmt DuePyblAmt
ccy3 = checkNull(rs.getString("Ccy3"));
dscntApldAmt = checkNull(rs.getString("DscntApldAmt"));
ccy2 = checkNull(rs.getString("Ccy2"));//
rmtdAmt = checkNull(rs.getString("RmtdAmt"));
ref = checkNull(rs.getString("Ref"));
rmtInfoMap.put("cd@"+cnt,cd);
rmtInfoMap.put("nb@"+cnt,nb);
rmtInfoMap.put("rltdDt@"+cnt,rltdDt);
rmtInfoMap.put("ccy1@"+cnt,ccy1);
rmtInfoMap.put("duePyblAmt1@"+cnt,duePyblAmt);
rmtInfoMap.put("ref@"+cnt,ref);
rmtInfoMap.put("dscntApldAmt@"+cnt,dscntApldAmt);
rmtInfoMap.put("rmtdAmt@"+cnt,rmtdAmt);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}//end of try
catch(NullPointerException ne)
{
Element errorMsg = doc.createElement("Error");
errorMsg.appendChild(getElementValue(doc, errorMsg, "Error", ne.getMessage()));
ne.printStackTrace();
System.out.println("NullPointerException :"+ne.getMessage());
return errorMsg;
}
catch(Exception e)
{
Element errorMsg = doc.createElement("Error");
errorMsg.appendChild(getElementValue(doc, errorMsg, "Error", e.getMessage()));
e.printStackTrace();
System.out.println("Exception :"+e.getMessage());
return errorMsg;
}
if(msgId != "" && msgId.length() > 0)
{
Element cstmrCdtTrfInitn = doc.createElement("CstmrCdtTrfInitn");
/*-------------------------Group Header Information--------------------------------*/
Element grpHdr = doc.createElement("GrpHdr");
grpHdr.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "MsgId", msgId));//misc_payment.tran_id
grpHdr.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "CreDtTm", creDtTm));//sysdate
grpHdr.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "NbOfTxs", nbOfTxs));//1
grpHdr.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "CtrlSum", ctrlSum));//misc_payment.net_amt__bc
Element initgPty = doc.createElement("InitgPty");//
initgPty.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "Nm", nm));//site.descr
grpHdr.appendChild(initgPty);
cstmrCdtTrfInitn.appendChild(grpHdr);
/*-----------------------Payment Information---------------------------------*/
Element pmtInf = doc.createElement("PmtInf");
pmtInf.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "PmtInfId", pmtInfId));//misc_payment.tran_id
pmtInf.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "PmtMtd", pmtMtd));//misc_payment.pay_mode
pmtInf.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "NbOfTxs", nbOfTxs1));//1
pmtInf.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "CtrlSum", ctrlSum1));//misc_payment.net_amt__bc
pmtInf.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "ReqdExctnDt", reqdExctnDt));//misc_payment.ref_date
//Dbtr tag start
Element Dbtr = doc.createElement("Dbtr");
Dbtr.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "Nm", siteNm));//site.descr
Element pstlAdr = doc.createElement("PstlAdr");
pstlAdr.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "Ctry", ccy));//state.count_code
Dbtr.appendChild(pstlAdr);
pmtInf.appendChild(Dbtr);
//Dbtr tag end
//DbtrAcct start
Element dbtrAcct = doc.createElement("DbtrAcct");
Element Id = doc.createElement("Id");
Element othr = doc.createElement("Othr");
othr.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "Id", id));//bank.ac_no
Id.appendChild(othr);
dbtrAcct.appendChild(Id);
dbtrAcct.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "Ccy", ctry));//bank.curr_code
pmtInf.appendChild(dbtrAcct);
//DbtrAcct end
//DbtrAgt start
Element dbtrAgt = doc.createElement("DbtrAgt");
Element finInstnId = doc.createElement("FinInstnId");
finInstnId.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "BIC", bIC));//bank.swift_code
dbtrAgt.appendChild(finInstnId);
Element clrSysMmbId = doc.createElement("ClrSysMmbId");
clrSysMmbId.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "MmbId", mmbId));//bank.udf_str8
finInstnId.appendChild(clrSysMmbId);
Element pstlAdr1 = doc.createElement("PstlAdr");
pstlAdr1.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "Ctry", ctry1));//bank.count_code
finInstnId.appendChild(pstlAdr1);
pmtInf.appendChild(dbtrAgt);
//DbtrAgt end
//CdtTrfTxInf
Element cdtTrfTxInf = doc.createElement("CdtTrfTxInf");
//PmtId ,start
Element pmtId = doc.createElement("PmtId");
pmtId.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "InstrId", instrId));//misc_payment.tran_id
pmtId.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "EndToEndId", endToEndId));//misc_payment.tran_id
cdtTrfTxInf.appendChild(pmtId);
//Amt
Element amt = doc.createElement("Amt");
amt.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "InstdAmt", instdAmt));//misc_payment.net_amt__bc
cdtTrfTxInf.appendChild(amt);
//ChqInstr
Element chqInstr = doc.createElement("ChqInstr");
chqInstr.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "ChqNb", chqNb));//misc_payment.ref_no
Element dlvryMtd = doc.createElement("DlvryMtd");
dlvryMtd.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "Prtry", prtry));//misc_payment.pay_type
chqInstr.appendChild(dlvryMtd);
chqInstr.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "FrmsCd", frmsCd));//
cdtTrfTxInf.appendChild(chqInstr);
//Cdtr
Element cdtr = doc.createElement("Cdtr");
cdtr.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "Nm", suppNm));//sundry.chq_name
Element pstlAdr2 = doc.createElement("PstlAdr");
pstlAdr2.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "StrtNm", strtNm));//sundry.addr1||addr2||addr3
pstlAdr2.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "PstCd", pstCd));//sundry.pin
pstlAdr2.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "TwnNm", twnNm));//sundry.city
pstlAdr2.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "CtrySubDvsn", ctrySubDvsn));//sundry.state_code
pstlAdr2.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "Ctry", ""));//sundry.count_code
cdtr.appendChild(pstlAdr2);
Element id1 = doc.createElement("Id");
Element orgId = doc.createElement("OrgId");
Element othr1 = doc.createElement("Othr");
othr1.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "Id", sundryId));//misc_payment.sundry_code
orgId.appendChild(othr1);
id1.appendChild(orgId);
cdtr.appendChild(id1);
cdtTrfTxInf.appendChild(cdtr);
//RmtInf,start
Element rmtInf = doc.createElement("RmtInf");
Element ustrd = doc.createElement("Ustrd");
System.out.println("size is :"+cnt);
for(int j=1; j <= cnt ; j++ )
{
Element strd = doc.createElement("Strd");
Element rfrdDocInf = doc.createElement("RfrdDocInf");
Element tp = doc.createElement("Tp");
Element cdOrPrtry = doc.createElement("CdOrPrtry");
cdOrPrtry.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "Cd", rmtInfoMap.get("cd@"+j)));
tp.appendChild(cdOrPrtry);
rfrdDocInf.appendChild(tp);
rfrdDocInf.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "Nb", rmtInfoMap.get("nb@"+j)));//misc_payables.bill_no
rfrdDocInf.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "RltdDt", rmtInfoMap.get("rltdDt@"+j)));//misc_payables.bill_date
strd.appendChild(rfrdDocInf);
Element rfrdDocAmt = doc.createElement("RfrdDocAmt");
rfrdDocAmt.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "DuePyblAmt", rmtInfoMap.get("duePyblAmt1@"+j)));//misc_paydet.pay_amt
rfrdDocAmt.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "DscntApldAmt", rmtInfoMap.get("dscntApldAmt@"+j)));//misc_paydet.discount_amt
rfrdDocAmt.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "RmtdAmt", rmtInfoMap.get("rmtdAmt@"+j)));//misc_paydet.pay_amt
strd.appendChild(rfrdDocAmt);
/*Attr attr = doc.createAttribute("CCY");
attr.setValue(ccy1);
rfrdDocAmt.setAttributeNode(attr);*/
rfrdDocAmt.setAttribute("CCY", ccy1);
Element cdtrRefInf = doc.createElement("CdtrRefInf");
cdtrRefInf.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "Ref", rmtInfoMap.get("ref@"+j)));
strd.appendChild(cdtrRefInf);
strd.appendChild(getElementValue(doc, cstmrCdtTrfInitn, "AddtlRmtInf", ""));
ustrd.appendChild(strd);
}
//rmtInf.appendChild(ustrd);
rmtInf.appendChild(ustrd);
cdtTrfTxInf.appendChild(rmtInf);
//RmtInf,end
pmtInf.appendChild(cdtTrfTxInf);
//PmtId ,end
cstmrCdtTrfInitn.appendChild(pmtInf);
/*-----------------------Payment Information---------------------------------*/
return cstmrCdtTrfInitn;
}
else
{
System.out.println("Data not found for payment id :"+miscPayId);
Element errorMsg =null;
//Element errorMsg = doc.createElement("Error");
//errorMsg.appendChild(getElementValue(doc, errorMsg, "Data not found", ""));
throw new Exception();
//return errorMsg;
}
}
// utility method to create text node
private static Node getElementValue(Document doc, Element element, String name, String value) {
Element node = doc.createElement(name);
node.appendChild(doc.createTextNode(value));
return node;
}
/*------------added by mahendra dated 24-DEC-2014 for file upload-------------------------*/
private String putFile(String username, String host, String password,String port, String remotefile, String localfile)
{
JSch jsch = new JSch();
Session session = null;
try {
System.out.println("inside putFile ...........");
System.out.println("username :"+username);
System.out.println("host :"+host);
System.out.println("password :"+password);
System.out.println("port :"+port);
System.out.println("remotefile :"+remotefile);
System.out.println("localfile :"+localfile);
//getSession(String username, String host, int port)
session = jsch.getSession(username, host, Integer.parseInt(port));
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword(password);
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
System.out.println("channel success...........");
ChannelSftp sftpChannel = (ChannelSftp) channel;
System.out.println("process starts for upload localfile to remote path.......");
sftpChannel.put(localfile, remotefile);
System.out.println("The first file is uploaded successfully.");
sftpChannel.exit();
session.disconnect();
return "success";
} catch (JSchException e) {
e.printStackTrace();
return "false";
} catch (SftpException e) {
e.printStackTrace();
return "false";
}
}
private void setSFTPConfig()
{
CommonConstants objCommon =new CommonConstants();
GenericUtility genericUtility=GenericUtility.getInstance();
String fileName = null,xmlString = "";
Document dom=null;
String sCurrentLine = "";
//String xmlFile="DDSalesConfig";
System.out.println(" in setSFTPConfig -------------------------");
//String xmlFileName = CommonConstants.APPLICATION_CONTEXT + "setting" + File.separator + "DDSalesConfig.xml";
// String xmlFileName = CommonConstants.APPLICATION_CONTEXT + "setting" + File.separator + "DDSalesConfig.xml";
//fileName = ".." + File.separator + "setting" + File.separator + xmlFile + ".xml";
StringBuilder sb = new StringBuilder();
// System.out.println("xmlFileName-->>["+xmlFileName+"]");
try
{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
dom = db.parse("/IBASEHOME/ibase.xml");
this.pmtRmFilePath = dom.getElementsByTagName("PMT_SFTP_PATH").item(0).getFirstChild().getNodeValue();
System.out.println("pmtRmFilePath :::: "+pmtRmFilePath);
this.locFilePath = dom.getElementsByTagName("PMT_EXPORT_PATH").item(0).getFirstChild().getNodeValue();
System.out.println("LocFilePath :::: "+locFilePath);
this.pmtBackupFilePath = dom.getElementsByTagName("PMT_BACK_PATH").item(0).getFirstChild().getNodeValue();
System.out.println("pmtBackupFilePath :::: "+pmtBackupFilePath);
this.pmtHost = dom.getElementsByTagName("PMT_SFTP_HOST").item(0).getFirstChild().getNodeValue();
System.out.println("pmtHost :::: "+pmtHost);
this.pmtUser = dom.getElementsByTagName("PMT_SFTP_USER").item(0).getFirstChild().getNodeValue();
System.out.println("pmtUser :::: "+pmtUser);
this.pmtPwd = dom.getElementsByTagName("PMT_SFTP_PWD").item(0).getFirstChild().getNodeValue();
System.out.println("pmtPwd :::: "+pmtPwd);
this.pmtPort = dom.getElementsByTagName("PMT_SFTP_PORT").item(0).getFirstChild().getNodeValue();
System.out.println("pmtPort :::: "+pmtPort);
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void moveUploadFile(File src, File dst) throws IOException {
InputStream in = new FileInputStream(src);
OutputStream out = new FileOutputStream(dst);
// Transfer bytes from in to out
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
out.close();
System.out.println("File is copied successful!");
src.delete();
System.out.println("original file delete successful !");
}
private String checkNull(String input)
{
if (input == null)
{
input = "";
}
return input;
}
}
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