Commit 3b177ffb authored by ngadkari's avatar ngadkari

NEW Rec_Pay transaction screen

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@191269 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 50f92c0e
......@@ -29,7 +29,205 @@ public class PayRecXfrIC extends ValidatorEJB implements PayRecXfrICRemote, PayR
E12GenericUtility genericUtility = new E12GenericUtility();
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
Document dom = null;
Document dom1 = null;
Document dom2 = null;
String retString = "";
try
{
if(xmlString != null && xmlString.trim().length() > 0)
{
dom = genericUtility.parseString(xmlString);
}
if(xmlString1 != null && xmlString1.trim().length() > 0)
{
dom1 = genericUtility.parseString(xmlString1);
}
if(xmlString2 != null && xmlString2.trim().length() > 0)
{
dom2 = genericUtility.parseString(xmlString2);
}
retString = wfValData(dom, dom1, dom2, objContext, editFlag, xtraParams);
System.out.println("retString:::"+retString);
}
catch(Exception e)
{
System.out.println("Exception in PayRecXfrIC wfValData :: " + getClass().getSimpleName() + "::"+ e.getMessage());
e.printStackTrace();
throw new ITMException(e);
}
return retString;
}
/**
* The public overloaded method takes a document as input and is used for the validation of required fields
* Returns validation string if exist otherwise returns null in XML format
* @param currFormDataDom contains the current form data as a document object model
* @param hdrDataDom contains all the header information
* @param allFormDataDom contains the field data of all the forms
* @param objContext represents form number
* @param editFlag represents the mode of transaction(A-Add or E-Edit)
* @param xtraParams contains additional information such as loginEmpCode,loginCode,chgTerm etc
*/
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
System.out.println("******* Inside PayRecXfrIC wfValData **********");
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
Connection conn = null;
E12GenericUtility genericUtility;
String errString = "", userId = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
try
{
int currentFormNo = 0, childNodeListLength = 0, ctr = 0, cnt = 0;
String childNodeName = "", errorType = "", errCode = "";
String saleOrder="", sundryCodeFr = "",sundryCodeTo = "";
ArrayList<String> errList = new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
conn = getConnection();
genericUtility = new E12GenericUtility();
//SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
//System.out.println("xtraParam----->>["+xtraParams+"]");
//System.out.println("editFlag ------------>>["+editFlag+"]");
if (objContext != null && objContext.trim().length() > 0)
{
currentFormNo = Integer.parseInt(objContext);
}
switch (currentFormNo)
{
case 1:
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for (ctr = 0; ctr < childNodeListLength; ctr++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if (childNodeName.equalsIgnoreCase("sundry_code__fr"))
{
sundryCodeFr = checkNull(genericUtility.getColumnValue("sundry_code__fr", dom));
if (sundryCodeFr == null || sundryCodeFr.trim().length() == 0)
{
errList.add("VTSUPPNULL");
errFields.add(childNodeName.toLowerCase());
}
else if (sundryCodeFr != null && sundryCodeFr.trim().length() > 0)
{
sql = "SELECT COUNT(*) AS cnt FROM SUPPLIER WHERE SUPP_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sundryCodeFr);
rs = pstmt.executeQuery();
if (rs.next())
{
cnt = rs.getInt("cnt");
}
pstmt.close();
rs.close();
pstmt = null;
rs = null;
if (cnt == 0)
{
errList.add("VMSUP1");
errFields.add(childNodeName.toLowerCase());
}
}
}
else if (childNodeName.equalsIgnoreCase("sundry_code__to"))
{
sundryCodeFr = checkNull(genericUtility.getColumnValue("sundry_code__fr", dom));
sundryCodeTo = checkNull(genericUtility.getColumnValue("sundry_code__to", dom));
if (sundryCodeTo == null || sundryCodeTo.trim().length() == 0)
{
errList.add("VTSUPPNULL");
errFields.add(childNodeName.toLowerCase());
}
else if (!sundryCodeTo.trim().equals(sundryCodeFr.trim()))
{
errList.add("VMSUPPMIS");
errFields.add(childNodeName.toLowerCase());
}
}
//end
}//end of for loop
break;// end of switch
}// end of switch
int errListSize = errList.size();
int count = 0;
String errFldName = null;
if (errList != null && errListSize > 0)
{
for (count = 0; count < errListSize; count++) {
errCode = errList.get(count);
errFldName = errFields.get(count);
System.out.println(" testing :errCode .:" + errCode);
errString = getErrorString(errFldName, errCode, userId);
errorType = errorType(conn, errCode);
if (errString.length() > 0) {
String bifurErrString = errString.substring(errString.indexOf("<Errors>") + 8,
errString.indexOf("<trace>"));
bifurErrString = bifurErrString + errString.substring(errString.indexOf("</trace>") + 8,
errString.indexOf("</Errors>"));
errStringXml.append(bifurErrString);
errString = "";
}
if (errorType.equalsIgnoreCase("E")) {
break;
}
}
errList.clear();
errList = null;
errFields.clear();
errFields = null;
errStringXml.append("</Errors> </Root> \r\n");
} else {
errStringXml = new StringBuffer("");
}
}catch ( Exception e )
{
System.out.println ( "Exception: RecPayXfrIC: wfValData( Document currFormDataDom ): " + e.getMessage() + ":" );
e.printStackTrace();
throw new ITMException(e);
}finally
{
try
{
if(conn != null)
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
conn.close();
}
conn = null;
}
catch(Exception d)
{
d.printStackTrace();
throw new ITMException(d);
}
}
return errStringXml.toString();
}
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException
{
Document dom = null;
......@@ -110,9 +308,9 @@ public class PayRecXfrIC extends ValidatorEJB implements PayRecXfrICRemote, PayR
System.out.println("----------- inside itm_default ---------------");
valueXmlString.append("<site_code>").append("<![CDATA[" + loginSite + "]]>").append("</site_code>");
valueXmlString.append("<tran_date>").append("<![CDATA[" + dateNow + "]]>").append("</tran_date>");
valueXmlString.append("<sundry_code__fr>").append("<![CDATA[" + ("00") + "]]>").append("</sundry_code__fr>");
/*valueXmlString.append("<sundry_code__fr>").append("<![CDATA[" + ("00") + "]]>").append("</sundry_code__fr>");
valueXmlString.append("<sundry_code__to>").append("<![CDATA[" + ("ZZ") + "]]>").append("</sundry_code__to>");
*/
}
valueXmlString.append("</Detail1>");
......
......@@ -4,7 +4,6 @@ import java.rmi.RemoteException;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.sql.*;
import ibase.system.config.AppConnectParm;
import javax.ejb.Stateless;
import javax.naming.InitialContext;
......@@ -18,6 +17,7 @@ import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ProcessEJB;
import ibase.webitm.ejb.fin.adv.RecPayTrfConf;
import ibase.webitm.ejb.fin.PayRecXfrPrcRemote;
import ibase.webitm.ejb.fin.PayRecXfrPrcLocal;
import ibase.webitm.utility.ITMException;
......@@ -382,13 +382,13 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
String siteCode = "",loginSite="";
String stringxmlInvString = "";
String custCode = "",suppName="",tranSer="",sTranDate="",refNo="",sRefDate="",sTotAmt="",sAdjAmt="",acctCode="";
String custCode = "",sundryCode="",tranSer="",sTranDate="",refNo="",sRefDate="",sTotAmt="",sAdjAmt="",acctCode="",status="";
String cctrCode = "",currCode="",sExchRate="",sDueDate="",finEntity="",bankCode="",refSerPay="",keyString="",recvTranID="";
double totAmt=0,adjAmt=0,fTotAmt=0,fAdjAmt=0,exchRate=0;
double totAmt=0,adjAmt=0,fTotAmt=0,fAdjAmt=0,trfAmt=0;
String errCode = "";
String errString = "";
String insertSql = "",sql="";
String drawnAt = null;
String tranId = null;
Connection conn = null;
Statement st = null;
PreparedStatement pstmt = null;
......@@ -397,8 +397,8 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
Timestamp dueDate = null;
Timestamp refDate = null;
Timestamp statDate = null;
int lineNumber = 0;
StringBuffer xmlBuff = null;
int lineNo = 0;
int updCnt = 0,cnt=0;
int parentNodeListLength = 0;
int childNodeListLength = 0;
......@@ -415,7 +415,9 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
{
conn = getConnection();
sTranDate = checkNull(genericUtility.getColumnValue("tran_date", headerDom));
sTranDate = checkNull(genericUtility.getColumnValue("tran_date", headerDom));
sundryCode= checkNull(genericUtility.getColumnValue("sundry_code__fr", headerDom));
siteCode=checkNull(genericUtility.getColumnValue("site_code", headerDom));
if(sTranDate != null && sTranDate.trim().length() > 0){
tranDate = Timestamp.valueOf(genericUtility.getValidDateString(sTranDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
......@@ -424,18 +426,51 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
parentNodeList = detailDom.getElementsByTagName("Detail2");
parentNodeListLength = parentNodeList.getLength();
System.out.println("ParentNodeListLength ..........."+parentNodeListLength);
if( xmlBuff == null )
{
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("rec_pay_trf").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=\"rec_pay_trf\" objContext=\"1\">");
xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<tran_date><![CDATA["+ sTranDate +"]]></tran_date>");
xmlBuff.append("<site_code><![CDATA["+ siteCode +"]]></site_code>");
xmlBuff.append("<trf_type><![CDATA["+"0"+"]]></trf_type>");
xmlBuff.append("<sundry_type><![CDATA["+"S"+"]]></sundry_type>");
xmlBuff.append("<sundry_code><![CDATA["+ sundryCode +"]]></sundry_code>");
xmlBuff.append("</Detail1>");
for (int selectedRow = 0; selectedRow < parentNodeListLength; selectedRow++)
{
parentNode = parentNodeList.item(selectedRow);
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
custCode = checkNull(genericUtility.getColumnValueFromNode("sundry_code", parentNode));
suppName=checkNull(genericUtility.getColumnValueFromNode("supp_name", parentNode));
// suppName=checkNull(genericUtility.getColumnValueFromNode("supp_name", parentNode));
tranSer=checkNull(genericUtility.getColumnValueFromNode("tran_ser", parentNode));
//tranDate=checkNull(genericUtility.getColumnValueFromNode("tran_date", parentNode));
refNo=checkNull(genericUtility.getColumnValueFromNode("ref_no", parentNode));
sRefDate=checkNull(genericUtility.getColumnValueFromNode("ref_date", parentNode));
sRefDate=genericUtility.getColumnValueFromNode("ref_date", parentNode);
if(sRefDate != null){
refDate = Timestamp.valueOf(genericUtility.getValidDateString(sRefDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
......@@ -463,7 +498,7 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
//tranId=checkNull(genericUtility.getColumnValueFromNode("tran_id", parentNode));
currCode=checkNull(genericUtility.getColumnValueFromNode("curr_code", parentNode));
sExchRate=checkNull(genericUtility.getColumnValueFromNode("exch_rate", parentNode));
if(sExchRate != null && sExchRate.trim().length() > 0)
/*if(sExchRate != null && sExchRate.trim().length() > 0)
{
exchRate = Double.parseDouble(sExchRate);
}else{
......@@ -473,12 +508,12 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
if(sDueDate != null){
dueDate = Timestamp.valueOf(genericUtility.getValidDateString(sDueDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
}
siteCode=checkNull(genericUtility.getColumnValueFromNode("site_code", parentNode));
finEntity=checkNull(genericUtility.getColumnValueFromNode("fin_entity", parentNode));
bankCode=checkNull(genericUtility.getColumnValueFromNode("bank_code", parentNode));
//siteCode=checkNull(genericUtility.getColumnValueFromNode("site_code", parentNode));
//finEntity=checkNull(genericUtility.getColumnValueFromNode("fin_entity", parentNode));
//bankCode=checkNull(genericUtility.getColumnValueFromNode("bank_code", parentNode));
*/
/*
sql = "update misc_payables set adj_amt = tot_amt, status_date = ?, status = 'A' " +
" where tran_ser = ? " +
......@@ -547,10 +582,75 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
return(errString);
}
pstmt.close();
pstmt =null;
pstmt =null;*/
sql =" SELECT STATUS,STATUS_DATE FROM MISC_PAYABLES WHERE TRAN_SER = ? AND REF_NO= ? AND SUNDRY_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranSer);
pstmt.setString(2, refNo);
pstmt.setString(3, custCode);
rs = pstmt.executeQuery();
if(rs.next())
{
status = rs.getString("STATUS");
statDate = rs.getTimestamp("STATUS_DATE");
}
rs.close();
rs=null;
pstmt.close();
pstmt = null;
xmlBuff.append("<Detail2 dbID='' domID=\"1\" objName=\"rec_pay_trf\" objContext=\"2\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />");
xmlBuff.append("<tran_id/>");
lineNo++;
xmlBuff.append("<line_no><![CDATA["+ lineNo +"]]></line_no>");
xmlBuff.append("<tran_ser><![CDATA["+ tranSer +"]]></tran_ser>");
xmlBuff.append("<ref_no><![CDATA["+ refNo +"]]></ref_no>");
xmlBuff.append("<tot_amt><![CDATA["+ totAmt +"]]></tot_amt>");
xmlBuff.append("<adj_amt><![CDATA["+ adjAmt +"]]></adj_amt>");
trfAmt = totAmt - adjAmt;
xmlBuff.append("<trf_amt><![CDATA["+ trfAmt +"]]></trf_amt>");
xmlBuff.append("<cur_status><![CDATA["+ status +"]]></cur_status>");
if(statDate != null){
xmlBuff.append("<stat_date><![CDATA["+ sdf.format(statDate) +"]]></stat_date>");
}
xmlBuff.append("</Detail2>");
}
if (errString == null || errString.trim().length() == 0) {
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
errString=saveData(xtraParams,siteCode, xmlBuff.toString(), conn);
if( errString.indexOf("Success") == -1 )
{
return errString;
}
String[] arrayForTranId = errString.split("<TranID>");
int endIndex = arrayForTranId[1].indexOf("</TranID>");
tranId= arrayForTranId[1].substring(0,endIndex);
if(tranId != null && tranId.trim().length() > 0)
{
System.out.println("tran_id [" + tranId + "]");
errString = null;
}
RecPayTrfConf recPayTrfConf = new RecPayTrfConf();
String forcedFlag="N";
errString=recPayTrfConf.confirm(tranId, xtraParams, forcedFlag,conn);
recPayTrfConf = null;
if( errString.indexOf("VTCONSUCF") > -1 )
{
errString = itmDBAccessEJB.getErrorString("","VTCOMPL","","",conn);
if(conn != null){
conn.commit();
System.out.println("commited....!!!");
}
return errString;
}
/*if (errString == null || errString.trim().length() == 0) {
errString = itmDBAccessEJB.getErrorString("","VTCOMPL","","",conn);
if(conn != null){
......@@ -558,12 +658,12 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
System.out.println("commited....!!!");
}
return errString;
}
}*/
}//try end
catch(Exception e)
{
System.out.println("Exception :PeriodStatUdpPrcEJB ::" + e.getMessage() + ":");
System.out.println("Exception :pay_rec_xfer ::" + e.getMessage() + ":");
try
{
......@@ -590,7 +690,54 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
System.out.println("errString: "+errString);
return errString;
}
private String saveData(String xtraParams,String siteCode, String xmlString, Connection conn) throws ITMException
{
System.out.println("saving data...........");
InitialContext ctx = null;
String retString = null;
String userId ="";
MasterStatefulLocal masterStateful = null;
E12GenericUtility genericUtility=new E12GenericUtility();
ibase.utility.UserInfoBean userInfoBean=new UserInfoBean();
try
{
//Added By PriyankaC on 15/03/2018. [START]
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
System.out.println("userId" + userId + "]");
//Added By PriyankaC on 15/03/2018. [END]
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
masterStateful = (MasterStatefulLocal) ctx.lookup("ibase/MasterStatefulEJB/local");
System.out.println("-----------masterStateful------- " + masterStateful);
String[] authencate = new String[2];
//authencate[0] = "";
authencate[0] = userId;
authencate[1] = "";
System.out.println("xmlString to masterstateful [" + xmlString + "]");
userInfoBean.setEmpCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"));
userInfoBean.setRemoteHost(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId"));
userInfoBean.setSiteCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode"));
userInfoBean.setLoginCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"));
userInfoBean.setEntityCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"));
retString = masterStateful.processRequest(authencate, siteCode, true, xmlString, true, conn);
} catch (ITMException itme)
{
System.out.println("ITMException :CreateDistOrder :saveData :==>");
throw itme;
} catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception :CreateDistOrder :saveData :==>");
throw new ITMException(e);
}
return retString;
}
private String checkNullAndTrim(String inputVal)
{
if ( inputVal == null || "null".equals(inputVal))
......
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.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import javax.ejb.Stateless;
import org.w3c.dom.CDATASection;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
@Stateless
public class RecPayTrfIC extends ValidatorEJB implements RecPayTrfICLocal,RecPayTrfICRemote{
E12GenericUtility genericUtility = new E12GenericUtility();
FinCommon finCommon = new FinCommon();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException
{
Document dom = null;
Document dom1 = null;
Document dom2 = null;
String valueXmlString = "";
try
{
System.out.println("xmlString::["+xmlString+"]\nxmlString1::["+xmlString1+"]\nxmlString2::["+xmlString2+"]");
if(xmlString != null && xmlString.trim().length() > 0)
{
dom = genericUtility.parseString(xmlString);
}
if(xmlString1 != null && xmlString1.trim().length() > 0)
{
dom1 = genericUtility.parseString(xmlString1);
}
if(xmlString2 != null && xmlString2.trim().length() > 0)
{
dom2 = genericUtility.parseString(xmlString2);
}
valueXmlString = itemChanged(dom,dom1,dom2,objContext,currentColumn,editFlag,xtraParams);
}
catch(Exception e)
{
System.out.println("Exception : [RecPayTrfIC][itemChanged( String, String )] :==>\n" + e.getMessage());
}
return valueXmlString;
}
public String itemChanged(Document dom, Document dom1, Document dom2,String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException
{
int currentFormNo = 0;
int ctr = 0,trfType=0;
String sql = "",refNo="",status="",statusDateStr="",sundryType="";
String refSer="",tranDate="",siteCode="",sundryCode="";
String sundryName="";
StringBuffer valueXmlString = new StringBuffer();
Connection conn = null;
PreparedStatement pstmt = null, pstmt1 = null;
ResultSet rs = null, rs1 = null ;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
String childNodeName = null;
Double trfAmount = 0.0,totAmt=0.0,adjAmt=0.0;
List amtList = new ArrayList();
Timestamp statusDate=null;
String code="",tempCode="",descr = "";
String columnValue="",loginSite="";
int childNodeListLength = 0;
SimpleDateFormat sdf = null;
try
{
conn = getConnection();
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
if (objContext != null && objContext.trim().length() > 0)
{
currentFormNo = Integer.parseInt(objContext.trim());
}
valueXmlString = new StringBuffer("<?xml version=\"1.0\"?><Root><header><editFlag>");
valueXmlString.append(editFlag).append("</editFlag></header>");
System.out.println("**********ITEMCHANGE FOR CASE" + currentFormNo + "**************");
switch (currentFormNo)
{
case 1:
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
ctr = 0;
valueXmlString.append("<Detail1>");
childNodeListLength = childNodeList.getLength();
do
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equals(currentColumn))
{
if (childNode.getFirstChild()!= null)
{
columnValue = childNode.getFirstChild().getNodeValue().trim();
}
}
ctr++;
}
while(ctr < childNodeListLength && !childNodeName.equals(currentColumn));
System.out.println("[" + currentColumn + "] ==> '" + columnValue + "'");
if(currentColumn.trim().equalsIgnoreCase("itm_default"))
{
loginSite = getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
System.out.println("----------- inside itm_default ---------------");
tranDate = simpleDateFormat.format(currentDate.getTime());
valueXmlString.append("<tran_date>").append("<![CDATA[" + tranDate + "]]>").append("</tran_date>");
valueXmlString.append("<site_code>").append("<![CDATA[" + loginSite + "]]>").append("</site_code>");
setNodeValue(dom,"site_code" , loginSite);
}
else if(currentColumn.trim().equalsIgnoreCase("trf_type"))
{
trfType = checkIntNull(genericUtility.getColumnValue("trf_type", dom));
System.out.println("----------- inside trf_type ---------------");
if(trfType==0)
{
valueXmlString.append("<sundry_type>").append("<![CDATA[" +"S"+ "]]>").append("</sundry_type>");
}
if(trfType==1)
{
valueXmlString.append("<sundry_type>").append("<![CDATA[" +"C"+"]]>").append("</sundry_type>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("sundry_code"))
{
System.out.println("----------- inside sundry_code ---------------");
sundryCode = checkNullAndTrim(genericUtility.getColumnValue("sundry_code", dom));
sundryType = checkNullAndTrim(genericUtility.getColumnValue("sundry_type", dom));
sql = "select FN_SUNDRY_NAME('"+sundryType+"',UPPER('"+sundryCode+"'),'') as sundry_name from dual";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
{
sundryName = rs.getString("sundry_name");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(sundryName != null && sundryName.trim().length() > 0 )
{
valueXmlString.append("<sundry_code>").append("<![CDATA[" + checkNull(sundryCode.toUpperCase()) + "]]>").append("</sundry_code>");
valueXmlString.append("<sundry_name>").append("<![CDATA[" + checkNull(sundryName) + "]]>").append("</sundry_name>");
}
}// end of if block
String userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"); System.out.println("--login code--"+userId);
loginSite = getValueFromXTRA_PARAMS(xtraParams,"loginSiteCode");
String chgUser = this.genericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgUser");
String chgTerm = this.genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId");
valueXmlString.append("</Detail1>"); // close tag
System.out.println(" itemchanged case 1 valueXmlString : "+valueXmlString);
break;
case 2 :
System.out.println("**********************In case 2 ***********************8");
parentNodeList = dom.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
ctr = 0;
valueXmlString.append("<Detail2>");
childNodeListLength = childNodeList.getLength();
do
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equals(currentColumn))
{
if (childNode.getFirstChild()!= null)
{
columnValue = childNode.getFirstChild().getNodeValue().trim();
}
}
ctr++;
}
while(ctr < childNodeListLength && !childNodeName.equals(currentColumn));
System.out.println("IN DETAILS column name is %%%%%%%%%%%%%[" + currentColumn + "] ==> '" + columnValue + "'");
if(currentColumn.trim().equalsIgnoreCase("ref_no"))
{
Node currDetailF=null;
NodeList detailList1 = dom2.getElementsByTagName("Detail1");
currDetailF = detailList1.item(0);
trfType = checkIntNull(genericUtility.getColumnValueFromNode("trf_type",currDetailF));
sundryCode = checkNull(genericUtility.getColumnValueFromNode("sundry_code",currDetailF));
refNo=checkNullAndTrim(this.genericUtility.getColumnValue("ref_no", dom));
refSer = checkNull(genericUtility.getColumnValue("tran_ser",dom));
if(refNo != null && refNo.trim().length() > 0 )
{
if(trfType==0)
{
sql = "select tot_amt,adj_amt,sundry_code, status,status_date,sundry_type,"
+ "FN_SUNDRY_NAME(sundry_type,sundry_code,'') as sundry_name from misc_payables where ref_no = ? and tran_ser = ? and sundry_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refNo);
pstmt.setString(2,refSer);
pstmt.setString(3,sundryCode);
rs = pstmt.executeQuery();
if(rs.next())
{
totAmt=rs.getDouble("tot_amt");
adjAmt=rs.getDouble("adj_amt");
status=checkNull(rs.getString("status"));
sundryCode=checkNull(rs.getString("sundry_code"));
statusDate=rs.getTimestamp("status_date");
sundryName=checkNull(rs.getString("sundry_name"));
sundryType=checkNull(rs.getString("sundry_type"));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
trfAmount = totAmt-adjAmt;
valueXmlString.append("<trf_amt protect = \"1\">").append("<![CDATA["+trfAmount+"]]>").append("</trf_amt>");
valueXmlString.append("<ref_no>").append("<![CDATA["+refNo+"]]>").append("</ref_no>");
valueXmlString.append("<adj_amt>").append("<![CDATA["+adjAmt+"]]>").append("</adj_amt>");
valueXmlString.append("<tot_amt>").append("<![CDATA["+totAmt+"]]>").append("</tot_amt>");
valueXmlString.append("<cur_status>").append("<![CDATA["+status+"]]>").append("</cur_status>");
if( statusDate != null)
{
statusDateStr = simpleDateFormat.format(statusDate);
valueXmlString.append("<stat_date>").append("<![CDATA["+statusDateStr+"]]>").append("</stat_date>");
}
else
{
valueXmlString.append("<stat_date>").append("<![CDATA["+statusDateStr+"]]>").append("</stat_date>");
}
}
else
{
sql = "select tot_amt,adj_amt,cust_code, status,stat_date,"
+ "FN_SUNDRY_NAME('C',cust_code,'') as sundry_name from receivables where ref_no = ? and tran_ser = ? and cust_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refNo);
pstmt.setString(2,refSer);
pstmt.setString(3,sundryCode);
rs = pstmt.executeQuery();
if(rs.next())
{
totAmt=rs.getDouble("tot_amt");
adjAmt=rs.getDouble("adj_amt");
status=checkNull(rs.getString("status"));
statusDate=rs.getTimestamp("stat_date");
sundryCode=checkNull(rs.getString("cust_code"));
sundryName=checkNull(rs.getString("sundry_name"));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
trfAmount = totAmt-adjAmt;
valueXmlString.append("<trf_amt protect = \"1\">").append("<![CDATA["+trfAmount+"]]>").append("</trf_amt>");
valueXmlString.append("<ref_no>").append("<![CDATA["+refNo+"]]>").append("</ref_no>");
valueXmlString.append("<adj_amt>").append("<![CDATA["+adjAmt+"]]>").append("</adj_amt>");
valueXmlString.append("<tot_amt>").append("<![CDATA["+totAmt+"]]>").append("</tot_amt>");
valueXmlString.append("<cur_status>").append("<![CDATA["+status+"]]>").append("</cur_status>");
if( statusDate != null)
{
statusDateStr = simpleDateFormat.format(statusDate);
valueXmlString.append("<stat_date>").append("<![CDATA["+statusDateStr+"]]>").append("</stat_date>");
}
else
{
valueXmlString.append("<stat_date>").append("<![CDATA["+statusDateStr+"]]>").append("</stat_date>");
}
}
}
}
valueXmlString.append("</Detail2>");
System.out.println(" itemchanged case 2 valueXmlString : "+valueXmlString);
break;
// case 2 end
}
valueXmlString.append("</Root>");
}// end of try block
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(conn != null)
{
conn.close();
conn = null;
}
}
catch(Exception d)
{
d.printStackTrace();
}
}// end of finally statement
return valueXmlString.toString();
}
private String checkNull(String input)
{
return input == null ? "" : input;
}
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
Document dom = null;
Document dom1 = null;
Document dom2 = null;
String errString = "";
try
{
if(xmlString != null && xmlString.trim().length() > 0)
{
dom = genericUtility.parseString(xmlString);
}
if(xmlString1 != null && xmlString1.trim().length() > 0)
{
dom1 = genericUtility.parseString(xmlString1);
}
if(xmlString2 != null && xmlString2.trim().length() > 0)
{
dom2 = genericUtility.parseString(xmlString2);
}
errString = wfValData(dom,dom1,dom2,objContext,editFlag,xtraParams);
System.out.println("retString:::"+errString);
}
catch(Exception e)
{
errString = genericUtility.createErrorString(e);
e.printStackTrace();
throw new ITMException(e);
}
return(errString);
}
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
int ctr=0;
int childNodeListLength;
int currentFormNo = 0;
int cnt = 0;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
String siteCode = "";
String userId = "";
String sql="";
String errCode="";
String errorType = "";
String childNodeName = null;
String errString = "";
ArrayList<String> errList = new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
Connection conn = null;
PreparedStatement pstmt = null ;
ResultSet rs = null;
String existFlag = "";
String sundryCode = "",trfType="",refNo="",refSer="",reasCode="",sDueDateTo="",sundryType="";
String site_code="",loginSiteCode="";
Timestamp dueDateTo = null, dueDateFr = null, TranDate =null;
String tranDateStr="";
double trfAmt=0.0;
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
try
{
SimpleDateFormat sdf1= new SimpleDateFormat(genericUtility.getDBDateFormat());
conn = getConnection();
userId = getValueFromXTRA_PARAMS(xtraParams, "loginCode");
if (objContext != null && objContext.trim().length() > 0)
{
currentFormNo = Integer.parseInt(objContext);
}
switch (currentFormNo)
{
case 1:
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for(ctr = 0; ctr < childNodeListLength; ctr ++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equalsIgnoreCase("site_code"))
{
siteCode = genericUtility.getColumnValue("site_code", dom);
System.out.println("siteCode: " + siteCode);
if (siteCode == null || siteCode.trim().length() == 0) {
errCode = "VMSITECD";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
System.out.println("Site Code can not be blank!!");
} else {
if (siteCode != null && siteCode.trim().length() > 0) {
if (!(isExist(conn, "site", "site_code", siteCode))) {
errCode = "VMSITE1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
}// end of if block for site_code
else if (childNodeName.equalsIgnoreCase("tran_date"))
{
tranDateStr = checkNull(genericUtility.getColumnValue("tran_date", dom));
siteCode = checkNull(genericUtility.getColumnValue("site_code", dom));
System.out.println("@@@@ Tran Date[" + tranDateStr + "]");
TranDate = Timestamp.valueOf(genericUtility.getValidDateString(tranDateStr.toString(),genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat())+" 00:00:00.0");
System.out.println("Trandate is"+TranDate);
errCode = finCommon.nfCheckPeriod("FIN", TranDate,siteCode, conn);
System.out.println("Errorcode in TranDate"+errCode);
if (errCode != null && errCode.trim().length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
else if("sundry_code".equalsIgnoreCase(childNodeName))
{
sundryCode = checkNull(genericUtility.getColumnValue("sundry_code", dom));
sundryType = checkNull(genericUtility.getColumnValue("sundry_type", dom));
if("S".equalsIgnoreCase(sundryType))
{
sql = "SELECT COUNT(*) FROM SUPPLIER WHERE SUPP_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sundryCode);
rs = pstmt.executeQuery();
if (rs.next())
{
cnt = rs.getInt(1);
if (cnt == 0)
{
errCode = "VTSUPP1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
pstmt.close(); pstmt = null;
rs.close(); rs = null;
}
else
{
sql = "SELECT CASE WHEN COUNT(1) IS NULL THEN 0 ELSE COUNT(1) END FROM CUSTOMER WHERE CUST_CODE = '" + sundryCode + "'";
pstmt = conn.prepareStatement(sql);
rs= pstmt.executeQuery(sql);
if (rs.next())
{
if (rs.getInt(1) == 0)
{
errCode = "VTCUSTCD1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
}// end of if block
else if ("reas_code".equalsIgnoreCase(childNodeName))
{
reasCode = checkNull(genericUtility.getColumnValue("reas_code", dom));
System.out.println("in reas_code.........");
if(reasCode != null && reasCode.trim().length() > 0)
{
sql = "select count(*) from gencodes where fld_Name = 'REAS_CODE' and fld_value = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, reasCode);
rs = pstmt.executeQuery();
if (rs.next())
{
cnt =rs.getInt(1);
}
rs.close();rs = null;
pstmt.close();pstmt = null;
if(cnt == 0)
{
errCode = "VTREASON";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
}
break;
case 2:
parentNodeList = dom.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
System.out.println("@@@@@@@@@@@@childNodeListLength["+ childNodeListLength + "]");
for (ctr = 0; ctr < childNodeListLength; ctr++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if("ref_no".equalsIgnoreCase(childNodeName))
{
refNo = checkNull(genericUtility.getColumnValue("ref_no", dom));
trfType = checkNull(genericUtility.getColumnValue("trf_type", dom1));
sundryCode = checkNull(genericUtility.getColumnValue("sundry_code", dom1));
refSer = checkNull(genericUtility.getColumnValue("tran_ser",dom));
if(refNo == null || refNo.trim().length() ==0)
{
errCode = "VTREFRNO";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
if("0".equalsIgnoreCase(trfType))
{
sql = "select count(*) as cnt from misc_payables where ref_no = ? and tran_ser= ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,refNo);
pstmt.setString(2,refSer);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("cnt");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cnt == 0)
{
errCode = "VTNOSUCHRN";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
else
{
sql = "select count(*) as cnt from receivables where ref_no = ? and tran_ser = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,refNo);
pstmt.setString(2,refSer);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("cnt");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cnt == 0)
{
errCode = "VTNOSUCHRN";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
}// end of if block
else if("tran_ser".equalsIgnoreCase(childNodeName))
{
refSer = checkNull(genericUtility.getColumnValue("tran_ser",dom));
if(refSer == null || refSer.trim().length() == 0)
{
errCode = "VTREFSER7";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
sql = "select count(*) as cnt from refser where ref_ser =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,refSer);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("cnt");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cnt == 0)
{
errCode = "VMREFSER";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}// end of if block
else if("trf_amt".equalsIgnoreCase(childNodeName))
{
trfAmt = checkDoubleNull(genericUtility.getColumnValue("trf_amt",dom));
if(trfAmt >= 0)
{
errCode = "VTAMTNEG";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}// end of if block
}//end for loop
break;
}// end of switch statement
int errListSize = errList.size();
cnt = 0;
String errFldName = null;
if ( errList != null && errListSize > 0 )
{
for (cnt = 0; cnt < errListSize; cnt++ )
{
errCode = errList.get(cnt);
errFldName = errFields.get(cnt);
System.out.println("errCode .........." + errCode);
errString = itmDBAccessEJB.getErrorString("", errCode, userId, "", conn);
errorType = errorType( conn, errCode );
if ( errString.length() > 0)
{
String bifurErrString = errString.substring( errString.indexOf("<Errors>") + 8, errString.indexOf("<trace>"));
bifurErrString =bifurErrString+errString.substring( errString.indexOf("</trace>") + 8, errString.indexOf("</Errors>"));
errStringXml.append(bifurErrString);
System.out.println("errStringXml .........."+errStringXml);
errString = "";
}
if ( errorType.equalsIgnoreCase("E"))
{
break;
}
}
errList.clear();
errList = null;
errFields.clear();
errFields = null;
errStringXml.append("</Errors></Root>\r\n");
}
else
{
errStringXml = new StringBuffer( "" );
}
errString = errStringXml.toString();
}// End of try
catch(Exception e)
{
e.printStackTrace();
errString = e.getMessage();
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(conn != null)
{
conn.close();
conn = null;
}
}
catch(Exception d)
{
d.printStackTrace();
throw new ITMException(d);
}
}
errString = errStringXml.toString();
System.out.println("testing : final errString : " + errString);
return errString;
}//end of validation
private String isExist(String table, String field, String value, Connection conn) throws SQLException
{
String sql = "", retStr = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
int cnt = 0;
sql = " SELECT COUNT(1) FROM " + table + " WHERE " + field + " = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, value);
rs = pstmt.executeQuery();
if (rs.next())
{
cnt = rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if (cnt > 0)
{
retStr = "TRUE";
}
if (cnt == 0)
{
retStr = "FALSE";
}
System.out.println("@@@@ isexist[" + value + "]:::[" + retStr + "]:::[" + cnt + "]");
return retStr;
}
private boolean isExist(Connection conn, String tableName, String columnName, String value)
throws ITMException, RemoteException {
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
boolean status = false;
try {
sql = "SELECT count(*) from " + tableName + " where " + columnName + " = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, value);
rs = pstmt.executeQuery();
if (rs.next()) {
if (rs.getBoolean(1)) {
status = true;
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
} catch (Exception e) {
System.out.println("Exception in isExist ");
e.printStackTrace();
throw new ITMException(e);
}
System.out.println("returning String from isExist ");
return status;
}
private static void setNodeValue( Document dom, String nodeName, String nodeVal ) throws Exception
{
Node tempNode = dom.getElementsByTagName( nodeName ).item(0);
if( tempNode != null )
{
if( tempNode.getFirstChild() == null )
{
CDATASection cDataSection = dom.createCDATASection( nodeVal );
tempNode.appendChild( cDataSection );
}
else
{
tempNode.getFirstChild().setNodeValue(nodeVal);
}
}
tempNode = null;
}
private double checkDoubleNull(String str) {
if (str == null || str.trim().length() == 0) {
return 0.0;
} else {
return Double.parseDouble(str);
}
}
private int checkIntNull(String str) {
if (str == null || str.trim().length() == 0) {
return 0;
} else {
return Integer.parseInt(str);
}
}
public String checkNullAndTrim( String inputVal )
{
if ( inputVal == null )
{
inputVal = "";
}
else
{
inputVal = inputVal.trim();
}
return inputVal;
}
private double getReqDecimal(double actVal, int prec)
{
String fmtStr = "############0";
String strValue = null;
double retVal = 0;
if (prec > 0)
{
fmtStr = fmtStr + "." + "000000000".substring(0, prec);
}
DecimalFormat decFormat = new DecimalFormat(fmtStr);
retVal = Double.parseDouble(decFormat.format(actVal));
if (Math.abs(retVal) == 0)
{
retVal = 0;
}
return retVal;
}
private String errorType(Connection conn , String errorCode)
{
String msgType = "";
PreparedStatement pstmt = null ;
ResultSet rs = null;
try
{
String sql = "SELECT MSG_TYPE FROM MESSAGES WHERE MSG_NO = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,errorCode);
rs = pstmt.executeQuery();
while(rs.next())
{
msgType = rs.getString("MSG_TYPE");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
return msgType;
}
}
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import javax.ejb.Local;
import org.w3c.dom.Document;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
@Local
public interface RecPayTrfICLocal extends ValidatorLocal
{
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(Document dom, Document dom1, Document dom2,String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.fin;
import java.rmi.RemoteException;
import javax.ejb.Remote;
import org.w3c.dom.Document;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
@Remote
public interface RecPayTrfICRemote extends ValidatorRemote
{
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(Document dom, Document dom1, Document dom2,String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
}
......@@ -7,13 +7,19 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import ibase.webitm.ejb.fin.adv.RecPayTrfConf;
import ibase.system.config.AppConnectParm;
import ibase.utility.CommonConstants;
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.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
import javax.ejb.Stateless;
import javax.naming.InitialContext;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
......@@ -346,40 +352,81 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
String status = "";
String sql = "";
Timestamp refDate = null;
Timestamp dueDate = null;
Timestamp statDate = null;
Timestamp tranDate = null;
double exchRate = 0.0d;
double totAmt = 0.0d;
double adjAmt = 0.0d;
double adjAmt = 0.0d,trfAmt=0.0d;
NodeList parentNodeList = null;
Node parentNode = null;
Connection conn = null;
PreparedStatement pstmt1 = null;
PreparedStatement pstmt2 = null;
PreparedStatement pstmt3 = null;
ResultSet rs = null;
ResultSet rs = null;
StringBuffer xmlBuff = null;
int lineNo=0;
String sundryCode ="";
try
{
conn = getConnection();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
sTranDate = checkNull(genericUtility.getColumnValue("tran_date", headerDom));
sundryCode= checkNull(genericUtility.getColumnValue("cust_code__fr", headerDom));
siteCode=checkNull(genericUtility.getColumnValue("site_code", headerDom));
System.out.println(">>>> TranDate:["+sTranDate+"]");
if(sTranDate != null && sTranDate.trim().length() > 0){
tranDate = Timestamp.valueOf(genericUtility.getValidDateString(sTranDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
}
sql = "INSERT INTO MISC_PAYABLES ( TRAN_ID, TRAN_SER, TRAN_DATE, REF_NO, REF_DATE, CURR_CODE, EXCH_RATE, SUNDRY_CODE, SUNDRY_TYPE, ACCT_CODE, CCTR_CODE, DUE_DATE, FIN_ENTITY, SITE_CODE, TOT_AMT, ADJ_AMT, STATUS, STATUS_DATE, BANK_CODE ) " +
/*sql = "INSERT INTO MISC_PAYABLES ( TRAN_ID, TRAN_SER, TRAN_DATE, REF_NO, REF_DATE, CURR_CODE, EXCH_RATE, SUNDRY_CODE, SUNDRY_TYPE, ACCT_CODE, CCTR_CODE, DUE_DATE, FIN_ENTITY, SITE_CODE, TOT_AMT, ADJ_AMT, STATUS, STATUS_DATE, BANK_CODE ) " +
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ";
pstmt2 = conn.prepareStatement(sql);
sql="INSERT INTO RECEIVABLES_ADJ ( TRAN_ID, REF_SER, REF_NO, TOT_AMT, ADJ_AMT, REF_SER_ADJ, REF_NO_ADJ, NET_AMT, TRAN_ID__RCV ) " +
" VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?)";
pstmt3 = conn.prepareStatement(sql);
*/
String browDom=genericUtility.serializeDom(detailDom);
System.out.println("Detail dom"+browDom);
parentNodeList = detailDom.getElementsByTagName("Detail2");
int parentNodeListLength = parentNodeList.getLength();
if( xmlBuff == null )
{
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("rec_pay_trf").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=\"rec_pay_trf\" objContext=\"1\">");
xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<tran_date><![CDATA["+ sTranDate +"]]></tran_date>");
xmlBuff.append("<site_code><![CDATA["+ siteCode +"]]></site_code>");
xmlBuff.append("<trf_type><![CDATA["+"1"+"]]></trf_type>");
xmlBuff.append("<sundry_type><![CDATA["+"C"+"]]></sundry_type>");
xmlBuff.append("<sundry_code><![CDATA["+ sundryCode +"]]></sundry_code>");
xmlBuff.append("</Detail1>");
for(int ptr = 0; ptr < parentNodeListLength; ptr++)
{
parentNode = parentNodeList.item(ptr);
......@@ -402,7 +449,7 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
System.out.println(">>>---2---[TotAmt="+totAmt+"]AdjAmt=["+adjAmt+"]");
refSer = checkNull(genericUtility.getColumnValueFromNode("tran_ser", parentNode));
refNo = checkNullAndTrim(genericUtility.getColumnValueFromNode("ref_no", parentNode));
siteCode = checkNull(genericUtility.getColumnValueFromNode("site_code", parentNode));
// siteCode = checkNull(genericUtility.getColumnValueFromNode("site_code", parentNode));
System.out.println("[1]"+refSer+"[2]"+refNo+"[3]"+siteCode);
refSerPay = "RCPPAY";
......@@ -419,12 +466,12 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
finEnt = checkNull(genericUtility.getColumnValueFromNode("fin_entity", parentNode));
bankCode = checkNull(genericUtility.getColumnValueFromNode("bank_code", parentNode));
sundryType = "C";
status = "U";
//status = "U";
System.out.println("Details from receivables[1]"+tranIdRec+"[2]"+sRefDate+"[3]"+currCode+"[4]"+sExchRate+"[5]"+custCode+"[6]"+acctCode+"[7]"+cctrCode+"[8]"+sDueDate+"[9]"+finEnt);
if(sDueDate != null && sDueDate.trim().length() > 0){
/*if(sDueDate != null && sDueDate.trim().length() > 0){
dueDate = Timestamp.valueOf(genericUtility.getValidDateString(sDueDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
}
}*/
if(sRefDate != null && sRefDate.trim().length() > 0){
refDate = Timestamp.valueOf(genericUtility.getValidDateString(sRefDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
}
......@@ -433,7 +480,7 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
exchRate = Double.parseDouble(sExchRate);
}
//
sql = "update receivables set adj_amt = tot_amt, stat_date = ?, status = 'A' " +
/*sql = "update receivables set adj_amt = tot_amt, stat_date = ?, status = 'A' " +
" where tran_ser = ? " +
" and ref_no = ? ";
pstmt1 = conn.prepareStatement(sql);
......@@ -446,10 +493,10 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
tranId = generateTranId("T_PAYABLES", "PAYL", siteCode, conn);
System.out.println("Misc_Payables Transaction Id:"+tranId);
/*System.out.println("MISC_PAYABLES Tran_Id:"+tranId);
System.out.println("MISC_PAYABLES Tran_Id:"+tranId);
sql = "INSERT INTO MISC_PAYABLES ( TRAN_ID, TRAN_SER, TRAN_DATE, REF_NO, REF_DATE, CURR_CODE, EXCH_RATE, SUNDRY_CODE, SUNDRY_TYPE, ACCT_CODE, CCTR_CODE, DUE_DATE, FIN_ENTITY, SITE_CODE, TOT_AMT, ADJ_AMT, STATUS, STATUS_DATE, BANK_CODE ) " +
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ";
pstmt2 = conn.prepareStatement(sql);*/
pstmt2 = conn.prepareStatement(sql);
pstmt2.setString(1, tranId);
pstmt2.setString(2, refSerPay);
pstmt2.setTimestamp(3, tranDate);
......@@ -474,9 +521,9 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
tranIdRecadj = generateTranId("t_misc_rec_adj", "R-ADJ", siteCode, conn);
System.out.println("Misc_Rec_Adj Transaction Id:"+tranIdRecadj);
/*sql="INSERT INTO RECEIVABLES_ADJ ( TRAN_ID, REF_SER, REF_NO, TOT_AMT, ADJ_AMT, REF_SER_ADJ, REF_NO_ADJ, NET_AMT, TRAN_ID__RCV ) " +
sql="INSERT INTO RECEIVABLES_ADJ ( TRAN_ID, REF_SER, REF_NO, TOT_AMT, ADJ_AMT, REF_SER_ADJ, REF_NO_ADJ, NET_AMT, TRAN_ID__RCV ) " +
" VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?)";
pstmt3 = conn.prepareStatement(sql); */
pstmt3 = conn.prepareStatement(sql);
pstmt3.setString(1, tranIdRecadj);
pstmt3.setString(2, refSer);
......@@ -488,11 +535,44 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
pstmt3.setDouble(8, totAmt-adjAmt);
pstmt3.setString(9, tranIdRec);
pstmt3.addBatch();
pstmt3.clearParameters();
pstmt3.clearParameters();*/
sql =" SELECT STATUS,STAT_DATE FROM RECEIVABLES WHERE TRAN_SER = ? AND REF_NO= ? AND CUST_CODE = ? AND TRAN_ID = ? ";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, refSer);
pstmt1.setString(2, refNo);
pstmt1.setString(3, custCode);
pstmt1.setString(4, tranIdRec);
rs = pstmt1.executeQuery();
if(rs.next())
{
status = rs.getString("STATUS");
statDate = rs.getTimestamp("STAT_DATE");
}
rs.close();
rs=null;
pstmt1.close();
pstmt1 = null;
xmlBuff.append("<Detail2 dbID='' domID=\"1\" objName=\"rec_pay_trf\" objContext=\"2\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />");
xmlBuff.append("<tran_id/>");
lineNo++;
xmlBuff.append("<line_no><![CDATA["+ lineNo +"]]></line_no>");
xmlBuff.append("<tran_ser><![CDATA["+ refSer +"]]></tran_ser>");
xmlBuff.append("<ref_no><![CDATA["+ refNo +"]]></ref_no>");
xmlBuff.append("<tot_amt><![CDATA["+ totAmt +"]]></tot_amt>");
xmlBuff.append("<adj_amt><![CDATA["+ adjAmt +"]]></adj_amt>");
trfAmt = totAmt - adjAmt;
xmlBuff.append("<trf_amt><![CDATA["+ trfAmt +"]]></trf_amt>");
xmlBuff.append("<cur_status><![CDATA["+ status +"]]></cur_status>");
if(statDate != null){
xmlBuff.append("<stat_date><![CDATA["+ sdf.format(statDate) +"]]></stat_date>");
}
xmlBuff.append("</Detail2>");
}
//parentNode loop end
int rowsInserted1[] = pstmt2.executeBatch();
/*int rowsInserted1[] = pstmt2.executeBatch();
int rowsInserted2[] = pstmt3.executeBatch();
pstmt2.clearBatch();
pstmt3.clearBatch();
......@@ -500,7 +580,10 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
if(rowsInserted1.length > 0 && rowsInserted2.length > 0)
{
errString = itmDBAccessEJB.getErrorString("","VTCOMPL","","",conn);
errString = itmDBAccessEJB.getErrorString("","VTCOMPL","","",conn);
if(conn != null)
{
conn.commit();
......@@ -511,8 +594,47 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
{
errString = itmDBAccessEJB.getErrorString("","VINSERT5 ","","",conn);
return errString;
} */
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
errString=saveData(xtraParams,siteCode, xmlBuff.toString(), conn);
if( errString.indexOf("Success") == -1 )
{
return errString;
}
String[] arrayForTranId = errString.split("<TranID>");
int endIndex = arrayForTranId[1].indexOf("</TranID>");
tranId= arrayForTranId[1].substring(0,endIndex);
if(tranId != null && tranId.trim().length() > 0)
{
System.out.println("tran_id [" + tranId + "]");
errString = null;
}
RecPayTrfConf recPayTrfConf = new RecPayTrfConf();
String forcedFlag="N";
errString=recPayTrfConf.confirm(tranId, xtraParams, forcedFlag,conn);
recPayTrfConf = null;
if( errString.indexOf("VTCONSUCF") > -1 )
{
errString = itmDBAccessEJB.getErrorString("","VTCOMPL","","",conn);
if(conn != null){
conn.commit();
System.out.println("commited....!!!");
}
return errString;
}
/*if (errString == null || errString.trim().length() == 0) {
errString = itmDBAccessEJB.getErrorString("","VTCOMPL","","",conn);
if(conn != null){
conn.commit();
System.out.println("commited....!!!");
}
return errString;
} */
}
catch (SQLException se)
{
......@@ -688,7 +810,54 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
}
return mainStr;
}
private String saveData(String xtraParams,String siteCode, String xmlString, Connection conn) throws ITMException
{
System.out.println("saving data...........");
InitialContext ctx = null;
String retString = null;
String userId =""; //Added By PriyankaC on 15/03/2018. [START]
MasterStatefulLocal masterStateful = null; // for ejb3
E12GenericUtility genericUtility=new E12GenericUtility();
ibase.utility.UserInfoBean userInfoBean=new UserInfoBean();
try
{
//Added By PriyankaC on 15/03/2018. [START]
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
System.out.println("userId" + userId + "]");
//Added By PriyankaC on 15/03/2018. [END]
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
masterStateful = (MasterStatefulLocal) ctx.lookup("ibase/MasterStatefulEJB/local");
System.out.println("-----------masterStateful------- " + masterStateful);
String[] authencate = new String[2];
//authencate[0] = "";
authencate[0] = userId; //Changed By PriynkaC on 15/03/2018
authencate[1] = "";
System.out.println("xmlString to masterstateful [" + xmlString + "]");
userInfoBean.setEmpCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"));
userInfoBean.setRemoteHost(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId"));
userInfoBean.setSiteCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode"));
userInfoBean.setLoginCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"));
userInfoBean.setEntityCode(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"));
retString = masterStateful.processRequest(authencate, siteCode, true, xmlString, true, conn);
} catch (ITMException itme)
{
System.out.println("ITMException :CreateDistOrder :saveData :==>");
throw itme;
} catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception :CreateDistOrder :saveData :==>");
throw new ITMException(e);
}
return retString;
}
private String checkNullAndTrim(String inputVal)
{
if ( inputVal == null || "null".equals(inputVal))
......
package ibase.webitm.ejb.fin.adv;
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 java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
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.system.config.AppConnectParm;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
@Stateless
public class RecPayTrfConf extends ActionHandlerEJB implements RecPayTrfConfLocal ,RecPayTrfConfRemote{
E12GenericUtility genericUtility = new E12GenericUtility();
public String confirm(String tranId,String xtraParams,String forcedFlag) throws RemoteException,ITMException{
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);
e.printStackTrace();
throw new ITMException(e);
}
return errString;
}
public String confirm(String tranId,String xtraParams,String forcedFlag,Connection conn) throws RemoteException,ITMException
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
String confirm = "" ,siteCode = "",trfType="";
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,trf_type from rec_pay_trf where tran_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
confirm = rs.getString("confirmed");
siteCode = rs.getString("site_code");
trfType = rs.getString("trf_type");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(confirm != null && "Y".equalsIgnoreCase(confirm))
{
System.out.println("The Selected transaction is already confirmed");
errString = itmDBAccessEJB.getErrorString("","VTMCONF1","","",conn);
return errString;
}
else
{
if("0".equalsIgnoreCase(trfType))
{
errString = this.payRecTrfConfirm(tranId,xtraParams,forcedFlag,conn);
}
else
{
errString = this.recPayTrfConfirm(tranId,xtraParams,forcedFlag,conn);
}
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
else
{
errString=new ITMDBAccessEJB().getErrorString("", "VTCONSUCF", "", "", 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 RecPayTrfConf confirm @#......>>["+isLocalConn+"]");
System.out.println("IN fINALLY RecPayTrfConf confirm errString@#......>>["+errString+"]");
try
{
if(errString != null && errString.trim().length() > 0)
{
if(errString.indexOf("VTCONSUCF") > -1)
{
if(isLocalConn){
System.out.println("Transaction commited111.............from RecPayTrfConf");
conn.commit();
}
}
else
{
System.out.println("CONNECTION Rollbacking......................................");
conn.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();
throw new ITMException(e);
}
}
return errString;
} //end of confirm method
@SuppressWarnings({ "rawtypes", "unchecked" })
private String payRecTrfConfirm(String tranId,String xtraParams,String forcedFlag, Connection conn)throws RemoteException,ITMException
{
PreparedStatement pstmt = null;
PreparedStatement pstmt1 = null;
PreparedStatement pstmtInner = null;
ResultSet rs = null,rs1=null;
ResultSet rsInner = null;
String sql = "",sqlInsert = "",sqlInner="" ,sql1="";
String loginCode = "" ;
ITMDBAccessEJB itmDBAccessEJB = null;
FinCommon Fcommon = new FinCommon();
DistCommon Dcommon = new DistCommon();
java.sql.Timestamp tranDate = null;
java.sql.Timestamp refDate = null;
java.sql.Timestamp dueDate = null;
HashMap receivablesUpd=null;
ArrayList<HashMap> loanDetList = new ArrayList<HashMap>();
String lineNo="",refSer="",refNo="",acctCode="",siteCode="",sundryCode="";
String cctrCode = "",currCode="",finEntity="",bankCode="";
String errString="";
String tranIdRcp="";
Double exchRate=0.0,trfAmt=0.0;
int lineInt =0,cnt = 0,loanTenure=0;
boolean detailExist=false;
SimpleDateFormat sdf = null;
try
{
sdf=new SimpleDateFormat(new E12GenericUtility().getApplDateFormat());
tranDate=new Timestamp(System.currentTimeMillis());
loginCode=genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
sql1="SELECT SUNDRY_CODE FROM REC_PAY_TRF WHERE TRAN_ID = ?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, tranId);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
sundryCode=checkNullAndTrim(rs1.getString("SUNDRY_CODE"));
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1=null;
//Getting data from loan_detail
sql="SELECT TRAN_SER,REF_NO,LINE_NO,TRF_AMT FROM REC_PAY_TRF_DET WHERE TRAN_ID = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs=pstmt.executeQuery();
while(rs.next())
{
detailExist=true;
lineNo=checkNullAndTrim(rs.getString("LINE_NO"));
refSer=checkNullAndTrim(rs.getString("TRAN_SER"));
refNo=checkNullAndTrim(rs.getString("REF_NO"));
trfAmt=rs.getDouble("TRF_AMT");
String sql2="SELECT SUNDRY_CODE," +
" REF_DATE," +
" ACCT_CODE," +
" CCTR_CODE," +
" CURR_CODE," +
" EXCH_RATE," +
" DUE_DATE," +
" SITE_CODE," +
" FIN_ENTITY," +
" BANK_CODE" +
" FROM MISC_PAYABLES WHERE REF_NO = ? AND TRAN_SER = ? AND SUNDRY_CODE = ?";
pstmt1=conn.prepareStatement(sql2);
pstmt1.setString(1, refNo);
pstmt1.setString(2, refSer);
pstmt1.setString(3,sundryCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
sundryCode=checkNullAndTrim(rs1.getString("SUNDRY_CODE"));
refDate=rs1.getTimestamp("REF_DATE");
acctCode=checkNullAndTrim(rs1.getString("ACCT_CODE"));
cctrCode=checkNullAndTrim(rs1.getString("CCTR_CODE"));
currCode=checkNullAndTrim(rs1.getString("CURR_CODE"));
exchRate=rs1.getDouble("EXCH_RATE");
dueDate=rs1.getTimestamp("DUE_DATE");
siteCode=checkNullAndTrim(rs1.getString("SITE_CODE"));
finEntity=checkNullAndTrim(rs1.getString("FIN_ENTITY"));
bankCode=checkNullAndTrim(rs1.getString("BANK_CODE"));
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1=null;
sql1 = "update misc_payables set adj_amt = tot_amt, status_date = ?, status = 'A' " +
" where tran_ser = ? " +
" and ref_no = ? and sundry_code = ?";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setTimestamp(1, tranDate);
pstmt1.setString(2, refSer);
pstmt1.setString(3, refNo);
pstmt1.setString(4,sundryCode);
cnt = pstmt1.executeUpdate();
if (cnt < 0) {
errString = itmDBAccessEJB.getErrorString("", "DS000", "", "", conn);
return errString;
}
pstmt1.close();
pstmt1 = null;
/*sql1 = "update rec_pay_trf_det set status_date = ?, status = 'A' " +
" where tran_ser = ? " +
" and ref_no = ? ";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setTimestamp(1, tranDate);
pstmt1.setString(2, refSer);
pstmt1.setString(3, refNo);
cnt = pstmt1.executeUpdate();
if (cnt < 0) {
errString = itmDBAccessEJB.getErrorString("", "DS000", "", "", conn);
return errString;
}
pstmt1.close();
pstmt1 = null;*/
receivablesUpd = new HashMap();
receivablesUpd.put("cust_code",sundryCode);
receivablesUpd.put("tran_date",tranDate);
receivablesUpd.put("ref_date",refDate);
receivablesUpd.put("due_date",dueDate);
receivablesUpd.put("tran_ser","PAYRCP");
receivablesUpd.put("fin_entity",finEntity);
receivablesUpd.put("site_code",siteCode);
receivablesUpd.put("acct_code",acctCode);
receivablesUpd.put("cctr_code",cctrCode);
receivablesUpd.put("ref_no",refNo);
receivablesUpd.put("bank_code",bankCode);
receivablesUpd.put("exch_rate",exchRate);
receivablesUpd.put("tot_amt",trfAmt * (-1));
receivablesUpd.put("curr_code",currCode);
receivablesUpd.put("tax_amt",0.0);
receivablesUpd.put("discount",0.0);
receivablesUpd.put("mrp_value",0.0);
errString=Fcommon.gbfReceivablesUpd(receivablesUpd, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
if(errString==null || errString.trim().length()==0)
{
sql="UPDATE REC_PAY_TRF SET CONFIRMED = 'Y',CONF_DATE = ?, EMP_CODE__APRV = ? WHERE TRAN_ID = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setTimestamp(1, tranDate);
pstmt.setString(2, loginCode);
pstmt.setString(3, tranId);
pstmt.executeUpdate();
pstmt.close();
pstmt=null;
}
} //try
catch (Exception e)
{
try {
conn.rollback();
System.out.println("connection rollback");
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("Exception :RecPayTrfConf :RecPayTrfConfmethod :==>"+e.getMessage());
errString = genericUtility.createErrorString(e);
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(rsInner != null)
{
rsInner.close();
rsInner = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(pstmtInner != null)
{
pstmtInner.close();
pstmtInner = null;
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
private String recPayTrfConfirm(String tranId,String xtraParams,String forcedFlag, Connection conn)throws RemoteException,ITMException
{
PreparedStatement pstmt = null;
PreparedStatement pstmt1 = null;
PreparedStatement pstmt2 = null;
PreparedStatement pstmt3 = null;
ResultSet rs = null,rs1=null;
ResultSet rsInner = null;
String sql = "",sqlInsert = "",sqlInner="" ,sql1="";
String loginCode = "" ;
ITMDBAccessEJB itmDBAccessEJB = null;
FinCommon Fcommon = new FinCommon();
DistCommon Dcommon = new DistCommon();
java.sql.Timestamp tranDate = null;
java.sql.Timestamp refDate = null;
java.sql.Timestamp dueDate = null;
HashMap miscPayUpd=null;
ArrayList<HashMap> loanDetList = new ArrayList<HashMap>();
String lineNo="",refSer="",refNo="",acctCode="",siteCode="",sundryCode="";
String cctrCode = "",currCode="",finEntity="",bankCode="",tranIdRec="";
String errString="";
String tranIdPay="",tranIdRecadj="";
Double exchRate=0.0,trfAmt=0.0,totAmt=0.0,adjAmt=0.0;
int lineInt =0,cnt = 0,loanTenure=0;
boolean detailExist=false;
SimpleDateFormat sdf = null;
try
{
sdf=new SimpleDateFormat(new E12GenericUtility().getApplDateFormat());
tranDate=new Timestamp(System.currentTimeMillis());
loginCode=genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
sql1="SELECT SUNDRY_CODE FROM REC_PAY_TRF WHERE TRAN_ID = ?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, tranId);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
sundryCode=checkNullAndTrim(rs1.getString("SUNDRY_CODE"));
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1=null;
//Getting data from loan_detail
sql="SELECT TRAN_SER,REF_NO,LINE_NO,TRF_AMT FROM REC_PAY_TRF_DET WHERE TRAN_ID = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs=pstmt.executeQuery();
while(rs.next())
{
detailExist=true;
lineNo=checkNullAndTrim(rs.getString("LINE_NO"));
refSer=checkNullAndTrim(rs.getString("TRAN_SER"));
refNo=checkNullAndTrim(rs.getString("REF_NO"));
trfAmt=rs.getDouble("TRF_AMT");
String sql2="SELECT receivables.cust_code," +
" receivables.tran_id,"+
" receivables.ref_date," +
" receivables.tot_amt," +
" receivables.adj_amt," +
" receivables.acct_code," +
" receivables.cctr_code," +
" receivables.curr_code," +
" receivables.exch_rate," +
" receivables.due_date," +
" receivables.site_code," +
" receivables.fin_entity," +
" receivables.bank_code" +
" FROM receivables WHERE REF_NO = ? AND TRAN_SER = ? and cust_code = ?";
pstmt1=conn.prepareStatement(sql2);
pstmt1.setString(1, refNo);
pstmt1.setString(2, refSer);
pstmt1.setString(3,sundryCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
sundryCode=checkNullAndTrim(rs1.getString("cust_code"));
refDate=rs1.getTimestamp("ref_date");
acctCode=checkNullAndTrim(rs1.getString("acct_code"));
cctrCode=checkNullAndTrim(rs1.getString("cctr_code"));
currCode=checkNullAndTrim(rs1.getString("curr_code"));
exchRate=rs1.getDouble("exch_rate");
dueDate=rs1.getTimestamp("due_date");
siteCode=checkNullAndTrim(rs1.getString("site_code"));
finEntity=checkNullAndTrim(rs1.getString("fin_entity"));
bankCode=checkNullAndTrim(rs1.getString("bank_code"));
tranIdRec=checkNullAndTrim(rs1.getString("tran_id"));
totAmt=rs1.getDouble("tot_amt");
adjAmt=rs1.getDouble("adj_amt");
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1=null;
sql1 = "update receivables set adj_amt = tot_amt, stat_date = ?, status = 'A' " +
" where tran_ser = ? " +
" and ref_no = ? and cust_code = ?";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setTimestamp(1, tranDate);
pstmt1.setString(2, refSer);
pstmt1.setString(3, refNo);
pstmt1.setString(4,sundryCode);
cnt = pstmt1.executeUpdate();
if (cnt < 0) {
errString = itmDBAccessEJB.getErrorString("", "DS000", "", "", conn);
return errString;
}
pstmt1.close();
pstmt1 = null;
/*sql1 = "update rec_pay_trf_det set status_date = ?, status = 'A' " +
" where tran_ser = ? " +
" and ref_no = ? ";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setTimestamp(1, tranDate);
pstmt1.setString(2, refSer);
pstmt1.setString(3, refNo);
cnt = pstmt1.executeUpdate();
if (cnt < 0) {
errString = itmDBAccessEJB.getErrorString("", "DS000", "", "", conn);
return errString;
}
pstmt1.close();
pstmt1 = null;*/
/*miscPayUpd= new HashMap();
miscPayUpd.put("tran_ser","RCPPAY");
miscPayUpd.put("tran_date",tranDate);
miscPayUpd.put("ref_no",refNo);
miscPayUpd.put("bill_no"," ");
miscPayUpd.put("curr_code",currCode);
miscPayUpd.put("exch_rate",exchRate);
miscPayUpd.put("sundry_type","C");
miscPayUpd.put("sundry_code",sundryCode);
miscPayUpd.put("acct_code",acctCode);
miscPayUpd.put("cctr_code",cctrCode);
miscPayUpd.put("due_date",dueDate);
miscPayUpd.put("site_code",siteCode);
miscPayUpd.put("tot_amt",totAmt * (-1));
miscPayUpd.put("fin_entity",finEntity);
miscPayUpd.put("bank_code",bankCode);
miscPayUpd.put("adj_amt",adjAmt * (-1));
miscPayUpd.put("adv_amt",0);
miscPayUpd.put("hold_amt",0);
errString=Fcommon.gbfMiscPayUpd(miscPayUpd, conn);
if(errString!=null && errString.trim().length()>0)
{
return errString;
}*/
sql = "INSERT INTO MISC_PAYABLES ( TRAN_ID, TRAN_SER, TRAN_DATE, REF_NO, REF_DATE, CURR_CODE, EXCH_RATE, SUNDRY_CODE, SUNDRY_TYPE, ACCT_CODE, CCTR_CODE, DUE_DATE, FIN_ENTITY, SITE_CODE, TOT_AMT, ADJ_AMT, STATUS, STATUS_DATE, BANK_CODE ) " +
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ";
pstmt2 = conn.prepareStatement(sql);
tranIdPay = generateTranId("T_PAYABLES", "PAYL", siteCode, conn);
System.out.println("Misc_Payables Transaction Id:"+tranId);
pstmt2.setString(1, tranIdPay);
pstmt2.setString(2, "RCPPAY");
pstmt2.setTimestamp(3, tranDate);
pstmt2.setString(4, refNo);
pstmt2.setTimestamp(5, refDate);
pstmt2.setString(6, currCode);
pstmt2.setDouble(7, exchRate);
pstmt2.setString(8, sundryCode);
pstmt2.setString(9, "C");
pstmt2.setString(10, acctCode);
pstmt2.setString(11, cctrCode);
pstmt2.setTimestamp(12, dueDate);
pstmt2.setString(13, finEntity);
pstmt2.setString(14, siteCode);
pstmt2.setDouble(15, totAmt * (-1));
pstmt2.setDouble(16, adjAmt * (-1));
pstmt2.setString(17, "U");
pstmt2.setTimestamp(18, tranDate);
pstmt2.setString(19, bankCode);
int count = pstmt2.executeUpdate();
if(count < 1)
{
errString = "DS000 : Insert Into Receivables Failed";
return(errString);
}
pstmt2.close();
pstmt2 =null;
sql="INSERT INTO RECEIVABLES_ADJ ( TRAN_ID, REF_SER, REF_NO, TOT_AMT, ADJ_AMT, REF_SER_ADJ, REF_NO_ADJ, NET_AMT, TRAN_ID__RCV ) " +
" VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?)";
pstmt3 = conn.prepareStatement(sql);
tranIdRecadj = generateTranId("t_misc_rec_adj", "R-ADJ", siteCode, conn);
System.out.println("Misc_Rec_Adj Transaction Id:"+tranIdRecadj);
pstmt3.setString(1, tranIdRecadj);
pstmt3.setString(2, refSer);
pstmt3.setString(3, refNo);
pstmt3.setDouble(4, totAmt);
pstmt3.setDouble(5, adjAmt);
pstmt3.setString(6, "RCPPAY");
pstmt3.setString(7, tranIdPay); //misc_payables tran_id
pstmt3.setDouble(8, trfAmt);
pstmt3.setString(9, tranIdRec);
int count1 = pstmt3.executeUpdate();
if(count1 < 1)
{
errString = "DS000 : Insert Into Receivables Failed";
return(errString);
}
pstmt3.close();
pstmt3 =null;
}
pstmt.close();
pstmt=null;
rs.close();
rs=null;
if(errString==null || errString.trim().length()==0)
{
sql="UPDATE REC_PAY_TRF SET CONFIRMED = 'Y',CONF_DATE = ?, EMP_CODE__APRV = ? WHERE TRAN_ID = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setTimestamp(1, tranDate);
pstmt.setString(2, loginCode);
pstmt.setString(3, tranId);
pstmt.executeUpdate();
pstmt.close();
pstmt=null;
}
} //try
catch (Exception e)
{
try {
conn.rollback();
System.out.println("connection rollback");
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("Exception :RecPayTrfConf :RecPayTrfConfmethod :==>"+e.getMessage());
errString = genericUtility.createErrorString(e);
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(rsInner != null)
{
rsInner.close();
rsInner = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(pstmt2 != null)
{
pstmt2.close();
pstmt2 = null;
}
if(pstmt3!= null)
{
pstmt3.close();
pstmt3 = null;
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
public String generateTranId( String windowName,String tranSer,String siteCode, Connection conn )throws ITMException
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String selSql = "";
String tranId = "";
String keyString = "";
String xmlValues = "";
java.sql.Timestamp currDate = null;
ibase.utility.E12GenericUtility genericUtility= new ibase.utility.E12GenericUtility();
try
{
SimpleDateFormat sdfAppl = new SimpleDateFormat(genericUtility.getApplDateFormat());
currDate = new java.sql.Timestamp(System.currentTimeMillis());
String currDateStr = sdfAppl.format(currDate);
selSql = "SELECT KEY_STRING FROM TRANSETUP WHERE TRAN_WINDOW = ? ";
pstmt = conn.prepareStatement(selSql);
pstmt.setString( 1, windowName );
rs = pstmt.executeQuery();
if (rs.next())
{
keyString = rs.getString("KEY_STRING");
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}else
{
selSql = "SELECT KEY_STRING FROM TRANSETUP WHERE TRAN_WINDOW = 'GENERAL' ";
pstmt = conn.prepareStatement(selSql);
//pstmt.setString( 1, windowName );
rs = pstmt.executeQuery();
if (rs.next())
{
keyString = rs.getString("KEY_STRING");
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}
System.out.println("keyString :"+keyString);
System.out.println("tranSer :"+tranSer);
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues + "<tran_date>" + currDateStr + "</tran_date>";
xmlValues = xmlValues + "</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
tranId = tg.generateTranSeqID(tranSer, "tran_id", keyString, conn);
System.out.println("tranId NEWLY WT SITECODE & DATE :"+tranId);
}
catch (SQLException ex)
{
System.out.println("Exception :generateTranId:" +selSql+ ex.getMessage() + ":");
ex.printStackTrace();
throw new ITMException(ex);
}
catch (Exception e)
{
System.out.println("Exception :generateTranId:" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
genericUtility=null;// added by Nandkumar Gadkari on 25/07/18
}
catch(Exception e)
{
}
}
return tranId;
}//generateTranTd()
public String checkNullAndTrim( String inputVal )
{
if ( inputVal == null )
{
inputVal = "";
}
else
{
inputVal = inputVal.trim();
}
return inputVal;
}
}
package ibase.webitm.ejb.fin.adv;
import java.rmi.RemoteException;
import javax.ejb.Local;
import ibase.webitm.ejb.ActionHandlerLocal;
import ibase.webitm.utility.ITMException;
@Local
public interface RecPayTrfConfLocal extends ActionHandlerLocal
{
public String confirm(String tranID, String xtraParams, String forcedFlag) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.fin.adv;
import java.rmi.RemoteException;
import javax.ejb.Remote;
import ibase.webitm.ejb.ActionHandlerRemote;
import ibase.webitm.utility.ITMException;
@Remote
public interface RecPayTrfConfRemote extends ActionHandlerRemote
{
public String confirm(String tranID, String xtraParams, String forcedFlag) throws RemoteException,ITMException;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment