Commit 3cdc9a7a authored by vkadam's avatar vkadam

EJB for Consumption Order / Issue [D15BSUN017]


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@98278 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 7e2ac297
/**
* VALLABH KADAM
* 15/JUN/15
* Req Id:- [D15BSUN017]
* */
package ibase.webitm.ejb.mfg;
import javax.ejb.*;
import java.sql.*;
import java.util.*;
import org.w3c.dom.*;
import java.text.*;
import java.rmi.RemoteException;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.GenericUtility;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.*;
import ibase.webitm.ejb.sys_UTL.*;
@javax.ejb.Stateless
public class ConsumptionOdrIssuWizIc extends ValidatorEJB implements ConsumptionOdrIssuWizIcLocal, ConsumptionOdrIssuWizIcRemote
{
GenericUtility genericUtility = GenericUtility.getInstance();
CommonFunctions commonFunctions = null;
String termId = "";
public String wfValData() throws RemoteException,ITMException
{
return "";
}
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 = null;
try
{
dom = genericUtility.parseString(xmlString);
dom1 = genericUtility.parseString(xmlString1);
if (xmlString2.trim().length() > 0 )
dom2 = genericUtility.parseString("<Root>" + xmlString2+ "</Root>");
termId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"termId");
commonFunctions = new CommonFunctions(termId, dom2);
errString = wfValData(dom,dom1,dom2,objContext,editFlag,xtraParams);
}
catch(Exception e)
{
System.out.println("Exception Catched in wfValData - I --> "+e.getMessage());
e.printStackTrace();
}
return errString;
}
public String wfValData(Document dom, Document dom1,Document dom2, String objContext, String editFlag, String xtraParams)
throws RemoteException,ITMException
{
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rst = null;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
String childNodeName = null;
String errString = "",errorType = "";
String errCode = "";
String userId = "";
String itemCode = "";
String itemSer = "";
String empCodeIss="",acctCode="",cctrCode="",projectCode="",reasonCode="",reqQty="",stkQty="",siteCodeReq="",locCode="",lotNo="",lotSl="";
String sql1="";
PreparedStatement pstmt1=null;
ResultSet rs1=null;
int ctr=0,cnt=0;
int currentFormNo = 0;
int childNodeListLength = 0;
ArrayList<String> errList = new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
try
{
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverValidator");
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
if(objContext != null && objContext.trim().length()>0)
currentFormNo = Integer.parseInt(objContext);
switch(currentFormNo)
{
case 1:
System.out.println("VALIDATION FOR DETAIL [ 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__reqd"))
{
siteCodeReq=genericUtility.getColumnValue("site_code__reqd", dom, "1");
if (siteCodeReq == null || siteCodeReq.trim().length()<=0)
{
errList.add("VMSITECD1");
errFields.add(childNodeName.toLowerCase());
}
else
{
sql1="select count(*) as cnt from site where site_code=?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, siteCodeReq);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
cnt=rs1.getInt("cnt");
}
if(cnt==0)
{
errList.add("VTSITRQINV");
errFields.add(childNodeName.toLowerCase());
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
}
}
if(childNodeName.equalsIgnoreCase("emp_code__iss"))
{
empCodeIss=genericUtility.getColumnValue("emp_code__iss", dom, "1");
if (empCodeIss == null || empCodeIss.trim().length()<=0)
{
errList.add("VTEMPNLL");
errFields.add(childNodeName.toLowerCase());
}
else
{
sql1="select count(*) as cnt from employee where emp_code=?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, empCodeIss);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
cnt=rs1.getInt("cnt");
}
if(cnt==0)
{
errList.add("VTPASS12");
errFields.add(childNodeName.toLowerCase());
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
}
}
if(childNodeName.equalsIgnoreCase("item_ser"))
{
itemSer=genericUtility.getColumnValue("item_ser", dom, "1");
if (itemSer == null || itemSer.trim().length()<=0)
{
errList.add("VTITEMSER5");
errFields.add(childNodeName.toLowerCase());
}
else
{
sql1="select count(*) as cnt from itemser where item_ser=?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, itemSer);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
cnt=rs1.getInt("cnt");
}
if(cnt==0)
{
errList.add("VTITEMSER1");
errFields.add(childNodeName.toLowerCase());
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
}
}
if(childNodeName.equalsIgnoreCase("acct_code"))
{
acctCode=genericUtility.getColumnValue("acct_code", dom, "1");
if (acctCode == null || acctCode.trim().length()<=0)
{
errList.add("VMACCODE1");
errFields.add(childNodeName.toLowerCase());
}
else
{
sql1="select count(*) as cnt from accounts where acct_code=?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, acctCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
cnt=rs1.getInt("cnt");
}
if(cnt==0)
{
errList.add("VTACCTCD1");
errFields.add(childNodeName.toLowerCase());
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
}
}
if(childNodeName.equalsIgnoreCase("cctr_code"))
{
cctrCode=genericUtility.getColumnValue("cctr_code", dom, "1");
acctCode=genericUtility.getColumnValue("acct_code", dom, "1");
if (cctrCode == null || cctrCode.trim().length()<=0)
{
errList.add("VMCCTRCD1");
errFields.add(childNodeName.toLowerCase());
}
else
{
errCode = isCctrCode(acctCode, cctrCode, conn);
if (!errCode.equals(""))
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
if(childNodeName.equalsIgnoreCase("proj_code"))
{
projectCode=genericUtility.getColumnValue("proj_code", dom, "1");
if (projectCode!=null && projectCode.trim().length()>0)
{
sql1="select count(*) as cnt from project where proj_code=?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, projectCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
cnt=rs1.getInt("cnt");
}
if(cnt==0)
{
errList.add("VTPROJ1");
errFields.add(childNodeName.toLowerCase());
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
}
}
if(childNodeName.equalsIgnoreCase("reas_code"))
{
reasonCode=genericUtility.getColumnValue("reas_code", dom, "1");
if (reasonCode == null || reasonCode.trim().length()<=0)
{
errList.add("VMREASCDNL");
errFields.add(childNodeName.toLowerCase());
}
else
{
sql1="select count(*) as cnt from gencodes where fld_value=? and fld_name='REAS_CODE' and mod_name='W_CONSUME_ORDER'";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, reasonCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
cnt=rs1.getInt("cnt");
}
if(cnt==0)
{
errList.add("VMREASCDEX");
errFields.add(childNodeName.toLowerCase());
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
}
}
}
break;
case 2:
System.out.println("@V@ In second case ..");
parentNodeList = dom.getElementsByTagName("Detail2");
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("item_code"))
{
itemCode=genericUtility.getColumnValue("item_code", dom);
if(itemCode ==null || itemCode.trim().length()<=0)
{
errList.add("NULLITEMCD");
errFields.add(childNodeName.toLowerCase());
}
else
{
sql1="select count(*) as cnt from item where item_code=?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, itemCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
cnt=rs1.getInt("cnt");
}
if(cnt==0)
{
errList.add("IVITMCDASN");
errFields.add(childNodeName.toLowerCase());
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
}
}
if(childNodeName.equalsIgnoreCase("loc_code"))
{
locCode=genericUtility.getColumnValue("loc_code", dom);
if(locCode== null || locCode.trim().length()<=0)
{
errList.add("VMALOC01");
errFields.add(childNodeName.toLowerCase());
}
else
{
sql1="select count(*) as cnt from location where loc_code=?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, locCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
cnt=rs1.getInt("cnt");
}
if(cnt==0)
{
errList.add("UVEXPR");
errFields.add(childNodeName.toLowerCase());
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
}
}
if(childNodeName.equalsIgnoreCase("lot_no"))
{
lotNo=genericUtility.getColumnValue("lot_no", dom);
if(lotNo==null || lotNo.trim().length()<=0)
{
errList.add("NULLLOTNO");
errFields.add(childNodeName.toLowerCase());
}
}
if(childNodeName.equalsIgnoreCase("lot_sl"))
{
itemCode=genericUtility.getColumnValue("item_code", dom);
locCode=genericUtility.getColumnValue("loc_code", dom);
lotNo=genericUtility.getColumnValue("lot_no", dom);
lotSl=genericUtility.getColumnValue("lot_sl", dom);
if(lotSl==null || lotSl.trim().length()<=0)
{
errList.add("VTLOTSLNLL");
errFields.add(childNodeName.toLowerCase());
}
else
{
sql1="select count(*) as cnt from stock where item_code=? and loc_code=? and lot_no=? and lot_sl=?";
pstmt1=conn.prepareStatement(sql1);
pstmt1.setString(1, checkNull(itemCode).trim());
pstmt1.setString(2, checkNull(locCode).trim());
pstmt1.setString(3, checkNull(lotNo).trim());
pstmt1.setString(4, checkNull(lotSl).trim());
rs1=pstmt1.executeQuery();
if(rs1.next())
{
cnt=rs1.getInt("cnt");
}
if(cnt==0)
{
errList.add("VTRCDNTMCH");
errFields.add(childNodeName.toLowerCase());
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
}
}
if(childNodeName.equalsIgnoreCase("req_qty"))
{
reqQty=genericUtility.getColumnValue("req_qty", dom);
stkQty=genericUtility.getColumnValue("quantity", dom);
System.out.println("@V@ Req Qty :- ["+reqQty+"]");
System.out.println("@V@ Stk Qty :- ["+stkQty+"]");
if(reqQty==null || reqQty.trim().length()<=0 || Double.valueOf(reqQty)<=0.00)
{
errList.add("VTREQTYNLL");
errFields.add(childNodeName.toLowerCase());
}
else if(Double.valueOf(reqQty)> Double.valueOf(stkQty))
{
errList.add("VTREQTYEXD");
errFields.add(childNodeName.toLowerCase());
}
}
}
break;
}
int errListSize = errList.size();
cnt = 0;
String errFldName = null;
if(errList != null && errListSize > 0)
{
System.out.println("Error list found");
for(cnt = 0; cnt < errListSize; cnt ++)
{
errCode = errList.get(cnt);
errFldName = errFields.get(cnt);
System.out.println("errCode .........." + errCode);
System.out.println("errField .........." + errFldName);
System.out.println("userId .........." + userId);
errString = getErrorString(errFldName, errCode, userId);
errorType = errorType(conn , errCode);
if(errString.length() > 0)
{
System.out.println("Error String lrngth :- ["+errString.length()+"]");
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
{
System.out.println("No error found...");
errStringXml = new StringBuffer("");
}
}
catch(Exception e)
{
commonFunctions.printComment("Exception Catched in wfValData - II --> "+e.getMessage());
e.printStackTrace();
}
finally
{
commonFunctions.closeConnectionObjects(null, pstmt, rst, conn);
commonFunctions.printComment("finally Connection Closed.......");
}
errString = errStringXml.toString();
System.out.println("ErrString ::" + errString);
return errString;
}
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");
}
}
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();
}
}
System.out.println("Error Type ["+msgType+"]");
return msgType;
}
public String itemChanged() throws RemoteException,ITMException
{
return "";
}
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
{
dom = genericUtility.parseString(xmlString);
dom1 = genericUtility.parseString(xmlString1);
if(xmlString2.trim().length() > 0 )
dom2 = genericUtility.parseString("<Root>" + xmlString2+ "</Root>");
termId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"termId");
commonFunctions = new CommonFunctions(termId,dom2);
valueXmlString = itemChanged(dom,dom1,dom2,objContext,currentColumn,editFlag,xtraParams);
}
catch(Exception e)
{
System.out.println("Exception Catched in itemChanged - I --> "+e.getMessage());
e.printStackTrace();
}
return valueXmlString;
}
public String itemChanged(Document dom, Document dom1,Document dom2, String objContext, String currentColumn,
String editFlag, String xtraParams) throws RemoteException,ITMException
{
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rst = null;
String sql = "";
String loginSite = "";
String empCode = "";
String columnValue = "";
String returnValue = "";
String getDefaultVal = "";
String available = "";
String itemCode="",unit="",itemSer="",locCode="",lotNo="",lotSl="";
double quantity=0.00;
StringBuffer valueXmlString = new StringBuffer();
int currentFormNo = 0;
try
{
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverValidator");
loginSite = getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
empCode = getValueFromXTRA_PARAMS(xtraParams,"loginEmpCode");
columnValue = genericUtility.getColumnValue(currentColumn,dom);
// getDefaultVal = genericUtility.getColumnValue("get_default__val", dom);
available = genericUtility.getColumnValue("available", dom);
commonFunctions.printComment("currentColumn : ["+currentColumn+"] :\t columnValue : ["+columnValue+"]");
commonFunctions.printComment("getDefaultVal : ["+getDefaultVal+"] : available ["+available+"]");
if(objContext != null && objContext.trim().length()>0)
currentFormNo = Integer.parseInt(objContext);
valueXmlString = new StringBuffer("<?xml version=\"1.0\"?><Root><header><editFlag>");
System.out.println(">>>>>>>>>>>>>In itemChanged editFlag:"+editFlag);
valueXmlString.append(editFlag).append("</editFlag></header>");
switch (currentFormNo)
{
case 1:
//{
System.out.println("In case 1 *************************");
commonFunctions.printComment("case 1");
if(currentColumn.equals("itm_default"))
{
valueXmlString.append("<Detail1 dbID=\"\" domID=\"1\" objContext=\"1\" objName=\"cnsm_odr_iss_wiz\" selected=\"N\">");
valueXmlString.append("<attribute pkNames=\"\" selected=\"N\" status=\"N\" updateFlag=\"A\"/>");
valueXmlString.append("<site_code><![CDATA["+ loginSite+"]]></site_code>");
valueXmlString.append(commonFunctions.setDescrFromRefTable("site", "site_code", loginSite, "site_descr", conn));
valueXmlString.append("<site_code__reqd><![CDATA["+ loginSite+"]]></site_code__reqd>");
valueXmlString.append(commonFunctions.setDescrFromRefTable("site", "site_code", loginSite, "site_code__reqd_descr", conn));
valueXmlString.append("<cctr_code><![CDATA[]]></cctr_code>");
returnValue = "emp_fname || ' ' || emp_mname || ' ' || ' ' || emp_lname as emp_name";
valueXmlString.append("<emp_code__iss><![CDATA["+empCode+"]]></emp_code__iss>");
returnValue = commonFunctions.getValueFromRefTable("employee", "emp_code", empCode, returnValue, conn);
valueXmlString.append("<emp_name__iss><![CDATA["+returnValue+"]]></emp_name__iss>");
returnValue = getDisparams("999999", "DEFT_RDISS_REAS_CODE", conn);
valueXmlString.append("<reas_code><![CDATA["+returnValue+"]]></reas_code>");
valueXmlString.append("<available><![CDATA[Y]]></available>");
// valueXmlString.append("<get_default__val><![CDATA[Y]]></get_default__val>");
valueXmlString.append("</Detail1>");
}
if(currentColumn.equals("site_code__reqd"))
{
System.out.println("In item change 'site_code__reqd'");
String currDomStr = genericUtility.serializeDom(dom);
System.out.println("Before currDomStr["+currDomStr+"]");
StringBuffer valueXmlStr = new StringBuffer();
System.out.println("Column value of Site Code reqd :- ["+columnValue+"]");
valueXmlStr.append(commonFunctions.setDescrFromRefTable("site", "site_code", columnValue, "site_code__reqd_descr", conn));
currDomStr = currDomStr.replace("</Detail1>", valueXmlStr.toString() +"</Detail1>");
System.out.println("after currDomStr[" + currDomStr + "]");
valueXmlString.append(currDomStr);
}
if(currentColumn.equals("proj_code"))
{
System.out.println("In item change 'proj_code'");
String currDomStr = genericUtility.serializeDom(dom);
StringBuffer valueXmlStr = new StringBuffer();
valueXmlStr.append(commonFunctions.setDescrFromRefTable("project", "proj_code", columnValue, "proj_descr", conn));
currDomStr = currDomStr.replace("</Detail1>", valueXmlStr.toString() +"</Detail1>");
System.out.println("after currDomStr[" + currDomStr + "]");
valueXmlString.append(currDomStr);
}
if(currentColumn.equals("emp_code__iss"))
{
System.out.println("In item change 'emp_code__iss'");
returnValue = "emp_fname || ' ' || emp_mname || ' ' || ' ' || emp_lname as emp_name";
returnValue = commonFunctions.getValueFromRefTable("employee", "emp_code", columnValue, returnValue, conn);
String currDomStr = genericUtility.serializeDom(dom);
StringBuffer valueXmlStr = new StringBuffer();
valueXmlStr.append(commonFunctions.getItemChangeString("emp_name__iss",returnValue));
currDomStr = currDomStr.replace("</Detail1>", valueXmlStr.toString() +"</Detail1>");
System.out.println("after currDomStr[" + currDomStr + "]");
valueXmlString.append(currDomStr);
}
if(currentColumn.equals("item_ser"))
{
String currDomStr = genericUtility.serializeDom(dom);
StringBuffer valueXmlStr = new StringBuffer();
valueXmlStr.append(commonFunctions.setDescrFromRefTable("itemser", "item_ser", columnValue, "item_ser_descr", conn));
currDomStr = currDomStr.replace("</Detail1>", valueXmlStr.toString() + "</Detail1>");
System.out.println("after currDomStr[" + currDomStr + "]");
valueXmlString.append(currDomStr);
}
if(currentColumn.equals("acct_code"))
{
String currDomStr = genericUtility.serializeDom(dom);
StringBuffer valueXmlStr = new StringBuffer();
valueXmlStr.append(commonFunctions.setDescrFromRefTable("accounts", "acct_code", columnValue, "acct_descr", conn));
currDomStr = currDomStr.replace("</Detail1>", valueXmlStr.toString() + "</Detail1>");
System.out.println("after currDomStr[" + currDomStr + "]");
valueXmlString.append(currDomStr);
}
if(currentColumn.equals("cctr_code"))
{
String currDomStr = genericUtility.serializeDom(dom);
StringBuffer valueXmlStr = new StringBuffer();
valueXmlStr.append(commonFunctions.setDescrFromRefTable("costctr", "cctr_code", columnValue, "cctr_descr", conn));
currDomStr = currDomStr.replace("</Detail1>", valueXmlStr.toString() + "</Detail1>");
System.out.println("after currDomStr[" + currDomStr + "]");
valueXmlString.append(currDomStr);
}
System.out.println("Valu xml string in item change :- ["+valueXmlString+"]");
break;
case 2:
if(currentColumn.trim().equalsIgnoreCase("itm_default_add"))
{
System.out.println("VALLABH KADAM in Itm default add");
System.out.println(">>>>>>>>>>inside itm_default_add currentFormNo:"+currentFormNo);
NodeList nodeList = dom2.getElementsByTagName("Detail2");
String domId = nodeList.item(0).getAttributes().getNamedItem("domID").getNodeValue();
valueXmlString.append("<Detail2 domID='" + domId+ "' objContext = '"+currentFormNo+"' selected=\"N\">\r\n");
valueXmlString.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>\r\n");
valueXmlString.append("<item_code protect=\"1\">").append("</item_code>");
valueXmlString.append("<item_descr protect=\"1\">").append("</item_descr>");
valueXmlString.append("<unit protect=\"1\">").append("</unit>");
valueXmlString.append("<item_ser protect=\"1\">").append("</item_ser>");
valueXmlString.append("<loc_code protect=\"1\">").append("</loc_code>");
valueXmlString.append("<lot_no protect=\"1\">").append("</lot_no>");
valueXmlString.append("<lot_sl protect=\"1\">").append("</lot_sl>");
String acntCode = genericUtility.getColumnValue("acct_code", dom1);
System.out.println("@V@ Account code :- ["+acntCode+"]");
valueXmlString.append("<acct_code protect=\"1\"><![CDATA["+acntCode+"]]></acct_code>");
String ctrCode= genericUtility.getColumnValue("cctr_code", dom1);
System.out.println("@V@ CCtr Code :- ["+ctrCode+"]");
valueXmlString.append("<cctr_code protect=\"1\"><![CDATA["+ctrCode+"]]></cctr_code>");
valueXmlString.append("<req_qty protect=\"1\">").append("</req_qty>");
valueXmlString.append("</Detail2>");
}
if(currentColumn.trim().equalsIgnoreCase("item_code"))
{
System.out.println("@V@ Details 2 Item code");
String currDomStr = genericUtility.serializeDom(dom);
StringBuffer valueXmlStr = new StringBuffer();
unit=commonFunctions.getValueFromRefTable("item", "item_code", columnValue, "unit", conn);
System.out.println("@V@ Unit :- ["+unit+"]");
itemSer=commonFunctions.getValueFromRefTable("item", "item_code", columnValue, "item_ser", conn);
System.out.println("@V@ Item Ser :- ["+itemSer+"]");
valueXmlStr.append("<unit><![CDATA["+unit+"]]></unit>");
valueXmlStr.append("<item_ser><![CDATA["+itemSer+"]]></item_ser>");
currDomStr = currDomStr.replace("</Detail2>", valueXmlStr.toString() + "</Detail2>");
System.out.println("after currDomStr[" + currDomStr + "]");
valueXmlString.append(currDomStr);
}
if(currentColumn.trim().equalsIgnoreCase("lot_sl"))
{
lotSl=genericUtility.getColumnValue("lot_sl", dom);
itemCode=genericUtility.getColumnValue("item_code", dom);
// locCode=genericUtility.getColumnValue("loc_code", dom);
lotNo=genericUtility.getColumnValue("lot_no", dom);
sql="select QUANTITY,LOC_CODE from stock where item_code=? and lot_no=? and lot_sl=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, itemCode);
// pstmt.setString(2, locCode);
pstmt.setString(2, lotNo);
pstmt.setString(3, lotSl);
rst=pstmt.executeQuery();
if(rst.next())
{
quantity=rst.getDouble("QUANTITY");
locCode=rst.getString("LOC_CODE");
}
pstmt.close();
pstmt=null;
rst.close();
rst=null;
System.out.println("@V@ Details 2 Lot Sl");
String currDomStr = genericUtility.serializeDom(dom);
StringBuffer valueXmlStr = new StringBuffer();
valueXmlStr.append("<quantity><![CDATA["+quantity+"]]></quantity>");
valueXmlStr.append("<loc_code><![CDATA["+locCode+"]]></loc_code>");
currDomStr = currDomStr.replace("</Detail2>", valueXmlStr.toString() + "</Detail2>");
System.out.println("after currDomStr[" + currDomStr + "]");
valueXmlString.append(currDomStr);
}
break;
}
valueXmlString.append("</Root>");
}
catch(Exception e)
{
commonFunctions.printComment("Exception Catched in itemChanged - II --> "+e.getMessage());
e.printStackTrace();
}
finally
{
commonFunctions.closeConnectionObjects(null, pstmt, rst, conn);
commonFunctions.printComment("finally Connection Closed.......");
}
System.out.println("Return String :- ["+valueXmlString.toString()+"]");
return valueXmlString.toString();
}
public String checkNull(String strValue)
{
if(strValue==null || strValue.trim().length()<=0){
strValue="";
}
return strValue;
}
public String isCctrCode(String acctCode,String cctrCode, Connection con) throws RemoteException, ITMException
{
String errCode = "";
long counter = 0;
String sql1 = "";
Statement stmt1 = null;
ResultSet rs1 = null;
try
{
stmt1 = con.createStatement();
sql1 = "SELECT COUNT(1) FROM COSTCTR WHERE CCTR_CODE = '" + cctrCode + "'" ;
System.out.println("sql [isCctrCode] :"+sql1);
rs1 = stmt1.executeQuery(sql1);
if (rs1.next())
counter = rs1.getLong(1);
commonFunctions.closeConnectionObjects(null, null, rs1, null);
System.out.println("counter :"+counter);
if (counter == 0)
errCode = "VMCCTR1";
else
{
counter = 0;
sql1 = "SELECT COUNT(1) FROM ACCOUNTS_CCTR WHERE ACCT_CODE = '" + acctCode + "' AND CCTR_CODE = '" + cctrCode + "'";
System.out.println("sql [isCctrCode] :"+sql1);
rs1 = stmt1.executeQuery(sql1);
if (rs1.next())
counter = rs1.getLong(1);
commonFunctions.closeConnectionObjects(null, null, rs1, null);
System.out.println("counter :"+counter);
if(counter == 0)
errCode = "VMCCTR2";
}
}
catch(Exception e)
{
System.out.println("Exception : ValidatorEJB : isCctrCode :==>\n"+e.getMessage());
e.printStackTrace();
errCode = e.getMessage();
throw new ITMException(e);
}
finally
{
commonFunctions.closeConnectionObjects(stmt1, null, rs1, null);
}
return errCode;
}
private String getDisparams(String prdCode,String varName, Connection conn)throws ITMException
{
String retVal="";
String sql="";
ResultSet rs = null;
Statement stmt = null;
try
{
System.out.println("in DISPARAMS ");
stmt = conn.createStatement();
sql="SELECT VAR_VALUE FROM DISPARM WHERE PRD_CODE ='"+prdCode+"' AND VAR_NAME ='"+varName+"'";
System.out.println("sql is of disparm"+sql);
rs =stmt.executeQuery(sql);
if(rs.next()==false)
retVal = "NULLFOUND";
else
retVal =rs.getString(1);
}
catch(Exception e)
{
throw new ITMException(e);
}
finally
{
commonFunctions.closeConnectionObjects(stmt, null, rs, null);
}
if(retVal==null)
retVal="";
System.out.println("value of disparm"+retVal);
return(retVal);
}
}
/**
* VALLABH KADAM
* 15/JUN/15
* Req Id:- [D15BSUN017]
* */
package ibase.webitm.ejb.mfg;
import javax.ejb.Local;
import java.rmi.RemoteException;
import org.w3c.dom.*;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
@javax.ejb.Local
public interface ConsumptionOdrIssuWizIcLocal extends ValidatorLocal
{
public String wfValData() throws RemoteException,ITMException;
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged() 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;
}
/**
* VALLABH KADAM
* 15/JUN/15
* Req Id:- [D15BSUN017]
* */
package ibase.webitm.ejb.mfg;
import javax.ejb.Remote;
import java.rmi.RemoteException;
import org.w3c.dom.*;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
@javax.ejb.Remote
public interface ConsumptionOdrIssuWizIcRemote extends ValidatorRemote
{
public String wfValData() throws RemoteException,ITMException;
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged() 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;
}
/********************************************************
Title : ConsumptionOdrIssuWizPos[D15BSUN017]
Date : 22/JUN/15
Developer: VALLABH KADAM.
********************************************************/
package ibase.webitm.ejb.mfg;
import ibase.system.config.*;
import ibase.webitm.ejb.*;
import ibase.webitm.utility.ITMException;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.sys_UTL.CommonFunctions;
import ibase.webitm.ejb.sys_UTL.CreateXmlObject;
import java.rmi.RemoteException;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.*;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.w3c.dom.*;
import javax.naming.InitialContext;
import javax.xml.rpc.ParameterMode;
@javax.ejb.Stateless
public class ConsumptionOdrIssuWizPos extends ValidatorEJB implements ConsumptionOdrIssuWizPosLocal, ConsumptionOdrIssuWizPosRemote
{
E12GenericUtility genericUtility = new E12GenericUtility();
ValidatorEJB validator = null;
CommonFunctions commonFunctions = new CommonFunctions();
@Override
public String postSave() throws RemoteException, ITMException
{
// TODO Auto-generated method stub
return "";
}
@Override
public String postSave(String domString, String editFlag, String xtraParams, Connection conn) throws RemoteException, ITMException
{
String retString = "";
// TODO Auto-generated method stub
System.out.println("@V@ IN POST SAVE @@@");
PreparedStatement pstmt = null;
ResultSet rst = null;
Document headerDom = null;
headerDom = genericUtility.parseString(domString);
String termId = "";
String Aformat = "";
String userId = "";
String loginSite = "";
String msgno = "";
String tranIDOrder = "";
String tranIDIssue = "";
String orderDate = "";
String empCode = "";
String xmlString=null;
String returnValue = "";
NodeList hdrDom = null;
Document resDom = null;
Node arrNode = null;
NamedNodeMap nodeMap = null;
try
{
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverValidator");
Aformat = genericUtility.getApplDateFormat();
java.text.SimpleDateFormat dtf = new java.text.SimpleDateFormat(Aformat);
orderDate = dtf.format(new java.util.Date());
hdrDom = headerDom.getElementsByTagName("Detail1");
System.out.println("@V@ hdrDom-----=>" + hdrDom);
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
loginSite = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
empCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode");
termId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId");
validator = new ValidatorEJB();
/**
* Create Consumption Order
* */
xmlString = createConsumeOrder(xtraParams, headerDom, conn, userId, loginSite, empCode, termId);
System.out.println("@@@@@2: XML_String of Consumption Order:"+xmlString);
System.out.println("Consumption Order just before savdata()");
/**
* Call Save data
* */
retString = saveData(loginSite,xmlString,xtraParams,conn);
System.out.println("@V@ Consumption Order Generated retString :-["+retString+"]");
if (retString.indexOf("Success") > -1)
{
String[] arrayForTranId = retString.split("<TranID>");
int endIndex = arrayForTranId[1].indexOf("</TranID>");
tranIDOrder = arrayForTranId[1].substring(0,endIndex);
System.out.println("@V@ Consumption Order Tran Id :- [" + tranIDOrder + "]");
conn.commit();
/**
* Confirm Consumption Order
* */
retString = confirmTransaction(tranIDOrder, "consume_order", xtraParams, "true", conn);
System.out.println("@V@ Confirm Consumption Order retString:-[" + retString + "");
resDom = genericUtility.parseString(retString);
arrNode = resDom.getElementsByTagName("error").item(0);
nodeMap = arrNode.getAttributes();
msgno = nodeMap.getNamedItem("id").getNodeValue().trim();
System.out.println("msgno :: " + msgno);
if (msgno.equals("VTSUCC1"))
{
/**
* Create Consumption Issue
* for respective consumption order
* */
xmlString=createConsumeOrderIssue(tranIDOrder, xtraParams, headerDom, conn,userId, loginSite, empCode, termId);
System.out.println("@V@ Issue Generate retString :- ["+xmlString+"]");
retString = saveData(loginSite,xmlString,xtraParams,conn);
System.out.println("@V@ Ret String after Issue create :- ["+retString+"]");
if (retString.indexOf("Success") > -1)
{
conn.commit();
String[] arrayForTranIdIssue = retString.split("<TranID>");
int endIndexIssue = arrayForTranIdIssue[1].indexOf("</TranID>");
tranIDIssue = arrayForTranIdIssue[1].substring(0,endIndexIssue);
System.out.println("@V@ Issue Tran Id :- [" + tranIDIssue + "]");
/**
* Confirm Issue
* */
retString=confirmTransaction(tranIDIssue, "consume_issue", xtraParams, "", conn);
System.out.println("@V@ Ret string after issue confirm :- ["+retString+"]");
}else{
throw new Exception(retString);
}
}else{
throw new Exception(retString);
}
}else{
throw new Exception(retString);
}
} catch (Exception e)
{
try
{
conn.rollback();
e.printStackTrace();
throw new ITMException(e);
} catch (SQLException seX)
{
// TODO Auto-generated catch block
seX.printStackTrace();
throw new ITMException(seX);
}
}
return retString;
}
private String createConsumeOrder(String xtraParams, Document headerDom, Connection conn, String userId,
String loginSite, String empCode, String termId) throws Exception
{
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
String retString = "", unit = "", itemSer = "", itemCode = "", siteCode = "", siteCodeReq = "", empCodeIss = "",
acctCode = "", cctrCode = "", projectCode = "", reasonCode = "", remarks = "",deptCode="",tranCode="",currCode="",exchRate="",
available="",orderType="",tranMode="";
String locCode="",lotNo="",lotSl="",quantity="";
String returnValueTemp="";
String reqQty = "";
int ctr = 0;
int parentNodeListLength = 0, childNodeListLength = 0;
int selectedRow = 0;
StringBuffer xmlBuff = null;
try
{
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
String sysDate = sdf.format(currentDate.getTime());
System.out.println("Now the date is :=> " + sysDate);
parentNodeList = headerDom.getElementsByTagName("Detail1");
parentNodeListLength = parentNodeList.getLength();
System.out.println("parentNodeListLength --->" + parentNodeListLength);
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for (ctr = 0; ctr < childNodeListLength; ctr++)
{
siteCode = genericUtility.getColumnValue("site_code", headerDom);
siteCodeReq = genericUtility.getColumnValue("site_code__reqd", headerDom);
empCodeIss = genericUtility.getColumnValue("emp_code__iss", headerDom);
itemSer = genericUtility.getColumnValue("item_ser", headerDom);
acctCode = genericUtility.getColumnValue("acct_code", headerDom);
cctrCode = genericUtility.getColumnValue("cctr_code", headerDom);
projectCode = genericUtility.getColumnValue("proj_code", headerDom);
reasonCode = genericUtility.getColumnValue("reas_code", headerDom);
remarks = genericUtility.getColumnValue("remarks", headerDom );
available = genericUtility.getColumnValue("available", headerDom );
deptCode = commonFunctions.getValueFromRefTable("employee","emp_code", empCodeIss, "dept_code", conn);
tranCode = getDisparams("999999", "DEFT_RDISS_TRAN_CODE",conn);
returnValueTemp=commonFunctions.getValueFromRefTable("site","site_code", siteCodeReq+"", "fin_entity",conn);
currCode = commonFunctions.getValueFromRefTable("finent","fin_entity", returnValueTemp,"curr_code", conn);
currCode = currCode == null ? "" :currCode.trim();
exchRate=getDailyExchRate(currCode,currCode, (String)sysDate, conn)+"";
orderType = getDisparams("999999", "DEFT_RDISS_ORDER_TYPE",conn);
tranMode = getDisparams("999999","DEFT_CONSUME_ORDER_TRANS_MODE", conn);
}
//Generate Header XML
xmlBuff = new StringBuffer();
xmlBuff.append("<?xml version='1.0' encoding='ISO-8859-1'?><DocumentRoot>");
xmlBuff.append("<description>Datawindow Root</description>");
xmlBuff.append("<group0>");
xmlBuff.append("<description>Group0 description</description>");
xmlBuff.append("<Header0>");
xmlBuff.append("<objName><![CDATA[").append("consume_order").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>Header0 members</description>");
xmlBuff.append("<Detail1 dbID=\"\" domID=\"1\" objContext=\"1\" objName=\"consume_order\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" status=\"N\" updateFlag=\"A\"/>");
xmlBuff.append("<cons_order/>");
xmlBuff.append("<order_date><![CDATA["+sysDate+"]]></order_date>");
xmlBuff.append("<site_code__ord><![CDATA["+loginSite+"]]></site_code__ord>");
xmlBuff.append("<emp_code><![CDATA["+empCode+"]]></emp_code>");
xmlBuff.append("<dept_code><![CDATA["+deptCode+"]]></dept_code>");
xmlBuff.append("<item_ser><![CDATA["+itemSer+"]]></item_ser>");
xmlBuff.append("<site_code__req><![CDATA["+siteCodeReq+"]]></site_code__req>");
xmlBuff.append("<tran_code><![CDATA["+tranCode+"]]></tran_code>");
xmlBuff.append("<remarks><![CDATA["+remarks+"]]></remarks>");
xmlBuff.append("<reas_code><![CDATA["+reasonCode+"]]></reas_code>");
xmlBuff.append("<curr_code><![CDATA["+currCode+"]]></curr_code>");
xmlBuff.append("<exch_rate><![CDATA["+exchRate+"]]></exch_rate>");
xmlBuff.append("<chg_date><![CDATA["+sysDate+"]]></chg_date>");
xmlBuff.append("<chg_user><![CDATA["+userId+"]]></chg_user>");
xmlBuff.append("<chg_term><![CDATA["+termId+"]]></chg_term>");
xmlBuff.append("<confirmed><![CDATA[N]]></confirmed>");
xmlBuff.append("<emp_code__aprv><![CDATA["+empCode+"]]></emp_code__aprv>");
xmlBuff.append("<proj_code><![CDATA["+projectCode+"]]></proj_code>");
xmlBuff.append("<status><![CDATA[P]]></status>");
xmlBuff.append("<status_date><![CDATA["+sysDate+"]]></status_date>");
xmlBuff.append("<available_yn><![CDATA["+available+"]]></available_yn>");
xmlBuff.append("<order_type><![CDATA["+orderType+"]]></order_type>");
xmlBuff.append("<trans_mode><![CDATA["+tranMode+"]]></trans_mode>");
xmlBuff.append("</Detail1>");
parentNodeList = headerDom.getElementsByTagName("Detail2");
parentNodeListLength = parentNodeList.getLength();
for (selectedRow = 0; selectedRow < parentNodeListLength; selectedRow++)
{
parentNode = parentNodeList.item(selectedRow);
System.out.println(">>>>>>>>>>parentNode:"+parentNode);
itemCode = genericUtility.getColumnValueFromNode("item_code", parentNode);
unit = genericUtility.getColumnValueFromNode("unit", parentNode);
itemSer = genericUtility.getColumnValueFromNode("item_ser", parentNode);
locCode = genericUtility.getColumnValueFromNode("loc_code", parentNode);
lotNo = genericUtility.getColumnValueFromNode("lot_no", parentNode);
lotSl = genericUtility.getColumnValueFromNode("lot_no", parentNode);
acctCode = genericUtility.getColumnValueFromNode("acct_code", parentNode);
cctrCode = genericUtility.getColumnValueFromNode("cctr_code", parentNode);
quantity = genericUtility.getColumnValueFromNode("quantity", parentNode);
reqQty = genericUtility.getColumnValueFromNode("req_qty", parentNode);
String rate=getRate(siteCodeReq,itemCode,locCode,lotNo,lotSl,conn);
//Generate Detail XML
xmlBuff.append("<Detail2 dbID=\"\" domID=\"1\" objContext=\"2\" objName=\"consume_order\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" status=\"N\" updateFlag=\"A\"/>");
xmlBuff.append("<cons_order/>");
xmlBuff.append("<line_no><![CDATA["+selectedRow+1+"]]></line_no>");
xmlBuff.append("<item_code><![CDATA["+itemCode+"]]></item_code>");
xmlBuff.append("<quantity><![CDATA["+reqQty+"]]></quantity>");
xmlBuff.append("<unit><![CDATA["+unit+"]]></unit>");
xmlBuff.append("<rate><![CDATA["+rate+"]]></rate>");
xmlBuff.append("<acct_code><![CDATA["+acctCode+"]]></acct_code>");
xmlBuff.append("<cctr_code><![CDATA["+cctrCode+"]]></cctr_code>");
xmlBuff.append("<loc_code><![CDATA["+locCode+"]]></loc_code>");
xmlBuff.append("<status><![CDATA[P]]></status>");
xmlBuff.append("<status_date><![CDATA["+sysDate+"]]></status_date>");
xmlBuff.append("</Detail2>");
}
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
retString=xmlBuff.toString();
}
catch (Exception ex)
{
System.out.println("Exception createConsumeOrder - " + ex.getMessage());
ex.printStackTrace();
}
return retString;
}
private String saveData(String siteCode,String xmlString,String xtraParams, Connection conn) throws ITMException
{
System.out.println("saving data...........");
InitialContext ctx = null;
String retString = null;
MasterStatefulLocal masterStateful = null; // for ejb3
ibase.utility.UserInfoBean userInfo;
String chgUser="",chgTerm="";
String loginCode="",loginEmpCode="",loginSiteCode="";
E12GenericUtility genericUtility=new E12GenericUtility();
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 + "]");
userInfo = new ibase.utility.UserInfoBean();
System.out.println("xtraParams>>>>"+xtraParams);
chgUser = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"chgUser");
chgTerm = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"chgTerm");
loginCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
loginEmpCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginEmpCode");
loginSiteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginSiteCode");
userInfo.setEmpCode(loginEmpCode);
userInfo.setRemoteHost(chgTerm);
userInfo.setSiteCode(loginSiteCode);
userInfo.setLoginCode(loginCode);
userInfo.setEntityCode(loginEmpCode);
System.out.println("userInfo>>>>>"+userInfo);
System.out.println("chgUser :"+chgUser);
System.out.println("chgTerm :"+chgTerm);
System.out.println("loginCode :"+loginCode);
System.out.println("loginEmpCode :"+loginEmpCode);
retString = masterStateful.processRequest(userInfo,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;
}
private String getRate(String siteCodeReq, String itemCode, String locCode, String lotNo, String lotSl,Connection conn)
{
String rate="";
String sql="";
PreparedStatement pstmt = null;
ResultSet rst = null;
// TODO Auto-generated method stub
try
{
sql="SELECT NVL(RATE, 0) AS RATE FROM STOCK WHERE SITE_CODE =? AND ITEM_CODE =? AND LOC_CODE =? AND LOT_NO =? AND LOT_SL =?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, siteCodeReq);
pstmt.setString(2, itemCode);
pstmt.setString(3, locCode);
pstmt.setString(4, lotNo);
pstmt.setString(5, lotSl);
rst=pstmt.executeQuery();
if(rst.next())
{
rate=rst.getString("RATE");
}
pstmt.close();
pstmt=null;
rst.close();
rst=null;
} catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return rate;
}
private String confirmTransaction(String tranID, String objName, String xtraParams, String forcedFlag, Connection conn) throws ITMException, Exception
{
String businessObj = "";
String methodName = "";
String retString = "";
String serviceCode = "";
String serviceURI = "";
String actionURI = "";
String selectSql = "";
Statement stmt = null;
ResultSet rs = null;
System.out.println("@V@ Tran Id at Confirm :- ["+tranID+"]");
System.out.println("@V@ OBj Name at Confirm :- ["+objName+"]");
try
{
methodName = "gbf_post";
actionURI = "http://NvoServiceurl.org/" + methodName;
selectSql = "SELECT SERVICE_CODE,COMP_NAME FROM SYSTEM_EVENTS WHERE OBJ_NAME ='" + objName + "' AND EVENT_CODE = 'pre_confirm' ";
System.out.println("\nselectSql :: " + selectSql);
stmt = conn.createStatement();
rs = stmt.executeQuery(selectSql);
if (rs.next())
{
serviceCode = rs.getString("SERVICE_CODE");
businessObj = rs.getString("COMP_NAME");
}
System.out.println("\nbusinessObj :: " + businessObj);
System.out.println("\nserviceCode :: " + serviceCode);
selectSql = "SELECT SERVICE_URI FROM SYSTEM_EVENT_SERVICES WHERE SERVICE_CODE = '" + serviceCode + "' ";
System.out.println("\nselectSql :: " + selectSql);
rs = stmt.executeQuery(selectSql);
if (rs.next())
serviceURI = rs.getString("SERVICE_URI");
System.out.println("\nserviceURI :: " + serviceURI);
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(serviceURI));
call.setOperationName(new javax.xml.namespace.QName("http://NvoServiceurl.org", methodName));
call.setUseSOAPAction(true);
call.setSOAPActionURI(actionURI);
Object[] aobj = new Object[4];
call.addParameter(new javax.xml.namespace.QName("http://NvoServiceurl.org", "component_name"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new javax.xml.namespace.QName("http://NvoServiceurl.org", "tran_id"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new javax.xml.namespace.QName("http://NvoServiceurl.org", "xtra_params"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new javax.xml.namespace.QName("http://NvoServiceurl.org", "forced_flag"), XMLType.XSD_STRING, ParameterMode.IN);
aobj[0] = new String(businessObj);
aobj[1] = new String(tranID);
aobj[2] = new String(xtraParams);
aobj[3] = new String(forcedFlag);
call.setReturnType(XMLType.XSD_STRING);
retString = (String) call.invoke(aobj);
System.out.println("Return value after confirm [" + retString + "]");
} catch (Exception e)
{
throw new ITMException(e);
}
return retString;
}
private String createConsumeOrderIssue(String consOrder, String xtraParams, Document headerDom, Connection conn,String userId,
String loginSite, String empCode, String termId) throws Exception
{
PreparedStatement pstmt = null;
ResultSet rst = null;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
String sql = "";
String retString = "";
String unit = "", itemSer = "", itemCode = "", siteCode = "", siteCodeReq = "", empCodeIss = "",
acctCode = "", cctrCode = "", projectCode = "", reasonCode = "", remarks = "",deptCode="",tranCode="",currCode="",exchRate="",
available="",orderType="",tranMode="",reqQty="";
String locCode="",lotNo="",lotSl="",quantity="",returnValueTemp="", accCodeInv="",cctrCodeInv="",rate="",qcReqd="";
StringBuffer xmlBuff = null;
int parentNodeListLength = 0, childNodeListLength = 0;
int selectedRow = 0,ctr=0;
try
{
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(
genericUtility.getApplDateFormat());
String sysDate = sdf.format(currentDate.getTime());
System.out.println("Now the date is :=> " + sysDate);
parentNodeList = headerDom.getElementsByTagName("Detail1");
parentNodeListLength = parentNodeList.getLength();
System.out.println("parentNodeListLength --->" + parentNodeListLength);
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for (ctr = 0; ctr < childNodeListLength; ctr++)
{
siteCode = genericUtility.getColumnValue("site_code", headerDom);
siteCodeReq = genericUtility.getColumnValue("site_code__reqd", headerDom);
empCodeIss = genericUtility.getColumnValue("emp_code__iss", headerDom);
itemSer = genericUtility.getColumnValue("item_ser", headerDom);
acctCode = genericUtility.getColumnValue("acct_code", headerDom);
cctrCode = genericUtility.getColumnValue("cctr_code", headerDom);
projectCode = genericUtility.getColumnValue("proj_code", headerDom);
reasonCode = genericUtility.getColumnValue("reas_code", headerDom);
remarks = genericUtility.getColumnValue("remarks", headerDom );
available = genericUtility.getColumnValue("available", headerDom );
deptCode = commonFunctions.getValueFromRefTable("employee","emp_code", empCodeIss, "dept_code", conn);
tranCode = getDisparams("999999", "DEFT_RDISS_TRAN_CODE",conn);
returnValueTemp=commonFunctions.getValueFromRefTable("site","site_code", siteCodeReq+"", "fin_entity",conn);
currCode = commonFunctions.getValueFromRefTable("finent","fin_entity", returnValueTemp,"curr_code", conn);
currCode = currCode == null ? "" :currCode.trim();
exchRate=getDailyExchRate(currCode,currCode, (String)sysDate, conn)+"";
orderType = getDisparams("999999", "DEFT_RDISS_ORDER_TYPE",conn);
tranMode = getDisparams("999999","DEFT_CONSUME_ISSUE_TRANS_MODE", conn);
}
//Generate Header XML
xmlBuff = new StringBuffer();
xmlBuff.append("<?xml version='1.0' encoding='ISO-8859-1'?><DocumentRoot>");
xmlBuff.append("<description>Datawindow Root</description>");
xmlBuff.append("<group0>");
xmlBuff.append("<description>Group0 description</description>");
xmlBuff.append("<Header0>");
xmlBuff.append("<objName><![CDATA[").append("consume_issue").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>Header0 members</description>");
xmlBuff.append("<Detail1 dbID=\'\' domID=\'1\' objContext=\'1\' objName=\'consume_issue\'>");
xmlBuff.append("<attribute pkNames=\'\' selected=\'N\' status=\'N\' updateFlag=\'A\'/>");
xmlBuff.append("<cons_issue/>");
xmlBuff.append("<issue_date><![CDATA["+sysDate+"]]></issue_date>");
xmlBuff.append("<cons_order><![CDATA["+consOrder+"]]></cons_order>");
xmlBuff.append("<site_code__ord><![CDATA["+loginSite+"]]></site_code__ord>");
xmlBuff.append("<dept_code><![CDATA["+deptCode+"]]></dept_code>");
xmlBuff.append("<emp_code><![CDATA["+empCode+"]]></emp_code>");
xmlBuff.append("<item_ser><![CDATA["+itemSer+"]]></item_ser>");
xmlBuff.append("<site_code__req><![CDATA["+siteCodeReq+"]]></site_code__req>");
xmlBuff.append("<tran_code><![CDATA["+tranCode+"]]></tran_code>");
xmlBuff.append("<reas_code><![CDATA["+reasonCode+"]]></reas_code>");
xmlBuff.append("<curr_code><![CDATA["+currCode+"]]></curr_code>");
xmlBuff.append("<exch_rate><![CDATA["+exchRate+"]]></exch_rate>");
xmlBuff.append("<remarks><![CDATA["+remarks+"]]></remarks>");
xmlBuff.append("<chg_date><![CDATA["+sysDate+"]]></chg_date>");
xmlBuff.append("<chg_user><![CDATA["+userId+"]]></chg_user>");
xmlBuff.append("<chg_term><![CDATA["+termId+"]]></chg_term>");
xmlBuff.append("<confirmed><![CDATA[N]]></confirmed>");
xmlBuff.append("<emp_code__aprv><![CDATA["+empCode+"]]></emp_code__aprv>");
xmlBuff.append("<eff_date><![CDATA["+sysDate+"]]></eff_date>");
xmlBuff.append("<tran_type><![CDATA[I]]></tran_type>");
xmlBuff.append("<available_yn><![CDATA["+available+"]]></available_yn>");
xmlBuff.append("<tran_mode><![CDATA["+tranMode+"]]></tran_mode>");
xmlBuff.append("<part_qty><![CDATA[A]]></part_qty>");
xmlBuff.append("<gp_date><![CDATA["+sysDate+"]]></gp_date>");
xmlBuff.append("</Detail1>");
parentNodeList = headerDom.getElementsByTagName("Detail2");
parentNodeListLength = parentNodeList.getLength();
System.out.println("@V@ parentNodeListLength --->" + parentNodeListLength);
for (selectedRow = 0; selectedRow < parentNodeListLength; selectedRow++)
{
parentNode = parentNodeList.item(selectedRow);
System.out.println(">>>>>>>>>>parentNode:"+parentNode);
itemCode = genericUtility.getColumnValueFromNode("item_code", parentNode);
unit = genericUtility.getColumnValueFromNode("unit", parentNode);
itemSer = genericUtility.getColumnValueFromNode("item_ser", parentNode);
locCode = genericUtility.getColumnValueFromNode("loc_code", parentNode);
lotNo = genericUtility.getColumnValueFromNode("lot_no", parentNode);
lotSl = genericUtility.getColumnValueFromNode("lot_no", parentNode);
acctCode = genericUtility.getColumnValueFromNode("acct_code", parentNode);
cctrCode = genericUtility.getColumnValueFromNode("cctr_code", parentNode);
quantity = genericUtility.getColumnValueFromNode("quantity", parentNode);
reqQty = genericUtility.getColumnValueFromNode("req_qty", parentNode);
qcReqd = commonFunctions.getValueFromRefTable("item", "item_code", itemCode + "", "qc_reqd", conn);
sql="SELECT ACCT_CODE__INV, CCTR_CODE__INV, NVL(RATE, 0) AS RATE FROM STOCK WHERE SITE_CODE =? AND ITEM_CODE =? AND LOC_CODE =? AND LOT_NO = ? AND LOT_SL = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, siteCodeReq);
pstmt.setString(2, itemCode);
pstmt.setString(3, locCode);
pstmt.setString(4, lotNo);
pstmt.setString(5, lotSl);
rst=pstmt.executeQuery();
if(rst.next())
{
accCodeInv=rst.getString("ACCT_CODE__INV");
cctrCodeInv=rst.getString("CCTR_CODE__INV");
rate=rst.getString("RATE");
}
pstmt.close();
pstmt=null;
rst.close();
rst=null;
//Generate Detail XML.
xmlBuff.append("<Detail2 dbID=\"\" domID=\"1\" objContext=\"2\" objName=\"consume_issue\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" status=\"N\" updateFlag=\"A\"/>");
xmlBuff.append("<cons_issue/>");
xmlBuff.append("<line_no><![CDATA["+selectedRow+1+"]]></line_no>");
xmlBuff.append("<cons_order><![CDATA["+consOrder+"]]></cons_order>");
xmlBuff.append("<line_no__ord><![CDATA["+selectedRow+1+"]]></line_no__ord>");
xmlBuff.append("<item_code><![CDATA["+itemCode+"]]></item_code>");
xmlBuff.append("<quantity><![CDATA["+reqQty+"]]></quantity>");
xmlBuff.append("<unit><![CDATA["+unit+"]]></unit>");
xmlBuff.append("<rate><![CDATA["+rate+"]]></rate>");
xmlBuff.append("<acct_code><![CDATA["+acctCode+"]]></acct_code>");
xmlBuff.append("<cctr_code><![CDATA["+cctrCode+"]]></cctr_code>");
xmlBuff.append("<loc_code><![CDATA["+locCode+"]]></loc_code>");
xmlBuff.append("<lot_no><![CDATA["+lotNo+"]]></lot_no>");
xmlBuff.append("<lot_sl><![CDATA["+lotSl+"]]></lot_sl>");
xmlBuff.append("<quantity__std><![CDATA["+reqQty+"]]></quantity__std>");
xmlBuff.append("<unit__std><![CDATA["+unit+"]]></unit__std>");
xmlBuff.append("<conv_qty_stduom><![CDATA[1]]></conv_qty_stduom>");
xmlBuff.append("<qc_reqd><![CDATA["+qcReqd+"]]></qc_reqd>");
xmlBuff.append("<acct_code__inv><![CDATA["+accCodeInv+"]]></acct_code__inv>");
xmlBuff.append("<cctr_code__inv><![CDATA["+cctrCodeInv+"]]></cctr_code__inv>");
xmlBuff.append("<no_art><![CDATA["+reqQty+"]]></no_art>");
xmlBuff.append("</Detail2>");
}
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
retString=xmlBuff.toString();
} catch (Exception ex)
{
System.out.println("Exception createConsumeOrderIssue - " + ex.getMessage());
ex.printStackTrace();
}
return retString;
}
private String getDisparams(String prdCode, String varName, Connection conn) throws ITMException
{
String retVal = "";
String sql = "";
ResultSet rs = null;
Statement stmt = null;
try
{
System.out.println("in DISPARAMS ");
stmt = conn.createStatement();
sql = "SELECT VAR_VALUE FROM DISPARM WHERE PRD_CODE ='" + prdCode + "' AND VAR_NAME ='" + varName + "'";
System.out.println("sql is of disparm" + sql);
rs = stmt.executeQuery(sql);
if (rs.next() == false)
retVal = "NULLFOUND";
else
retVal = rs.getString(1);
stmt.close();
} catch (Exception e)
{
throw new ITMException(e);
}
if (retVal == null)
retVal = "";
System.out.println("@V@ value of disparm" + retVal);
return (retVal);
}
public double getDailyExchRate(String curr_code, String curr_code__to, String tranDate, Connection conn)
{
String sql = "";
Statement stmt = null, stmt1 = null;
ResultSet rs = null, rs1 = null;
String ls_fin_entity = null, ls_curr_code__to = null, ls_var_value = null;
System.out.println("Currency Code : '" + curr_code + "'");
System.out.println("Currency Code To: '" + curr_code__to + "'");
System.out.println("Tran Date : " + tranDate);
double lc_exch_rate = 0.0;
try
{
stmt = conn.createStatement();
System.out.println("@V@ In getDailyExchRate method");
if (curr_code.equals(curr_code__to))
{
System.out.println("@V@ both are equal so returning 1");
return 1.0;
}
sql = "select exch_rate__sell from daily_exch_rate_sell_buy where curr_code = '" + curr_code + "' and curr_code__to = '" + curr_code__to + "' and to_date('" + tranDate + "','dd/MM/yy') between from_date and to_date";
System.out.println("SQL 1:" + sql);
rs1 = stmt1.executeQuery(sql);
if (rs1.next())
lc_exch_rate = rs1.getDouble(1);
if (lc_exch_rate == 0)
{
sql = "select exch_rate from exch_rate where curr_code__from = '" + ls_curr_code__to + "' and curr_code__to = '" + curr_code + "' and to_date('" + tranDate + "','dd/MM/yy') between date__from and date__to";
System.out.println("SQL 2:" + sql);
rs1 = stmt1.executeQuery(sql);
if (rs1.next())
lc_exch_rate = rs1.getDouble(1);
}
} catch (Exception e)
{
System.out.println("@V@ Error in Exchange Rate :" + e);
}
System.out.println("Returning Exchange Rate [getDailyExchRate] : " + lc_exch_rate);
return lc_exch_rate;
}
}
/********************************************************
Title : ConsumptionOdrIssuWizPos[D15BSUN017]
Date : 22/JUN/15
Developer: VALLABH KADAM.
********************************************************/
package ibase.webitm.ejb.mfg;
import java.rmi.RemoteException;
import java.sql.Connection;
//import javax.ejb.EJBObject;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.ValidatorLocal;
import javax.ejb.Local; // added for ejb3
@Local // added for ejb3
public interface ConsumptionOdrIssuWizPosLocal extends ValidatorLocal
{
// public String postSave()throws RemoteException,ITMException;
// public String postSave( String domString,String tranId, String editFlag, String xtraParams, Connection conn ) throws RemoteException,ITMException;
public String postSave() throws RemoteException,ITMException;
// public String postSaveRec(String xmlString1,String domId,String objContext,String editFlag, String xtraParams, String windowName, Connection conn)throws RemoteException,ITMException;
//public String postSave(String winName,String editFlag,String xmlString, String xtraParams,Connection conn) throws RemoteException,ITMException;
public String postSave( String domString, String editFlag, String xtraParams, Connection conn ) throws RemoteException,ITMException;
}
\ No newline at end of file
/********************************************************
Title : ConsumptionOdrIssuWizPos[D15BSUN017]
Date : 22/JUN/15
Developer: VALLABH KADAM.
********************************************************/
package ibase.webitm.ejb.mfg;
import java.rmi.RemoteException;
import java.sql.Connection;
//import javax.ejb.EJBObject;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.ValidatorRemote;
import javax.ejb.Remote; // added for ejb3
@Remote // added for ejb3
public interface ConsumptionOdrIssuWizPosRemote extends ValidatorRemote
{
// public String postSave()throws RemoteException,ITMException;
// public String postSave( String domString,String tranId, String editFlag, String xtraParams, Connection conn ) throws RemoteException,ITMException;
public String postSave() throws RemoteException,ITMException;
// public String postSaveRec(String xmlString1,String domId,String objContext,String editFlag, String xtraParams, String windowName, Connection conn)throws RemoteException,ITMException;
//public String postSave(String winName,String editFlag,String xmlString, String xtraParams,Connection conn) throws RemoteException,ITMException;
public String postSave( String domString,String editFlag, String xtraParams, Connection conn ) throws RemoteException,ITMException;
}
\ No newline at end of file
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