Commit d6220d8c authored by smane's avatar smane

ConsumeOrdStkAct.java

ConsumeOrdStkActLocal.java
ConsumeOrdStkActRemote.java
file added by sagar


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@94129 ce508802-f39f-4f6c-b175-0d175dae99d5
parent b71d91d8
package ibase.webitm.ejb.dis;
import java.rmi.RemoteException;
import java.sql.*;
import org.w3c.dom.*;
import javax.ejb.*;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.utility.GenericUtility;
import ibase.system.config.*;
import java.text.SimpleDateFormat;
import javax.ejb.Stateless;
@Stateless //
public class ConsumeOrdStkAct extends ActionHandlerEJB implements ConsumeOrdStkActLocal,ConsumeOrdStkActRemote//SessionBean
{
GenericUtility genericUtility = GenericUtility.getInstance();
String act_type=null;
/*public void ejbCreate() throws RemoteException, CreateException
{
}
public void ejbRemove()
{
}
public void ejbActivate()
{
}
public void ejbPassivate()
{
}*/
public String actionHandler() throws RemoteException,ITMException
{
return "";
}
public String actionHandler(String actionType, String xmlString, String xmlString1, String objContext, String xtraParams) throws RemoteException,ITMException
{
System.out.println(">>>>>>>>>>>>>In actionHandler getStockDetails:");
Document dom = null;
Document dom1 = null;
String retString = null;
try
{
if(xmlString != null && xmlString.trim().length()!=0)
{
System.out.println(">>>>>>>>>>>>>XML String>:"+xmlString);
dom = genericUtility.parseString(xmlString);
System.out.println(">>>>>>>>>>>>>Dom:"+dom);
}
if(xmlString1 != null && xmlString1.trim().length()!=0)
{
System.out.println(">>>>>>>>>>>>>>XML String1:"+xmlString1);
dom1 = genericUtility.parseString(xmlString1);
System.out.println(">>>>>>>>>>>>>>dom1:"+dom1);
}
System.out.println(">>>>>>>>>>>>>>>>actionType:"+actionType+":");
if (actionType.equalsIgnoreCase("def_items"))
{
System.out.println("*********************Before Call getStockDetails*********************");
retString = getStockDetails(dom,dom1,objContext,xtraParams);//function to fetch data
}
}
catch(Exception e)
{
System.out.println("Exception :ModelHandler :actionHandler(String xmlString):" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
System.out.println("returning String from ModelHandler : actionHandler"+retString);
return retString;
}
private String getStockDetails(Document dom, Document dom1, String objContext, String xtraParams) throws RemoteException, ITMException
{
String siteCode="";
String locationCode="";
String itemCode = "";
String itemDescr = "";
String unit=null;
double quantity=0.0;
String sql="";
int lineCntr=0;
int totalCnt=0;
String stScheme="";
String finVarValues="";
String finValues[] = null;
String acctCode="";
String cctrCode="";
String itemSer="";
boolean flagIntgrlQty=false;
double currentStock=0.0;
double integralQty=0.0;
FinCommon finCommon=new FinCommon();
StringBuffer valueXmlString = new StringBuffer("<?xml version=\"1.0\"?>\r\n<Root>\r\n");
PreparedStatement pstmt = null,pstmt1=null;
ResultSet rs = null,rs1=null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
GenericUtility genericUtility = GenericUtility.getInstance();
NodeList parentNodeList = null;
Node parentNode=null;
String winName="";
try
{
System.out.println("*********************In getStockDetails*********************");
System.out.println("dom1--> "+dom1);
conn = connDriver.getConnectDB("DriverITM");
siteCode = genericUtility.getColumnValue("site_code__req",dom1);
locationCode = genericUtility.getColumnValue("loc_code",dom1);
System.out.println(">>>>>>>>>>>>>>>siteCode==>"+siteCode);
System.out.println(">>>>>>>>>>>>>>>LocationCode==>"+locationCode);
parentNodeList = dom1.getElementsByTagName("Detail");
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>parentNodeList Detail:"+parentNodeList);
parentNodeList = dom1.getElementsByTagName("Detail1");
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>parentNodeList Detail1:"+parentNodeList);
//parentNode = dom.getElementsByTagName("Detail2")[0];
parentNode = parentNodeList.item(0);
winName=getObjName(parentNode);
System.out.println(">>>>>>>>>>>>>>>winName==>"+winName);
// sql= "SELECT stk.item_code,itm.descr,itm.unit,sum(quantity) AS quantity FROM item itm ,stock stk WHERE itm.item_code=stk.item_code AND stk.site_code=? and stk.loc_code=? GROUP BY stk.item_code, itm.descr, itm.unit";
sql="SELECT stk.item_code,itm.descr,itm.unit,itm.item_ser,(CASE WHEN sum((CASE WHEN quantity IS NULL THEN 0 ELSE quantity END) - (CASE WHEN alloc_qty IS NULL THEN 0 ELSE alloc_qty END) -(CASE WHEN hold_qty IS NULL THEN 0 ELSE hold_qty END) ) IS NULL THEN 0 ELSE sum((CASE WHEN quantity IS NULL THEN 0 ELSE quantity END) - (CASE WHEN alloc_qty IS NULL THEN 0 ELSE alloc_qty END) - (CASE WHEN hold_qty IS NULL THEN 0 ELSE hold_qty END)) END) AS curr_stock FROM item itm ,stock stk WHERE itm.item_code=stk.item_code AND stk.site_code=? AND stk.loc_code=? GROUP BY stk.item_code, itm.descr, itm.unit,itm.item_ser ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
pstmt.setString(2, locationCode);
rs = pstmt.executeQuery();
while(rs.next())
{
stScheme="";
finVarValues="";
finValues=null;
acctCode="";
cctrCode="";
itemSer="";
flagIntgrlQty=false;
currentStock=0.0;
integralQty=0.0;
itemCode = rs.getString("item_code");
itemDescr = rs.getString("descr");
unit = rs.getString("unit");
currentStock = rs.getDouble("curr_stock");
itemSer = rs.getString("item_ser");
totalCnt++;
//get integral quantity
if(currentStock > 0)
{
lineCntr++;
sql="SELECT integral_qty FROM siteitem WHERE site_code=? AND item_code=?";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1,siteCode);
pstmt1.setString(2,itemCode);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
integralQty=rs1.getDouble("integral_qty");
flagIntgrlQty=true;
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>In siteitem while integral_qty :"+integralQty);
}//end of while(rs.next();
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if(flagIntgrlQty==false)
{
//check for integral qty not found in site item..
sql="SELECT integral_qty FROM item WHERE site_code=? AND item_code=?";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1,siteCode);
pstmt1.setString(2,itemCode);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
integralQty=rs1.getDouble("integral_qty");
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>In item while integral_qty:"+integralQty);
}//end of while(rs.next();
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
}
//set scheme using integral qty and current stock..
stScheme="Integral Quantity:"+integralQty+" "+"Current Stock:"+currentStock;
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>stScheme of integral qty and current stock:"+stScheme);
// get acct_code and cctr_code form getFromAcctDetr() method...
finVarValues=finCommon.getFromAcctDetr(itemCode,itemSer,"CISS", conn);
System.out.println(">>>>>>>>>>>>>>>finVar:"+finVarValues);
finValues = finVarValues.split(",");
System.out.println(">>>>>>>>>>>>>>>disParamItemSer:" + finValues.toString());
System.out.println(">>>>>>>>>>>>>>>1.acctCode and cctrCode:" +acctCode+","+cctrCode);
if (finVarValues != null && finVarValues.length() > 1)
{
System.out.println(">>>>>>>>>>>>>>>In finValues>>>>>>>>>>>:");
int finValuesCnt=finValues.length;
System.out.println(">>>>>>>>>>>>>>>finValues finValuesCnt:"+finValuesCnt);
for(int i=0; i<finValuesCnt;i++)
{
if(i==0)
{
acctCode =finValues[0];
System.out.println(">>>>>>>>>>>>>>>finValues for loop if:"+finValues[0]);
}
else if(i==1)
{
cctrCode =finValues[1];
System.out.println(">>>>>>>>>>>>>>>finValues for loop if:"+finValues[1]);
}
}
}
valueXmlString.append("<Detail>\r\n");
valueXmlString.append("<line_no>").append("<![CDATA[").append(lineCntr).append("]]>").append("</line_no>\r\n");
valueXmlString.append("<item_code isSrvCallOnChg='0'>").append("<![CDATA[").append(itemCode.trim()).append("]]>").append("</item_code>\r\n");
valueXmlString.append("<item_descr>").append("<![CDATA[").append(itemDescr.trim()).append("]]>").append("</item_descr>\r\n");
valueXmlString.append("<unit>").append("<![CDATA[").append(unit.trim()).append("]]>").append("</unit>\r\n");
valueXmlString.append("<quantity>").append("<![CDATA[").append(currentStock).append("]]>").append("</quantity>\r\n");
valueXmlString.append("<loc_code>").append("<![CDATA[").append(locationCode.trim()).append("]]>").append("</loc_code>\r\n");
valueXmlString.append("<acct_code>").append("<![CDATA[").append(acctCode).append("]]>").append("</acct_code>\r\n");
valueXmlString.append("<cctr_code>").append("<![CDATA[").append(cctrCode).append("]]>").append("</cctr_code>\r\n");
valueXmlString.append("<st_scheme>").append("<![CDATA[").append(stScheme).append("]]>").append("</st_scheme>\r\n");
valueXmlString.append("</Detail>");
}
}//end of while(rs.next();
System.out.println("*********************In getStockDetails total item found:"+totalCnt);
System.out.println("*********************In getStockDetails total add item:"+lineCntr);
rs.close();
rs = null;
pstmt.close();
pstmt = null;
valueXmlString.append("</Root>\r\n");
}
catch(Exception e)
{
System.out.println("Exception in getStockDetails actionHandler :(Document dom)" +e.getMessage());
throw new ITMException(e);
}
finally
{
try
{
System.out.println("Closing Connection.....");
conn.close();
conn = null;
}
catch(Exception e){}
}
System.out.println("******************In Final getStockDetails****************************");
return valueXmlString.toString();
}//End of getStockDetails
private String getObjName(Node node) throws Exception
{
String objName = null;
NodeList nodeList = null;
Node detaulNode = null;
Node detailNode = null;
nodeList = node.getChildNodes();
NamedNodeMap attrMap = node.getAttributes();
objName = attrMap.getNamedItem( "objName" ).getNodeValue();
/*
for(int ctr = 0; ctr < nodeList.getLength(); ctr++ )
{
detailNode = nodeList.item(ctr);
if(detailNode.getNodeName().equalsIgnoreCase("attribute") )
{
objName = detailNode.getAttributes().getNamedItem("objName").getNodeValue();
}
}
*/
return "w_" + objName;
}
}
\ No newline at end of file
package ibase.webitm.ejb.dis;
import java.rmi.RemoteException;
//import javax.ejb.EJBObject;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.ActionHandlerLocal;
import javax.ejb.Local; // added for ejb3
@Local // added for ejb3
public interface ConsumeOrdStkActLocal extends ActionHandlerLocal//,EJBObject
{
public String actionHandler() throws RemoteException,ITMException;
public String actionHandler(String actionType, String xmlString, String objContext, String xtraParams) throws RemoteException,ITMException;
public String actionHandler(String actionType, String xmlString, String xmlString1, String objContext, String xtraParams) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.dis;
import java.rmi.RemoteException;
//import javax.ejb.EJBObject;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.ActionHandlerRemote;
import javax.ejb.Remote; // added for ejb3
@Remote // added for ejb3
public interface ConsumeOrdStkActRemote extends ActionHandlerRemote//,EJBObject
{
public String actionHandler() throws RemoteException,ITMException;
public String actionHandler(String actionType, String xmlString, String objContext, String xtraParams) throws RemoteException,ITMException;
public String actionHandler(String actionType, String xmlString, String xmlString1, String objContext, 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