Commit 320eba9f authored by spawar's avatar spawar

Added for SAP integration


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@98595 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 36c4a0f6
package ibase.webitm.servlet.wms;
/*public class SorderIntegrateServlet {
}*/
import ibase.system.config.AppConnectParm;
import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.DBAccessLocal;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.MasterStatefulRemote;
import ibase.webitm.ejb.XML2DBLocal;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.dis.InvAllocTraceBean;
import ibase.webitm.ejb.wms.SapSorderEJBLocal;
import ibase.webitm.ejb.wms.UploadOrderEJBLocal;
import ibase.webitm.ejb.wms.WaveGenerationPrc;
import ibase.webitm.servlet.ITMAuthenticateServlet;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.zip.GZIPOutputStream;
import javax.naming.InitialContext;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.CDATASection;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import javax.xml.rpc.ParameterMode;
/**
* Servlet implementation class SorderIntegrateServlet
*/
public class SapIntegrationServlet extends ITMAuthenticateServlet
{
private static final long serialVersionUID = 1L;
ServletContext servletContext = null;
ServletConfig servletConfig = null;
String saleOrderMagentoG = "",siteCode = "";
public void init(ServletConfig servletConfig) throws ServletException
{
this.servletConfig = servletConfig;
this.servletContext = servletConfig.getServletContext();
}
/*public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException
{
doPost(request,response);
}*/
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException
{
System.out.println("\n\n****** SorderIntegrateServlet called@@@@ ******");
FileInputStream fin = null;
OutputStream outStream = null;
GZIPOutputStream gzOutStream = null;
String loginCode = "";
String retString = "";
boolean isError=false;
//Integration Start
String refser = "";
String wrkflwInit = "";
String wrkflwOpt = "0";
String editFlag = "A";
String pkValues = "";
String prcInstId = "";
String auditDataXmlBefore = "";
String auditXMLString = "";
String headerPKFieldValues = null;
String objName = request.getParameter("OBJ_NAME");
String dataBuff = request.getParameter("XML_DATA");
String userName = request.getParameter("USER");
try
{
System.out.println( "Check User..........["+userName+"]" );
System.out.println( "GET XML DATA..........["+request.getParameter("XML_DATA")+"]" );
System.out.println( "GET cust_code..........["+request.getParameter("cust_code")+"]" );
if( Boolean.valueOf( authenticate( request ) ).booleanValue() )
{
System.out.println( "Authenticated -----------------" );
HttpSession session = request.getSession();
ibase.utility.UserInfoBean userInfo = (ibase.utility.UserInfoBean)session.getAttribute("USER_INFO");
if(userInfo != null)
{
loginCode = userInfo.getLoginCode();
System.out.println( "Getting Login Code -----------------["+loginCode+"]");
}
if(this.servletContext != null)
{
System.out.println( "servlet Context not null"+this.servletContext.getServerInfo()+"]");
CommonConstants.setAPPLICATION_CONTEXT(this.servletContext.getRealPath("/"));
}
CommonConstants.setIBASEHOME();
System.out.println("dataBuff xml Data---------->>["+dataBuff+"]");
boolean isWrkflwInitiated = false;
boolean isAutoConfirm = false;
boolean genKey = false;
boolean isAuditTrailOn = false;
boolean isWrkflwToBeInitiated = false;
int noOfForms = 2,count = 0;
InitialContext ctx = null;
DBAccessLocal dbAccess = null;
System.out.println("Current OBJ NAME ["+objName+"]");
try
{
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
dbAccess = (DBAccessLocal) ctx.lookup("ibase/DBAccessEJB/local");
}
catch (ITMException itme)
{
System.out.println("ITMException :TncUtils :saveTNCAgreement :==>");
throw itme;
}
catch (Exception e)
{
System.out.println("Exception :TncUtils :saveTNCAgreement :==>");
throw new ITMException(e);
}
HashMap objDetailMap = dbAccess.getObjDetailMap(objName);
if (objDetailMap != null)
{
refser = (objDetailMap.get("REF_SER") != null) ? (String) objDetailMap.get("REF_SER") : null;
isAutoConfirm = (objDetailMap.get("AUTO_CONFIRM") != null && "Y".equalsIgnoreCase((String) objDetailMap.get("AUTO_CONFIRM"))) ? true : false;
wrkflwInit = (String) objDetailMap.get("WRKFLW_INIT");
wrkflwOpt = (objDetailMap.get("WORKFLOW_OPT") != null) ? (String) objDetailMap.get("WORKFLOW_OPT") : wrkflwOpt;
if (Integer.parseInt(wrkflwOpt) > 1)
{
isWrkflwToBeInitiated = true;
}
String keyFlag = (String)objDetailMap.get("KEY_FLAG");
if (keyFlag != null && keyFlag.equalsIgnoreCase("A"))
{
genKey = true;
}
}
XML2DBLocal xml2db = (XML2DBLocal) ctx.lookup("ibase/XML2DBEJB/local");
System.out.println("dataBuff.toString()123 before saveXML2DB[" + dataBuff.toString() + "]");
String xtraParams= getXtraParams( userInfo );
if(dataBuff != null)
{
//UploadOrderEJBLocal uploadSalesOrderLocalObj = (UploadOrderEJBLocal) ctx.lookup("ibase/UploadOrderEJB/local");
SapSorderEJBLocal sapSorderObj = (SapSorderEJBLocal) ctx.lookup("ibase/SapSorderEJB/local");
retString = sapSorderObj.uploadSalesOrder(dataBuff, xtraParams,userName, objName);
System.out.println(" SorderIntegrateServlet retString@#----->>["+retString+"]@@@$%");
/*if(retString != null && retString.length() > 0 && retString.indexOf("Success") > -1)
{
saleOrderMagentoG = retString.substring(retString.indexOf("Success")+7,retString.length());
}
else
{
isError = true;
}*/
}
else
{
isError = true;
retString = "Requested xml data not found";
System.out.println("Requested xml data not found.........................");
}
//Integration End
}
else
{
isError = true;
retString = "Authentication Failed";
System.out.println("Authentication Failed.........................");
}
}
catch(Exception e)
{
isError = true;
retString = e.getMessage();
System.out.println("Exception :SorderIntegrateServlet :doPost :==>["+retString+"]");
e.printStackTrace();
response.setHeader( "SorderIntegrateServlet", e.getMessage() );
}
finally
{
System.out.println( "Finally post method.........."+isError);
System.out.println( "Finally post method retString..........["+retString+"]@@#$");
try
{
if(isError)
{
retString = "<ROOT><STATUS>ERROR</STATUS><MSG_DESCR>"+ retString +"</MSG_DESCR></ROOT>";
System.out.println("Transction rollbacking...............");
}
else
{
//retString = "<ROOT><STATUS>SUCCESS</STATUS><MSG_DESCR>Sales Order "+saleOrderMagentoG+" is Confirmed</MSG_DESCR></ROOT>";
}
//Response to client
//retString = ResponseToClient(retString);
System.out.println("Response to client------>>["+retString+"]");
response.setContentType( "text/html; charset="+CommonConstants.ENCODING );
System.out.println("request.getCharacterEncoding() ["+request.getCharacterEncoding()+"]");
System.out.println("response.getCharacterEncoding() ["+response.getCharacterEncoding()+"]");
outStream = response.getOutputStream();
outStream.write( retString.getBytes(CommonConstants.ENCODING) );
outStream.flush();
outStream.close();
if(fin != null)
{
fin.close();
}
if( outStream !=null)
{
outStream.close();
}
if(gzOutStream != null)
{
gzOutStream.close();
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
private String ResponseToClient(String retStr)
{
StringBuffer str1 = new StringBuffer();
try
{
if(retStr.length() > 0)
{
if(retStr.indexOf("<?xml") > -1)
{
str1.append( retStr.substring(0,retStr.indexOf("<?xml")) );
System.out.println("ResponseToClient retString----->>"+retStr);
str1.append( retStr.substring( retStr.indexOf("?>")+2, retStr.length() ) );
return str1.toString();
}
}
}
catch(Exception e)
{
e.printStackTrace();
return retStr;
}
return retStr;
}
public String getXtraParams( UserInfoBean userInfoBean )throws Exception
{
String XTRA_PARAMS_SEPARATOR = "~~";
StringBuffer xtraParamsBuff = new StringBuffer();
xtraParamsBuff.append("loginCode=" + userInfoBean.getLoginCode());
xtraParamsBuff.append(XTRA_PARAMS_SEPARATOR).append("loginEmpCode=" + userInfoBean.getEmpCode());
xtraParamsBuff.append(XTRA_PARAMS_SEPARATOR).append("loginSiteCode=" + userInfoBean.getSiteCode());
xtraParamsBuff.append(XTRA_PARAMS_SEPARATOR).append("entityCode=" + userInfoBean.getEntityCode());
xtraParamsBuff.append(XTRA_PARAMS_SEPARATOR).append("profileId=" + userInfoBean.getProfileId());
xtraParamsBuff.append(XTRA_PARAMS_SEPARATOR).append("userType=" + userInfoBean.getUserType());
xtraParamsBuff.append(XTRA_PARAMS_SEPARATOR).append("runMode=I");
xtraParamsBuff.append(XTRA_PARAMS_SEPARATOR).append("user_lang=" + userInfoBean.getUserLanguage());
xtraParamsBuff.append(XTRA_PARAMS_SEPARATOR).append("user_country=" + userInfoBean.getUserCountry());
xtraParamsBuff.append(XTRA_PARAMS_SEPARATOR).append("charEnc=" + userInfoBean.getCharEnc());
xtraParamsBuff.append(XTRA_PARAMS_SEPARATOR).append("termId="+userInfoBean.getRemoteHost());
String chgTerm = userInfoBean.getRemoteHostName();
if( chgTerm != null && chgTerm.length() > 15 )
{
chgTerm = chgTerm.substring(0, 15);
}
else if( chgTerm == null || chgTerm.length() == 0 )
{
chgTerm = userInfoBean.getRemoteHost();
}
xtraParamsBuff.append(XTRA_PARAMS_SEPARATOR).append("chgTerm=" + chgTerm );
System.out.println("xtraParamsBuff ["+xtraParamsBuff+"]");
return xtraParamsBuff.toString();
}
public String checkNull(String str)
{
if(str == null)
{
str="";
}
return str.trim();
}
}
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