Commit 2a6b4470 authored by pchavan's avatar pchavan

Add component for PdcToReceipt Process Screen.

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@186872 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 58d2b1d3
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import javax.ejb.Stateless;
import javax.naming.InitialContext;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import ibase.system.config.AppConnectParm;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.ProcessEJB;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.ITMException;
@Stateless
public class PdcToReceiptPrc extends ProcessEJB implements PdcToReceiptPrcLocal, PdcToReceiptPrcRemote {
UtilMethods utilMethods = new UtilMethods();
FinCommon finCommon = null;
E12GenericUtility genericUtility = null;
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
FinCommon fincomon = new FinCommon();
public String getData(String xmlString, String xmlString2, String windowName, String xtraParams)
throws RemoteException, ITMException {
System.out.println("Calling getData(string, string).....xtraParams[" + xtraParams + "]");
Document dom = null, dom1 = null;
String retString = null;
try {
System.out.println(">>>>>xmlString:getData" + xmlString + ">>>>xmlString2:" + xmlString2);
if (xmlString != null && xmlString.trim().length() != 0) {
genericUtility = new E12GenericUtility();
dom = genericUtility.parseString(xmlString);
}
if (xmlString2 != null && xmlString2.trim().length() != 0) {
genericUtility = new E12GenericUtility();
dom1 = genericUtility.parseString(xmlString2);
}
retString = getData(dom, dom1, windowName, xtraParams);
} catch (Exception e) {
System.out.println(
"Exception : RetainerContractReleasePrc :Process (String xmlString):" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
System.out.println("Returning from Process :: " + retString);
return retString;
}
public String getData(Document dom, Document dom1, String windowName, String xtraParams)
throws RemoteException, ITMException
{
SimpleDateFormat sdf = null;
Connection conn = null;
String errCode = "", siteCode = "", sundryType = "", sundryCode = "", custBankRef = "", sql = "";
String bankCodeDep = "", refNo = "", currCode = "", TranIdPdc = "", val2 = "", val3 = "";
String keystr = "", Tranid = "", refser = "", tranRecRef = "", val = "", val1 = "", nullStr = "";
String refDate = "", refDatePdc = "", tranDate = "", dueDate = "";
double amount = 0, lcExchRate = 0, lcAmtRcv = 0, lcTot = 0, amountPdc = 0, hexchRate = 0, diff = 0, advAmt = 0,
billAmt = 0;
double rows = 0.0, cc = 0.0, cnt = 0.0, row = 0.0 ,diffTot = 0.0;
// datastore lds_rcp, lds_ref ;
String remarks = "", fin = "", bankFr = "", bankTo = "", acctCodeAr = "", cctrCodeAr = "", actCodeAdv = "",
cctrCodeAdv = "", tranType = "";
String dateFr = "", tateTo = "", dateFrTo = "";
java.sql.Timestamp dueDateTo = null, dueDateFrom = null;
double sucess = 0.0, failed = 0.0;
String currCodeBase = "";
String userId = "";
String fromDateStr = "", toDateStr = "", dateLastProcStr = "", errString = "";
String xmlRetString = "";
PreparedStatement pstmt = null, pstmt1 = null, pstmt2 = null;
ResultSet rs = null, rs1 = null, rs2 = null;
try {
conn = getConnection();
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
siteCode = genericUtility.getColumnValue("site_code", dom);
tranType = checkNull(genericUtility.getColumnValue("tran_type", dom));
System.out.println("siteCode------>" + siteCode + " :" + tranType);
if (siteCode == null || siteCode.trim().length() == 0) {
errString = itmDBAccessEJB.getErrorString("", "VMSITECD1", "", "", conn);
return errString;
}
if (siteCode != null && siteCode.trim().length() != 0) {
try {
int count = 0;
sql = "SELECT COUNT(1) AS COUNT FROM SITE WHERE SITE_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode.trim());
rs = pstmt.executeQuery();
if (rs.next()) {
count = rs.getInt("COUNT");
System.out.println("SITE_CODE count is ::- " + count);
}
if (count == 0) {
errCode = "VMSITE1";
errString = itmDBAccessEJB.getErrorString("site_code", errCode, userId, "", conn);
return errString;
}
rs.close();
pstmt.close();
} catch (Exception ex) {
System.out.println("Exception []::" + sql + ex.getMessage());
ex.printStackTrace();
}
}
dateFr = genericUtility.getColumnValue("date__fr", dom);
System.out.println("due_date from is :::" + dateFr);
if (dateFr == null || dateFr.trim().length() == 0) {
dateFr = "";
System.out.println("due_date is null.............");
errString = itmDBAccessEJB.getErrorString("", "INVDT1", "", "", conn);
return errString;
}
dateFr = genericUtility.getValidDateString(dateFr, genericUtility.getApplDateFormat(),
genericUtility.getDBDateFormat());
dueDateFrom = java.sql.Timestamp.valueOf(dateFr + " 00:00:00");
System.out.println("Due Date **..........................**:" + dueDateFrom);
dateFrTo = genericUtility.getColumnValue("date__to", dom);
System.out.println("due_date to is :::" + dateFrTo);
if (dateFrTo == null || dateFrTo.trim().length() == 0) {
dateFrTo = "";
System.out.println("due_date is null.............");
errString = itmDBAccessEJB.getErrorString("", "INVDT1", "", "", conn);
return errString;
}
dateFrTo = genericUtility.getValidDateString(dateFrTo, genericUtility.getApplDateFormat(),
genericUtility.getDBDateFormat());
dueDateTo = java.sql.Timestamp.valueOf(dateFrTo + " 00:00:00");
System.out.println("Due Date to **..........................**:" + dueDateTo);
bankFr = genericUtility.getColumnValue("bank_code__from", dom);
if (bankFr == null || "null".equals(bankFr) || bankFr.trim().length() == 0) {
bankFr = "";
errString = itmDBAccessEJB.getErrorString("", "VTBLNKPRD", "", "", conn);
return errString;
}
bankTo = genericUtility.getColumnValue("bank_code__to", dom);
if (bankTo == null || "null".equals(bankTo) || bankTo.trim().length() == 0) {
bankTo = "";
errString = itmDBAccessEJB.getErrorString("", "VTBLNKPRD", "", "", conn);
return errString;
}
finCommon = new FinCommon();
StringBuffer xmlBuff = new StringBuffer("<?xml version = \"1.0\"?>");
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>");
siteCode = checkNull(genericUtility.getColumnValue("site_code", dom));
bankFr = checkNull(genericUtility.getColumnValue("bank_code__from", dom));
bankTo = checkNull(genericUtility.getColumnValue("bank_code__to", dom));
dateFr = checkNull(genericUtility.getColumnValue("date__fr", dom));
tateTo = checkNull(genericUtility.getColumnValue("date__to", dom));
System.out.println("DOM pARAMETERS " + siteCode);
System.out.println("DOM pARAMETERS " + bankTo);
System.out.println("DOM pARAMETERS " + tateTo);
System.out.println("DOM pARAMETERS " + tranType);
System.out.println("DOM format:toDateStr[" + toDateStr + "]");
// To get Data by passing parameters..
sql = "SELECT tran_id,"
+ " tran_date, "
+ " sundry_type,"
+ " sundry_code, "
+ " ref_no, "
+ " ref_date, "
+ " amount, "
+ " curr_code, "
+ " remarks, "
+ " bank_code__dep, "
+ " status, "
+ " status_date, "
+ " tran_ref_rcv, "
+ " site_code, "
+ " cust_bank_ref, "
+ " tran_ref_rcp, "
+ " adj_amt, "
+ " adv_amt, "
+ " acct_code__adv, "
+ " cctr_code__adv "
+ " FROM pdc_received "
+ " WHERE ( site_code = ? ) AND "
+ " ( bank_code__dep between ? and ? ) AND "
+ " ( REF_DATE between ? and ? ) AND "
+ " ( status = ? ) ";
// sql = sqlStrt1 + sqlend;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
pstmt.setString(2, bankFr);
pstmt.setString(3, bankTo);
pstmt.setTimestamp(4, dueDateFrom);
pstmt.setTimestamp(5, dueDateTo);
//pstmt.setString(4, dateFr);
// pstmt.setString(5, tateTo);
pstmt.setString(6, tranType);
rs = pstmt.executeQuery();
while (rs.next()) {
TranIdPdc = rs.getString("tran_id");
siteCode = rs.getString("site_code");
sundryType = rs.getString("sundry_type");
sundryCode = rs.getString("sundry_code");
custBankRef = rs.getString("cust_bank_ref");
bankCodeDep = rs.getString("bank_code__dep");
refNo = rs.getString("ref_no");
refDatePdc = sdf.format(rs.getTimestamp("ref_date"));
amountPdc = rs.getDouble("amount");
currCode = rs.getString("curr_code");
tranRecRef = rs.getString("tran_ref_rcv");
amount = amountPdc;
advAmt = rs.getDouble("adv_amt");
billAmt = amount - advAmt;
/// pick advance account from PDC
actCodeAdv = rs.getString("acct_code__adv");
cctrCodeAdv = rs.getString("cctr_code__adv");
xmlBuff.append("<Detail2>");
xmlBuff.append("<tran_id>").append("<![CDATA[" + checkNull(TranIdPdc) + "]]>").append("</tran_id>");
xmlBuff.append("<site_code>").append("<![CDATA[" + checkNull(siteCode) + "]]>").append("</site_code>");
xmlBuff.append("<sundry_type>").append("<![CDATA[" + checkNull(sundryType) + "]]>").append("</sundry_type>");
xmlBuff.append("<sundry_code>").append("<![CDATA[" + checkNull(sundryCode) + "]]>").append("</sundry_code>");
xmlBuff.append("<cust_bank_ref>").append("<![CDATA[" + checkNull(custBankRef) + "]]>").append("</cust_bank_ref>");
xmlBuff.append("<bank_code__dep>").append("<![CDATA[" + checkNull(bankCodeDep) + "]]>").append("</bank_code__dep>");
xmlBuff.append("<ref_no>").append("<![CDATA[" + checkNull(refNo) + "]]>").append("</ref_no>");
xmlBuff.append("<ref_date>").append("<![CDATA[" + checkNull(refDatePdc) + "]]>").append("</ref_date>");
xmlBuff.append("<amount>").append("<![CDATA[" + amountPdc + "]]>").append("</amount>");
xmlBuff.append("<curr_code>").append("<![CDATA[" + checkNull(currCode) + "]]>").append("</curr_code>");
xmlBuff.append("<tran_ref_rcv>").append("<![CDATA[" + checkNull(tranRecRef) + "]]>").append("</tran_ref_rcv>");
xmlBuff.append("<adv_amt>").append("<![CDATA[" + advAmt + "]]>").append("</adv_amt>");
xmlBuff.append("<acct_code__adv>").append("<![CDATA[" + checkNull(actCodeAdv) + "]]>").append("</acct_code__adv>");
xmlBuff.append("<cctr_code__adv>").append("<![CDATA[" + checkNull(cctrCodeAdv) + "]]>").append("</cctr_code__adv>");
xmlBuff.append("</Detail2>");
xmlBuff.append("\n");
}
// System.out.println("SQL::["+sql+"]");
pstmt.close();
rs.close();
pstmt = null;
rs = null;
xmlBuff.append("</Header0>\r\n");
xmlBuff.append("</group0>\r\n");
xmlBuff.append("</DocumentRoot>\r\n");
xmlRetString = xmlBuff.toString();
System.out.println("xmlRetString:[" + xmlRetString + "]");
} catch (SQLException se) {
System.out.println(
"SQLException :RetainerContractReleasePrc :getData(Document dom, Document dom2, String winName, String xtraParams):"
+ se.getMessage() + ":");
// this.errString = genericUtility.createErrorString(se);
se.printStackTrace();
throw new ITMException(se);
} catch (Exception e) {
System.out.println(
"Exception :RetainerContractReleasePrc :getData(Document dom, Document dom2, String winName, String xtraParams):"
+ e.getMessage() + ":");
// this.errString = genericUtility.createErrorString(e);
e.printStackTrace();
throw new ITMException(e);
} finally {
try {
if (errString != null && errString.trim().length() > 0) {
conn.rollback();
}
if (conn != null) {
if (rs != null) {
rs.close();
rs = null;
}
if (pstmt != null) {
pstmt.close();
pstmt = null;
}
conn.close();
conn = null;
}
} catch (Exception e) {
}
}
return xmlRetString;
}
public String process(String xmlString, String xmlString2, String windowName, String xtraParams)
throws RemoteException, ITMException {
Document detailDom = null;
Document headerDom = null;
String retStr = "";
try {
if (xmlString != null && xmlString.trim().length() != 0) {
headerDom = genericUtility.parseString(xmlString);
System.out.println("------------------------------------");
System.out.println("headerDom::::[" + headerDom + "]");
}
if (xmlString2 != null && xmlString2.trim().length() != 0) {
detailDom = genericUtility.parseString(xmlString2);
System.out.println("detailDom::::[" + detailDom + "]");
System.out.println("------------------------------------");
}
retStr = process(headerDom, detailDom, windowName, xtraParams);
} catch (Exception e) {
e.printStackTrace();
System.out.println("Exception ::" + e.getMessage());
throw new ITMException(e);
}
return retStr;
}
public String process(Document headerDom, Document detailDom, String windowName, String xtraParams) throws RemoteException,ITMException
{
String tranId = "",siteCode = "",sundryType = "",sundryCode = "",custBankRef ="" ,sql="" ;
String bankCodeDep = "",refNo = "",currCode = "",TranIdPdc = "",val2 = "",val3 = "" ;
String Tranid = "",tranRecRef="",val = "",val1 = "",nullStr = "" ;
String refDatePdc = "",dueDate = "",refDate="" ;
double amount =0.0, amountPdc=0.0, billAmt=0.0 ,advAmt = 0.0;
double rows = 0.0, cc = 0.0,cnt = 0.0,row = 0.0 ,diff = 0.0 ,diffTot=0.0 ;
String remarks ="", fin ="", bankFr ="", bankTo = "", acctCodeAr = "",
cctrCodeAr ="", actCodeAdv ="", cctrCodeAdv ="", tranType = "" ;
String dateFr = "", tateTo ="" ,dateFrTo="";
java.sql.Timestamp dueDateTo = null ,dueDateFrom = null;
double sucess = 0.0, failed = 0.0,amountDet =0.0 ,exchRateDet=0.0;
String currCodeBase ="" ,refSerDet ="" ,refNoDet ="" ,dueDateDet ="",currCodeDet ="", amountBc="",acctCodeDet ="",cctrCodeDet ="",lineNo="";
String finEntity = "";
int lineNumber = 0;
int updCnt = 0;
int parentNodeListLength = 0;
int childNodeListLength = 0;
SimpleDateFormat sdf = null ;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
boolean flag = false;
Timestamp tranDate = null;
Timestamp refDateDet = null;
Connection conn = null;
String fromDateStr = "", refDateDet1="",toDateStr = "", dateLastProcStr = "",errString = "",sTranDate="";
String xmlRetString = "";
double exchRate=0.0;
PreparedStatement pstmt = null, pstmt1 = null, pstmt2 = null;
ResultSet rs = null, rs1 = null, rs2 = null;
try
{
conn = getConnection();
StringBuffer xmlBuff = new StringBuffer();
sdf=new SimpleDateFormat(genericUtility.getApplDateFormat());
sTranDate = checkNull(genericUtility.getColumnValue("tran_date", headerDom));
if(sTranDate != null && sTranDate.trim().length() > 0)
{
tranDate = Timestamp.valueOf(genericUtility.getValidDateString(sTranDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
}
parentNodeList = detailDom.getElementsByTagName("Detail2");
parentNodeListLength = parentNodeList.getLength();
System.out.println("ParentNodeListLength ..........."+parentNodeListLength);
for (int selectedRow = 0; selectedRow < parentNodeListLength; selectedRow++)
{
parentNode = parentNodeList.item(selectedRow);
TranIdPdc = checkNull(genericUtility.getColumnValueFromNode("tran_id", parentNode));
siteCode=checkNull(genericUtility.getColumnValueFromNode("site_code", parentNode));
sundryType=checkNull(genericUtility.getColumnValueFromNode("sundry_type", parentNode));
sundryCode=checkNull(genericUtility.getColumnValueFromNode("sundry_code", parentNode));
custBankRef=checkNull(genericUtility.getColumnValueFromNode("cust_bank_ref", parentNode));
bankCodeDep=checkNull(genericUtility.getColumnValueFromNode("bank_code__dep", parentNode));
refNo=checkNull(genericUtility.getColumnValueFromNode("ref_no", parentNode));
refDate=checkNull(genericUtility.getColumnValueFromNode("ref_date", parentNode));
System.out.println("siteCode------>" + siteCode + " :" + TranIdPdc);
System.out.println("refDate..........................**:"+refDate);
if(refDatePdc != null)
{
refDatePdc = (genericUtility.getValidDateString(refDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()));
System.out.println("refDatePdc..........................**:"+refDatePdc);
refDateDet = java.sql.Timestamp.valueOf(refDatePdc + " 00:00:00");
System.out.println("refDateDet 2..........................**:"+refDateDet);
System.out.println("Due Date **..........................**:"+refDateDet);
}
amountPdc=Double.parseDouble(genericUtility.getColumnValueFromNode("amount", parentNode));
amount = amountPdc;
currCode = checkNull(genericUtility.getColumnValueFromNode("curr_code", parentNode));
tranRecRef = genericUtility.getColumnValueFromNode("tran_ref_rcv", parentNode);
advAmt = Double.parseDouble(genericUtility.getColumnValueFromNode("adv_amt", parentNode));
actCodeAdv = checkNull(genericUtility.getColumnValueFromNode("acct_code__adv", parentNode));
cctrCodeAdv = checkNull(genericUtility.getColumnValueFromNode("cctr_code__adv", parentNode));
billAmt = amount - advAmt;
// when sundry type equals "C"
if ("C".equalsIgnoreCase(sundryType))
{
// get fin entity
System.out.println("WHEN SUNDRY TYPE IS CUSTOMER ");
sql = "select fin_entity from site where site_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
rs = pstmt.executeQuery();
if (rs.next())
{
finEntity = rs.getString("fin_entity");
}
if(finEntity == null || finEntity.equals("null") || finEntity.trim().length() == 0 )
{
finEntity = "";
System.out.println("finEntity is null.............");
errString = itmDBAccessEJB.getErrorString("","DS000","","",conn);
return errString;
}
pstmt.close();
rs.close();
pstmt = null;
rs = null;
tranDate = refDateDet ;
//get Bank Account
sql = " select acct_code__bal, cctr_code__bal, acct_code__cf, cctr_code__cf from bank where bank_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, bankCodeDep);
rs = pstmt.executeQuery();
if (rs.next())
{
val = rs.getString("acct_code__bal");
val1 = rs.getString("cctr_code__bal");
val2 = rs.getString("acct_code__cf");
val3 = rs.getString("cctr_code__cf");
}
else
{
errString = itmDBAccessEJB.getErrorString("","DS000","","",conn);
return errString;
}
pstmt.close();
rs.close();
pstmt = null;
rs = null;
sql="SELECT acct_code__ar, cctr_code__ar FROM customer WHERE cust_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sundryCode);
rs = pstmt.executeQuery();
if (rs.next())
{
acctCodeAr = rs.getString("acct_code__ar");
cctrCodeAr = rs.getString("cctr_code__ar");
}
else
{
errString = itmDBAccessEJB.getErrorString("","DS000","","",conn);
pstmt.close();
rs.close();
pstmt = null;
rs = null;
return errString;
}
pstmt.close();
rs.close();
pstmt = null;
rs = null;
//GET CURRENCY
sql="select curr_code from finent where fin_entity = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, finEntity);
rs = pstmt.executeQuery();
if (rs.next())
{
currCodeBase = rs.getString("curr_code");
}
if(currCodeBase == null || "null".equals(currCodeBase) || currCodeBase.trim().length() == 0 )
{
currCode = "";
System.out.println("finEntity is null.............");
errString = itmDBAccessEJB.getErrorString("","DS000","","",conn);
return errString;
}
pstmt.close();
rs.close();
pstmt = null;
rs = null;
//Exchange Rate..
exchRate = fincomon.getDailyExchRateSellBuy(currCode, currCodeBase, siteCode, refDate, "S",conn);
System.out.println("exchRate : " +exchRate);
//Remark
remarks = "Receipt against PDC recd no:" +TranIdPdc ;
//set tran type value
if(tranType == null || "null".equals(tranType) || tranType.trim().length() == 0)
{
tranType = "PDC";
}
//INSERT INTO RECEIPT
xmlBuff.append("<?xml version='1.0' encoding='ISO-8859-1'?><DocumentRoot>");
xmlBuff.append("<description>Datawindow Root</description>");
xmlBuff.append("<group0>");
xmlBuff.append("<description>Group0 description</description>");
xmlBuff.append("<Header0>");
xmlBuff.append("<objName><![CDATA[").append("receipt").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>Header0 members</description>");
xmlBuff.append("<Detail1 dbID=\"\" domID=\"1\" objContext=\"1\" objName=\"receipt\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" tranType=\"N\" updateFlag=\"A\"/>");
xmlBuff.append("<receipt/>");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<tran_type>").append("<![CDATA[" + checkNull(tranType) +"]]>").append("</tran_type>");
xmlBuff.append("<tran_date>").append("<![CDATA[" + sdf.format(tranDate) +"]]>").append("</tran_date>");
xmlBuff.append("<site_code>").append("<![CDATA[" + checkNull(siteCode) +"]]>").append("</site_code>");
xmlBuff.append("<sundry_type>").append("<![CDATA[" + checkNull(sundryType) +"]]>").append("</sundry_type>");
xmlBuff.append("<remarks>").append("<![CDATA[" + checkNull(remarks) +"]]>").append("</remarks>");
xmlBuff.append("<sundry_code>").append("<![CDATA[" + checkNull(sundryCode) +"]]>").append("</sundry_code>");
xmlBuff.append("<exch_rate>").append("<![CDATA[" + (exchRate) +"]]>").append("</exch_rate>");
xmlBuff.append("<cust_bank_ref>").append("<![CDATA[" + checkNull(custBankRef) +"]]>").append("</cust_bank_ref>");
xmlBuff.append("<bank_code>").append("<![CDATA[" + checkNull(bankCodeDep) +"]]>").append("</bank_code>");
xmlBuff.append("<ref_no>").append("<![CDATA[" + checkNull(refNo) +"]]>").append("</ref_no>");
xmlBuff.append("<ref_date>").append("<![CDATA[" + sdf.format(refDateDet) +"]]>").append("</ref_date>");
xmlBuff.append("<amount>").append("<![CDATA[" + amountPdc +"]]>").append("</amount>");
xmlBuff.append("<curr_code>").append("<![CDATA[" + checkNull(currCode) +"]]>").append("</curr_code>");
xmlBuff.append("<tran_ref_rcv>").append("<![CDATA[" + checkNull(tranRecRef) +"]]>").append("</tran_ref_rcv>");
xmlBuff.append("<adv_amt>").append("<![CDATA[" + advAmt +"]]>").append("</adv_amt>");
xmlBuff.append("<fin_entity>").append("<![CDATA[" + checkNull(finEntity) +"]]>").append("</fin_entity>");
xmlBuff.append("<acct_code__bal>").append("<![CDATA[" + checkNull(val) +"]]>").append("</acct_code__bal>");
xmlBuff.append("<cctr_code__bal>").append("<![CDATA[" + checkNull(val1) +"]]>").append("</cctr_code__bal>");
xmlBuff.append("<acct_code__cf>").append("<![CDATA[" + checkNull(val2) +"]]>").append("</acct_code__cf>");
xmlBuff.append("<cctr_code__cf>").append("<![CDATA[" + checkNull(val3) +"]]>").append("</cctr_code__cf>");
xmlBuff.append("<acct_code__ar>").append("<![CDATA[" + checkNull(acctCodeAr) +"]]>").append("</acct_code__ar>");
xmlBuff.append("<ctr_code__ar>").append("<![CDATA[" + checkNull(cctrCodeAr) +"]]>").append("</ctr_code__ar>");
xmlBuff.append("<acct_code__adv>").append("<![CDATA[" + checkNull(actCodeAdv) +"]]>").append("</acct_code__adv>");
xmlBuff.append("<cctr_code__adv>").append("<![CDATA[" + checkNull(cctrCodeAdv) +"]]>").append("</cctr_code__adv>");
xmlBuff.append("<rcp_mode>").append("<![CDATA[" + "Q"+"]]>").append("</rcp_mode>");
xmlBuff.append("<net_amt__bc>").append("<![CDATA[" + "0.00" +"]]>").append("</net_amt__bc>");
xmlBuff.append("<cust_code>").append("<![CDATA[" + checkNull(sundryCode) +"]]>").append("</cust_code>");
xmlBuff.append("<confirmed>").append("<![CDATA[" + "N" +"]]>").append("</confirmed>");
xmlBuff.append("<auto_recd>").append("<![CDATA[" + "N" +"]]>").append("</auto_recd>");
xmlBuff.append("<bill_amt>").append("<![CDATA[" + (billAmt) +"]]>").append("</bill_amt>");
xmlBuff.append("<eff_date>").append("<![CDATA[" + sdf.format(refDateDet) +"]]>").append("</eff_date>");
xmlBuff.append("<chq_amt>").append("<![CDATA[" + "0" +"]]>").append("</chq_amt>");
xmlBuff.append("<bill_disc_amt>").append("<![CDATA[" + "0" +"]]>").append("</bill_disc_amt>");
xmlBuff.append("<efundadj_amt>").append("<![CDATA[" + "0" +"]]>").append("</efundadj_amt>");
xmlBuff.append("<oth_amt>").append("<![CDATA[" + "0" +"]]>").append("</oth_amt>");
xmlBuff.append("<advadj_amt>").append("<![CDATA[" + "0" +"]]>").append("</advadj_amt>");
xmlBuff.append("</Detail1>");
xmlBuff.append("\n");
System.out.println("Before Insert data");
int lineNoCount = 0;
//INSERT INTO RECEIPT DETTAIL...
sql = " SELECT pdc_recdet.tran_id,"+
" pdc_recdet.ref_ser, "+
" pdc_recdet.ref_no, "+
" pdc_recdet.due_date,"+
" pdc_recdet.curr_code,"+
" pdc_recdet.exch_rate, "+
" pdc_recdet.amount, "+
" pdc_recdet.amount__bc, "+
" currency.descr, "+
" pdc_recdet.acct_code, "+
" pdc_recdet.cctr_code, "+
" pdc_recdet.ref_date, "+
" pdc_recdet.line_no "+
" FROM pdc_recdet, "+
" currency "+
" WHERE ( pdc_recdet.curr_code = currency.curr_code ) and "+
" ( ( pdc_recdet.tran_id = ? ) ) ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, TranIdPdc);
rs = pstmt.executeQuery();
while(rs.next())
{
TranIdPdc = rs.getString("tran_id");
refSerDet = rs.getString("ref_ser");
refNoDet = rs.getString("ref_no");
dueDateDet = sdf.format(rs.getTimestamp("due_date"));
currCodeDet = checkNull(rs.getString("curr_code"));
exchRateDet = (rs.getDouble("exch_rate"));
amountDet = (rs.getDouble("amount"));
amountBc = checkNull(rs.getString("amount__bc"));
acctCodeDet = checkNull(rs.getString("acct_code"));
cctrCodeDet = checkNull(rs.getString("cctr_code"));
refDateDet1 = sdf.format( rs.getTimestamp("ref_date"));
lineNo = checkNull(rs.getString("line_no"));
diff = (amountDet * exchRateDet) - (amountDet * exchRate) ;
lineNoCount++;
xmlBuff.append("<Detail2 dbID=\"\" domID=\""+lineNoCount+"\" objContext=\"2\" objName=\"receipt\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" tranType=\"N\" updateFlag=\"A\"/>");
xmlBuff.append("<receipt/>");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<line_no>").append("<![CDATA[" + lineNoCount+ "]]>").append("</line_no>");
xmlBuff.append("<ref_ser>").append("<![CDATA[" + refSerDet + "]]>").append("</ref_ser>");
xmlBuff.append("<ref_no>").append("<![CDATA[" + refNoDet + "]]>").append("</ref_no>");
xmlBuff.append("<due_date>").append("<![CDATA[" + dueDateDet + "]]>").append("</due_date>");
xmlBuff.append("<curr_code>").append("<![CDATA[" +currCodeDet + "]]>").append("</curr_code>");
xmlBuff.append("<exch_rate>").append("<![CDATA[" + exchRate + "]]>").append("</exch_rate>");
xmlBuff.append("<acct_code>").append("<![CDATA[" + acctCodeDet + "]]>").append("</acct_code>");
xmlBuff.append("<exch_rate__rcv>").append("<![CDATA[" + exchRateDet + "]]>").append("</exch_rate__rcv>");
xmlBuff.append("<net_amt>").append("<![CDATA[" + amountDet + "]]>").append("</net_amt>");
xmlBuff.append("<rcp_amt>").append("<![CDATA[" + amountDet + "]]>").append("</rcp_amt>");
xmlBuff.append("<cust_code>").append("<![CDATA[" + sundryCode + "]]>").append("</cust_code>");
xmlBuff.append("<acct_code__ar>").append("<![CDATA[" + acctCodeDet + "]]>").append("</acct_code__ar>");
xmlBuff.append("<cctr_code__ar>").append("<![CDATA[" + cctrCodeDet + "]]>").append("</cctr_code__ar>");
xmlBuff.append("<diff_amt__exch>").append("<![CDATA[" + diff + "]]>").append("</diff_amt__exch>");
xmlBuff.append("<disc_amt>").append("<![CDATA[" + "0" + "]]>").append("</disc_amt>");
xmlBuff.append("<tax_amt>").append("<![CDATA[" + "0" + "]]>").append("</tax_amt>");
xmlBuff.append("<line_no__ref>").append("<![CDATA[" + lineNoCount + "]]>").append("</line_no__ref>");
xmlBuff.append("</Detail2>");
xmlBuff.append("\n");
billAmt = billAmt + amount;
}
rs.close();
rs = null;
pstmt.close();
pstmt =null;
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
xmlRetString=xmlBuff.toString();
System.out.println("xmlRetString:["+xmlRetString+"]");
String loginSite = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
errString = saveData(loginSite, xmlRetString, xtraParams, conn);
System.out.println("After Saving record errorString--->>["+errString+"]");
if (errString.indexOf("Success") > -1)
{
String[] arrayForTranIdIssue = errString.split("<TranID>");
int endIndexIssue = arrayForTranIdIssue[1].indexOf("</TranID>");
tranId = arrayForTranIdIssue[1].substring(0, endIndexIssue);
System.out.println("@V@ Tran id :- ");
if (cnt == 0)
{
}
}//Exist if result of process is 1.
//update receipt sql
diffTot = diffTot + diff ;
sql = "update receipt set diff_amt__exch = ? where TRAN_ID = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1, diffTot);
pstmt.setString(2, tranId);
rs = pstmt.executeQuery();
pstmt.close();
pstmt = null;
if(errString != null && errString.trim().length() > 0)
{
errString = itmDBAccessEJB.getErrorString("","VTCOMPL","","",conn);
conn.commit();
System.out.println("Commited!!");
}
else
{
return errString;
}
}
//Insert into Misc Tables
else
{
System.out.println("WHEN SUNDRY TYPE IS NOT CUSTOMER ");
// get fin entity
sql = "select fin_entity from site where site_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
rs = pstmt.executeQuery();
if (rs.next())
{
finEntity = rs.getString("fin_entity");
}
if(finEntity == null || "null".equals(finEntity) || finEntity.trim().length() == 0 )
{
finEntity = "";
System.out.println("finEntity is null.............");
errString = itmDBAccessEJB.getErrorString("","DS000","","",conn);
return errString;
}
pstmt.close();
rs.close();
pstmt = null;
rs = null;
//get Bank Account
sql = " select acct_code__bal, cctr_code__bal from bank where bank_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, bankCodeDep);
rs = pstmt.executeQuery();
if (rs.next())
{
val = checkNull(rs.getString("acct_code__bal"));
val1 = checkNull(rs.getString("cctr_code__bal"));
}
pstmt.close();
rs.close();
pstmt = null;
rs = null;
//Remark
remarks = "Auto Misc Receipt generated for PDC";
//set tran type value
if(tranType == null || "null".equals(tranType) || tranType.trim().length() == 0)
{
tranType = "PDC";
}
//INSERT INTO misc_rcp
xmlBuff.append("<?xml version='1.0' encoding='ISO-8859-1'?><DocumentRoot>");
xmlBuff.append("<description>Datawindow Root</description>");
xmlBuff.append("<group0>");
xmlBuff.append("<description>Group0 description</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>Header0 members</description>");
xmlBuff.append("<Detail1 dbID=\"\" domID=\"1\" objContext=\"1\" objName=\"misc_rcp\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" tranType=\"N\" updateFlag=\"A\"/>");
xmlBuff.append("<misc_rcp/>");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<tran_type>").append("<![CDATA[" + checkNull(tranType) +"]]>").append("</tran_type>");
xmlBuff.append("<rcp_mode>").append("<![CDATA[" + "Q"+"]]>").append("</rcp_mode>");
xmlBuff.append("<bank_code>").append("<![CDATA[" + checkNull(bankCodeDep) +"]]>").append("</bank_code>");
xmlBuff.append("<ref_no>").append("<![CDATA[" + checkNull(refNo) +"]]>").append("</ref_no>");
xmlBuff.append("<ref_date>").append("<![CDATA[" +sdf.format( refDateDet) +"]]>").append("</ref_date>");
xmlBuff.append("<net_amt>").append("<![CDATA[" + (amount) +"]]>").append("</net_amt>");
xmlBuff.append("<remarks>").append("<![CDATA[" + checkNull(remarks) +"]]>").append("</remarks>");
xmlBuff.append("<curr_code>").append("<![CDATA[" + checkNull(currCode) +"]]>").append("</curr_code>");
xmlBuff.append("<exch_rate>").append("<![CDATA[" + "1.00" +"]]>").append("</exch_rate>");
xmlBuff.append("<net_amt__bc>").append("<![CDATA[" + (amount) +"]]>").append("</net_amt__bc>");
xmlBuff.append("<fin_entity>").append("<![CDATA[" + checkNull(finEntity) +"]]>").append("</fin_entity>");
xmlBuff.append("<acct_code__bal>").append("<![CDATA[" + checkNull(val) +"]]>").append("</acct_code__bal>");
xmlBuff.append("<cctr_code__bal>").append("<![CDATA[" + checkNull(val1) +"]]>").append("</cctr_code__bal>");
xmlBuff.append("<confirmed>").append("<![CDATA[" + "N"+"]]>").append("</confirmed>");
xmlBuff.append("<site_code>").append("<![CDATA[" + checkNull(siteCode) +"]]>").append("</site_code>");
xmlBuff.append("<tran_date>").append("<![CDATA[" + sdf.format(refDateDet) +"]]>").append("</tran_date>");
xmlBuff.append("<sundry_code>").append("<![CDATA[" + checkNull(sundryCode) +"]]>").append("</sundry_code>");
xmlBuff.append("<sundry_type>").append("<![CDATA[" + "PDC" +"]]>").append("</sundry_type>");
xmlBuff.append("<eff_date>").append("<![CDATA[" + sdf.format(refDateDet) +"]]>").append("</eff_date>");
xmlBuff.append("<party_bank_ref>").append("<![CDATA[" + checkNull(siteCode) +"]]>").append("</party_bank_ref>");
xmlBuff.append("<conf_date>").append("<![CDATA[" + sdf.format(refDateDet) +"]]>").append("</conf_date>");
xmlBuff.append("<adj_amt>").append("<![CDATA[" + "0.00" +"]]>").append("</adj_amt>");
xmlBuff.append("</Detail1>");
xmlBuff.append("\n");
val = "" ;
val1 = "" ;
val2 = "" ;
xmlBuff.append("<Detail2 dbID=\"\" domID=\"1\" objContext=\"2\" objName=\"misc_rcp\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" tranType=\"N\" updateFlag=\"A\"/>");
xmlBuff.append("<misc_rcp/>");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<line_no>").append("<![CDATA[" + "1"+ "]]>").append("</line_no>");
xmlBuff.append("<acct_code>").append("<![CDATA[" + val + "]]>").append("</acct_code>");
xmlBuff.append("<cctr_code>").append("<![CDATA[" + val1 + "]]>").append("</cctr_code>");
xmlBuff.append("<amount>").append("<![CDATA[" + amount + "]]>").append("</amount>");
xmlBuff.append("<remarks>").append("<![CDATA[" + remarks + "]]>").append("</remarks>");
xmlBuff.append("<sundry_type>").append("<![CDATA[" +"O" + "]]>").append("</sundry_type>");
xmlBuff.append("</Detail2>");
xmlBuff.append("\n");
billAmt = billAmt + amount;
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
xmlRetString=xmlBuff.toString();
System.out.println("xmlRetString:["+xmlRetString+"]");
String loginSite = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
errString = saveData(loginSite, xmlRetString, xtraParams, conn);
System.out.println("After Saving record errorString--->>["+errString+"]");
if (errString.indexOf("Success") > -1)
{
String[] arrayForTranIdIssue = errString.split("<TranID>");
int endIndexIssue = arrayForTranIdIssue[1].indexOf("</TranID>");
tranId = arrayForTranIdIssue[1].substring(0, endIndexIssue);
System.out.println("@V@ Tran id :- ");
}//Exist if result of process is 1.
}
if(errString ==null || errString.trim().length() == 0)
{
sql = "update pdc_received set status = 'P',tran_ref_rcp = ? where TRAN_ID = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
pstmt.setString(2, TranIdPdc);
rs = pstmt.executeQuery();
pstmt.close();
pstmt = null;
errString = itmDBAccessEJB.getErrorString("","VTCOMPL","","",conn);
conn.commit();
System.out.println("Commited!!");
}
else
{
return errString;
}
} //end of loop
}
catch(Exception e)
{
System.out.println("Exception :PeriodStatUdpPrcEJB ::" + e.getMessage() + ":");
e.printStackTrace();
System.out.println("Exception :saveData :saveData :==>");
try
{
conn.rollback();
} catch (Exception d)
{
System.out.println("Exception : pay_rec_xfer =>"+ d.toString());
d.printStackTrace();
d.printStackTrace();
errString = d.getMessage();
throw new ITMException(d);
}
throw new ITMException(e);
}
finally
{
System.out.println("Closing Connection....");
try
{
conn.close();
conn = null;
}
catch(Exception se)
{
}
}
System.out.println("errString: "+errString);
return errString;
}
private String checkNull(String input) {
if (input == null)
{
input = "";
}
return input;
}
private String saveData(String siteCode, String xmlString, String xtraParams, Connection conn) throws ITMException {
System.out.println("saving data...........");
InitialContext ctx = null;
String retString = null;
MasterStatefulLocal masterStateful = null; // for ejb3
ibase.utility.UserInfoBean userInfo = new UserInfoBean();
String chgUser = "", chgTerm = "";
String loginCode = "", loginEmpCode = "", loginSiteCode = "";
E12GenericUtility genericUtility = new E12GenericUtility();
try {
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
masterStateful = (MasterStatefulLocal) ctx.lookup("ibase/MasterStatefulEJB/local");
chgUser = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgUser");
chgTerm = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgTerm");
loginCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
loginEmpCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode");
loginSiteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
userInfo.setEmpCode(loginEmpCode);
userInfo.setRemoteHost(chgTerm);
userInfo.setSiteCode(loginSiteCode);
userInfo.setLoginCode(loginCode);
userInfo.setEntityCode(loginEmpCode);
String[] authencate = new String[2];
authencate[0] = loginCode;
authencate[1] = "";
retString = masterStateful.processRequest(authencate, siteCode, true, xmlString, true, conn);
} catch (ITMException e) {
e.printStackTrace();
System.out.println("Exception ::" + e.getMessage());
throw new ITMException(e);
} catch (Exception e) {
e.printStackTrace();
System.out.println("Exception :saveData :saveData :==>");
throw new ITMException(e);
}
return retString;
}
}
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import org.w3c.dom.Document;
import ibase.webitm.ejb.ProcessLocal;
import ibase.webitm.utility.ITMException;
public interface PdcToReceiptPrcLocal extends ProcessLocal
{
public String process() throws RemoteException,ITMException;
public String process(Document dom, Document dom2, String windowName, String xtraParams) throws RemoteException,ITMException;
public String process(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException;
public String getData(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException;
public String getData(Document dom, Document dom2, String windowNamem, String xtraParams) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import org.w3c.dom.Document;
import ibase.webitm.ejb.ProcessRemote;
import ibase.webitm.utility.ITMException;
public interface PdcToReceiptPrcRemote extends ProcessRemote
{
public String process() throws RemoteException,ITMException;
public String process(Document dom, Document dom2, String windowName, String xtraParams) throws RemoteException,ITMException;
public String process(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException;
public String getData(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException;
public String getData(Document dom, Document dom2, String windowNamem, String xtraParams) throws RemoteException,ITMException;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment