Commit a12c37d7 authored by rtiwari's avatar rtiwari

add new ejb components for request DI3ESUN016


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@93484 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 7a8edbf5
package ibase.webitm.ejb.dis.adv;
import java.rmi.RemoteException;
import java.sql.*;
import java.text.SimpleDateFormat;
import org.w3c.dom.*;
import ibase.utility.CommonConstants;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import ibase.system.config.*;
import javax.ejb.Stateless;
import ibase.webitm.ejb.dis.adv.SaleOrderRelease;;
@Stateless
public class SaleOrderHold extends ActionHandlerEJB implements SaleOrderHoldLocal, SaleOrderHoldRemote
{
static
{
System.out.println("-- SalesReturnFormClose called -- ");
}
public String actionHandler(String tranId, String xtraParams, String forcedFlag) throws RemoteException, ITMException
{
String returnString=null;
System.out.println(".......tranId......."+tranId);
System.out.println(".......xtraParams..."+xtraParams);
System.out.println(".......forcedFlag..."+forcedFlag);
if(tranId!=null && tranId.trim().length() >0 )
{
returnString = holdSaleOrder(tranId,xtraParams,forcedFlag);
}
return returnString;
}
public String holdSaleOrder(String tranId,String xtraParams,String forcedFlag) throws RemoteException,ITMException
{
System.out.println("holdSaleOrder called........");
String sql = "";
String errString = "" ;
String status = "",conf = "";
int rowUpdate =0;
Connection conn = null;
ConnDriver connDriver = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
ITMDBAccessEJB itmDBAccessEJB = null;
System.out.println("tran id = "+tranId);
GenericUtility genericUtility = null;
Timestamp sysdate = null;
SaleOrderRelease sordRel = null;
try
{
itmDBAccessEJB = new ITMDBAccessEJB();
connDriver = new ConnDriver();
sordRel = new SaleOrderRelease();
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
conn.setAutoCommit(false);
genericUtility =GenericUtility.getInstance();
java.util.Date dt = new java.util.Date();
SimpleDateFormat sdf1= new SimpleDateFormat(genericUtility.getDBDateFormat());
sysdate = java.sql.Timestamp.valueOf(sdf1.format(dt)+" 00:00:00.0");
//SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
//sysdate = java.sql.Timestamp.valueOf(sdf.format(new java.util.Date()).toString() + " 00:00:00.0");
if ("db2".equalsIgnoreCase(CommonConstants.DB_NAME ) || "mysql".equalsIgnoreCase(CommonConstants.DB_NAME ))
{
sql = " SELECT confirmed, status FROM sorder WHERE sale_order = ? for update ";
}
else if ( "mssql".equalsIgnoreCase(CommonConstants.DB_NAME ))
{
sql = " SELECT confirmed, status FROM sorder (updlock) WHERE sale_order = ? ";
}
else
{
sql = " SELECT confirmed, status FROM sorder WHERE sale_order = ? for update nowait ";
}
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
conf = rs.getString("confirmed");System.out.println("--conf--"+conf);
status = rs.getString("status");System.out.println("--status--"+status);
}
rs.close();rs = null;
pstmt.close();pstmt = null;
if("C".equalsIgnoreCase(status.trim()))
{
System.out.println("--transaction already closed--");
errString = itmDBAccessEJB.getErrorString("","VTCANC5","","",conn);
}
else if("X".equalsIgnoreCase(status.trim()))
{
System.out.println("--transaction already cancelled--");
errString = itmDBAccessEJB.getErrorString("","VTCANC2","","",conn);
}
else if(!"Y".equalsIgnoreCase(conf.trim()))
{
System.out.println("-- unconfirmed order --");
errString = itmDBAccessEJB.getErrorString("","VTCOCONF3","","",conn);
}
else if("H".equalsIgnoreCase(status.trim()))
{
System.out.println("-- ALREADY ON HOLED --");
errString = itmDBAccessEJB.getErrorString("","VTALHOLD","","",conn);
}
else if("P".equalsIgnoreCase(status.trim()))
{
System.out.println("--order already on hold--");
sql = " update sorder set status = 'H',status_date = ? where sale_order = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1,sysdate);
pstmt.setString(2,tranId);
rowUpdate = pstmt.executeUpdate();
if(rowUpdate > 0 )
{
double lcstatus = 3;
try
{
errString = sordRel.sorderStatusLog(tranId ,sysdate ,lcstatus,xtraParams,"","","","",conn);
errString = itmDBAccessEJB.getErrorString("","VTHOLD","","",conn);
}
catch(Exception ex)
{
System.out.println("@@@@@ Exception to calling sorderStatusLog(..)");
ex.printStackTrace();
}
}
}
}
catch( Exception e)
{
try
{
conn.rollback();
System.out.println("Exception.. "+e.getMessage());
e.printStackTrace();
errString=e.getMessage();
throw new ITMException(e);
}
catch (SQLException ex)
{
ex.printStackTrace();
errString=ex.getMessage();
throw new ITMException(ex);
}
}
finally
{
try
{
if(rowUpdate > 0)
{
conn.commit();
System.out.println("--transaction commited--"+rowUpdate);
}else
{
conn.rollback();
System.out.println("--transaction rollback--");
}
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(conn != null)
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);
e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
} //end of method
}
\ No newline at end of file
package ibase.webitm.ejb.dis.adv;
import java.rmi.RemoteException;
import org.w3c.dom.*;
import ibase.webitm.ejb.ActionHandlerLocal;
import ibase.webitm.utility.ITMException;
import javax.ejb.Local; // added for ejb3
@Local // added for ejb3
public interface SaleOrderHoldLocal extends ActionHandlerLocal
{
public String actionHandler(String tranID, String xtraParams, String forcedFlag) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.dis.adv;
import java.rmi.RemoteException;
//import javax.ejb.EJBObject;
import org.w3c.dom.*;
import ibase.webitm.ejb.ActionHandlerRemote;
import ibase.webitm.utility.ITMException;
import javax.ejb.Remote;
@Remote
public interface SaleOrderHoldRemote extends ActionHandlerRemote
{
public String actionHandler(String tranID, String xtraParams, String forcedFlag) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.dis.adv;
import java.rmi.RemoteException;
import java.sql.*;
import java.text.SimpleDateFormat;
import org.w3c.dom.*;
import ibase.utility.CommonConstants;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
import ibase.webitm.ejb.*;
import ibase.webitm.ejb.sys.CreateRCPXML;
import ibase.system.config.*;
import javax.ejb.Stateless;
@Stateless
public class SaleOrderRelease extends ActionHandlerEJB implements SaleOrderReleaseLocal, SaleOrderReleaseRemote
{
static
{
System.out.println("-- SalesReturnFormClose called -- ");
}
public String actionHandler(String tranId, String xtraParams, String forcedFlag) throws RemoteException, ITMException
{
String returnString=null;
System.out.println(".......tranId......."+tranId);
System.out.println(".......xtraParams..."+xtraParams);
System.out.println(".......forcedFlag..."+forcedFlag);
if(tranId!=null && tranId.trim().length()>0)
{
returnString = releaseSaleOrder(tranId,xtraParams,forcedFlag);
}
return returnString;
}
public String releaseSaleOrder(String tranId,String xtraParams,String forcedFlag) throws RemoteException,ITMException
{
System.out.println("releaseSaleOrder called........");
String sql = "";
String errString = "" ;
String status = "",conf = "",userId;
int rowUpdate =0;
Connection conn = null;
ConnDriver connDriver = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
ITMDBAccessEJB itmDBAccessEJB = null;
System.out.println("tran id = "+tranId);
GenericUtility genericUtility = null;
Timestamp sysdate = null;
String chgTerm = "", chgUser = "";
try
{
itmDBAccessEJB = new ITMDBAccessEJB();
connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
conn.setAutoCommit(false);
genericUtility =GenericUtility.getInstance();
//userId = getValueFromXTRA_PARAMS(xtraParams,"loginCode");
//SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
java.util.Date dt = new java.util.Date();
SimpleDateFormat sdf1= new SimpleDateFormat(genericUtility.getDBDateFormat());
sysdate = java.sql.Timestamp.valueOf(sdf1.format(dt)+" 00:00:00.0");
//sysdate = java.sql.Timestamp.valueOf(sdf.format(new java.util.Date()) + " 00:00:00.0");
chgTerm = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "CHG_TERM" );
chgUser = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "CHG_USER" );
if ("db2".equalsIgnoreCase(CommonConstants.DB_NAME ) || "mysql".equalsIgnoreCase(CommonConstants.DB_NAME ))
{
sql = " SELECT confirmed, status FROM sorder WHERE sale_order = ? for update ";
}
else if ( "mssql".equalsIgnoreCase(CommonConstants.DB_NAME ))
{
sql = " SELECT confirmed, status FROM sorder (updlock) WHERE sale_order = ? ";
}
else
{
sql = " SELECT confirmed, status FROM sorder WHERE sale_order = ? for update nowait ";
}
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
conf = rs.getString("confirmed");System.out.println("--conf--"+conf);
status = rs.getString("status");System.out.println("--status--"+status);
}
rs.close();rs = null;
pstmt.close();pstmt = null;
if("C".equalsIgnoreCase(status.trim()))
{
System.out.println("--transaction already closed--");
errString = itmDBAccessEJB.getErrorString("","VTCANC5","","",conn);
}
else if("X".equalsIgnoreCase(status.trim()))
{
System.out.println("--transaction already cancelled--");
errString = itmDBAccessEJB.getErrorString("","VTCANC2","","",conn);
}
else if(!"Y".equalsIgnoreCase(conf.trim()))
{
System.out.println("-- unconfirmed order --");
errString = itmDBAccessEJB.getErrorString("","VTCOCONF3","","",conn);
}
else if("P".equalsIgnoreCase(status.trim()))
{
System.out.println("-- ALREADY RELEASED --");
errString = itmDBAccessEJB.getErrorString("","VTALREL","","",conn);
}
else if("H".equalsIgnoreCase(status.trim()))
{
System.out.println("--order on hold currently--");
sql = " update sorder set status = 'P',status_date = ? where sale_order = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1,sysdate);
pstmt.setString(2,tranId);
rowUpdate = pstmt.executeUpdate();
if(rowUpdate > 0 )
{
double lcstatus = 4;
errString = sorderStatusLog(tranId ,sysdate ,lcstatus,xtraParams,"","","","",conn);
errString = itmDBAccessEJB.getErrorString("","VTREL","","",conn);
}
}
}
catch( Exception e)
{
try
{
conn.rollback();
System.out.println("Exception.. "+e.getMessage());
e.printStackTrace();
errString=e.getMessage();
throw new ITMException(e);
}
catch (SQLException ex)
{
ex.printStackTrace();
errString=ex.getMessage();
throw new ITMException(ex);
}
}
finally
{
try
{
if(rowUpdate > 0)
{
conn.commit();
System.out.println("--transaction commited--"+rowUpdate);
}else
{
conn.rollback();
System.out.println("--transaction rollback--");
}
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(conn != null)
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);
e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
} //end of method
public String sorderStatusLog(String tranId, Timestamp tod, double evtype, String xtraParams,String lineno,String explev,String reascode,String refdescr,Connection conn) throws RemoteException,ITMException
{
int lskey = 0;
Timestamp todayDate = null ;
String sql = "",siteCode= "";
ResultSet rs = null;
PreparedStatement pstmt = null;
GenericUtility genericUtility = null;
ITMDBAccessEJB itmDBAccessEJB = null;
String errString = "" ;
String generatedtranId = "";
String chgTerm = "",chgUser = "";
int rows = 0;
String edioption = "";
try
{
System.out.println("@@@@@ :: sorderStatusLog :::: called :::: ");
genericUtility = GenericUtility.getInstance();
itmDBAccessEJB = new ITMDBAccessEJB();
chgTerm = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "CHG_TERM" );
chgUser = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "CHG_USER" );
java.util.Date dt = new java.util.Date();
SimpleDateFormat sdf1= new SimpleDateFormat(genericUtility.getDBDateFormat());
todayDate = java.sql.Timestamp.valueOf(sdf1.format(dt)+" 00:00:00.0");
sql = "select site_code from sorder where sale_order = ?" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
siteCode = rs.getString(1);//into :ls_site_code
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
sql = "select count(key_string) from transetup where tran_window = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,"w_sorder_stat_log");
rs = pstmt.executeQuery();
if(rs.next())
{
lskey = rs.getInt(1) ;
}
pstmt.close();
pstmt = null;
rs.close();
rs =null;
if(lskey == 0)
{
sql = "select count(key_string) from transetup where tran_window = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,"GENERAL");
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt(1) > 0);
{
System.out.println("-- key_string found in general --");
errString = itmDBAccessEJB.getErrorString("","DS000","","",conn);
}
}
pstmt.close();
pstmt = null;
rs.close();
rs =null;
}
generatedtranId = generateTranId( "w_sorder_stat_log",siteCode, conn );
sql = " insert into sorder_stat_log values(?,?,?,?,?,?,?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,generatedtranId);
pstmt.setString(2,tranId);
pstmt.setTimestamp(3,tod);
pstmt.setDouble(4,evtype);
pstmt.setString(5,lineno);
pstmt.setString(6,explev);
pstmt.setString(7,reascode);
pstmt.setString(8,refdescr);
pstmt.setTimestamp(9,todayDate);
pstmt.setString(10,chgUser);
pstmt.setString(11,chgTerm);
rows = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
if(rows > 0)
{
if(tranId != null)
{
sql = " select edi_option from transetup where tran_window = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,"w_sorder_stat_log");
rs = pstmt.executeQuery();
if(rs.next())
{
edioption = rs.getString(1);
String dataStr = "";
if("1".equalsIgnoreCase(edioption.trim()))
{
CreateRCPXML createRCPXML = new CreateRCPXML("w_sorder_stat_log","tran_id");
dataStr = createRCPXML.getTranXML( tranId, conn );
System.out.println( "dataStr =[ "+ dataStr + "]" );
Document ediDataDom = genericUtility.parseString(dataStr);
E12CreateBatchLoadEjb e12CreateBatchLoad = new E12CreateBatchLoadEjb();
String retString = e12CreateBatchLoad.createBatchLoad(ediDataDom, "w_sorder_stat_log", "0", xtraParams, conn );
createRCPXML = null;
e12CreateBatchLoad = null;
if( retString != null && retString.indexOf("SUCCESS") > -1 )
{
System.out.println("retString from batchload ["+retString+"]");
}
}
}
else
{
System.out.println(" edi option !found in transetup for w_sorder_stat_log ");
errString = itmDBAccessEJB.getErrorString("","DS000","","",conn);
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
}
}
else
{
System.out.println("-- not insert into sorder_stat_log --");
errString = itmDBAccessEJB.getErrorString("","DS000","","",conn);
}
}
catch(Exception e)
{
try
{
if( errString != null && errString.trim().length() > 0 )
{
conn.rollback();
System.out.println("--Transaction rollback in catch--");
}
System.out.println("Exception.. "+e.getMessage());
e.printStackTrace();
errString=e.getMessage();
throw new ITMException(e);
}
catch (Exception e1)
{
e1.printStackTrace();
errString=e.getMessage();
throw new ITMException(e1);
}
}
finally
{
try
{
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(errString != null && errString.trim().length() > 0)
{
conn.rollback();
}else
{
conn.commit();
}
}
catch (Exception e1)
{
e1.printStackTrace();
errString=e1.getMessage();
throw new ITMException(e1);
}
}
return errString;
}
private String generateTranId( String windowName,String siteCode, Connection conn )throws RemoteException,ITMException
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String selSql = "";
String tranId = "";
String tranSer = "";
String keyString = "";
String keyCol = "";
String xmlValues = "";
java.sql.Timestamp currDate = null;
GenericUtility genericUtility = GenericUtility.getInstance();
try
{
SimpleDateFormat sdfAppl = new SimpleDateFormat(genericUtility.getApplDateFormat());
currDate = new java.sql.Timestamp(System.currentTimeMillis());
String currDateStr = sdfAppl.format(currDate);
selSql = "SELECT KEY_STRING, TRAN_ID_COL, REF_SER FROM TRANSETUP WHERE TRAN_WINDOW = ? ";
pstmt = conn.prepareStatement(selSql);
pstmt.setString( 1, windowName );
rs = pstmt.executeQuery();
if (rs.next())
{
keyString = rs.getString("KEY_STRING");
keyCol = rs.getString("TRAN_ID_COL");
tranSer = rs.getString("REF_SER");
}
rs.close();rs = null;
pstmt.close();pstmt = null;
System.out.println("keyString :"+keyString);
System.out.println("keyCol :"+keyCol);
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, keyCol, keyString, conn);
System.out.println("tranId :"+tranId);
}
catch (SQLException ex)
{
System.out.println("Exception ::" +selSql+ ex.getMessage() + ":");
ex.printStackTrace();
throw new ITMException(ex);
}
catch (Exception e)
{
System.out.println("Exception ::" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e){}
}
System.out.println("@@@@@@@@@@@@@@@@@@@@@@tranId[[[[[[[[[[["+tranId+"]]]]]]]]]]]]]]]");
return tranId;
}//end of generateTranTd()
}
\ No newline at end of file
package ibase.webitm.ejb.dis.adv;
import java.rmi.RemoteException;
import ibase.webitm.ejb.ActionHandlerLocal;
import ibase.webitm.utility.ITMException;
import javax.ejb.Local; // added for ejb3
@Local // added for ejb3
public interface SaleOrderReleaseLocal extends ActionHandlerLocal
{
public String actionHandler(String tranID, String xtraParams, String forcedFlag) throws RemoteException,ITMException;
}
\ No newline at end of file
package ibase.webitm.ejb.dis.adv;
import java.rmi.RemoteException;
//import javax.ejb.EJBObject;
import org.w3c.dom.*;
import ibase.webitm.ejb.ActionHandlerRemote;
import ibase.webitm.utility.ITMException;
import javax.ejb.Remote;
@Remote
public interface SaleOrderReleaseRemote extends ActionHandlerRemote
{
public String actionHandler(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