Commit 23f46cd2 authored by manohar's avatar manohar

Components for proc route instruction removed from bmr folder and added to mfg


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@93015 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 922491f9
package ibase.webitm.ejb.mfg;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.bmr.util.TagIndex;
import ibase.webitm.ejb.bmr.util.TagSpec;
import ibase.webitm.ejb.bmr.util.Utils;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import java.util.*;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import javax.ejb.CreateException;
import javax.ejb.SessionBean;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import javax.ejb.Stateless; // added for ejb3
@Stateless // added for ejb3
public class ProcRouteInstrIc extends ValidatorEJB implements ProcRouteInstrIcLocal,ProcRouteInstrIcRemote //SessionBean
{
GenericUtility genericUtility = GenericUtility.getInstance();
/*public void ejbCreate() throws RemoteException, CreateException
{
}
public void ejbRemove()
{
}
public void ejbActivate()
{
}
public void ejbPassivate()
{
}*/
public String wfValData() throws RemoteException,ITMException
{
return "";
}
public String itemChanged() 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;
System.out.println("xmlString........"+xmlString);
System.out.println("xmlString1........"+xmlString1);
System.out.println("xmlString2........"+xmlString2);
try
{
dom = parseString(xmlString);
dom1 = parseString(xmlString1);
if (xmlString2.trim().length() > 0 )
{
dom2 = parseString(xmlString2);
}
errString = wfValData(dom,dom1,dom2,objContext,editFlag,xtraParams);
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException( e );
}
return (errString);
}
public String wfValData(Document dom, Document dom1,Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
String errString = " ";
String errCode = null;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
int ctr = 0;
String startDate = null,endDate = null;
String columnValue = null;
String childNodeName = null;
String userId = null,loginSite = null;
String templateCode = "",descr = "";
int cnt = 0;
int currentFormNo = 0;
int childNodeListLength;
Connection conn = null;
PreparedStatement pStmt=null;
ResultSet rs = null;
String sql = null;
ArrayList errList = new ArrayList();
ArrayList errFields = new ArrayList();
StringBuffer errStringXml = new StringBuffer("<?xml version=\"1.0\"?>\r\n<Root><Errors>");
String errorType = "";
ConnDriver connDriver = new ConnDriver();
try
{
conn = connDriver.getConnectDB("DriverITM");
userId = getValueFromXTRA_PARAMS(xtraParams,"loginCode");
loginSite = getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
genericUtility = GenericUtility.getInstance();
if(objContext != null && objContext.trim().length()>0)
{
currentFormNo = Integer.parseInt(objContext);
}
switch(currentFormNo)
{
case 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.equals( "operation" ) )
{
String numValStr = null;
int llCount = 0;
numValStr = genericUtility.getColumnValue( "operation", dom );
int llVal = Integer.parseInt( numValStr );
String lsVal = genericUtility.getColumnValue( "route_code", dom );
sql = " select count(1) cnt from procroute "
+" where route_code = ? "
+" and operation = ? ";
pStmt = conn.prepareStatement( sql );
pStmt.setString( 1, lsVal );
pStmt.setInt( 2, llVal );
rs = pStmt.executeQuery();
if( rs.next() )
{
llCount = rs.getInt( "cnt" );
}
rs.close();
rs = null;
pStmt.close();
pStmt = null;
if( llCount == 0 )
{
errCode = "VTINVOPR";//~t The entered Operation not exists in Process Route Master"
//errString = getErrorString( "", errCode, userId );
//break;
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
/*
if ( childNodeName.equals( "take_observ" ) )
{
String lsVal = genericUtility.getColumnValue( "take_observ", dom);
if( lsVal == null || lsVal.trim().length() == 0 )
{
errCode = "VTOBSYNBLK"; //~t Take Observation should be either Yes or No."
errString = getErrorString( "", errCode, userId );
break;
}
}
if ( childNodeName.trim().equals( "no_of_observ" ) )
{
String lsVal = genericUtility.getColumnValue( "take_observ", dom );
String noOfObserv = genericUtility.getColumnValue( "no_of_observ", dom );
int llVal = Integer.parseInt( noOfObserv == null || noOfObserv.trim().length() == 0 ? "0" : noOfObserv.trim() );
if( "Y".equalsIgnoreCase( lsVal ) && llVal == 0 )
{
errCode = "VMNOOBS";//~t Take Observation is Yes, No. of Observation should be more than zero"
errString = getErrorString( "", errCode, userId );
break;
}
}
if ( childNodeName.trim().equals( "trig_time" ) || childNodeName.trim().equals( "hours_after" ) )
{
String hoursAfter = genericUtility.getColumnValue( "hours_after", dom );
int lcVal = Integer.parseInt( hoursAfter == null || hoursAfter.trim().length() == 0 ? "0" : hoursAfter.trim() );
if( lcVal == 0 )
{
errCode = "VTINHRS";//~t Time Interval should not be zero"
}
}
*/
else if ( childNodeName.equals( "template_code" ) )//aded by kunal
{
templateCode = checkNull(genericUtility.getColumnValue( "template_code", dom ));
System.out.println("templateCode="+templateCode);
if( templateCode == null || templateCode.trim().length() == 0 )
{
errCode = "VMTEMCD";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
else
{
sql = " select count(*) from bmr_template where template_code = ? ";
pStmt = conn.prepareStatement( sql );
pStmt.setString( 1, templateCode );
rs = pStmt.executeQuery();
if( rs.next() )
{
cnt = rs.getInt(1 );
}
rs.close();
rs = null;
pStmt.close();
pStmt = null;
if( cnt == 0 )
{
errCode = "VMTEMCD1";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
else if ( childNodeName.equals( "descr" ) )//added by kunal 26/11/12
{
descr = checkNull(genericUtility.getColumnValue( "descr", dom ));
System.out.println("Descr="+descr);
if( descr == null || descr.trim().length() == 0 )
{
errCode = "VMDESCR";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
/*if ( childNodeName.trim().equals( "template_no" ) ) //comment by Kunal on 23/11/12
{
String lsVal = genericUtility.getColumnValue( "template_no", dom );
lsVal = lsVal != null ? lsVal.trim(): "";
if( "012".indexOf( lsVal ) == -1 )
{
errCode = "VMINVTMPNO";//Invalid Template No or Blank.
//errString = getErrorString( "", errCode, userId );
//break;
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
//valid for tags
String seqNo = null;//genericUtility.getColumnValue( childNodeName.trim(), dom );
//String editFlg = getNodeValue( dom.getElementsByTagName("Detail2").item(0), "updateFlag", true );
String instruction = genericUtility.getColumnValue( "instruction", dom );
String observHead = null;//genericUtility.getColumnValue( "observ_head", dom );
String observTrail = null;//genericUtility.getColumnValue( "observ_trail", dom );
String defaultValue = null;//genericUtility.getColumnValue( "default_value", dom );
//check for two tags cant have same ref
ArrayList tagList = Utils.getAllCustomTagSpecs( instruction );
int tagListLen = tagList.size();
HashMap tagRefMap = new HashMap();
for( int idx = 0; idx < tagListLen; idx++ )
{
if( tagRefMap.containsKey( "observ" + Utils.getTagAttrb( ( ( TagIndex )tagList.get( idx ) ).tagSpec , "ref" ) ) )
{
//errString = getErrorString( "instruction", "VMINVREFS", userId );
errCode = "VMINVREFS";
//return errString;
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
else
{
String refStr = Utils.getTagAttrb( ((TagIndex)tagList.get( idx )).tagSpec , "ref" );
//check for is no
System.out.println( "refStr::" + refStr );
if( refStr != null && refStr.trim().length() > 0 )
{
boolean isNumFlag = true;
int refIntVal = -1;
try
{
refIntVal = Integer.parseInt( refStr );
if( refIntVal <= 0 )
{
isNumFlag = false;
}
}catch( Exception ex )
{
isNumFlag = false;
}
if( isNumFlag )
{
tagRefMap.put( "observ" + refStr, ( (TagIndex)tagList.get( idx ) ).tagSpec );
}
else
{
//return getErrorString( "instruction", "VMINVREF", userId );
errCode = "VMINVREF";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
}
tagRefMap.clear();
tagRefMap = null;
//end check for two tags cant have same ref.
HashMap tagMap = Utils.getAllTagsSeqNoMap( instruction );
java.util.Set allTags = tagMap.entrySet();
Iterator tagIter = allTags.iterator();
while( tagIter.hasNext() )
{
Map.Entry mapObj = (Map.Entry)tagIter.next();
seqNo = (String)mapObj.getKey();
String tag = (String)mapObj.getValue();//(String)tagMap.get( "observ" + seqNo );
TagSpec tagSpecObj = new TagSpec( tag );
if( tagSpecObj.tagName.equalsIgnoreCase( "table" ) && tagSpecObj.defaultValue != null && tagSpecObj.defaultValue.trim().length() > 0 )
{
errCode = Utils.isEntryValid( tag, tagSpecObj.observHead, null, tagSpecObj.defaultValue );
}
if( errCode != null && errCode.trim().length() > 0 )
{
//errString = getErrorString( "instruction", errCode, userId );
//return errString;
errCode = "VMINVREF";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
if( tagSpecObj.tagName.equalsIgnoreCase( "input" ) && tag.indexOf( "size={" ) > -1 )
{
//errString = getErrorString( "instruction", "VMINVSZATR", userId );
errCode = "VMINVSZATR";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
//end validation for tags
}*/
if ( childNodeName.trim().equals( "route_code" ) )
{
int count = 0;
String lsVal = genericUtility.getColumnValue( "route_code", dom );
lsVal = lsVal != null ? lsVal.trim(): "";
sql = " select count(1) cnt from route where ROUTE_CODE = ? ";
pStmt = conn.prepareStatement( sql );
pStmt.setString( 1, lsVal );
rs = pStmt.executeQuery();
if( rs.next() )
{
count = rs.getInt( "cnt" );
}
rs.close();
rs = null;
pStmt.close();
pStmt = null;
if( count == 0 )
{
errCode = "VMINVROUTE";//Invalid Route or Blank.
//errString = getErrorString( "", errCode, userId );
//break;
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
break;
case 2 :
parentNodeList = dom.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for(ctr = 0; ctr < childNodeListLength; ctr++)
{
cnt = 0;
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
/*
if ( childNodeName.trim().equals( "observ_type" ) )
{
String lsVal = genericUtility.getColumnValue( childNodeName.trim(), dom ); //dw_detedit[ii_currformno].getitemstring(1,ls_fldname)
if( lsVal == null || lsVal.trim().length() == 0 )
{
errCode = "VMINVTYP";//~t Observation Type cannot be empty"
errString = getErrorString( "", errCode, userId );
break;
}
}
if ( childNodeName.trim().equals( "mandatory" ) )
{
String lsVal = genericUtility.getColumnValue( childNodeName.trim(), dom );//dw_detedit[ii_currformno].getitemstring(1,ls_fldname)
if( lsVal == null || lsVal.trim().length() == 0 )
{
errCode = "VMMANDA";//~t Mandatory Field cannot be empty"
errString = getErrorString( "", errCode, userId );
break;
}
}
*/
if ( childNodeName.trim().equals( "seq_no" ) )
{
String seqNo = genericUtility.getColumnValue( childNodeName.trim(), dom );
String editFlg = getNodeValue( dom.getElementsByTagName("Detail2").item(0), "updateFlag", true );
String instruction = genericUtility.getColumnValue( "instruction", dom1 );
String observHead = genericUtility.getColumnValue( "observ_head", dom );
String observTrail = genericUtility.getColumnValue( "observ_trail", dom );
String defaultValue = genericUtility.getColumnValue( "default_value", dom );
HashMap tagMap = Utils.getAllTagsSeqNoMap( instruction );
if( ( !"D".equalsIgnoreCase( editFlg ) ) && !tagMap.containsKey( "observ" + seqNo ) )
{
//sequence no not refered in instruction.
errCode = "VMINVSEQ";
//errString = getErrorString( "", errCode, userId );
//break;
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
else
{
String tag = (String)tagMap.get( "observ" + seqNo );
errCode = Utils.isEntryValid( tag, observHead, observTrail, defaultValue );
if( errCode != null && errCode.trim().length() > 0 )
{
//errString = getErrorString( "", errCode, userId );
//break;
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}else
{
//map of tags with ref, and it is not table then keep default and header fields disabled.
if( tagMap.containsKey( "observ" + seqNo ) )
{
String tagSpec = (String) tagMap.get( "observ" + seqNo );
TagSpec tagSpecObj = new TagSpec( tagSpec );
if( tagSpecObj.tagName.indexOf( "table" ) == - 1 )
{
if( ( observHead != null && observHead.trim().length() > 0 ) )
{
errCode = "VMINVHEAD";
//errString = getErrorString( "", errCode, userId );
//break;
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
if( defaultValue != null && defaultValue.trim().length() > 0 )
{
errCode = "VMINVDFLT";
//errString = getErrorString( "", errCode, userId );
//break;
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
}
}
}
//end map of tags with ref, and it is not table then keep default and header fields disabled.
}
}
}
}//END FOR OF CASE2
break;
}//END SWITCH
int errListSize = errList.size();
cnt =0;
String errFldName = null;
if ( errList != null && errListSize > 0 )
{
for (cnt = 0; cnt < errListSize; cnt++ )
{
errCode = (String)errList.get(cnt);
errFldName = (String)errFields.get(cnt);
System.out.println("errCode .........."+errCode);
//String errMsg = hashMap.get(errCode)!=null ? hashMap.get(errCode).toString():"";
//System.out.println("errMsg .........."+errMsg);
errString = getErrorString( errFldName, errCode, userId );
errorType = errorType( conn , errCode );
if ( errString.length() > 0)
{
String bifurErrString = errString.substring( errString.indexOf("<Errors>") + 8,errString.indexOf("<trace>"));
bifurErrString =bifurErrString;//+"<trace>"+errMsg+"</trace>";
bifurErrString =bifurErrString+errString.substring( errString.indexOf("</trace>") + 8,errString.indexOf("</Errors>"));
errStringXml.append(bifurErrString);
System.out.println("errStringXml .........."+errStringXml);
errString = "";
}
if ( errorType.equalsIgnoreCase("E"))
{
break;
}
}
errList.clear();
errList = null;
errFields.clear();
errFields = null;
errStringXml.append("</Errors></Root>\r\n");
}
else
{
errStringXml = new StringBuffer( "" );
}
errString = errStringXml.toString();
}//END TRY
catch(Exception e)
{
e.printStackTrace();
errCode = "VALEXCEP";
errString = getErrorString( "", errCode, userId );
}
finally
{
try
{
if(conn != null)
{
if( pStmt != null )
{
pStmt.close();
pStmt = null;
}
if( rs != null )
{
rs.close();
rs = null;
}
conn.close();
}
conn = null;
}
catch(Exception d)
{
d.printStackTrace();
}
}
return errString;
}//END OF VALIDATION
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 = ? ";
if (errorCode == null)
{
errorCode = "";
}
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();
}
}
return msgType;
}
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 = null;
try
{
dom = parseString(xmlString);
dom1 = parseString(xmlString1);
if (xmlString2.trim().length() > 0 )
{
dom2 = parseString("<Root>" + xmlString2+ "</Root>");
}
valueXmlString = itemChanged(dom,dom1,dom2,objContext,currentColumn,editFlag,xtraParams);
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException( e );
}
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;
ConnDriver connDriver = new ConnDriver();
PreparedStatement pStmt = null;
ResultSet rs = null;
String sql = null;
int currentFormNo = 0;
StringBuffer valueXmlString = new StringBuffer();
String columnValue = null;
NodeList parentNodeList = null;
Node parentNode = null;
Node childNode = null;
NodeList childNodeList = null;
String childNodeName = null;
int childNodeListLength = 0;
int ctr = 0;
String loginSite = null;
try
{
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
if(objContext != null && objContext.trim().length()>0)
{
currentFormNo = Integer.parseInt(objContext);
}
loginSite = getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
valueXmlString = new StringBuffer("<?xml version=\"1.0\"?><Root><header><editFlag>");
valueXmlString.append(editFlag).append("</editFlag></header>");
switch (currentFormNo)
{
case 1:
valueXmlString.append("<Detail1>");
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
ctr = 0;
childNodeListLength = childNodeList.getLength();
do
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equals(currentColumn))
{
if (childNode.getFirstChild() != null)
{
columnValue=childNode.getFirstChild().getNodeValue().trim();
}
}
ctr++;
}while(ctr < childNodeListLength && !childNodeName.equals(currentColumn));
if ( currentColumn.trim().equals( "itm_defaultedit" ) )
{
/*
String takeObserv = genericUtility.getColumnValue( "take_observ", dom );
if( columnValue != null && "N".equalsIgnoreCase( columnValue.trim() ) )
{
valueXmlString.append("<no_of_observ protect=\"1\">").append("<![CDATA[]]>").append("</no_of_observ>");
}
*/
/*String templatenoDescr = null;
String templateNo = genericUtility.getColumnValue( "template_no", dom );
if( templateNo != null )
{
sql = " select descr from gencodes where fld_name = 'TEMPLATE_NO' and mod_name = 'W_PROCROUTE_INSTR' and fld_value = ? ";
pStmt = conn.prepareStatement( sql );
pStmt.setString(1, templateNo.trim() );
rs = pStmt.executeQuery();
if( rs.next() )
{
templatenoDescr = rs.getString( "DESCR" );
}
rs.close();
rs = null;
pStmt.close();
pStmt = null;
}
valueXmlString.append("<templateno_descr>").append("<![CDATA[" + ( templatenoDescr != null ? templatenoDescr.trim() : "" )+ "]]>").append("</templateno_descr>");*/
}
/*
if ( currentColumn.trim().equals( "take_observ" ) )
{
String description = null;
if( columnValue != null && "N".equalsIgnoreCase( columnValue.trim() ) )
{
valueXmlString.append("<no_of_observ protect=\"1\">").append("<![CDATA[]]>").append("</no_of_observ>");
}
}
*/
if ( currentColumn.trim().equals( "route_code" ) )
{
String description = null;
if( columnValue != null )
{
sql = " select DESCR from route where ROUTE_CODE = ? ";
pStmt = conn.prepareStatement( sql );
pStmt.setString( 1, columnValue );
rs = pStmt.executeQuery();
if( rs.next() )
{
description = rs.getString( "DESCR" );
}
rs.close();
rs = null;
pStmt.close();
pStmt = null;
}
valueXmlString.append("<route_descr>").append("<![CDATA[" + ( description != null ? description.trim() : "" )+ "]]>").append("</route_descr>");
}
if ( currentColumn.trim().equals( "item_code" ) )
{
String itemcode = null;
if( columnValue != null )
{
sql = " select DESCR from item where item_code = ? ";
pStmt = conn.prepareStatement( sql );
pStmt.setString(1,columnValue );
rs = pStmt.executeQuery();
if( rs.next() )
{
itemcode = rs.getString( "DESCR" );
}
rs.close();
rs = null;
pStmt.close();
pStmt = null;
}
valueXmlString.append("<item_descr>").append("<![CDATA[" + ( itemcode != null ? itemcode.trim() : "" )+ "]]>").append("</item_descr>");
}
if( currentColumn.trim().equals( "operation" ) )
{
int nextSeqNo = 0;
String oprStr = genericUtility.getColumnValue( "operation", dom );
String routeCd = genericUtility.getColumnValue( "route_code", dom );
int operationVal = Integer.parseInt( oprStr != null && !"null".equals( oprStr ) && oprStr.trim().length() > 0 ? oprStr.trim() : "0" );
sql = " select nvl(max(nvl( seq_no, 0 )) + 1, 1) next_seq "
+" from procroute_oper_instr "
+" where route_code = ? "
+" and operation = ? ";
pStmt = conn.prepareStatement( sql );
pStmt.setString( 1, routeCd );
pStmt.setInt( 2, operationVal );
rs = pStmt.executeQuery();
if( rs.next() )
{
nextSeqNo = rs.getInt( "next_seq" );
}
rs.close();
rs = null;
pStmt.close();
pStmt = null;
valueXmlString.append("<seq_no>").append("<![CDATA[" + ( nextSeqNo )+ "]]>").append("</seq_no>");
}
if ( currentColumn.trim().equals( "template_code" ) ) //change done by kunal on 23/11/12
{
String templatenoDescr = "";
String templateCode = genericUtility.getColumnValue( "template_code", dom );
if( templateCode != null )
{
sql = " select descr from bmr_template where template_code = ? ";
pStmt = conn.prepareStatement( sql );
pStmt.setString(1, templateCode );
rs = pStmt.executeQuery();
if( rs.next() )
{
templatenoDescr = rs.getString( "descr" );
}
rs.close();
rs = null;
pStmt.close();
pStmt = null;
}
valueXmlString.append("<bmr_template_descr>").append("<![CDATA[" + templatenoDescr + "]]>").append("</bmr_template_descr>");
}
valueXmlString.append("</Detail1>");
valueXmlString.append("</Root>");
break;
case 2:
valueXmlString.append("<Detail2>");
parentNodeList = dom.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
ctr = 0;
childNodeListLength = childNodeList.getLength();
do
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equals(currentColumn))
{
if (childNode.getFirstChild() != null)
{
columnValue=childNode.getFirstChild().getNodeValue().trim();
}
}
ctr++;
}while(ctr < childNodeListLength && !childNodeName.equals(currentColumn));
if (currentColumn.trim().equals( "itm_default" ))
{
String seqNoStr = genericUtility.getColumnValue( "seq_no", dom1 );
String oprStr = genericUtility.getColumnValue( "operation", dom1 );
String routeCd = genericUtility.getColumnValue( "route_code", dom1 );
String nextSeqNoStr = Integer.toString( getNextSeqNo( dom2 ) );
valueXmlString.append("<seq_no__instr>").append("<![CDATA[" + seqNoStr.trim() + "]]>").append("</seq_no__instr>");
valueXmlString.append("<seq_no>").append("<![CDATA[" + nextSeqNoStr + "]]>").append("</seq_no>");
//map of tags with ref, and it is not table then keep default and header fields disabled.
String editFlg = getNodeValue( dom.getElementsByTagName("Detail2").item(0), "updateFlag", true );
String instruction = genericUtility.getColumnValue( "instruction", dom1 );
HashMap tagMap = Utils.getAllTagsSeqNoMap( instruction );
//System.out.println( "nextSeqNoStr::" + nextSeqNoStr );
if( tagMap.containsKey( "observ" + nextSeqNoStr ) )
{
String tagSpec = (String) tagMap.get( "observ" + nextSeqNoStr );
//System.out.println( "tagSpec::" + tagSpec );
TagSpec tagSpecObj = new TagSpec( tagSpec );
if( tagSpecObj.tagName.indexOf( "table" ) == - 1 )
{
valueXmlString.append("<observ_head protect=\"1\">").append("<![CDATA[]]>").append("</observ_head>");
valueXmlString.append("<default_value protect=\"1\">").append("<![CDATA[]]>").append("</default_value>");
}
else
{
valueXmlString.append("<observ_head protect=\"0\">").append("<![CDATA[]]>").append("</observ_head>");
valueXmlString.append("<default_value protect=\"0\">").append("<![CDATA[]]>").append("</default_value>");
}
}
//end map of tags with ref, and it is not table then keep default and header fields disabled.
}
valueXmlString.append("</Detail2>");
valueXmlString.append("</Root>");
}//END OF TRY
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException( e );
}
finally
{
try
{
if ( rs != null )
{
rs.close();
rs = null;
}
if ( pStmt != null )
{
pStmt.close();
pStmt = null;
}
if ( conn != null )
{
conn.close();
conn = null;
}
}
catch( Exception e )
{
e.printStackTrace();
throw new ITMException( e );
}
}
return valueXmlString.toString();
}//END OF ITEMCHANGE
private String getCurrdateAppFormat()
{
String s = "";
GenericUtility genericUtility = GenericUtility.getInstance();
try
{
java.util.Date date = null;
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
System.out.println(genericUtility.getDBDateFormat());
SimpleDateFormat simpledateformat = new SimpleDateFormat(genericUtility.getDBDateFormat());
date = simpledateformat.parse(timestamp.toString());
timestamp = Timestamp.valueOf(simpledateformat.format(date).toString() + " 00:00:00.0");
s = (new SimpleDateFormat(genericUtility.getApplDateFormat())).format(timestamp).toString();
}
catch(Exception exception)
{
System.out.println("Exception in getCurrdateAppFormat " + exception.getMessage());
}
return s;
}
private int getNextSeqNo( Document dom2 )
{
NodeList det2 = dom2.getElementsByTagName( "seq_no" );
NodeList allDtl = dom2.getElementsByTagName( "Detail2" );
int nextSeqNo = 0;
//int det2Len = allDtl.getLength(); //det2.getLength();
int det2Len = det2.getLength();
Node seqNode = null;
String seqStr = null;
String editFlag = null;
for( int idx = 1; idx < det2Len - 1; idx++ )
{
//seqNode = allDtl.item( idx );//det2.item( idx );
seqNode = det2.item( idx );
//editFlag = getNodeValue( seqNode, "updateFlag", true );
//seqStr = getNodeValue( seqNode, "updateFlag", true );
seqNode.getChildNodes().item(0).getNodeValue();
//editFlag = allDtl.item( idx ).getAttributes().getNamedItem( "updateFlag" ).getNodeValue();
//if( !"D".equalsIgnoreCase( editFlag ) )
//{
//seqStr = getNodeValue( seqNode, "seq_no", false );
seqStr = seqNode.getChildNodes().item(0).getNodeValue();
int seqNo = Integer.parseInt( seqStr );
if( seqNo > nextSeqNo )
{
nextSeqNo = seqNo;
}
//}
}
return nextSeqNo + 1;
}
private String getNodeValue( Node currDet, String fldName, boolean isAttribute )
{
String fldValue = null;
boolean isFound = false;
NodeList currNodes = currDet.getChildNodes();
int currDetLen = currNodes.getLength();
for(int detIdx = 0; detIdx < currDetLen && !isFound ; detIdx++ )
{
Node currNode = currNodes.item( detIdx );
String nodeName = currNode.getNodeName();
if( isAttribute == true )
{
if ( nodeName.equalsIgnoreCase( "attribute" ) )
{
fldValue = currNode.getAttributes().getNamedItem( fldName ).getNodeValue();
isFound = true;
}
}
else if ( currNode.getNodeType() == Node.ELEMENT_NODE && nodeName.equalsIgnoreCase( fldName ) )
{
fldValue = currNode.getFirstChild() != null ? currNode.getFirstChild().getNodeValue().trim() : null;
isFound = true;
}
}
return fldValue;
}
private String getAttrubute( Node attrNode, String attrName )
{
String attrVal = null;
return attrVal;
}
private String checkNull( String inputVal )
{
if ( inputVal == null )
{
inputVal = "";
}
return inputVal;
}
}
package ibase.webitm.ejb.mfg;
import java.rmi.RemoteException;
import org.w3c.dom.*;
//import javax.ejb.EJBObject;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import javax.ejb.Local; // added for ejb3
@Local // added for ejb3
public interface ProcRouteInstrIcLocal extends ValidatorLocal//, EJBObject
{
public String wfValData() throws RemoteException,ITMException;
public String wfValData(String xmlString, String xmlString1,String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException;
public String wfValData(Document dom, Document dom1,Document dom2, 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;
}
\ No newline at end of file
package ibase.webitm.ejb.mfg;
import java.rmi.RemoteException;
import org.w3c.dom.*;
//import javax.ejb.EJBObject;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import javax.ejb.Remote; // added for ejb3
@Remote // added for ejb3
public interface ProcRouteInstrIcRemote extends ValidatorRemote//, EJBObject
{
public String wfValData() throws RemoteException,ITMException;
public String wfValData(String xmlString, String xmlString1,String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException;
public String wfValData(Document dom, Document dom1,Document dom2, 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;
}
\ 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