Commit 70a1fe42 authored by smestry's avatar smestry

Added new java files for Indent and Indent req


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@104748 ce508802-f39f-4f6c-b175-0d175dae99d5
parent ac17db73
/**
* PURPOSE : IndentConf component
* AUTHOR : Sneha Mestry
* DATE : 04-01-2017
*/
package ibase.webitm.ejb.dis;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.E12CreateBatchLoadEjb;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.sys.CreateRCPXML;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import javax.ejb.Stateless;
import org.w3c.dom.*;
@Stateless
public class IndentConf extends ActionHandlerEJB implements IndentConfLocal, IndentConfRemote
{
E12GenericUtility genericUtility = new E12GenericUtility();
DistCommon discommon = new DistCommon();
ITMDBAccessEJB itmDBAccess = new ITMDBAccessEJB();
public String confirm(String tranID,String xtraParams, String forcedFlag) throws RemoteException,ITMException
{
String retString = "";
Connection conn = null;
try
{
retString = this.confirm(tranID, xtraParams, forcedFlag, conn);
System.out.println("retString:::::"+retString);
}
catch(Exception e)
{
System.out.println("Exception in [IndentConf] confirm " + e.getMessage());
throw new ITMException(e);
}
return retString;
}
public String confirm( String tranId, String xtraParams, String forcedFlag, Connection conn) throws RemoteException,ITMException
{
System.out.println(" ========= Inside IndentConf confirm ============= ");
System.out.println(" ========= tranId ============= "+tranId);
System.out.println("xtraParams ::::::::::::: " + xtraParams);
String errString = "", sql = "", childNodeName = "", userId = "", errorType = "", errCode = "", ld_conf_date = "", ls_runopt = "";
boolean isError = false;
int cnt = 0;
ArrayList <String> errList = new ArrayList<String>();
ArrayList <String> errFields = new ArrayList <String>();
PreparedStatement pstmt = null;
ResultSet rs = null;
String ls_confirm = "", mstatus = "", ls_emp_code__iapr = "", ls_empcodepur = "", ls_sitecode = "", ls_itemcode = "", ls_login_emp = "",
li_level = "", ls_ecode = "";
StringBuffer errStringXml = new StringBuffer("<?xml version=\"1.0\"?>\r\n<Root><Errors>");
try
{
userId = checkNull(genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginCode" ));
ls_runopt = checkNull(genericUtility.getValueFromXTRA_PARAMS( xtraParams, "runopt" ));
if ( conn == null )
{
conn = getConnection();
}
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
Date currDate = new Date();
ld_conf_date = sdf.format(currDate);
sql = "SELECT STATUS, EMP_CODE__IAPR, EMP_CODE__PUR, SITE_CODE, ITEM_CODE FROM INDENT WHERE IND_NO = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
mstatus = checkNullAndTrim(rs.getString("STATUS"));
ls_emp_code__iapr = checkNullAndTrim(rs.getString("EMP_CODE__IAPR"));
ls_empcodepur = checkNullAndTrim(rs.getString("EMP_CODE__PUR"));
ls_sitecode = checkNullAndTrim(rs.getString("SITE_CODE"));
ls_itemcode = checkNullAndTrim(rs.getString("ITEM_CODE"));
}
else
{
errCode = "VTMCONF20";
errList.add( errCode );
errFields.add(childNodeName.toLowerCase());
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if("U".equalsIgnoreCase(mstatus))
{
sql = "SELECT EMP_CODE, USR_LEV FROM USERS WHERE CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, userId);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_login_emp = checkNullAndTrim(rs.getString("EMP_CODE"));
li_level = checkNullAndTrim(rs.getString("USR_LEV"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(ls_emp_code__iapr.length() == 0)
{
errCode = "VTNOAPRRHT";
errList.add( errCode );
errFields.add(childNodeName.toLowerCase());
//ls_errcode = 'VTNOAPRRHT~t'+'Not Authorised For Approval or Indent Approver is null'
}
}
sql = "SELECT EMP_CODE FROM USERS WHERE CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, userId);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_ecode = checkNullAndTrim(rs.getString("EMP_CODE"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(ls_ecode.equalsIgnoreCase(ls_emp_code__iapr))
{
mstatus = "A";
}
else
{
errCode = "VTEAINAPP";
errList.add( errCode );
errFields.add(childNodeName.toLowerCase());
}
if(errCode.length() == 0)
{
System.out.println("------------11111111111111111");
if(li_level.length() > 0 && !ls_login_emp.equalsIgnoreCase(ls_emp_code__iapr))
{
System.out.println("------------22222222222222222222222");
errCode = roleUser(ls_sitecode, ls_itemcode, userId, "IND", ls_runopt, conn);
}
}
if(errCode.length() == 0)
{
System.out.println("------------33333333333333333333333");
errCode = approveIndent(tranId, "1", userId, xtraParams, conn);
}
if(errCode.length() != 0)
{
isError = true;
}
int errListSize = errList.size();
cnt = 0;
String errFldName = null;
if ( errList != null && errListSize > 0 )
{
for (cnt = 0; cnt < errListSize; cnt++ )
{
errCode = errList.get(cnt);
errFldName = errFields.get(cnt);
System.out.println("errCode .........." + errCode);
errString = itmDBAccess.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+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();
}
catch(Exception e)
{
try
{
System.out.println("Exception "+e.getMessage());
e.printStackTrace();
throw new ITMException(e);
}
catch (Exception e1)
{
isError = true;
e1.printStackTrace();
throw new ITMException(e1);
}
}
finally
{
try
{
if( !isError )
{
System.out.println("----------commmit-----------");
conn.commit();
}
else if ( isError )
{
System.out.println("--------------rollback------------");
conn.rollback();
}
if ( rs != null )
{
rs.close();
rs = null;
}
if ( pstmt != null )
{
pstmt.close();
pstmt = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
private String checkNull( String input )
{
if ( input == null )
{
input = "";
}
return input.trim();
}
private String checkNullAndTrim( String inputVal )
{
if ( inputVal == null )
{
inputVal = "";
}
else
{
inputVal = inputVal.trim();
}
return inputVal;
}
public 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();
}
}
return msgType;
}
public String roleUser(String ls_sitecode, String ls_itemcode, String userId, String val, String ls_runopt, Connection conn) throws Exception
{
System.out.println("----------- Inside roleUser ----------------");
String sql = "", sql1 = "", ls_errcode = "";
PreparedStatement pstmt = null, pstmt1 = null;
ResultSet rs = null, rs1 = null;
int cnt = 0;
String ls_aprvrole = "";
try
{
if(!"*".equalsIgnoreCase(ls_runopt))
{
if("IND".equalsIgnoreCase(val))
{
sql = "SELECT ROLE_CODE__INDAPRV FROM SITEITEM WHERE SITE_CODE = ? AND ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ls_sitecode);
pstmt.setString(2, ls_itemcode);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_aprvrole = checkNullAndTrim(rs.getString("ROLE_CODE__INDAPRV"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(ls_aprvrole.length() == 0)
{
sql = "SELECT ROLE_CODE__INDAPRV FROM ITEM WHERE ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ls_itemcode);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_aprvrole = checkNullAndTrim(rs.getString("ROLE_CODE__INDAPRV"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
}
else if("QC".equalsIgnoreCase(val))
{
sql = "SELECT ROLE_CODE__QCAPRV FROM SITEITEM WHERE SITE_CODE = ? AND ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ls_sitecode);
pstmt.setString(2, ls_itemcode);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_aprvrole = checkNullAndTrim(rs.getString("ROLE_CODE__QCAPRV"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(ls_aprvrole.length() == 0)
{
sql = "SELECT ROLE_CODE__QCAPRV FROM ITEM WHERE ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ls_itemcode);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_aprvrole = checkNullAndTrim(rs.getString("ROLE_CODE__QCAPRV"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
}
if(ls_aprvrole.length() == 0)
{
sql = "SELECT COUNT(*) FROM WF_ROLE_USERS WHERE ROLE_CODE = ? AND USERID = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ls_aprvrole);
pstmt.setString(2, userId);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cnt == 0)
{
ls_errcode = "VTNOAPRRHT";
// ls_errcode = 'VTNOAPRRHT~t'+'No valid role exist for role code: '+ls_aprvrole+' for userID: '+as_userid
}
}
else
{
ls_errcode = "VTNOAPRRHT";
//ls_errcode = 'VTNOAPRRHT~t'+'Not Authorised For Approval or Indent Approver is null'
}
}
}
catch(Exception e)
{
System.out.println("Exception in roleUser ============>> "+e);
}
finally
{
try
{
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
}
System.out.println("return error code =========>> "+ls_errcode);
return ls_errcode;
}
public String approveIndent(String tranId, String val, String userId, String xtraParams, Connection conn) throws Exception
{
System.out.println("----------- Inside approveIndent ----------------");
PreparedStatement pstmt = null, pstmt1 = null;
ResultSet rs = null, rs1 = null;
String sql = "", sql1 = "", ls_errcode = "", ecode = "", ls_task_code = "", ls_item_code = "", ls_proj_code = "", ls_indtype = "",
ls_specific_instr = "", ls_act_code = "", ls_fl_id = "", ls_conf_unit = "", ls_ind_type = "", ls_type_allow_projbudgt_list = "",
ls_old_indno = "", currDate = "";
int cnt = 0, lc_ind_qty = 0, lc_porder_qty = 0, lc_indent_qty = 0, lc_total_qty = 0, lc_proj_est_qty = 0;
double mrate = 0.0, mmax_rate = 0.0, lc_tot_poamt = 0.0, lc_po_amt1 = 0.0, lc_porcp_amt = 0.0, lc_pret_amt = 0.0, lc_tot_poamt11 = 0.0,
lc_po_amt12 = 0.0, lc_porcp_amt11 = 0.0, lc_pret_amt11 = 0.0, lc_tot_amt_proj = 0.0, lc_tot_amt = 0.0, lc_ind_amount = 0.0,
lc_approxcost = 0.0, lc_exceed_amt = 0.0;
boolean lb_ord_flag = false;
try
{
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
currDate = sdf.format(new java.util.Date());
sql = "SELECT EMP_CODE FROM USERS WHERE CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, userId);
rs = pstmt.executeQuery();
if(rs.next())
{
ecode = checkNullAndTrim(rs.getString("EMP_CODE"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
sql = "SELECT TASK_CODE, ITEM_CODE, QUANTITY, PROJ_CODE, IND_TYPE, SPECIFIC_INSTR FROM INDENT WHERE IND_NO = ? AND STATUS = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
pstmt.setString(2, "U");
rs = pstmt.executeQuery();
if(rs.next())
{
ls_task_code = checkNullAndTrim(rs.getString("TASK_CODE"));
ls_item_code = checkNullAndTrim(rs.getString("ITEM_CODE"));
lc_ind_qty = rs.getInt("QUANTITY");
ls_proj_code = checkNullAndTrim(rs.getString("PROJ_CODE"));
ls_indtype = checkNullAndTrim(rs.getString("IND_TYPE"));
ls_specific_instr = checkNullAndTrim(rs.getString("SPECIFIC_INSTR"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(ls_task_code.length() > 0)
{
sql = "SELECT SUM(B.QUANTITY) FROM PORDER A ,PORDDET B WHERE A.PURC_ORDER = B.PURC_ORDER AND A.CONFIRMED = ? AND A.TASK_CODE = ? "
+" AND B.ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Y");
pstmt.setString(2, ls_task_code);
pstmt.setString(3, ls_item_code);
rs = pstmt.executeQuery();
if(rs.next())
{
lc_porder_qty = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
sql = "SELECT SUM(QUANTITY) FROM INDENT WHERE TASK_CODE = ? AND STATUS = ? AND ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ls_task_code);
pstmt.setString(2, "A");
pstmt.setString(3, ls_item_code);
rs = pstmt.executeQuery();
if(rs.next())
{
lc_indent_qty = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
lc_total_qty= lc_indent_qty + lc_porder_qty + lc_ind_qty;
sql = "SELECT SUM(QUANTITY) FROM PROJ_EST_BSL_ITEM WHERE TASK_CODE = ? AND ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ls_task_code);
pstmt.setString(2, ls_item_code);
rs = pstmt.executeQuery();
if(rs.next())
{
lc_proj_est_qty = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(lc_total_qty > lc_proj_est_qty)
{
ls_errcode = "VTTASK2";
}
int i = 0;
while(ls_specific_instr.length() > 0)
{
i++;
String[] ls_token = ls_specific_instr.split(":");
for(int j = 0; j < ls_token.length; j++)
{
System.out.println("ls_token-------->>"+ls_token[j]);
}
if(i == 1)
{
ls_act_code = ls_token[0];
}
if(i == 2)
{
ls_fl_id = ls_token[1];
}
if(i == 3)
{
ls_conf_unit = ls_token[2];
}
}
sql = "UPDATE PROJ_EST_BSL_ITEM SET IND_NO = ? WHERE TASK_CODE = ? AND ITEM_CODE = ? AND ACTIVITY_CODE = ? AND FLOOR_ID = ? " +
"AND CONFIG_UNIT = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
pstmt.setString(2, ls_task_code);
pstmt.setString(3, ls_item_code);
pstmt.setString(4, ls_act_code);
pstmt.setString(5, ls_fl_id);
pstmt.setString(6, ls_conf_unit);
pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if("S".equalsIgnoreCase(ls_indtype))
{
sql = "UPDATE PROJ_ACT_MILESTONE SET IND_NO = ? WHERE TASK_CODE_S = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
pstmt.setString(2, ls_task_code);
pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
else
{
sql = "UPDATE PROJ_ACT_MILESTONE SET IND_NO = ? WHERE TASK_CODE_S = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
pstmt.setString(2, ls_task_code);
pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
}
if(ls_errcode.length() == 0)
{
sql = "SELECT IND_TYPE, PROJ_CODE, PURC_RATE, MAX_RATE FROM INDENT WHERE IND_NO = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_ind_type = checkNullAndTrim(rs.getString("IND_TYPE"));
ls_proj_code = checkNullAndTrim(rs.getString("PROJ_CODE"));
mrate = rs.getDouble("PURC_RATE");
mmax_rate = rs.getDouble("MAX_RATE");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
ls_type_allow_projbudgt_list = checkNullAndTrim(discommon.getDisparams("999999", "TYPE_ALLOW_PROJBUDGET", conn));
System.out.println("ls_type_allow_projbudgt_list -------------->> "+ls_type_allow_projbudgt_list);
if(ls_type_allow_projbudgt_list.length() == 0 || "NULLFOUND".equalsIgnoreCase(ls_type_allow_projbudgt_list))
{
ls_type_allow_projbudgt_list = "";
}
lb_ord_flag = false;
if(ls_type_allow_projbudgt_list.length() > 0)
{
String [] ls_type_allow_projbudgt = ls_type_allow_projbudgt_list.split(",");
for(int i = 0; i < ls_type_allow_projbudgt.length; i++)
{
if(ls_ind_type.equalsIgnoreCase(ls_type_allow_projbudgt[i]))
{
lb_ord_flag = true;
}
}
}
}
if(lb_ord_flag == true)
{
sql = "SELECT APPROX_COST FROM PROJECT WHERE PROJ_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ls_proj_code);
rs = pstmt.executeQuery();
if(rs.next())
{
lc_approxcost = rs.getDouble("APPROX_COST");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
sql = "SELECT SUM((CASE WHEN QUANTITY IS NULL THEN 0 ELSE QUANTITY END) * (CASE WHEN MAX_RATE IS NULL THEN 0 ELSE MAX_RATE END)) " +
"AS QUANTITY FROM INDENT WHERE PROJ_CODE = ? AND STATUS IN ('A' ,'O') ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ls_proj_code);
rs = pstmt.executeQuery();
if(rs.next())
{
lc_ind_amount = rs.getDouble("QUANTITY");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
sql1 = "SELECT IND_NO FROM INDENT WHERE PROJ_CODE = ? AND STATUS IN ('L','C') AND ORD_QTY <> 0 ";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, ls_proj_code);
rs1 = pstmt1.executeQuery();
while(rs1.next())
{
ls_old_indno = checkNullAndTrim(rs1.getString("IND_NO"));
sql = "SELECT SUM(A.TOT_AMT * B.EXCH_RATE) FROM PORDDET A, PORDER B WHERE ( A.PURC_ORDER = B.PURC_ORDER ) AND B.CONFIRMED = ? "
+ "AND A.PROJ_CODE = ? AND A.IND_NO = ? AND B.STATUS <> ? AND A.STATUS <> ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Y");
pstmt.setString(2, ls_proj_code);
pstmt.setString(3, ls_old_indno);
pstmt.setString(4, "X");
pstmt.setString(5, "C");
rs = pstmt.executeQuery();
if(rs.next())
{
lc_po_amt1 = rs.getDouble(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
sql = "SELECT SUM(A.NET_AMT * B.EXCH_RATE ) FROM PORCPDET A, PORCP B, PORDDET C WHERE (A.PURC_ORDER = C.PURC_ORDER) AND " +
" (A.TRAN_ID = B.TRAN_ID ) AND A.LINE_NO__ORD = C.LINE_NO AND B.CONFIRMED = ? AND C.PROJ_CODE = ? AND C.IND_NO = ? AND " +
" B.STATUS <> ? AND C.STATUS = ? AND B.TRAN_SER = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Y");
pstmt.setString(2, ls_proj_code);
pstmt.setString(3, ls_old_indno);
pstmt.setString(4, "X");
pstmt.setString(5, "C");
pstmt.setString(6, "P-RCP");
rs = pstmt.executeQuery();
if(rs.next())
{
lc_porcp_amt = rs.getDouble(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
sql = "SELECT SUM(A.NET_AMT * B.EXCH_RATE ) FROM PORCPDET A, PORCP B ,PORDDET C WHERE ( A.PURC_ORDER = C.PURC_ORDER ) AND "
+ " (A.TRAN_ID = B.TRAN_ID ) AND A.LINE_NO__ORD = C.LINE_NO AND B.CONFIRMED = ? AND C.PROJ_CODE = ? AND C.IND_NO = ? AND "
+ " B.STATUS <> ? AND C.STATUS = ? AND B.TRAN_SER = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Y");
pstmt.setString(2, ls_proj_code);
pstmt.setString(3, ls_old_indno);
pstmt.setString(4, "X");
pstmt.setString(5, "C");
pstmt.setString(6, "P-RET");
rs = pstmt.executeQuery();
if(rs.next())
{
lc_pret_amt = rs.getDouble(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
lc_tot_poamt = lc_tot_poamt + lc_po_amt1 + lc_porcp_amt -lc_pret_amt;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
lc_tot_poamt11 = lc_tot_poamt;
sql = "SELECT SUM(A.TOT_AMT * B.EXCH_RATE) FROM PORDDET A, PORDER B WHERE ( A.PURC_ORDER = B.PURC_ORDER ) AND B.CONFIRMED = ? AND " +
" A.PROJ_CODE = ? AND A.IND_NO IS NULL AND B.STATUS <> ? AND A.STATUS <> ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Y");
pstmt.setString(2, ls_proj_code);
pstmt.setString(3, "X");
pstmt.setString(4, "C");
rs = pstmt.executeQuery();
if(rs.next())
{
lc_po_amt12 = rs.getDouble(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
sql = "SELECT SUM(A.NET_AMT * B.EXCH_RATE ) FROM PORCPDET A, PORCP B, PORDDET C WHERE ( A.PURC_ORDER = C.PURC_ORDER ) AND " +
" (A.TRAN_ID = B.TRAN_ID ) AND A.LINE_NO__ORD = C.LINE_NO AND B.CONFIRMED = ? AND C.PROJ_CODE = ? AND C.IND_NO IS NULL AND " +
" B.STATUS <> ? AND C.STATUS = ? AND B.TRAN_SER = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Y");
pstmt.setString(2, ls_proj_code);
pstmt.setString(3, "X");
pstmt.setString(4, "C");
pstmt.setString(5, "P-RCP");
rs = pstmt.executeQuery();
if(rs.next())
{
lc_porcp_amt11 = rs.getDouble(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
sql = "SELECT SUM(A.NET_AMT * B.EXCH_RATE ) FROM PORCPDET A, PORCP B ,PORDDET C WHERE ( A.PURC_ORDER = C.PURC_ORDER ) AND " +
" (A.TRAN_ID = B.TRAN_ID ) AND A.LINE_NO__ORD = C.LINE_NO AND B.CONFIRMED = ? AND C.PROJ_CODE = ? AND C.IND_NO IS NULL AND " +
" B.STATUS <> ? AND C.STATUS = ? AND B.TRAN_SER = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Y");
pstmt.setString(2, ls_proj_code);
pstmt.setString(3, "X");
pstmt.setString(4, "C");
pstmt.setString(5, "P-RET");
rs = pstmt.executeQuery();
if(rs.next())
{
lc_pret_amt11 = rs.getDouble(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
lc_tot_poamt = lc_tot_poamt11 + lc_po_amt12 + lc_porcp_amt11 -lc_pret_amt11;
lc_ind_amount = lc_ind_amount + lc_tot_poamt;
sql = "SELECT SUM((CASE WHEN QUANTITY IS NULL THEN 0 ELSE QUANTITY END) * (CASE WHEN MAX_RATE IS NULL THEN 0 ELSE MAX_RATE END)) " +
" FROM INDENT WHERE PROJ_CODE = ? AND IND_NO = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ls_proj_code);
pstmt.setString(2, tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
lc_tot_amt = rs.getDouble(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
lc_tot_amt_proj = lc_ind_amount + lc_tot_amt;
lc_exceed_amt = lc_tot_amt_proj - lc_approxcost;
if(lc_tot_amt_proj > lc_approxcost)
{
ls_errcode = "VTPROJCNF";
//ls_errcode = 'VTPROJCNF~t' + '~r~n' + ' Amount Exceeded Project Code: ' + ls_proj_code + '~r~n' + ' Project Approved Amount: ' + string(lc_approxcost) + '~r~n' + ' Consumed Amount: ' + string(lc_ind_amount) + '~r~n' + ' Current Indent Amount : ' + string(lc_tot_amt) + '~r~n' + ' Exceeded Amount: ' + string(lc_exceed_amt)
}
}
java.sql.Date currentDate = new java.sql.Date(new java.util.Date().getTime());
sql = "UPDATE INDENT SET STATUS = ?, STATUS_DATE = ?, EMP_CODE__APRV = ?, APR_DATE = ? WHERE INDENT.IND_NO = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "A");
pstmt.setDate(2, currentDate);
pstmt.setString(3, ecode);
pstmt.setDate(4, currentDate);
pstmt.setString(5, tranId);
cnt = pstmt.executeUpdate();
if(cnt > 0)
{
String ediOption = "";
String dataStr = "";
sql = "SELECT EDI_OPTION FROM TRANSETUP WHERE TRAN_WINDOW = 'w_indent' ";
pstmt1 = conn.prepareStatement(sql);
rs1 = pstmt1.executeQuery();
if ( rs1.next() )
{
ediOption = rs1.getString("EDI_OPTION");
if(ediOption == null)
{
ediOption = "";
}
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if ( "1".equals(ediOption.trim()) )
{
CreateRCPXML createRCPXML = new CreateRCPXML("w_indent","tran_id");
dataStr = createRCPXML.getTranXML( tranId, conn );
System.out.println( "dataStr =[ "+ dataStr + "]" );
Document ediDataDom = genericUtility.parseString(dataStr);
E12CreateBatchLoadEjb e12CreateBatchLoad = new E12CreateBatchLoadEjb();
String retString = e12CreateBatchLoad.createBatchLoad(ediDataDom, "w_indent", "0", xtraParams, conn);
createRCPXML = null;
e12CreateBatchLoad = null;
if( retString != null && "SUCCESS".equals(retString) )
{
System.out.println("retString from batchload = ["+retString+"]");
}
}
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
System.out.println("Exception in approveIndent ============>> "+e);
}
finally
{
try
{
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
}
System.out.println("return error code =========>> "+ls_errcode);
return ls_errcode;
}
}
/**
* PURPOSE : Local Interface for IndentConf component
* AUTHOR : Sneha Mestry
* DATE : 04-01-2017
*/
package ibase.webitm.ejb.dis;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import org.w3c.dom.*;
import javax.ejb.*;
@javax.ejb.Local
public interface IndentConfLocal extends ActionHandlerLocal
{
public String confirm(String tranID,String xtraParams, String forcedFlag) throws RemoteException,ITMException;
public String confirm( String tranId, String xtraParams, String forcedFlag, Connection conn) throws RemoteException,ITMException;
//public String postSave()throws RemoteException,ITMException;
//public String postSave( String domString, String tranId, String editFlag, String xtraParams, Connection conn ) throws RemoteException,ITMException;
}
/**
* PURPOSE : Remote Interface for IndentConf component
* AUTHOR : Sneha Mestry
* DATE : 04-01-2017
*/
package ibase.webitm.ejb.dis;
import ibase.webitm.ejb.ActionHandlerRemote;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
@javax.ejb.Remote
public interface IndentConfRemote extends ActionHandlerRemote
{
public String confirm(String tranID,String xtraParams, String forcedFlag) throws RemoteException,ITMException;
public String confirm( String tranId, String xtraParams, String forcedFlag, Connection conn) throws RemoteException,ITMException;
//public String postSave()throws RemoteException,ITMException;
//public String postSave( String domString, String tranId, String editFlag, String xtraParams, Connection conn ) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.dis;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.sys.SysCommon;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import javax.ejb.Stateless;
import javax.swing.text.html.parser.ParserDelegator;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@javax.ejb.Stateless
public class IndentIC extends ValidatorEJB implements IndentICLocal, IndentICRemote
{
E12GenericUtility genericUtility = new E12GenericUtility();
DistCommon discommon = new DistCommon();
FinCommon finCommon = new FinCommon();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
SysCommon sysCommon = new SysCommon();
@Override
public String wfValData() throws RemoteException, ITMException
{
return "";
}
/**
* The public method is used for converting the current form data into a document(DOM)
* The dom is then given as argument to the overloaded function wfValData to perform validation
* Returns validation string if exists else returns null in XML format
* @param xmlString contains the current form data in XML format
* @param xmlString1 contains all the header information in the XML format
* @param xmlString2 contains the data of all the forms in XML format
* @param objContext represents the form number
* @param editFlag represents the mode of transaction(A-Add or E-Edit)
* @param xtraParams contains additional information such as loginEmpCode,loginCode,chgTerm etc
*/
@Override
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
{
System.out.println( "xmlString inside wfValData :::::::" + xmlString);
System.out.println( "xmlString1 inside wfValData :::::::" + xmlString1);
System.out.println( "xmlString2 inside wfValData :::::::" + xmlString2);
if(xmlString != null && xmlString.trim().length()!=0)
{
dom = genericUtility.parseString(xmlString);
}
if(xmlString1 != null && xmlString1.trim().length()!=0)
{
dom1 = genericUtility.parseString(xmlString1);
}
if(xmlString2 != null && xmlString2.trim().length()!=0)
{
dom2 = genericUtility.parseString(xmlString2);
}
errString = wfValData( dom, dom1, dom2, objContext, editFlag, xtraParams);
System.out.println( "ErrString: " + errString);
}
catch(Exception e)
{
errString = genericUtility.createErrorString(e);
e.printStackTrace();
throw new ITMException(e);
}
return (errString);
}
/**
* The public overloaded method takes a document as input and is used for the validation of required fields
* Returns validation string if exist otherwise returns null in XML format
* @param currFormDataDom contains the current form data as a document object model
* @param hdrDataDom contains all the header information
* @param allFormDataDom contains the field data of all the forms
* @param objContext represents form number
* @param editFlag represents the mode of transaction(A-Add or E-Edit)
* @param xtraParams contains additional information such as loginEmpCode,loginCode,chgTerm etc
*/
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams)
{
System.out.println("wfValData inside ----->>");
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
Connection conn = null;
E12GenericUtility genericUtility;
String errString = "", userId = "", sql = "";
int count = 0;
PreparedStatement pstmt = null;
ResultSet rs = null;
String mdate1 = "", mval = "", ls_site_code__budgets = "", ls_budget = "", ls_stop_busi = "", mval1 = "", mdate2 = "", lc_conv = "",
ls_itemcode = "", mqty = "", mqty1 = "", ls_task_code = "", loginSite = "";
int lc_porder_qty = 0, lc_indent_qty = 0, lc_total_qty = 0, lc_proj_est_qty = 0;
StringBuffer errStringXml = new StringBuffer("<?xml version=\"1.0\"?>\r\n<Root><Errors>");
try
{
int currentFormNo = 0, childNodeListLength = 0, ctr = 0, cnt = 0;
String childNodeName = "", errorType = "", errCode = "";
ArrayList<String> errList = new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
conn = getConnection();
genericUtility = new E12GenericUtility();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
loginSite = checkNull(genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginSiteCode" ));
System.out.println("xtraParam----->>["+xtraParams+"]");
System.out.println("editFlag ------------>>["+editFlag+"]");
if (objContext != null && objContext.trim().length() > 0)
{
currentFormNo = Integer.parseInt(objContext);
}
switch (currentFormNo)
{
case 1:
System.out.println("------in detail1 validation----------------");
System.out.println("DOM in case 1 wfValData ---->>["+genericUtility.serializeDom(dom).toString()+"]");
System.out.println("DOM1 in case 1 wfValData ----->>["+genericUtility.serializeDom(dom1).toString()+"]");
System.out.println("DOM2 in case 1 wfValData ----->>["+genericUtility.serializeDom(dom2).toString()+"]");
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();
System.out.println("childNodeName ------->>["+childNodeName+"]");
if("ind_date".equalsIgnoreCase(childNodeName))
{
System.out.println("----------- Inside ind_date wfValData -------------- ");
mdate1 = checkNullAndTrim(genericUtility.getColumnValue("ind_date", dom));
mval = checkNullAndTrim(genericUtility.getColumnValue("site_code", dom));
java.sql.Timestamp indDate = Timestamp.valueOf(genericUtility.getValidDateString( mdate1, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");//getDateInAppFormat( mdateStr );
errCode = SysCommon.nfCheckPeriod( "PUR", indDate, mval, conn );
System.out.println("----------- Inside ind_date errCode -------------- "+errCode);
if(errCode.length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
if("site_code".equalsIgnoreCase(childNodeName) || "site_code__dlv".equalsIgnoreCase(childNodeName) ||
"site_code__acct".equalsIgnoreCase(childNodeName) || "site_code__bil".equalsIgnoreCase(childNodeName) ||
"site_code__des".equalsIgnoreCase(childNodeName))
{
System.out.println("----------- Inside site-code wfValData -------------- ");
mval = checkNullAndTrim(genericUtility.getColumnValue(childNodeName, dom));
cnt = getCount("SITE", "SITE_CODE", mval, conn);
if(cnt == 0)
{
errCode = "VMSITE1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
if(cnt > 0)
{
mval = checkNullAndTrim(genericUtility.getColumnValue("site_code__acct", dom));
if(mval.length() > 0)
{
sql = "SELECT SITE_CODE__BUDGET FROM SITE WHERE SITE_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_site_code__budgets = checkNullAndTrim(rs.getString("SITE_CODE__BUDGET"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(ls_site_code__budgets.length() > 0)
{
sql = "SELECT BUDGET_ID FROM SITE WHERE SITE_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ls_site_code__budgets);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_budget = checkNullAndTrim(rs.getString("BUDGET_ID"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(ls_budget.length() == 0)
{
errCode = "VTBUSITEAC";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
}
}
if("dept_code".equalsIgnoreCase(childNodeName))
{
mval = checkNullAndTrim(genericUtility.getColumnValue("dept_code", dom));
cnt = getCount("DEPARTMENT", "DEPT_CODE", mval, conn);
if(cnt == 0)
{
errCode = "VTDEPT1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
if("item_code__mfg".equalsIgnoreCase(childNodeName))
{
cnt = 0;
mval = checkNullAndTrim(genericUtility.getColumnValue("item_code__mfg", dom));
cnt = getCount("ITEM", "ITEM_CODE", mval, conn);
if(cnt == 0)
{
errCode = "VMITEM1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
if("item_code".equalsIgnoreCase(childNodeName))
{
System.out.println("----------- Inside item_code -------------- ");
mval = checkNullAndTrim(genericUtility.getColumnValue("item_code", dom));
mval1 = checkNullAndTrim(genericUtility.getColumnValue("site_code", dom));
sql = "SELECT (CASE WHEN STOP_BUSINESS IS NULL THEN 'N' ELSE STOP_BUSINESS END) AS STOP_BUSINESS FROM ITEM WHERE ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval);
rs = pstmt.executeQuery();
if(rs.next())
{
ls_stop_busi = checkNullAndTrim(rs.getString("STOP_BUSINESS"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if("N".equalsIgnoreCase(ls_stop_busi))
{
errCode = itmDBAccessEJB.isItem(mval1, mval, "", conn);
if(errCode.length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
else
{
errCode = "VTIIC";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
if("unit__ind".equalsIgnoreCase(childNodeName))
{
System.out.println("----------- Inside unit -------------- ");
mval = checkNullAndTrim(genericUtility.getColumnValue("unit__ind", dom));
mval1 = checkNullAndTrim(genericUtility.getColumnValue("unit__std", dom));
sql = "SELECT COUNT(*) FROM UOM WHERE UNIT = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cnt == 0)
{
errCode = "VTUNIT1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
System.out.println("----------- Inside unit__ind errCode -------------- "+errCode);
}
else if(!mval.trim().equalsIgnoreCase(mval1.trim()))
{
sql = "SELECT COUNT(*) FROM UOMCONV WHERE UNIT__FR = ? AND UNIT__TO = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval);
pstmt.setString(2, mval1);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cnt == 0)
{
sql = "SELECT COUNT(*) FROM UOMCONV WHERE UNIT__FR = ? AND UNIT__TO = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval1);
pstmt.setString(2, mval);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cnt == 0)
{
errCode = "VTUNIT3";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
System.out.println("----------- Inside unit__ind errCode 1111111 -------------- "+errCode);
}
}
}
}
if("req_date".equalsIgnoreCase(childNodeName))
{
System.out.println("----------- Inside req_date -------------- ");
mdate1 = checkNullAndTrim(genericUtility.getColumnValue("req_date", dom));
mdate2 = checkNullAndTrim(genericUtility.getColumnValue("ind_date", dom1));
mdate1 = (mdate1 == null || mdate1.length() == 0) ? "" : mdate1;
mdate2 = (mdate2 == null || mdate2.length() == 0) ? "" : mdate2;
if(mdate1.trim().length() > 0 && mdate2.length() > 0)
{
Date req_date = sdf.parse(mdate1);
Date ind_date = sdf.parse(mdate2);
if(req_date.before(ind_date))
{
errCode = "VLINDENT1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
System.out.println("----------- Inside req_date errCode 1111111 -------------- "+errCode);
}
}
}
if("proj_code".equalsIgnoreCase(childNodeName))
{
mval = checkNullAndTrim(genericUtility.getColumnValue("proj_code", dom));
System.out.println("----------- Inside proj_code -------------- " + mval);
if(mval.length() > 0)
{
sql = "SELECT PROJ_STATUS FROM PROJECT WHERE PROJ_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval);
rs = pstmt.executeQuery();
if(rs.next())
{
mval1 = checkNullAndTrim(rs.getString("PROJ_STATUS"));
}
else
{
errCode = "PROJ1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
System.out.println("----------- Inside proj_code errCode 1111111 -------------- "+errCode);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if("C".equalsIgnoreCase(mval1) && "A".equalsIgnoreCase(editFlag))
{
errCode = "PROJ2";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
System.out.println("----------- Inside proj_code errCode 222222222 -------------- "+errCode);
}
}
}
if("work_order".equalsIgnoreCase(childNodeName))
{
mval = checkNullAndTrim(genericUtility.getColumnValue("work_order", dom));
System.out.println("----------- Inside work_order -------------- " + mval);
if(mval.length() > 0)
{
sql = "SELECT STATUS FROM WORKORDER WHERE WORK_ORDER = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval);
rs = pstmt.executeQuery();
if(rs.next())
{
mval1 = checkNullAndTrim(rs.getString("STATUS"));
}
else
{
errCode = "VTWORDER1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
System.out.println("----------- Inside work_order errCode 1111111 -------------- "+errCode);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if("C".equalsIgnoreCase(mval1) && "A".equalsIgnoreCase(editFlag))
{
errCode = "VTWORDER2";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
System.out.println("----------- Inside work_order errCode 222222222 -------------- "+errCode);
}
}
}
if("acct_code".equalsIgnoreCase(childNodeName))
{
System.out.println("----------- Inside acct_code -------------- ");
mval = checkNullAndTrim(genericUtility.getColumnValue("acct_code", dom));
mval1 = checkNullAndTrim(genericUtility.getColumnValue("site_code", dom));
errCode = finCommon.isAcctCode(mval1, mval, "" , conn);
if(errCode.length() > 0)
{
System.out.println("----------- ErrCode inside acct_code ---------------"+errCode);
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
if("cctr_code".equalsIgnoreCase(childNodeName))
{
System.out.println("----------- Inside cctr_code -------------- ");
mval = checkNullAndTrim(genericUtility.getColumnValue("cctr_code", dom));
mval1 = checkNullAndTrim(genericUtility.getColumnValue("acct_code", dom));
errCode = finCommon.isCctrCode(mval1, mval, "", conn);
System.out.println("----------- ErrCode inside cctr_code ---------------"+errCode);
if(errCode.length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
if("anal_code".equalsIgnoreCase(childNodeName))
{/*
System.out.println("----------- Inside anal_code -------------- ");
mval = checkNullAndTrim(genericUtility.getColumnValue("anal_code", dom));
mval1 = checkNullAndTrim(genericUtility.getColumnValue("acct_code", dom));
if(mval.length() > 0)
{
errCode = finCommon.isAnalysis(mval1, mval, "", conn);
if(errCode.length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
*/}
if("emp_code__iapr".equalsIgnoreCase(childNodeName))
{
System.out.println("----------- Inside emp_code_iapr -------------- ");
mval = checkNullAndTrim(genericUtility.getColumnValue("emp_code__iapr", dom));
if(mval.length() == 0)
{
errCode = "VMEMP1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
mval1 = checkNullAndTrim(genericUtility.getColumnValue("site_code", dom));
errCode = getEmployeeResig(mval, mval1, conn);
System.out.println("----------- ErrCode inside emp_code__iapr ---------------"+errCode);
if(errCode.length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
if("emp_code__pur".equalsIgnoreCase(childNodeName))
{
System.out.println("----------- Inside emp_code__pur -------------- ");
mval = checkNullAndTrim(genericUtility.getColumnValue("emp_code__pur", dom));
if(mval.length() == 0)
{
errCode = "VMEMP2";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
mval1 = checkNullAndTrim(genericUtility.getColumnValue("site_code", dom));
errCode = getEmployeeResig(mval, mval1, conn);
System.out.println("----------- ErrCode inside emp_code__pur ---------------"+errCode);
if(errCode.length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
if("conv__qty_stduom".equalsIgnoreCase(childNodeName))
{
System.out.println("----------- Inside conv__qty_stduom -------------- ");
lc_conv = checkNullAndTrim(genericUtility.getColumnValue("conv__qty_stduom", dom));
mval = checkNullAndTrim(genericUtility.getColumnValue("unit__ind", dom));
mval1 = checkNullAndTrim(genericUtility.getColumnValue("unit__std", dom));
if(mval.equalsIgnoreCase(mval1) && !"1".equalsIgnoreCase(lc_conv))
{
errCode = "VTUCON1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else if(!mval.equalsIgnoreCase(mval1))
{
ls_itemcode = checkNullAndTrim(genericUtility.getColumnValue("item_code", dom));
//double conQty = discommon.convQtyFactor(mval, mval1, ls_itemcode, Double.parseDouble(lc_conv), conn);
//errcode = gf_check_conv_fact(ls_itemcode, mval, mval1, lc_conv)
}
}
if("max_rate".equalsIgnoreCase(childNodeName))
{
System.out.println("----------- Inside max_rate -------------- ");
mqty = checkNullAndTrim(genericUtility.getColumnValue("max_rate", dom));
mqty1 = checkNullAndTrim(genericUtility.getColumnValue("purc_rate", dom));
mqty = (mqty.length() == 0) ? "0" : mqty;
mqty1 = (mqty1.length() == 0) ? "0" : mqty1;
if(Integer.parseInt(mqty) == 0)
{
if(Integer.parseInt(mqty) < Integer.parseInt(mqty1))
{
errCode = "VTMAXRATE";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
if("quantity".equalsIgnoreCase(childNodeName))
{
System.out.println("----------- Inside quantity -------------- ");
mqty = checkNullAndTrim(genericUtility.getColumnValue("quantity", dom));
ls_task_code = checkNullAndTrim(genericUtility.getColumnValue("task_code", dom));
System.out.println(" ls_task_code ---------->>"+ls_task_code);
if(ls_task_code.length() > 0 )
{
ls_itemcode = checkNullAndTrim(genericUtility.getColumnValue("item_code", dom));
sql = "SELECT SUM(B.QUANTITY) AS QTY FROM PORDER A , PORDDET B WHERE A.PURC_ORDER = B.PURC_ORDER AND A.CONFIRMED = ? " +
"AND A.TASK_CODE = ? AND B.ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Y");
pstmt.setString(2, ls_task_code);
pstmt.setString(3, ls_itemcode);
rs = pstmt.executeQuery();
if(rs.next())
{
lc_porder_qty = rs.getInt("QTY");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
sql = "SELECT SUM(QUANTITY) AS QTY FROM INDENT WHERE TASK_CODE = ? AND STATUS = ? AND ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ls_task_code);
pstmt.setString(2, "A");
pstmt.setString(3, ls_itemcode);
rs = pstmt.executeQuery();
if(rs.next())
{
lc_indent_qty = rs.getInt("QTY");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
mqty = (mqty.length() == 0) ? "0" : mqty;
lc_total_qty= lc_indent_qty + lc_porder_qty + Integer.parseInt(mqty);
sql = "SELECT SUM(QUANTITY) AS QTY FROM PROJ_EST_BSL_ITEM WHERE TASK_CODE = ? AND ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ls_task_code);
pstmt.setString(2, ls_itemcode);
rs = pstmt.executeQuery();
if(rs.next())
{
lc_proj_est_qty = rs.getInt("QTY");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(lc_total_qty > lc_proj_est_qty)
{
errCode = "VTTASK2";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
}
break;
}//End of switch statement
int errListSize = errList.size();
cnt = 0;
String errFldName = null;
if ( errList != null && errListSize > 0 )
{
for (cnt = 0; cnt < errListSize; cnt++ )
{
errCode = errList.get(cnt);
errFldName = errFields.get(cnt);
System.out.println("errCode .........." + errCode);
errString = itmDBAccessEJB.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+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();
}
catch ( Exception e )
{
System.out.println ( "Exception: IndentIC: wfValData( Document currFormDataDom ): " + e.getMessage() + ":" );
}
finally
{
try
{
if (conn != null)
{
conn.close();
conn = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
catch(Exception e)
{
System.out.println( "Exception : IndentIC:wfValData : " + e.getMessage() );
}
}
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");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
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;
}
@Override
public String itemChanged() throws RemoteException, ITMException
{
return "";
}
@Override
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException
{
Document currFormDataDom = null;
Document hdrDataDom = null;
Document allFormDataDom = null;
String errString = null;
E12GenericUtility genericUtility = new E12GenericUtility();
System.out.println("xmlString ["+xmlString+"]");
System.out.println("xmlString1 ["+xmlString1+"]");
System.out.println("xmlString2 ["+xmlString2+"]");
try
{
if (xmlString != null && xmlString.trim().length()!=0)
{
currFormDataDom = genericUtility.parseString(xmlString);
}
if (xmlString1 != null && xmlString1.trim().length()!=0)
{
hdrDataDom = genericUtility.parseString(xmlString1);
}
if (xmlString2 != null && xmlString2.trim().length()!=0)
{
allFormDataDom = genericUtility.parseString(xmlString2);
}
System.out.println ( "Calling itemChanged( currFormDataDom, hdrDataDom, allFormDataDom, objContext, currentColumn, editFlag, xtraParams )");
errString = itemChanged( currFormDataDom, hdrDataDom, allFormDataDom, objContext, currentColumn, editFlag, xtraParams );
System.out.println ( "ErrString :" + errString);
}
catch (Exception e)
{
System.out.println ( "Exception : IndentIC:itemChanged(String,String):" + e.getMessage() + ":" );
throw new ITMException(e);
}
System.out.println ( "returning from IndentIC: itemChanged \n[" + errString + "]" );
return errString;
}
@Override
public String itemChanged( Document currFormDataDom, Document hdrDataDom, Document allFormDataDom, String objContext, String currentColumn, String editFlag, String xtraParams ) throws RemoteException,ITMException
{
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
int currentFormNo = 0;
StringBuffer valueXmlString;
String sql = "", currDate = "", loginSite = "", loginEmpCode = "", ecode = "", efname = "", elname = "", deptcode = "", descr1 = "",
descr = "", mval = "", mval1 = "", mval2 = "", ls_anal = "", msite = "", ls_acct = "", ls_cctr = "", ls_dept = "", ld_prate = "",
ls_val3 = "", ls_budget_amt_anal = "", ls_consumed_amt_anal = "", itemunit = "", ls_unit_std = "", qtyStr = "", lc_conv1 = "";
double lc_conv = 0.0;
ArrayList qty = new ArrayList();
System.out.println("xtraParams=["+xtraParams+"]");
System.out.println("currentColumn inside itemChanged................. : ["+currentColumn+"]");
System.out.println("currentFormNo inside itemChanged................. : ["+currentFormNo+"]");
valueXmlString = new StringBuffer( "<?xml version=\"1.0\"?><Root><Header><editFlag>" );
valueXmlString.append( editFlag ).append( "</editFlag></Header>" );
try
{
conn = getConnection();
loginSite = checkNull(genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginSiteCode" ));
loginEmpCode = checkNull(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"));
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
currDate = sdf.format(new java.util.Date());
if( objContext != null && objContext.trim().length() > 0 )
{
currentFormNo = Integer.parseInt( objContext );
}
switch ( currentFormNo )
{
case 1:
{
System.out.println("hdrDataDom in itemchanged case 1------->>["+genericUtility.serializeDom(hdrDataDom)+"]");
System.out.println("currFormDataDom in itemchanged case1 ------>>["+genericUtility.serializeDom(currFormDataDom)+"]");
System.out.println("allFormDataDom in itemchanged case1 ------>>["+genericUtility.serializeDom(allFormDataDom)+"]");
valueXmlString.append( "<Detail1>\r\n" );
if( currentColumn.trim().equalsIgnoreCase( "itm_default" ) )
{
System.out.println("------- Inside itm_default -------------");
valueXmlString.append( "<ind_date><![CDATA[" ).append(currDate).append( "]]></ind_date>\r\n" );
valueXmlString.append( "<req_date><![CDATA[" ).append(currDate).append( "]]></req_date>\r\n" );
valueXmlString.append( "<site_code><![CDATA[" ).append(loginSite).append( "]]></site_code>\r\n" );
sql = "SELECT EMP_CODE, EMP_FNAME, EMP_LNAME, DEPT_CODE FROM EMPLOYEE WHERE EMP_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, loginEmpCode);
rs = pstmt.executeQuery();
if(rs.next())
{
ecode = checkNullAndTrim(rs.getString("EMP_CODE"));
efname = checkNullAndTrim(rs.getString("EMP_FNAME"));
elname = checkNullAndTrim(rs.getString("EMP_LNAME"));
deptcode = checkNullAndTrim(rs.getString("DEPT_CODE"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
valueXmlString.append( "<emp_code__req><![CDATA[" ).append(ecode).append( "]]></emp_code__req>\r\n" );
valueXmlString.append( "<employee_emp_fname><![CDATA[" ).append(efname).append( "]]></employee_emp_fname>\r\n" );
valueXmlString.append( "<employee_emp_lname><![CDATA[" ).append(elname).append( "]]></employee_emp_lname>\r\n" );
valueXmlString.append( "<dept_code><![CDATA[" ).append(deptcode).append( "]]></dept_code>\r\n" );
sql = "SELECT DESCR FROM SITE WHERE SITE_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, loginSite);
rs = pstmt.executeQuery();
if(rs.next())
{
descr1 = checkNullAndTrim(rs.getString("DESCR"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
valueXmlString.append( "<site_descr><![CDATA[" ).append(descr1).append( "]]></site_descr>\r\n" );
sql = "SELECT DESCR FROM DEPARTMENT WHERE DEPT_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, deptcode);
rs = pstmt.executeQuery();
if(rs.next())
{
descr1 = checkNullAndTrim(rs.getString("DESCR"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
valueXmlString.append( "<department_descr><![CDATA[" ).append(descr1).append( "]]></department_descr>\r\n" );
}
if( currentColumn.trim().equalsIgnoreCase( "site_code" ) )
{
mval = checkNullAndTrim(genericUtility.getColumnValue("site_code", currFormDataDom));
sql = "SELECT DESCR FROM SITE WHERE SITE_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval);
rs = pstmt.executeQuery();
if(rs.next())
{
descr1 = checkNullAndTrim(rs.getString("DESCR"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
valueXmlString.append( "<site_descr><![CDATA[" ).append(descr).append( "]]></site_descr>\r\n" );
}
if( currentColumn.trim().equalsIgnoreCase( "item_code__mfg" ) )
{
mval = checkNullAndTrim(genericUtility.getColumnValue("item_code__mfg", currFormDataDom));
sql = "SELECT DESCR FROM ITEM WHERE ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval);
rs = pstmt.executeQuery();
if(rs.next())
{
descr1 = checkNullAndTrim(rs.getString("DESCR"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
valueXmlString.append( "<itemmfg_desc><![CDATA[" ).append(descr).append( "]]></itemmfg_desc>\r\n" );
}
if( currentColumn.trim().equalsIgnoreCase("item_code")) // Field found non editable.
{
System.out.println("------- Inside item_code -------------");
mval = checkNullAndTrim(genericUtility.getColumnValue("item_code", currFormDataDom));
msite = checkNullAndTrim(genericUtility.getColumnValue("site_code", currFormDataDom));
ls_anal = checkNullAndTrim(genericUtility.getColumnValue("anal_code", currFormDataDom));
ls_acct = checkNullAndTrim(genericUtility.getColumnValue("acct_code", currFormDataDom));
ls_cctr = checkNullAndTrim(genericUtility.getColumnValue("cctr_code", currFormDataDom));
ls_dept = checkNullAndTrim(genericUtility.getColumnValue("dept_code", currFormDataDom));
sql = "SELECT DESCR, UNIT, PURC_RATE, SUPP_CODE__PREF FROM ITEM WHERE ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval);
rs = pstmt.executeQuery();
if(rs.next())
{
mval1 = checkNullAndTrim(rs.getString("DESCR"));
mval2 = checkNullAndTrim(rs.getString("UNIT"));
ld_prate = checkNullAndTrim(rs.getString("PURC_RATE"));
ls_val3 = checkNullAndTrim(rs.getString("SUPP_CODE__PREF"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
valueXmlString.append( "<item_descr><![CDATA[" ).append(mval1).append( "]]></item_descr>\r\n" );
valueXmlString.append( "<unit__ind><![CDATA[" ).append(mval2).append( "]]></unit__ind>\r\n" );
valueXmlString.append( "<purc_rate><![CDATA[" ).append(ld_prate).append( "]]></purc_rate>\r\n" );
valueXmlString.append( "<supp_code__pref><![CDATA[" ).append(ls_val3).append( "]]></supp_code__pref>\r\n" );
sql = " SELECT FN_GET_BUDGET_AMT(?,?,?,?,?,?,?) AS LS_BUDGET_AMT_ANAL, FN_GET_CONS_AMT(?,?,?,?,?,?,?) AS LS_CONSUMED_AMT_ANAL "
+ " FROM DUAL ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "R-IND");
pstmt.setString(2, msite);
pstmt.setString(3, ls_acct);
pstmt.setString(4, ls_cctr);
pstmt.setString(5, ls_anal);
pstmt.setString(6, ls_dept);
pstmt.setString(7, "A");
pstmt.setString(8, "R-IND");
pstmt.setString(9, msite);
pstmt.setString(10, ls_acct);
pstmt.setString(11, ls_cctr);
pstmt.setString(12, ls_anal);
pstmt.setString(13, ls_dept);
pstmt.setString(14, "A");
rs = pstmt.executeQuery();
if(rs.next())
{
ls_budget_amt_anal = checkNullAndTrim(rs.getString("LS_BUDGET_AMT_ANAL"));
ls_consumed_amt_anal = checkNullAndTrim(rs.getString("LS_CONSUMED_AMT_ANAL"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
double lc_budget_amt = Double.parseDouble(ls_budget_amt_anal) - Double.parseDouble(ls_consumed_amt_anal);
valueXmlString.append( "<budget_amt_anal><![CDATA[" ).append(ls_budget_amt_anal).append( "]]></budget_amt_anal>\r\n" );
valueXmlString.append( "<consumed_amt_anal><![CDATA[" ).append(ls_consumed_amt_anal).append( "]]></consumed_amt_anal>\r\n" );
valueXmlString.append( "<budget_amt><![CDATA[" ).append(lc_budget_amt).append( "]]></budget_amt>\r\n" );
}
if( currentColumn.trim().equalsIgnoreCase( "dept_code" ) )
{
mval = checkNullAndTrim(genericUtility.getColumnValue("dept_code", currFormDataDom));
sql = "SELECT DESCR FROM DEPARTMENT WHERE DEPT_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval);
rs = pstmt.executeQuery();
if(rs.next())
{
descr = checkNullAndTrim(rs.getString("DESCR"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
valueXmlString.append( "<department_descr><![CDATA[" ).append(descr).append( "]]></department_descr>\r\n" );
}
if( currentColumn.trim().equalsIgnoreCase( "emp_code__req" ) )
{
mval = checkNullAndTrim(genericUtility.getColumnValue("emp_code__req", currFormDataDom));
sql = "SELECT EMP_FNAME, EMP_LNAME FROM EMPLOYEE WHERE EMP_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval);
rs = pstmt.executeQuery();
if(rs.next())
{
mval1 = checkNullAndTrim(rs.getString("EMP_FNAME"));
mval2 = checkNullAndTrim(rs.getString("EMP_LNAME"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
valueXmlString.append( "<employee_emp_fname><![CDATA[" ).append(mval1).append( "]]></employee_emp_fname>\r\n" );
valueXmlString.append( "<employee_emp_lname><![CDATA[" ).append(mval2).append( "]]></employee_emp_lname>\r\n" );
}
if( currentColumn.trim().equalsIgnoreCase( "pack_code" ) )
{
System.out.println("------- Inside pack_code -------------");
mval = checkNullAndTrim(genericUtility.getColumnValue("pack_code", currFormDataDom));
sql = "SELECT DESCR FROM PACKING WHERE PACK_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval);
rs = pstmt.executeQuery();
if(rs.next())
{
mval1 = checkNullAndTrim(rs.getString("DESCR"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
valueXmlString.append( "<packing_descr><![CDATA[" ).append(mval1).append( "]]></packing_descr>\r\n" );
}
if( currentColumn.trim().equalsIgnoreCase( "supp_code__pref" ) )
{
System.out.println("------- Inside supp_code__pref -------------");
mval = checkNullAndTrim(genericUtility.getColumnValue("supp_code__pref", currFormDataDom));
sql = "SELECT SUPP_NAME FROM SUPPLIER WHERE SUPP_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval);
rs = pstmt.executeQuery();
if(rs.next())
{
mval1 = checkNullAndTrim(rs.getString("SUPP_NAME"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
valueXmlString.append( "<supplier_supp_name><![CDATA[" ).append(mval1).append( "]]></supplier_supp_name>\r\n" );
}
if( currentColumn.trim().equalsIgnoreCase("unit__ind"))
{
System.out.println("------- Inside unit__ind -------------");
itemunit = checkNullAndTrim(genericUtility.getColumnValue("unit__ind", currFormDataDom));
ls_unit_std = checkNullAndTrim(genericUtility.getColumnValue("unit__std", currFormDataDom));
mval1 = checkNullAndTrim(genericUtility.getColumnValue("item_code", currFormDataDom));
qtyStr = checkNullAndTrim(genericUtility.getColumnValue("quantity", currFormDataDom));
lc_conv = 0;
qty = discommon.convQtyFactor(itemunit, ls_unit_std, mval1, Double.parseDouble(qtyStr), lc_conv, conn);
valueXmlString.append( "<quantity__stduom><![CDATA[" ).append(qty.get(0).toString()).append( "]]></quantity__stduom>\r\n" );
valueXmlString.append( "<conv__qty_stduom><![CDATA[" ).append(lc_conv).append( "]]></conv__qty_stduom>\r\n" );
}
if( currentColumn.trim().equalsIgnoreCase( "conv__qty_stduom" ) )
{
System.out.println("------- Inside conv__qty_stduom -------------");
lc_conv1 = checkNullAndTrim(genericUtility.getColumnValue("conv__qty_stduom", currFormDataDom));
itemunit = checkNullAndTrim(genericUtility.getColumnValue("unit__ind", currFormDataDom));
ls_unit_std = checkNullAndTrim(genericUtility.getColumnValue("unit__std", currFormDataDom));
mval1 = checkNullAndTrim(genericUtility.getColumnValue("item_code", currFormDataDom));
qtyStr = checkNullAndTrim(genericUtility.getColumnValue("quantity", currFormDataDom));
qty = discommon.convQtyFactor(itemunit, ls_unit_std, mval1, Double.parseDouble(qtyStr), lc_conv, conn);
valueXmlString.append( "<quantity__stduom><![CDATA[" ).append(qty.get(0).toString()).append( "]]></quantity__stduom>\r\n" );
}
if( currentColumn.trim().equalsIgnoreCase("quantity"))
{
System.out.println("------- Inside quantity -------------");
qtyStr = checkNullAndTrim(genericUtility.getColumnValue("quantity", currFormDataDom));
mval1 = checkNullAndTrim(genericUtility.getColumnValue("item_code", currFormDataDom));
ls_unit_std = checkNullAndTrim(genericUtility.getColumnValue("unit__std", currFormDataDom));
lc_conv1 = checkNullAndTrim(genericUtility.getColumnValue("conv__qty_stduom", currFormDataDom));
itemunit = checkNullAndTrim(genericUtility.getColumnValue("unit__ind", currFormDataDom));
String mNum2 = lc_conv1;
if(itemunit.length() == 0)
{
sql = "SELECT UNIT FROM ITEM WHERE ITEM_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mval1);
rs = pstmt.executeQuery();
if(rs.next())
{
itemunit = checkNullAndTrim(rs.getString("UNIT"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
qty = discommon.convQtyFactor(itemunit, ls_unit_std, mval1, Double.parseDouble(qtyStr), Double.parseDouble(lc_conv1), conn);
valueXmlString.append( "<unit__ind><![CDATA[" ).append(itemunit).append( "]]></unit__ind>\r\n" );
}
else
{
qty = discommon.convQtyFactor(itemunit, ls_unit_std, mval1, Double.parseDouble(qtyStr), Double.parseDouble(lc_conv1), conn);
}
if("0".equalsIgnoreCase(mNum2))
{
valueXmlString.append( "<conv__qty_stduom><![CDATA[" ).append(lc_conv1).append( "]]></conv__qty_stduom>\r\n" );
}
valueXmlString.append( "<quantity__stduom><![CDATA[" ).append(qty.get(0).toString()).append( "]]></quantity__stduom>\r\n" );
}
valueXmlString.append( "</Detail1>\r\n" );
} //Case 1. End
break;
}//End of switch block
valueXmlString.append( "</Root>\r\n" );
}
catch (Exception e)
{
e.printStackTrace();
}
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);
}
}
System.out.println( "valueXmlString.toString()>>>>>>>::"+valueXmlString.toString());
return valueXmlString.toString();
}
private String checkNull(String input)
{
if ( input == null )
{
input = "";
}
return input.trim();
}
private String checkNullAndTrim(String inputVal)
{
if ( inputVal == null )
{
inputVal = "";
}
else
{
inputVal = inputVal.trim();
}
return inputVal;
}
public int getCount(String tableName, String columnName, String columnVal, Connection conn)
{
int count = 0;
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
sql = "SELECT COUNT(1) FROM "+tableName+" WHERE "+columnName+" = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, columnVal);
rs = pstmt.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
catch(Exception e)
{
System.out.println( "Exception : getCount : " + e.getMessage() );
}
finally
{
try
{
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
catch(Exception e)
{
System.out.println( "Exception : getCount : " + e.getMessage() );
}
}
return count;
}
/* public String getAcct(String siteCode, String acctCode, Connection conn)
{
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
int count = 0;
String ls_sitespec = "", errCode = "", mvar_value = "", mVal = "";
try
{
sql = "SELECT VAR_VALUE FROM FINPARM WHERE PRD_CODE = ? AND VAR_NAME = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "999999");
pstmt.setString(2, "SITE_SPECIFIC_ACCT");
rs = pstmt.executeQuery();
if(rs.next())
{
ls_sitespec = checkNullAndTrim(rs.getString("VAR_VALUE"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
sql = "SELECT COUNT(*) FROM ACCOUNTS WHERE ACCT_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, acctCode);
rs = pstmt.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(count != 0)
{
sql = "SELECT ACTIVE FROM ACCOUNTS WHERE ACCT_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, acctCode);
rs = pstmt.executeQuery();
if(rs.next())
{
mVal = checkNullAndTrim(rs.getString("ACTIVE"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(!"Y".equalsIgnoreCase(mVal))
{
errCode = "VMACCTA";
}
else
{
if("Y".equalsIgnoreCase(ls_sitespec) && ls_sitespec.length() > 0)
{
sql = "SELECT COUNT(*) FROM SITE_ACCOUNT WHERE SITE_CODE = ? AND ACCT_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
pstmt.setString(2, acctCode);
rs = pstmt.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(count == 0)
{
errCode = "VMACCT3";
}
}
}
}
else
{
errCode = "VMACCT1";
}
}
catch(Exception e)
{
System.out.println( "Exception : getAcct : " + e.getMessage() );
}
finally
{
try
{
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
catch(Exception e)
{
System.out.println( "Exception : getAcct : " + e.getMessage() );
}
}
return errCode;
}
public String getCctr(String ccrtCode, String acctCode, Connection conn)
{
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
int count = 0;
String ls_finparam_ccterm = "", errCode = "";
try
{
ls_finparam_ccterm = finCommon.getFinparams("999999", "CCTR_CHECK", conn);
if("Y".equalsIgnoreCase(ls_finparam_ccterm))
{
if(ccrtCode.length() > 0)
{
sql = "SELECT COUNT(*) FROM COSTCTR WHERE CCTR_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, ccrtCode);
rs = pstmt.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(count == 0)
{
errCode = "VMCCTR1";
}
sql = "SELECT COUNT(*) FROM ACCOUNTS_CCTR WHERE ACCT_CODE = ? AND CCTR_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, acctCode);
pstmt.setString(2, ccrtCode);
rs = pstmt.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(count > 0)
{
errCode = "VMCCTR2";
}
else if(count == 0)
{
if(ccrtCode.length() > 0)
{
errCode = "VMCCTR2";
}
}
}
}
}
catch(Exception e)
{
System.out.println( "Exception : getCctr : " + e.getMessage() );
}
finally
{
try
{
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
catch(Exception e)
{
System.out.println( "Exception : getAcct : " + e.getMessage() );
}
}
return errCode;
}
public String getAnalysis(String analCode, String acctCode, Connection conn)
{
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
int count = 0;
String errCode = "";
try
{
if(analCode.length() > 0)
{
sql = "SELECT COUNT(*) FROM ANALYSIS WHERE ANAL_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, analCode);
rs = pstmt.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(count == 0)
{
errCode = "VMANAL1";
}
}
sql = "SELECT COUNT(*) FROM ACCOUNTS_ANALYSIS WHERE ACCT_CODE = ? AND ANAL_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, acctCode);
pstmt.setString(2, analCode);
rs = pstmt.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(count == 0)
{
sql = "SELECT COUNT(*) FROM ACCOUNTS_ANALYSIS WHERE ACCT_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, acctCode);
rs = pstmt.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(count > 0)
{
errCode = "VMANAL2";
}
else if(count > 0)
{
if(analCode.length() > 0)
{
errCode = "VMANAL2";
}
}
}
}
catch(Exception e)
{
System.out.println( "Exception : getAnalysis : " + e.getMessage() );
}
finally
{
try
{
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
catch(Exception e)
{
System.out.println( "Exception : getAnalysis : " + e.getMessage() );
}
}
return errCode;
}*/
public String getEmployeeResig(String empCodeIapr, String siteCode, Connection conn)
{
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
int count = 0;
String errCode = "", ld_resig_date = "", ls_with_held = "";
try
{
sql = "SELECT COUNT(*) FROM EMPLOYEE WHERE EMP_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, empCodeIapr);
rs = pstmt.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(count == 0)
{
errCode = "VMEMP9";
}
else
{
sql = "SELECT RESI_DATE, WITH_HELD FROM EMPLOYEE WHERE EMP_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, empCodeIapr);
rs = pstmt.executeQuery();
if(rs.next())
{
ld_resig_date = checkNullAndTrim(rs.getString("RESI_DATE"));
ls_with_held = checkNullAndTrim(rs.getString("WITH_HELD"));
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(ld_resig_date != null && ld_resig_date.length() > 0)
{
errCode = "VMEMP7";
}
else if("Y".equalsIgnoreCase(ls_with_held))
{
errCode = "VMEMP9";
}
}
}
catch(Exception e)
{
System.out.println( "Exception : getEmployeeResig : " + e.getMessage() );
}
finally
{
try
{
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
catch(Exception e)
{
System.out.println( "Exception : getEmployeeResig : " + e.getMessage() );
}
}
return errCode;
}
}
package ibase.webitm.ejb.dis;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import java.rmi.RemoteException;
import org.w3c.dom.Document;
@javax.ejb.Local
public interface IndentICLocal extends ValidatorLocal
{
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 currFormDataDom, Document hdrDataDom, Document allFormDataDom, String objContext, String currentColumn,String editFlag, String xtraParams ) throws RemoteException, ITMException;
}
package ibase.webitm.ejb.dis;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import java.rmi.RemoteException;
import org.w3c.dom.Document;
@javax.ejb.Remote
public interface IndentICRemote extends ValidatorRemote
{
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 currFormDataDom, Document hdrDataDom, Document allFormDataDom, String objContext, String currentColumn,String editFlag, String xtraParams ) throws RemoteException, ITMException;
}
/**
* PURPOSE : IndentConf component
* AUTHOR : Sneha Mestry
* DATE : 04-01-2017
*/
package ibase.webitm.ejb.dis;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.E12CreateBatchLoadEjb;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.sys.CreateRCPXML;
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import javax.ejb.Stateless;
import org.w3c.dom.*;
import com.ibm.db2.jcc.a.c;
@Stateless
public class IndentReqConf extends ActionHandlerEJB implements IndentReqConfLocal, IndentReqConfRemote
{
E12GenericUtility genericUtility = new E12GenericUtility();
DistCommon discommon = new DistCommon();
ITMDBAccessEJB itmDBAccess = new ITMDBAccessEJB();
public String confirm(String tranID,String xtraParams, String forcedFlag) throws RemoteException,ITMException
{
String retString = "";
Connection conn = null;
try
{
retString = this.confirm(tranID, xtraParams, forcedFlag, conn);
System.out.println("retString:::::"+retString);
}
catch(Exception e)
{
System.out.println("Exception in [IndentReqConf] confirm " + e.getMessage());
throw new ITMException(e);
}
return retString;
}
public String confirm( String tranId, String xtraParams, String forcedFlag, Connection conn) throws RemoteException,ITMException
{
System.out.println(" ========= Inside IndentReqConf confirm ============= ");
System.out.println(" ========= tranId ============= "+tranId);
System.out.println("xtraParams ::::::::::::: " + xtraParams);
String errString = "", sql = "", childNodeName = "", userId = "", errorType = "", errCode = "", ld_conf_date = "", ls_runopt = "";
PreparedStatement pstmt = null, pstmtInsert = null, pstmt1 = null;
ResultSet rs = null, rs1 = null;
boolean isError = false;
int cnt = 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>");
String ls_confirm = "", mstatus = "", ls_emp_code__iapr = "", ls_empcodepur = "", ls_sitecode = "", ls_itemcode = "", ls_login_emp = "",
li_level = "", ls_ecode = "", conf = "", ls_status = "", inddate = "", indtype = "", site = "", sitedlv = "", dept = "", emp = "",
work = "", itemdescr = "", newind = "", itemcode = "", userid = "", ldt_chg_date = "", termid = "", ls_ind_seq = "",
proj = "", ls_siteacct = "", ls_sitebill = "", ls_sitedes = "", ls_ref_no = "", ls_task_code = "", ls_indno = "",
sql1 = "", unit = "", speinst = "", priority = "", apr = "", splinst = "", acct = "", cctr = "", ls_emp = "", ls_supp = "",
ld_purcrate = "", ls_pack = "", lc_pur_lead = "", ls_pack_instr = "", ls_supp_mnfr = "", lc_qty_std = "", indno = "",
ls_str = "", ldt_today = "",
ls_unit_std = "", lc_conv = "", ls_emp_pur = "", ls_remarks = "", ld_quantity_atsite = "", ld_aveconsqty_atsite = "",
ld_reorderqty_atsite = "", ls_emp_code__qcaprv = "", ld_max_rate = "", ls_item_cd_mfg = "", LS_WORK_ORDER = "", ls_anal_code = "";
double lc_qty_stduom = 0;
int qty = 0, ll_start = 1, lc_quantity = 0, ll_lineno = 0, lineno = 0;
java.sql.Date ldt_reqdate = null, reqdate = null;
try
{
userId = checkNull(genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginCode" ));
if ( conn == null )
{
conn = getConnection();
}
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
Date currDate = new Date();
indno = tranId;
ls_ind_seq = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
ls_str = "A";
sql = "SELECT CONFIRMED,STATUS,IND_DATE,IND_TYPE,SITE_CODE__ORI, SITE_CODE__DEL, DEPT_CODE, EMP_CODE__REQ, WORK_ORDER," +
" PROJ_CODE, SITE_CODE__ACCT, SITE_CODE__BIL,SITE_CODE__DES, REF_NO ,TASK_CODE FROM INDENT_HDR WHERE IND_NO = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indno);
rs = pstmt.executeQuery();
if(rs.next())
{
conf = checkNullAndTrim(rs.getString("CONFIRMED"));
ls_status = checkNullAndTrim(rs.getString("STATUS"));
inddate = checkNullAndTrim(rs.getString("IND_DATE"));
indtype = checkNullAndTrim(rs.getString("IND_TYPE"));
site = checkNullAndTrim(rs.getString("SITE_CODE__ORI"));
sitedlv = checkNullAndTrim(rs.getString("SITE_CODE__DEL"));
dept = checkNullAndTrim(rs.getString("DEPT_CODE"));
emp = checkNullAndTrim(rs.getString("EMP_CODE__REQ"));
work = checkNullAndTrim(rs.getString("WORK_ORDER"));
proj = checkNullAndTrim(rs.getString("PROJ_CODE"));
ls_siteacct = checkNullAndTrim(rs.getString("SITE_CODE__ACCT"));
ls_sitebill = checkNullAndTrim(rs.getString("SITE_CODE__BIL"));
ls_sitedes = checkNullAndTrim(rs.getString("SITE_CODE__DES"));
ls_ref_no = checkNullAndTrim(rs.getString("REF_NO"));
ls_task_code = checkNullAndTrim(rs.getString("TASK_CODE"));
}
else
{
errCode = "VTMCONF20";
errList.add( errCode );
errFields.add(childNodeName.toLowerCase());
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if("C".equalsIgnoreCase(ls_status))
{
errCode = "VTINDCONF1";
errList.add( errCode );
errFields.add(childNodeName.toLowerCase());
}
if(conf.length() == 0)
{
conf = "N";
}
if("Y".equalsIgnoreCase(conf))
{
errCode = "VTINDCONF";
errList.add( errCode );
errFields.add(childNodeName.toLowerCase());
}
sql = "SELECT COUNT(*) FROM INDENTITEM_DET WHERE IND_NO = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indno);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cnt == 0)
{
sql = "SELECT COUNT(1) FROM INDENT_DET WHERE IND_NO = ? AND REQ_DATE IS NULL ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indno);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(cnt > 0)
{
errCode = "VTNOITEM";
errList.add( errCode );
errFields.add(childNodeName.toLowerCase());
}
cnt = 0;
sql = "SELECT IND_NO, LINE_NO, ITEM_CODE, QUANTITY, REQ_DATE FROM INDENT_DET WHERE IND_NO = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indno);
rs = pstmt.executeQuery();
while(rs.next())
{
ls_indno = checkNullAndTrim(rs.getString("IND_NO"));
ll_lineno = rs.getInt("LINE_NO");
ls_itemcode = checkNullAndTrim(rs.getString("ITEM_CODE"));
lc_quantity = rs.getInt("QUANTITY");
ldt_reqdate = rs.getDate("REQ_DATE");
sql1 = "INSERT INTO INDENTITEM_DET (IND_NO, ITEM_CODE, LINE_NO, QUANTITY, REQ_DATE) VALUES (?, ?, ?, ?, ?)";
pstmtInsert = conn.prepareStatement(sql1);
pstmtInsert.setString(1, ls_indno);
pstmtInsert.setString(2, ls_itemcode);
pstmtInsert.setInt(3, ll_lineno);
pstmtInsert.setInt(4, lc_quantity);
pstmtInsert.setDate(5, ldt_reqdate);
pstmtInsert.executeUpdate();
if(pstmtInsert != null)
{
pstmtInsert.close();
pstmtInsert = null;
}
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
cnt = 1;
sql = "SELECT ITEM_CODE, LINE_NO, QUANTITY, REQ_DATE FROM INDENTITEM_DET WHERE IND_NO = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indno);
rs = pstmt.executeQuery();
while(rs.next())
{
itemcode = checkNullAndTrim(rs.getString("ITEM_CODE"));
lineno = rs.getInt("LINE_NO");
qty = rs.getInt("QUANTITY");
reqdate = rs.getDate("REQ_DATE");
sql1 = "SELECT UNIT,SPECIFIC_INSTR,PRIORITY,APR_CODE,SPECIAL_INSTR,ACCT_CODE, CCTR_CODE,EMP_CODE__IAPR,SUPP_CODE__PREF," +
"PURC_RATE,PACK_CODE, PUR_LEAD_TIME,PACK_INSTR,SUPP_CODE__MNFR,QUANTITY__STDUOM, UNIT__STD,CONV__QTY_STDUOM," +
"EMP_CODE__PUR,REMARKS, QUANTITY_ATSITE, AVECONSQTY_ATSITE, REORDERQTY_ATSITE, QUANTITY,EMP_CODE__QCAPRV, " +
"MAX_RATE,ITEM_CODE__MFG,WORK_ORDER,ANAL_CODE FROM INDENT_DET WHERE IND_NO = ? AND ITEM_CODE = ? AND LINE_NO = ? ";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1, indno);
pstmt1.setString(2, itemcode);
pstmt1.setInt(3, lineno);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
unit = checkNullAndTrim(rs1.getString("UNIT"));
speinst = checkNullAndTrim(rs1.getString("SPECIFIC_INSTR"));
priority = checkNullAndTrim(rs1.getString("PRIORITY"));
apr = checkNullAndTrim(rs1.getString("APR_CODE"));
splinst = checkNullAndTrim(rs1.getString("SPECIAL_INSTR"));
acct = checkNullAndTrim(rs1.getString("ACCT_CODE"));
cctr = checkNullAndTrim(rs1.getString("CCTR_CODE"));
ls_emp = checkNullAndTrim(rs1.getString("EMP_CODE__IAPR"));
ls_supp = checkNullAndTrim(rs1.getString("SUPP_CODE__PREF"));
ld_purcrate = checkNullAndTrim(rs1.getString("PURC_RATE"));
ls_pack = checkNullAndTrim(rs1.getString("PACK_CODE"));
lc_pur_lead = checkNullAndTrim(rs1.getString("PUR_LEAD_TIME"));
ls_pack_instr = checkNullAndTrim(rs1.getString("PACK_INSTR"));
ls_supp_mnfr = checkNullAndTrim(rs1.getString("SUPP_CODE__MNFR"));
lc_qty_std = checkNullAndTrim(rs1.getString("QUANTITY__STDUOM"));
ls_unit_std = checkNullAndTrim(rs1.getString("UNIT__STD"));
lc_conv = checkNullAndTrim(rs1.getString("CONV__QTY_STDUOM"));
ls_emp_pur = checkNullAndTrim(rs1.getString("EMP_CODE__PUR"));
ls_remarks = checkNullAndTrim(rs1.getString("REMARKS"));
ld_quantity_atsite = checkNullAndTrim(rs1.getString("QUANTITY_ATSITE"));
ld_aveconsqty_atsite = checkNullAndTrim(rs1.getString("AVECONSQTY_ATSITE"));
ld_reorderqty_atsite = checkNullAndTrim(rs1.getString("REORDERQTY_ATSITE"));
lc_quantity = rs1.getInt("QUANTITY");
ls_emp_code__qcaprv= checkNullAndTrim(rs1.getString("EMP_CODE__QCAPRV"));
ld_max_rate = checkNullAndTrim(rs1.getString("MAX_RATE"));
ls_item_cd_mfg = checkNullAndTrim(rs1.getString("ITEM_CODE__MFG"));
LS_WORK_ORDER = checkNullAndTrim(rs1.getString("WORK_ORDER"));
ls_anal_code = checkNullAndTrim(rs1.getString("ANAL_CODE"));
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
lc_qty_std = (lc_qty_std.length() == 0) ? "0" : lc_qty_std;
lc_qty_stduom = (qty/lc_quantity) * Double.parseDouble(lc_qty_std);
sql1 = "SELECT DESCR FROM ITEM WHERE ITEM_CODE = ? ";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1, itemcode);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
itemdescr = checkNullAndTrim(rs1.getString("DESCR"));
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(cnt > 100)
{
cnt++;
if(cnt > 10)
{
cnt = 1;
ll_start = ll_start + 1;
ls_str = ls_ind_seq.substring(ll_start, 1);
System.out.println("---------- ls_str 11111111111---------------"+ls_str);
//ls_str = mid(ls_ind_seq,ll_start,1)
}
String temp = String.valueOf(cnt);
temp = temp.substring(temp.length() - 1);
newind = indno.trim() + ls_str.trim() + temp;
//newind = righttrim(indno) + trim(ls_str)+ right(string(ll_cnt),1)
}
else
{
String temp = "0000" + cnt;
temp = temp.substring(temp.length() - 2);
newind = indno.trim() + temp;
//newind= righttrim(indno) + right('0000'+string(i),2);
}
System.out.println("---------- newind---------------"+newind);
sql1 = "INSERT INTO INDENT(IND_NO,IND_DATE,IND_TYPE,DEPT_CODE,REQ_DATE, ITEM_CODE,ITEM_DESCR,QUANTITY,UNIT__IND," +
"EMP_CODE__REQ,SITE_CODE, WORK_ORDER,APR_CODE,PROJ_CODE,STATUS,STATUS_DATE,SPECIFIC_INSTR,PRIORITY, SPECIAL_INSTR," +
"ORD_QTY,SITE_CODE__DLV,ACCT_CODE,CCTR_CODE, SUPP_CODE__PREF,PURC_RATE,SITE_CODE__ACCT,PACK_CODE,PUR_LEAD_TIME, " +
"PACK_INSTR,SUPP_CODE__MNFR,SITE_CODE__BIL,QUANTITY__STDUOM, UNIT__STD,CONV__QTY_STDUOM,EMP_CODE__PUR,EMP_CODE__IAPR," +
"QUANTITY_ORI,REMARKS, QUANTITY_ATSITE, AVECONSQTY_ATSITE, REORDERQTY_ATSITE, EMP_CODE__QCAPRV, MAX_RATE,ITEM_CODE__MFG," +
"SITE_CODE__DES,CHG_USER,CHG_DATE,CHG_TERM, REF_NO,ANAL_CODE,TASK_CODE)" +
"VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
pstmtInsert = conn.prepareStatement(sql1);
pstmtInsert.setString(1, newind);
pstmtInsert.setDate(2, new java.sql.Date(new java.util.Date().getTime()));
pstmtInsert.setString(3, indtype);
pstmtInsert.setString(4, dept);
pstmtInsert.setDate(5, reqdate);
pstmtInsert.setString(6, itemcode);
pstmtInsert.setString(7, itemdescr);
pstmtInsert.setInt(8, qty);
pstmtInsert.setString(9, unit);
pstmtInsert.setString(10, emp);
pstmtInsert.setString(11, site);
pstmtInsert.setString(12, work);
pstmtInsert.setString(13, apr);
pstmtInsert.setString(14, proj);
pstmtInsert.setString(15, "U");
pstmtInsert.setDate(16, new java.sql.Date(new java.util.Date().getTime()));
pstmtInsert.setString(17, speinst);
pstmtInsert.setString(18, priority);
pstmtInsert.setString(19, splinst);
pstmtInsert.setInt(20, 0);
pstmtInsert.setString(21, sitedlv);
pstmtInsert.setString(22, acct);
pstmtInsert.setString(23, cctr);
pstmtInsert.setString(24, ls_supp);
pstmtInsert.setString(25, ld_purcrate);
pstmtInsert.setString(26, ls_siteacct);
pstmtInsert.setString(27, ls_pack);
pstmtInsert.setString(28, lc_pur_lead);
pstmtInsert.setString(29, ls_pack_instr);
pstmtInsert.setString(30, ls_supp_mnfr);
pstmtInsert.setString(31, ls_sitebill);
pstmtInsert.setDouble(32, lc_qty_stduom);
pstmtInsert.setString(33, ls_unit_std);
pstmtInsert.setString(34, lc_conv);
pstmtInsert.setString(35, ls_emp_pur);
pstmtInsert.setString(36, ls_emp);
pstmtInsert.setInt(37, qty);
pstmtInsert.setString(38, ls_remarks);
pstmtInsert.setString(39, ld_quantity_atsite);
pstmtInsert.setString(40, ld_aveconsqty_atsite);
pstmtInsert.setString(41, ld_reorderqty_atsite);
pstmtInsert.setString(42, ls_emp_code__qcaprv);
pstmtInsert.setString(43, ld_max_rate);
pstmtInsert.setString(44, ls_item_cd_mfg);
pstmtInsert.setString(45, ls_sitedes);
pstmtInsert.setString(46, userid);
pstmtInsert.setString(47, ldt_chg_date);
pstmtInsert.setString(48, termid);
pstmtInsert.setString(49, ls_ref_no);
pstmtInsert.setString(50, ls_anal_code);
pstmtInsert.setString(51, ls_task_code);
pstmtInsert.executeUpdate();
if(pstmtInsert != null)
{
pstmtInsert.close();
pstmtInsert = null;
}
cnt++;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
java.sql.Date currentDate = new java.sql.Date(new java.util.Date().getTime());
sql1 = "UPDATE INDENT_HDR SET CONFIRMED = ? , CONF_DATE = ? WHERE IND_NO = ? ";
pstmtInsert = conn.prepareStatement(sql1);
pstmtInsert.setString(1, "Y");
pstmtInsert.setDate(2, currentDate);
pstmtInsert.setString(3, indno);
pstmtInsert.executeUpdate();
if(pstmtInsert != null)
{
pstmtInsert.close();
pstmtInsert = null;
}
if(errCode.length() != 0)
{
isError = true;
}
String ediOption = "";
String dataStr = "";
sql = "SELECT EDI_OPTION FROM TRANSETUP WHERE TRAN_WINDOW = 'w_indent_req' ";
pstmt1 = conn.prepareStatement(sql);
rs1 = pstmt1.executeQuery();
if ( rs1.next() )
{
ediOption = rs1.getString("EDI_OPTION");
if(ediOption == null)
{
ediOption = "";
}
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if ("2".equals(ediOption))
{
CreateRCPXML createRCPXML = new CreateRCPXML("w_indent_req", "tran_id");
dataStr = createRCPXML.getTranXML(tranId, conn);
System.out.println("dataStr =[ " + dataStr + "]");
Document ediDataDom = genericUtility.parseString(dataStr);
E12CreateBatchLoadEjb e12CreateBatchLoad = new E12CreateBatchLoadEjb();
String retString = e12CreateBatchLoad.createBatchLoad(ediDataDom,"w_indent_req", "2", xtraParams, conn);
createRCPXML = null;
e12CreateBatchLoad = null;
if (retString != null && "SUCCESS".equalsIgnoreCase(retString))
{
System.out.println("retString from edi 2 batchload = [" + retString + "]");
}
}
else
{
CreateRCPXML createRCPXML = new CreateRCPXML("w_indent_req","tran_id");
dataStr = createRCPXML.getTranXML(tranId, conn);
System.out.println("dataStr =[ " + dataStr + "]");
Document ediDataDom = genericUtility.parseString(dataStr);
E12CreateBatchLoadEjb e12CreateBatchLoad = new E12CreateBatchLoadEjb();
String retString = e12CreateBatchLoad.createBatchLoad(ediDataDom,"w_indent_req", ediOption, xtraParams, conn);
createRCPXML = null;
e12CreateBatchLoad = null;
if (retString != null && "SUCCESS".equalsIgnoreCase(retString))
{
System.out.println("retString from batchload = ["+ retString + "]");
}
}
int errListSize = errList.size();
cnt = 0;
String errFldName = null;
if ( errList != null && errListSize > 0 )
{
for (cnt = 0; cnt < errListSize; cnt++ )
{
errCode = errList.get(cnt);
errFldName = errFields.get(cnt);
System.out.println("errCode .........." + errCode);
errString = itmDBAccess.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+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();
}
catch(Exception e)
{
try
{
System.out.println("Exception "+e.getMessage());
e.printStackTrace();
throw new ITMException(e);
}
catch (Exception e1)
{
isError = true;
e1.printStackTrace();
throw new ITMException(e1);
}
}
finally
{
try
{
if( !isError )
{
System.out.println("----------commmit-----------");
conn.commit();
}
else if ( isError )
{
System.out.println("--------------rollback------------");
conn.rollback();
}
if ( rs != null )
{
rs.close();
rs = null;
}
if ( pstmt != null )
{
pstmt.close();
pstmt = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
private String checkNull( String input )
{
if ( input == null )
{
input = "";
}
return input.trim();
}
private String checkNullAndTrim( String inputVal )
{
if ( inputVal == null )
{
inputVal = "";
}
else
{
inputVal = inputVal.trim();
}
return inputVal;
}
public 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();
}
}
return msgType;
}
}
/**
* PURPOSE : Local Interface for IndentConf component
* AUTHOR : Sneha Mestry
* DATE : 04-01-2017
*/
package ibase.webitm.ejb.dis;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import org.w3c.dom.*;
import javax.ejb.*;
@javax.ejb.Local
public interface IndentReqConfLocal extends ActionHandlerLocal
{
public String confirm(String tranID,String xtraParams, String forcedFlag) throws RemoteException,ITMException;
public String confirm( String tranId, String xtraParams, String forcedFlag, Connection conn) throws RemoteException,ITMException;
//public String postSave()throws RemoteException,ITMException;
//public String postSave( String domString, String tranId, String editFlag, String xtraParams, Connection conn ) throws RemoteException,ITMException;
}
/**
* PURPOSE : Remote Interface for IndentConf component
* AUTHOR : Sneha Mestry
* DATE : 04-01-2017
*/
package ibase.webitm.ejb.dis;
import ibase.webitm.ejb.ActionHandlerRemote;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
@javax.ejb.Remote
public interface IndentReqConfRemote extends ActionHandlerRemote
{
public String confirm(String tranID,String xtraParams, String forcedFlag) throws RemoteException,ITMException;
public String confirm( String tranId, String xtraParams, String forcedFlag, Connection conn) throws RemoteException,ITMException;
//public String postSave()throws RemoteException,ITMException;
//public String postSave( String domString, String tranId, String editFlag, String xtraParams, Connection conn ) throws RemoteException,ITMException;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
package ibase.webitm.ejb.dis;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import java.rmi.RemoteException;
import org.w3c.dom.Document;
@javax.ejb.Local
public interface IndentReqICLocal extends ValidatorLocal
{
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 currFormDataDom, Document hdrDataDom, Document allFormDataDom, String objContext, String currentColumn,String editFlag, String xtraParams ) throws RemoteException, ITMException;
}
package ibase.webitm.ejb.dis;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import java.rmi.RemoteException;
import org.w3c.dom.Document;
@javax.ejb.Remote
public interface IndentReqICRemote extends ValidatorRemote
{
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 currFormDataDom, Document hdrDataDom, Document allFormDataDom, String objContext, String currentColumn,String editFlag, 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