Commit 5ddf7a71 authored by rtiwari's avatar rtiwari

ADD FOR WORK ORDER STOCK TRANSFER


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@93853 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 5be4e525
/**
DEVELOPED BY RITESH TIWARI ON 11/11/13
FOR WORK ORDER STOCK TRANSFER
*/
package ibase.webitm.ejb.dis;
import ibase.system.config.AppConnectParm;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.ProcessEJB;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
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.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.Stateless;
import javax.naming.InitialContext;
import org.apache.axis.client.Service;
import org.apache.axis.client.Call;
import org.apache.axis.encoding.XMLType;
import org.w3c.dom.Document;
import javax.xml.rpc.ParameterMode;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.dis.adv.StockTransferConf;
import ibase.webitm.ejb.fin.FinCommon;
@Stateless
public class WoTransferPrc extends ProcessEJB implements WoTransferPrcLocal,WoTransferPrcRemote
{
static
{
System.out.println("-- WoTransferPrc called -- ");
}
public String process() throws RemoteException,ITMException
{
return "";
}
public String process(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException
{
Document detailDom = null;
Document headerDom = null;
GenericUtility genericUtility = GenericUtility.getInstance();
String retStr = "";
try
{
System.out.println("xmlString[process]::::::::::;;;"+xmlString);
System.out.println("xmlString2[process]::::::::::;;;"+xmlString2);
System.out.println("windowName[process]::::::::::;;;"+windowName);
System.out.println("xtraParams[process]:::::::::;;;"+xtraParams);
}
catch(Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
}
try
{
if(xmlString != null && xmlString.trim().length()!=0)
{
headerDom = genericUtility.parseString(xmlString);
System.out.println("headerDom" + headerDom);
}
if(xmlString2 != null && xmlString2.trim().length()!=0)
{
detailDom = genericUtility.parseString(xmlString2);
System.out.println("detailDom" + detailDom);
}
retStr = process(headerDom, detailDom, windowName, xtraParams);
}
catch (Exception e)
{
System.out.println("Exception :WoTransferPrc :process(String xmlString, String xmlString2, String windowName, String xtraParams):" + e.getMessage() + ":");
e.printStackTrace();
}
return retStr;
} //end of confirm method
public String process(Document dom, Document dom2, String windowName,String xtraParams) throws RemoteException, ITMException
{
System.out.println("WoTransferPrc process called........");
String sql = "";
String errString = "";
String siteCode = "",invstat="";
String worder = "",locCodeTo="";
int cnt=0;
Connection connOne = null;
ConnDriver connDriver = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
GenericUtility genericUtility = null;
ITMDBAccessEJB itmDBAccessEJB = null;
DistCommon dComm = new DistCommon();
try
{
genericUtility = new GenericUtility();
itmDBAccessEJB = new ITMDBAccessEJB();
connDriver = new ConnDriver();
connOne = connDriver.getConnectDB("DriverITM");
connDriver = null;
worder = checkNull(genericUtility.getColumnValue("work_order", dom));
locCodeTo = checkNull(genericUtility.getColumnValue("loc_code__to", dom));
connOne.setAutoCommit(false);
if(worder == null || worder.trim().length() <= 0)
{
errString = itmDBAccessEJB.getErrorString("","VTWKORD1 ","","",connOne);
return errString;
}
if(locCodeTo == null || locCodeTo.trim().length() <= 0)
{
errString = itmDBAccessEJB.getErrorString("","VTLOCCDTO2 ","","",connOne);
return errString;
}
if(worder != null || worder.trim().length() > 0)
{
sql = "select count(*) from workorder where work_order = ? and status not in ('F') ";
pstmt = connOne.prepareStatement(sql);
pstmt.setString(1,worder);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
}
if(rs != null)
rs.close();
rs = null;
if(pstmt != null)
pstmt.close();
pstmt = null;
if(cnt == 0)
{
errString = itmDBAccessEJB.getErrorString("","VPWOINV ","","",connOne);
return errString;
}
}
if(locCodeTo != null || locCodeTo.trim().length() > 0)
{
cnt=0;
invstat = dComm.getDisparams("999999","SUB_ST_INVSTAT", connOne);
sql = "select count(1) from location where loc_code = ? and inv_stat = ? ";
pstmt = connOne.prepareStatement(sql);
pstmt.setString(1,locCodeTo);
pstmt.setString(2,invstat);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
}
if(rs != null)
rs.close();
rs = null;
if(pstmt != null)
pstmt.close();
pstmt = null;
if(cnt == 0)
{
errString = itmDBAccessEJB.getErrorString("","VTLOCCDTO1 ","","",connOne);
return errString;
}
}
if(errString == null || errString.trim().length() == 0)
{
errString = allocStockToWo(worder,locCodeTo,xtraParams,connOne);
System.out.println("err String from STOCKTRANS ="+errString);
if((errString != null ) && errString.indexOf("Success") > -1 || errString.indexOf("CONFSUCC") >-1)//Added by manoj dtd 23/08/2013 to check whether generated transaction is confirmed successfully
{
connOne.commit();
System.out.println("--process completed--");
errString = itmDBAccessEJB.getErrorString("","VPSUCC1 ","","",connOne);
}
else if(errString != null && errString.indexOf("VTITRF") > -1)
{
System.out.println("(((((((((((()]]]]]]]]]]]]]]]]");;
errString = itmDBAccessEJB.getErrorString("","VTITRF ","","",connOne);
}
else
{
connOne.rollback();
System.out.println("--process not completed--");
errString = itmDBAccessEJB.getErrorString("","VTPRCERR ","","",connOne);
}
}
}
catch( Exception e)
{
try
{
connOne.rollback();
}
catch (SQLException ex)
{
Logger.getLogger(GenerateSaleOrderPrc.class.getName()).log(Level.SEVERE, null, ex);
}
e.printStackTrace();
}
finally
{
try
{
if(errString != null && errString.trim().length() > 0)
{
if(errString.indexOf("VPSUCC1") > -1 )
{
connOne.commit();
System.out.println("--transaction commited--");
}
else
{
connOne.rollback();
System.out.println("--transaction rollback--");
}
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if( connOne != null && ! connOne.isClosed() )
{
connOne.close();
connOne = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
private String allocStockToWo(String worder,String locCodeTo ,String xtraParams, Connection connOne) throws RemoteException, ITMException
{
String userId = "";
String termId = "";
String sql = "",sql1="", acctCodeInv1 = "",cctrCodeInv1="";
String ordtype = "",itemCode="",quantity="",duedate="",tranIdInvAlloc="",reasCode="",
lotno="",lotsl="",refno = "",itemSer="",bomcode = "",tranType="",lotslto="",lotnoto="";
Date tranDate = null,orddate = null;
int notrans =0;
PreparedStatement pstmt = null,pstmt1= null;
ResultSet rs = null,rs1=null;
GenericUtility genericUtility = null;
ITMDBAccessEJB itmDBAccessEJB = null;
Timestamp currDate = null;
String retString = null;
String siteCode = "",empCode = "";
String xmlString = "";
DistCommon dComm = null;
StringBuffer xmlBuff = null;
// Connection connOne = null;
// ConnDriver connDriver1 = null;
ArrayList list = null;
try
{
list = new ArrayList();
itmDBAccessEJB = new ITMDBAccessEJB();
genericUtility = GenericUtility.getInstance();
dComm = new DistCommon();
System.out.println("@@@@@@@ wostock trans. function called::");
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
SimpleDateFormat sdf1 = new SimpleDateFormat(genericUtility.getDBDateFormat());
currDate = java.sql.Timestamp.valueOf(sdf1.format(new java.util.Date()).toString() + " 00:00:00.0");
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"); System.out.println("--login code--"+userId);
termId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId"); System.out.println("--term id--"+termId);
sql = "SELECT EMP_CODE FROM USERS WHERE CODE = ? ";
pstmt = connOne.prepareStatement(sql);
pstmt.setString(1, userId);
rs = pstmt.executeQuery();
if ( rs.next() )
{
empCode = rs.getString("EMP_CODE")== null ?"":rs.getString("EMP_CODE");
}
if(rs != null)
rs.close();
rs = null;
if(pstmt != null)
pstmt.close();
pstmt = null;
sql = "select item_code,site_code,bom_code,lot_no,lot_sl,ref_no,ord_date " +
" from workorder where work_order = ? ";
pstmt = connOne.prepareStatement(sql);
pstmt.setString(1,worder);
rs = pstmt.executeQuery();
if(rs.next())
{
//ordtype = rs.getString("order_type");
itemCode = checkNull(rs.getString("item_code"));
siteCode = checkNull(rs.getString("site_code"));
orddate = rs.getDate("ord_date");
//duedate = rs.getString("due_date");
bomcode = checkNull(rs.getString("bom_code"));
lotno = checkNull(rs.getString("lot_no"));
lotsl = checkNull(rs.getString("lot_sl"));
refno = checkNull(rs.getString("ref_no"));
}
if(rs != null)
rs.close();
rs = null;
if(pstmt != null)
pstmt.close();
pstmt = null;
sql = "select item_ser from item where item_code = ? ";
pstmt = connOne.prepareStatement(sql);
pstmt.setString(1,itemCode);
rs = pstmt.executeQuery();
if(rs.next())
{
itemSer = rs.getString("item_ser");
}
if(rs != null)
rs.close();
rs = null;
if(pstmt != null)
pstmt.close();
pstmt = null;
sql = "select tran_type,tran_date,tran_id from inv_allocate where WORK_ORDER = ? ";
pstmt = connOne.prepareStatement(sql);
pstmt.setString(1,worder);
rs = pstmt.executeQuery();
if(rs.next())
{
tranType = checkNull(rs.getString("tran_type"));
tranDate = rs.getDate("tran_date");
tranIdInvAlloc = checkNull(rs.getString("tran_id"));
}
if(rs != null)
rs.close();
rs = null;
if(pstmt != null)
pstmt.close();
pstmt = null;
String invstat = dComm.getDisparams("999999","MAIN_ST_INVSTAT", connOne);
System.out.println("::: XML Cretation::::");
//sql1 = "select item_code,quantity,site_code,loc_code__alloc,consider_lot_no__issue from workorder_bill where work_order = ? ";
sql = "select item_code,site_code,lot_no,lot_sl,remarks,line_no,loc_code,quantity from inv_alloc_det where tran_id = ? " +
" and loc_code in(select loc_code from location where inv_stat = ?)";
pstmt = connOne.prepareStatement(sql);
pstmt.setString(1,tranIdInvAlloc);
pstmt.setString(2,invstat);
rs = pstmt.executeQuery();
while(rs.next())
{
notrans ++;
xmlBuff = new StringBuffer();
sql1 = "select item_ser from item where item_code = ? ";
pstmt1 = connOne.prepareStatement(sql1);
pstmt1.setString(1,rs.getString("item_code"));
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
itemSer = rs1.getString("item_ser");
}
if(rs1 != null)
rs1.close();
rs1 = null;
if(pstmt1 != null)
pstmt1.close();
pstmt1 = null;
sql1 = "select reas_code from inv_alloc_det where tran_id = ? and item_code = ? ";
pstmt1 = connOne.prepareStatement(sql1);
pstmt1.setString(1,tranIdInvAlloc);
pstmt1.setString(2,rs.getString("item_code"));
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
reasCode = checkNull(rs1.getString("reas_code"));
}
if(rs1 != null)
rs1.close();
rs1 = null;
if(pstmt1 != null)
pstmt1.close();
pstmt1 = null;
sql1 = "select acct_code__inv, cctr_code__inv from stock where item_code = ? and site_code = ? and loc_code = ? and lot_no = ? and lot_sl = ? ";
pstmt1 = connOne.prepareStatement(sql1);
pstmt1.setString(1,checkNull(rs.getString("item_code")));
pstmt1.setString(2,checkNull(rs.getString("site_code")));
pstmt1.setString(3,checkNull(rs.getString("loc_code")));
pstmt1.setString(4,checkNull(rs.getString("lot_no")));
pstmt1.setString(5,checkNull(rs.getString("lot_sl")));
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
acctCodeInv1 = rs1.getString("acct_code__inv")==null?"1440":rs1.getString("acct_code__inv");
cctrCodeInv1 = rs1.getString("cctr_code__inv")==null?"H651":rs1.getString("cctr_code__inv");
}
if(rs1 != null)
rs1.close();
rs1 = null;
if(pstmt1 != null)
pstmt1.close();
pstmt1 = null;
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("stock_transfer").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=\"stock_transfer\" objContext=\"1\">");
xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<tran_date><![CDATA["+ sdf.format(currDate).toString()+"]]></tran_date>");
xmlBuff.append("<ref_date><![CDATA[" + sdf.format(orddate).toString() +"]]></ref_date>");
xmlBuff.append("<tran_type><![CDATA["+ tranType +"]]></tran_type>");
xmlBuff.append("<site_code><![CDATA["+ checkNull(rs.getString("site_code")) +"]]></site_code>");
xmlBuff.append("<item_ser><![CDATA[" + itemSer +"]]></item_ser>");
xmlBuff.append("<emp_code__aprv><![CDATA["+ empCode +"]]></emp_code__aprv>");
xmlBuff.append("<ref_id__for><![CDATA[" + refno +"]]></ref_id__for>");
xmlBuff.append("<reas_code><![CDATA[" + reasCode+" ]]></reas_code>");
xmlBuff.append("<truck_no><![CDATA[ ]]></truck_no>");
xmlBuff.append("</Detail1>");
xmlBuff.append("<Detail2 dbID='' domID=\"1\" objName=\"stock_transfer\" objContext=\"2\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<item_code><![CDATA["+ checkNull(rs.getString("item_code"))+"]]></item_code>");
xmlBuff.append("<line_no><![CDATA[" + checkNull(rs.getString("line_no")) +"]]></line_no>");
xmlBuff.append("<quantity><![CDATA[" + rs.getDouble("quantity") +"]]></quantity>");
xmlBuff.append("<remarks><![CDATA[" + checkNull(rs.getString("remarks")) +"]]></remarks>");
xmlBuff.append("<loc_code__fr><![CDATA[" + checkNull(rs.getString("loc_code")) +"]]></loc_code__fr>");
xmlBuff.append("<loc_code__to><![CDATA[" + locCodeTo +"]]></loc_code__to>");
xmlBuff.append("<lot_no__fr><![CDATA[" + checkNull(rs.getString("lot_no")) +"]]></lot_no__fr>");
xmlBuff.append("<lot_sl__fr><![CDATA[" + checkNull(rs.getString("lot_sl")) +"]]></lot_sl__fr>");
xmlBuff.append("<lot_no__to><![CDATA[" + checkNull(rs.getString("lot_no")) +"]]></lot_no__to>");
xmlBuff.append("<lot_sl__to><![CDATA[" + checkNull(rs.getString("lot_sl")) +"]]></lot_sl__to>");
xmlBuff.append("<acct_code__dr><![CDATA["+ acctCodeInv1 +"]]></acct_code__dr>");
xmlBuff.append("<acct_code__cr><![CDATA["+ acctCodeInv1 +"]]></acct_code__cr>");
xmlBuff.append("<cctr_code__cr><![CDATA["+ cctrCodeInv1 +"]]></cctr_code__cr>");
xmlBuff.append("<cctr_code__dr><![CDATA["+ cctrCodeInv1 +"]]></cctr_code__dr>");
xmlBuff.append("</Detail2>");
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
xmlString = xmlBuff.toString();
System.out.println("@@@@@2: xmlString @ "+notrans+":::: "+xmlBuff.toString());
System.out.println("...............just before savdata() @ "+notrans);
siteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
System.out.println("== site code == @"+notrans+": "+siteCode);
retString = saveData(siteCode,xmlString,connOne);
System.out.println("@@@@@2: retString: @"+notrans+":: "+retString);
System.out.println("--retString finished--");
if (retString.indexOf("Success") > -1)
{
connOne.commit();
System.out.println("@@@@@@3: retString @ "+notrans+":::: "+retString);
String[] arrayForTranId = retString.split("<TranID>");
int endIndex = arrayForTranId[1].indexOf("</TranID>");
String tranIdForIssue = arrayForTranId[1].substring(0,endIndex);
System.out.println("-tranIdForIssue-"+tranIdForIssue);
list.add(tranIdForIssue);
}
}
System.out.println("Total transaction : "+notrans+" total list size"+list.size());
StockTransferConf stconf = new StockTransferConf();
for(int i=0;i<= list.size()-1;i++)
{
retString = stconf.confirm((String)list.get(i),xtraParams,"");
System.out.println("retString from confirmStocktrans :: @"+i+":: "+retString);//CONFSUCC
}
}
catch(Exception e)
{
e.printStackTrace();
retString = e.getMessage();
throw new ITMException(e);
}
finally
{
try
{
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
// if( connOne != null && !connOne.isClosed())
// {
// connOne.close();
// connOne = null;
// }
}
catch(Exception e)
{
e.printStackTrace();
retString = e.getMessage();
throw new ITMException(e);
}
}
System.out.println("Returning Result [" + retString + "]");
return retString;
}
private String checkNull(String input)
{
if(input == null)
{
input = "";
}
return input;
}
private String saveData(String siteCode,String xmlString, Connection conn) throws ITMException
{
System.out.println("saving data...........");
InitialContext ctx = null;
String retString = null;
MasterStatefulLocal masterStateful = null; // for ejb3
try
{
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[1] = "";
System.out.println("xmlString to masterstateful [" + xmlString + "]");
retString = masterStateful.processRequest(authencate, siteCode, true, xmlString,true,conn);
System.out.println("--retString - -"+retString);
}
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;
}
}
\ No newline at end of file
package ibase.webitm.ejb.dis;
import java.rmi.RemoteException;
//import javax.ejb.EJBObject;
import org.w3c.dom.*;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.ProcessLocal;
import javax.ejb.Local; // added for ejb3
@Local // added for ejb3
public interface WoTransferPrcLocal extends ibase.webitm.ejb.ProcessLocal//, EJBObject
{
public String process() throws RemoteException,ITMException;
public String process(Document dom, Document dom2, String windowName, String xtraParams) throws RemoteException,ITMException;
public String process(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException;
// public String getData(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException;
// public String getData(Document dom, Document dom2, String windowNamem, String xtraParams) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.dis;
import java.rmi.RemoteException;
//import javax.ejb.EJBObject;
import org.w3c.dom.*;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.ProcessRemote;
import javax.ejb.Remote; // added for ejb3
@Remote // added for ejb3
public interface WoTransferPrcRemote extends ibase.webitm.ejb.ProcessRemote//, EJBObject
{
public String process() throws RemoteException,ITMException;
public String process(Document dom, Document dom2, String windowName, String xtraParams) throws RemoteException,ITMException;
public String process(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException;
// public String getData(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException;
// public String getData(Document dom, Document dom2, String windowNamem, String xtraParams) throws RemoteException,ITMException;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment