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 ...@@ -29,7 +29,205 @@ public class PayRecXfrIC extends ValidatorEJB implements PayRecXfrICRemote, PayR
E12GenericUtility genericUtility = new E12GenericUtility(); 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 public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException
{ {
Document dom = null; Document dom = null;
...@@ -110,9 +308,9 @@ public class PayRecXfrIC extends ValidatorEJB implements PayRecXfrICRemote, PayR ...@@ -110,9 +308,9 @@ public class PayRecXfrIC extends ValidatorEJB implements PayRecXfrICRemote, PayR
System.out.println("----------- inside itm_default ---------------"); System.out.println("----------- inside itm_default ---------------");
valueXmlString.append("<site_code>").append("<![CDATA[" + loginSite + "]]>").append("</site_code>"); valueXmlString.append("<site_code>").append("<![CDATA[" + loginSite + "]]>").append("</site_code>");
valueXmlString.append("<tran_date>").append("<![CDATA[" + dateNow + "]]>").append("</tran_date>"); 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("<sundry_code__to>").append("<![CDATA[" + ("ZZ") + "]]>").append("</sundry_code__to>");
*/
} }
valueXmlString.append("</Detail1>"); valueXmlString.append("</Detail1>");
......
...@@ -4,7 +4,6 @@ import java.rmi.RemoteException; ...@@ -4,7 +4,6 @@ import java.rmi.RemoteException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.HashMap; import java.util.HashMap;
import java.sql.*; import java.sql.*;
import ibase.system.config.AppConnectParm; import ibase.system.config.AppConnectParm;
import javax.ejb.Stateless; import javax.ejb.Stateless;
import javax.naming.InitialContext; import javax.naming.InitialContext;
...@@ -18,6 +17,7 @@ import ibase.utility.CommonConstants; ...@@ -18,6 +17,7 @@ import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ITMDBAccessEJB; import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ProcessEJB; import ibase.webitm.ejb.ProcessEJB;
import ibase.webitm.ejb.fin.adv.RecPayTrfConf;
import ibase.webitm.ejb.fin.PayRecXfrPrcRemote; import ibase.webitm.ejb.fin.PayRecXfrPrcRemote;
import ibase.webitm.ejb.fin.PayRecXfrPrcLocal; import ibase.webitm.ejb.fin.PayRecXfrPrcLocal;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
...@@ -382,13 +382,13 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR ...@@ -382,13 +382,13 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
String siteCode = "",loginSite=""; String siteCode = "",loginSite="";
String stringxmlInvString = ""; 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=""; 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 errCode = "";
String errString = ""; String errString = "";
String insertSql = "",sql=""; String insertSql = "",sql="";
String drawnAt = null; String tranId = null;
Connection conn = null; Connection conn = null;
Statement st = null; Statement st = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
...@@ -397,8 +397,8 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR ...@@ -397,8 +397,8 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
Timestamp dueDate = null; Timestamp dueDate = null;
Timestamp refDate = null; Timestamp refDate = null;
Timestamp statDate = null; Timestamp statDate = null;
StringBuffer xmlBuff = null;
int lineNumber = 0; int lineNo = 0;
int updCnt = 0,cnt=0; int updCnt = 0,cnt=0;
int parentNodeListLength = 0; int parentNodeListLength = 0;
int childNodeListLength = 0; int childNodeListLength = 0;
...@@ -416,6 +416,8 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR ...@@ -416,6 +416,8 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
conn = getConnection(); 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){ if(sTranDate != null && sTranDate.trim().length() > 0){
tranDate = Timestamp.valueOf(genericUtility.getValidDateString(sTranDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0"); tranDate = Timestamp.valueOf(genericUtility.getValidDateString(sTranDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
...@@ -425,17 +427,50 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR ...@@ -425,17 +427,50 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
parentNodeListLength = parentNodeList.getLength(); parentNodeListLength = parentNodeList.getLength();
System.out.println("ParentNodeListLength ..........."+parentNodeListLength); 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++) for (int selectedRow = 0; selectedRow < parentNodeListLength; selectedRow++)
{ {
parentNode = parentNodeList.item(selectedRow); parentNode = parentNodeList.item(selectedRow);
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat()); SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
custCode = checkNull(genericUtility.getColumnValueFromNode("sundry_code", parentNode)); 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)); tranSer=checkNull(genericUtility.getColumnValueFromNode("tran_ser", parentNode));
//tranDate=checkNull(genericUtility.getColumnValueFromNode("tran_date", parentNode)); //tranDate=checkNull(genericUtility.getColumnValueFromNode("tran_date", parentNode));
refNo=checkNull(genericUtility.getColumnValueFromNode("ref_no", parentNode)); refNo=checkNull(genericUtility.getColumnValueFromNode("ref_no", parentNode));
sRefDate=checkNull(genericUtility.getColumnValueFromNode("ref_date", parentNode)); sRefDate=genericUtility.getColumnValueFromNode("ref_date", parentNode);
if(sRefDate != null){ if(sRefDate != null){
refDate = Timestamp.valueOf(genericUtility.getValidDateString(sRefDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0"); 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 ...@@ -463,7 +498,7 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
//tranId=checkNull(genericUtility.getColumnValueFromNode("tran_id", parentNode)); //tranId=checkNull(genericUtility.getColumnValueFromNode("tran_id", parentNode));
currCode=checkNull(genericUtility.getColumnValueFromNode("curr_code", parentNode)); currCode=checkNull(genericUtility.getColumnValueFromNode("curr_code", parentNode));
sExchRate=checkNull(genericUtility.getColumnValueFromNode("exch_rate", 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); exchRate = Double.parseDouble(sExchRate);
}else{ }else{
...@@ -473,12 +508,12 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR ...@@ -473,12 +508,12 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
if(sDueDate != null){ if(sDueDate != null){
dueDate = Timestamp.valueOf(genericUtility.getValidDateString(sDueDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0"); dueDate = Timestamp.valueOf(genericUtility.getValidDateString(sDueDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
} }
siteCode=checkNull(genericUtility.getColumnValueFromNode("site_code", parentNode)); //siteCode=checkNull(genericUtility.getColumnValueFromNode("site_code", parentNode));
finEntity=checkNull(genericUtility.getColumnValueFromNode("fin_entity", parentNode)); //finEntity=checkNull(genericUtility.getColumnValueFromNode("fin_entity", parentNode));
bankCode=checkNull(genericUtility.getColumnValueFromNode("bank_code", parentNode)); //bankCode=checkNull(genericUtility.getColumnValueFromNode("bank_code", parentNode));
*/
/*
sql = "update misc_payables set adj_amt = tot_amt, status_date = ?, status = 'A' " + sql = "update misc_payables set adj_amt = tot_amt, status_date = ?, status = 'A' " +
" where tran_ser = ? " + " where tran_ser = ? " +
...@@ -547,11 +582,66 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR ...@@ -547,11 +582,66 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
return(errString); return(errString);
} }
pstmt.close(); 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); errString = itmDBAccessEJB.getErrorString("","VTCOMPL","","",conn);
if(conn != null){ if(conn != null){
conn.commit(); conn.commit();
...@@ -560,10 +650,20 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR ...@@ -560,10 +650,20 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
return errString; 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;
}*/
}//try end }//try end
catch(Exception e) catch(Exception e)
{ {
System.out.println("Exception :PeriodStatUdpPrcEJB ::" + e.getMessage() + ":"); System.out.println("Exception :pay_rec_xfer ::" + e.getMessage() + ":");
try try
{ {
...@@ -590,7 +690,54 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR ...@@ -590,7 +690,54 @@ public class PayRecXfrPrc extends ProcessEJB implements PayRecXfrPrcLocal , PayR
System.out.println("errString: "+errString); System.out.println("errString: "+errString);
return 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) private String checkNullAndTrim(String inputVal)
{ {
if ( inputVal == null || "null".equals(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; ...@@ -7,13 +7,19 @@ import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import ibase.webitm.ejb.fin.adv.RecPayTrfConf;
import ibase.system.config.AppConnectParm;
import ibase.utility.CommonConstants; import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ITMDBAccessEJB; import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.ProcessEJB; import ibase.webitm.ejb.ProcessEJB;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator; import ibase.webitm.utility.TransIDGenerator;
import javax.ejb.Stateless; import javax.ejb.Stateless;
import javax.naming.InitialContext;
import org.w3c.dom.Document; import org.w3c.dom.Document;
import org.w3c.dom.Node; import org.w3c.dom.Node;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
...@@ -346,11 +352,11 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay ...@@ -346,11 +352,11 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
String status = ""; String status = "";
String sql = ""; String sql = "";
Timestamp refDate = null; Timestamp refDate = null;
Timestamp dueDate = null; Timestamp statDate = null;
Timestamp tranDate = null; Timestamp tranDate = null;
double exchRate = 0.0d; double exchRate = 0.0d;
double totAmt = 0.0d; double totAmt = 0.0d;
double adjAmt = 0.0d; double adjAmt = 0.0d,trfAmt=0.0d;
NodeList parentNodeList = null; NodeList parentNodeList = null;
Node parentNode = null; Node parentNode = null;
Connection conn = null; Connection conn = null;
...@@ -358,28 +364,69 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay ...@@ -358,28 +364,69 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
PreparedStatement pstmt2 = null; PreparedStatement pstmt2 = null;
PreparedStatement pstmt3 = null; PreparedStatement pstmt3 = null;
ResultSet rs = null; ResultSet rs = null;
StringBuffer xmlBuff = null;
int lineNo=0;
String sundryCode ="";
try try
{ {
conn = getConnection(); conn = getConnection();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB(); ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
sTranDate = checkNull(genericUtility.getColumnValue("tran_date", headerDom)); 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+"]"); System.out.println(">>>> TranDate:["+sTranDate+"]");
if(sTranDate != null && sTranDate.trim().length() > 0){ if(sTranDate != null && sTranDate.trim().length() > 0){
tranDate = Timestamp.valueOf(genericUtility.getValidDateString(sTranDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) "; " values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ";
pstmt2 = conn.prepareStatement(sql); 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 ) " + 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 ( ?, ?, ?, ?, ?, ?, ?, ?, ?)"; " VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?)";
pstmt3 = conn.prepareStatement(sql); pstmt3 = conn.prepareStatement(sql);
*/
String browDom=genericUtility.serializeDom(detailDom); String browDom=genericUtility.serializeDom(detailDom);
System.out.println("Detail dom"+browDom); System.out.println("Detail dom"+browDom);
parentNodeList = detailDom.getElementsByTagName("Detail2"); parentNodeList = detailDom.getElementsByTagName("Detail2");
int parentNodeListLength = parentNodeList.getLength(); 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++) for(int ptr = 0; ptr < parentNodeListLength; ptr++)
{ {
parentNode = parentNodeList.item(ptr); parentNode = parentNodeList.item(ptr);
...@@ -402,7 +449,7 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay ...@@ -402,7 +449,7 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
System.out.println(">>>---2---[TotAmt="+totAmt+"]AdjAmt=["+adjAmt+"]"); System.out.println(">>>---2---[TotAmt="+totAmt+"]AdjAmt=["+adjAmt+"]");
refSer = checkNull(genericUtility.getColumnValueFromNode("tran_ser", parentNode)); refSer = checkNull(genericUtility.getColumnValueFromNode("tran_ser", parentNode));
refNo = checkNullAndTrim(genericUtility.getColumnValueFromNode("ref_no", 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); System.out.println("[1]"+refSer+"[2]"+refNo+"[3]"+siteCode);
refSerPay = "RCPPAY"; refSerPay = "RCPPAY";
...@@ -419,12 +466,12 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay ...@@ -419,12 +466,12 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
finEnt = checkNull(genericUtility.getColumnValueFromNode("fin_entity", parentNode)); finEnt = checkNull(genericUtility.getColumnValueFromNode("fin_entity", parentNode));
bankCode = checkNull(genericUtility.getColumnValueFromNode("bank_code", parentNode)); bankCode = checkNull(genericUtility.getColumnValueFromNode("bank_code", parentNode));
sundryType = "C"; 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); 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"); dueDate = Timestamp.valueOf(genericUtility.getValidDateString(sDueDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
} }*/
if(sRefDate != null && sRefDate.trim().length() > 0){ if(sRefDate != null && sRefDate.trim().length() > 0){
refDate = Timestamp.valueOf(genericUtility.getValidDateString(sRefDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.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 ...@@ -433,7 +480,7 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
exchRate = Double.parseDouble(sExchRate); 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 = ? " + " where tran_ser = ? " +
" and ref_no = ? "; " and ref_no = ? ";
pstmt1 = conn.prepareStatement(sql); pstmt1 = conn.prepareStatement(sql);
...@@ -446,10 +493,10 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay ...@@ -446,10 +493,10 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
tranId = generateTranId("T_PAYABLES", "PAYL", siteCode, conn); tranId = generateTranId("T_PAYABLES", "PAYL", siteCode, conn);
System.out.println("Misc_Payables Transaction Id:"+tranId); 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 ) " + 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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) "; " values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ";
pstmt2 = conn.prepareStatement(sql);*/ pstmt2 = conn.prepareStatement(sql);
pstmt2.setString(1, tranId); pstmt2.setString(1, tranId);
pstmt2.setString(2, refSerPay); pstmt2.setString(2, refSerPay);
pstmt2.setTimestamp(3, tranDate); pstmt2.setTimestamp(3, tranDate);
...@@ -474,9 +521,9 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay ...@@ -474,9 +521,9 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
tranIdRecadj = generateTranId("t_misc_rec_adj", "R-ADJ", siteCode, conn); tranIdRecadj = generateTranId("t_misc_rec_adj", "R-ADJ", siteCode, conn);
System.out.println("Misc_Rec_Adj Transaction Id:"+tranIdRecadj); 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 ( ?, ?, ?, ?, ?, ?, ?, ?, ?)"; " VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?)";
pstmt3 = conn.prepareStatement(sql); */ pstmt3 = conn.prepareStatement(sql);
pstmt3.setString(1, tranIdRecadj); pstmt3.setString(1, tranIdRecadj);
pstmt3.setString(2, refSer); pstmt3.setString(2, refSer);
...@@ -488,11 +535,44 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay ...@@ -488,11 +535,44 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
pstmt3.setDouble(8, totAmt-adjAmt); pstmt3.setDouble(8, totAmt-adjAmt);
pstmt3.setString(9, tranIdRec); pstmt3.setString(9, tranIdRec);
pstmt3.addBatch(); 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 //parentNode loop end
int rowsInserted1[] = pstmt2.executeBatch(); /*int rowsInserted1[] = pstmt2.executeBatch();
int rowsInserted2[] = pstmt3.executeBatch(); int rowsInserted2[] = pstmt3.executeBatch();
pstmt2.clearBatch(); pstmt2.clearBatch();
pstmt3.clearBatch(); pstmt3.clearBatch();
...@@ -500,6 +580,9 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay ...@@ -500,6 +580,9 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
if(rowsInserted1.length > 0 && rowsInserted2.length > 0) if(rowsInserted1.length > 0 && rowsInserted2.length > 0)
{ {
errString = itmDBAccessEJB.getErrorString("","VTCOMPL","","",conn); errString = itmDBAccessEJB.getErrorString("","VTCOMPL","","",conn);
if(conn != null) if(conn != null)
{ {
...@@ -511,8 +594,47 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay ...@@ -511,8 +594,47 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
{ {
errString = itmDBAccessEJB.getErrorString("","VINSERT5 ","","",conn); errString = itmDBAccessEJB.getErrorString("","VINSERT5 ","","",conn);
return errString; 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) catch (SQLException se)
{ {
...@@ -688,7 +810,54 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay ...@@ -688,7 +810,54 @@ public class RecPayXfrPrc extends ProcessEJB implements RecPayXfrPrcLocal,RecPay
} }
return mainStr; 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) private String checkNullAndTrim(String inputVal)
{ {
if ( inputVal == null || "null".equals(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