Commit 09c6463b authored by sbehera's avatar sbehera

Two New EJB components are added for Milestone Process


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@93259 ce508802-f39f-4f6c-b175-0d175dae99d5
parent b6214b3e
package ibase.webitm.ejb.fin.adv;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Types;
import javax.ejb.Stateless;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.sql.ResultSet;
import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants;
import ibase.webitm.ejb.*;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.TransIDGenerator;
@Stateless
public class DrCrRcpMstConf extends ActionHandlerEJB implements DrCrRcpMstConfLocal ,DrCrRcpMstConfRemote {
public String confirm(String tranId,String xtraParams,String forcedFlag) throws RemoteException,ITMException
{
Connection conn=null;
String errString="";
errString=confirm(tranId,xtraParams,forcedFlag,conn);
System.out.println("errString----"+errString);
return errString;
}
public String confirm(String tranId,String xtraParams,String forcedFlag,Connection conn) throws RemoteException,ITMException
{
//Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
ConnDriver connDriver = null;
String confirm = "",errString = "" ;
boolean isLocal=false;
ITMDBAccessEJB itmDBAccessEJB = null;
try
{
System.out.println("<!@#> In confirm :::::::::::::3007121030::::::::::::::::::");
System.out.println("<!@#> In confirm ::::::::::::::::::::xtraParams:" +xtraParams +":");
System.out.println("<!@#> In confirm ::::::::::::::::::::forcedFlag:" +forcedFlag +":");
itmDBAccessEJB = new ITMDBAccessEJB();
if(conn==null)
{
connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
conn.setAutoCommit(false);
isLocal=true;
}
sql =" select confirmed from misc_drcr_rcp where tran_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
confirm = rs.getString("confirmed");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(confirm != null && "Y".equalsIgnoreCase(confirm))
{
System.out.println("The Selected transaction is already confirmed");
errString = itmDBAccessEJB.getErrorString("","VTMCONF1","","",conn);
return errString;
}
else
{
errString = this.gbfRetrieveMiscDrcrRcp(tranId,xtraParams,conn);
if(errString != null && errString.trim().length() > 0)
{
// return errString;
System.out.println("checking CONFSUCCES in errString" +errString);
if(errString.indexOf("CONFSUCCES") > -1)
{
System.out.println("Committing..............");
String milestoneId="";
String sorder="";
pstmt=conn.prepareStatement("select milestone_id,sale_order from misc_drcr_rcp where tran_id=?");
pstmt.setString(1,tranId);
rs=pstmt.executeQuery();
if(rs.next())
{
milestoneId=rs.getString("milestone_id");
sorder=rs.getString("sale_order");
}
rs.close();
pstmt.close();
rs=null;
pstmt=null;
pstmt=conn.prepareStatement("update sord_cr_terms set ref_no=? where sale_order=? and proc_code=? and ref_no is null");
pstmt.setString(1,tranId);
pstmt.setString(2,sorder);
pstmt.setString(3,milestoneId);
int ctr=pstmt.executeUpdate();
if(ctr>0)
{
if(isLocal)
conn.commit();
}
else
{
System.out.println("Unable to update ref_no in sord_cr_terms table");
conn.rollback();
}
//conn.close();
//conn=null;
// return errString;
}
else
{
System.out.println("Rollbacking..............");
if(isLocal)
conn.rollback();
//conn.rollback();
//conn.close();
//conn=null;
}
}
}
} //end of try
catch(Exception e)
{
System.out.println("Exception ::"+e.getMessage());
throw new ITMException(e);
}
finally
{
try
{
if(conn!=null && isLocal)
{
conn.close();
conn=null;
}
//System.out.println(" finally Rollbacking..............");
//conn.rollback();
//conn.close();
//}
//conn = null;
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
} //end of confirm method
private String gbfRetrieveMiscDrcrRcp(String tranIdFrom,String tranIdto, String xtraParams,Connection conn)throws RemoteException,ITMException
{
String errString="";
PreparedStatement pstmt=null;
ArrayList<String> tranidList = new ArrayList<String>() ;
ResultSet rs=null;
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
try{
System.out.println("<!@#> In gbfRetrieveMiscDrcrRcp :::::::::::::::::::::::::::::::");
String sql="";
sql ="select tran_id from misc_drcr_rcp where tran_id <= ? and tran_id >=? and site_code =? and confirmed = ?" +
" order by tran_id asc";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,tranIdFrom);
pstmt.setString(2, tranIdto);
pstmt.setString(3, GenericUtility.getInstance().getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode"));
pstmt.setString(4, "N");
rs=pstmt.executeQuery();
while (rs.next())
{
tranidList.add(rs.getString("tran_id"));
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
if(tranidList.size() >0)
{
//Iterate through list
Iterator<String> iterator =tranidList.iterator();
while(iterator.hasNext())
{
//check for multiple
errString=gbfRetrieveMiscDrcrRcp(iterator.next(), xtraParams, conn);
if(!(errString.indexOf("CONFSUCCES")>-1))
{
throw new Exception("Transaction Fail");
}
}
}else
{
//Show error
errString = itmDBAccessEJB.getErrorString("","VTNOREC2","","",conn);
return errString;
}
}catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return errString;
}
private String gbfRetrieveMiscDrcrRcp(String tranId,String xtraParams,Connection conn)throws RemoteException,ITMException
{
PreparedStatement pstmt = null;
PreparedStatement pstmtInsert = null;
PreparedStatement pstmtInner = null;
ResultSet rs = null;
ResultSet rsInner = null;
String sql = "",sqlInsert = "",sqlInner="";
String loginEmpCode = "",errString="" ;
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
FinCommon Fcommon = new FinCommon();
DistCommon Dcommon = new DistCommon();
ArrayList miscRdetList = new ArrayList();
ArrayList miscRcpInvList = new ArrayList();
HashMap miscRcpMap=null,miscRdetMap= null,miscRcpInvMap=null;
HashMap miscRdetListMap=null,miscRcpInvListMap=null;
java.sql.Timestamp tranDate = null;
java.sql.Timestamp effDate = null;
java.sql.Timestamp dueDate = null;
java.sql.Timestamp confDate = null;
String tranSer="",sundryType="",tranType="",siteCode="",finEntity="",sundryCode="",acctCode="";
String cctrCode="",currCode="",remarks="",confirmed="",empCodeAprv="",drcrFlag="",tranIdRcv="";
String itemSer="",sreturnNo="",adjMiscCrn="",custRefNo="",rndOff="",custCode="",siteCodeDrcr="";
double amount=0,amountBc=0,exchRate=0,adjAmount=0,roundAdj=0,rndTo=0;
String lineNo="",detAcctCode="",detCctrCode="",detAnalCode="",detEmpCode="",detTaxClass="";
String detTaxChap="",detTaxEnv="",detReasCode="",detRefNo="",detItemCode="",lineNoSret="";
String lineNoInvtrace="",detLotNo="",detLotSl="",analysis1="",analysis2="",analysis3="";
double detAmount=0,detNetAmt=0,detTaxAmt=0,detQuantity=0,detRate=0;
String adjLineNo="",adjRefSer="",adjRefNo="";
double adjAmt=0,refBalAmt=0,mrpValueAdj=0;
String runMode = "I",winName="",ledgPostConf="",acctCodeRadj="",cctrCodeRadj="";
double amthdr1=0,amountRadj=0,amt=0,taxAmt=0,recoAmt=0,tot =0;
java.sql.Timestamp toDay = null;
java.util.Date toDate = new java.util.Date();
String acctCodeReco="",cctrCodeReco="",taxAcct="",taxCctr="",itemSr="";
int cnt =0,cnt1=0,foundAt=0;
double recAmt=0,totAmt=0,recAdjAmt=0;
int updCnt=0;
int upd=0;
boolean status=false ,flg = true;
int[] batchCount;
String acctCodeAR="";
String cctrCodeAR="";
String detSundryType="";
try{
System.out.println("<!@#> In gbfRetrieveMiscDrcrRcp :::::::::::::::::::::::::::::::");
if("db2".equalsIgnoreCase(CommonConstants.DB_NAME))
{
sql =" select tran_date,tran_ser,eff_date,sundry_type,tran_type,due_date, "
+" site_code, fin_entity,sundry_code,acct_code,cctr_code,amount,curr_code,remarks, "
+" confirmed,conf_date,emp_code__aprv,drcr_flag,tran_id__rcv,item_ser, "
+" amount__bc,exch_rate,sreturn_no,adj_misc_crn,adj_amount,round_adj,cust_ref_no,"
+" cust_ref_date,cust_ref_amt,rnd_off,rnd_to,acct_code__tot_ar,cctr_code__tot_ar "
+" from misc_drcr_rcp "
+" where tran_id = ? for update" ;
}else if("mssql".equalsIgnoreCase(CommonConstants.DB_NAME))
{
sql =" select tran_date,tran_ser,eff_date,sundry_type,tran_type,due_date, "
+" site_code, fin_entity,sundry_code,acct_code,cctr_code,amount,curr_code,remarks, "
+" confirmed,conf_date,emp_code__aprv,drcr_flag,tran_id__rcv,item_ser, "
+" amount__bc,exch_rate,sreturn_no,adj_misc_crn,adj_amount,round_adj,cust_ref_no,"
+" cust_ref_date,cust_ref_amt,rnd_off,rnd_to,acct_code__tot_ar,cctr_code__tot_ar "
+" from misc_drcr_rcp (updlock) "
+" where tran_id = ? " ;
}else
{
sql =" select tran_date,tran_ser,eff_date,sundry_type,tran_type,due_date, "
+" site_code, fin_entity,sundry_code,acct_code,cctr_code,amount,curr_code,remarks, "
+" confirmed,conf_date,emp_code__aprv,drcr_flag,tran_id__rcv,item_ser, "
+" amount__bc,exch_rate,sreturn_no,adj_misc_crn,adj_amount,round_adj,cust_ref_no,"
// +" cust_ref_date,cust_ref_amt,rnd_off,rnd_to,site_code__drcr "
+" cust_ref_date,cust_ref_amt,rnd_off,rnd_to,acct_code__tot_ar,cctr_code__tot_ar "
+" from misc_drcr_rcp "
+" where tran_id = ? for update nowait " ;
}
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs=pstmt.executeQuery();
if(rs.next())
{
tranDate = rs.getTimestamp("tran_date");
tranSer = rs.getString("tran_ser");
effDate = rs.getTimestamp("eff_date");
sundryType = rs.getString("sundry_type");
tranType = rs.getString("tran_type");
dueDate = rs.getTimestamp("due_date");
siteCode = rs.getString("site_code");
finEntity = rs.getString("fin_entity");
sundryCode = rs.getString("sundry_code");
acctCode = rs.getString("acct_code");
cctrCode = rs.getString("cctr_code");
amount = rs.getDouble("amount");
currCode = rs.getString("curr_code");
remarks = rs.getString("remarks");
confirmed = rs.getString("confirmed");
confDate = rs.getTimestamp("conf_date");
empCodeAprv = rs.getString("emp_code__aprv");
drcrFlag = rs.getString("drcr_flag");
tranIdRcv = rs.getString("tran_id__rcv");
itemSer = rs.getString("item_ser");
amountBc = rs.getDouble("amount__bc");
exchRate = rs.getDouble("exch_rate");
sreturnNo = rs.getString("sreturn_no");
adjMiscCrn = rs.getString("adj_misc_crn");
adjAmount = rs.getDouble("adj_amount");
roundAdj = rs.getDouble("round_adj");
custRefNo = rs.getString("cust_ref_no");
rndOff = rs.getString("rnd_off");
rndTo = rs.getDouble("rnd_to");
acctCodeAR= rs.getString("acct_code__tot_ar");
cctrCodeAR= rs.getString("cctr_code__tot_ar");
//siteCodeDrcr = rs.getString("site_code__drcr");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
miscRcpMap = new HashMap();
miscRcpMap.put("tran_date",tranDate);
miscRcpMap.put("tran_ser",tranSer);
miscRcpMap.put("eff_date",effDate);
miscRcpMap.put("sundry_type",sundryType);
miscRcpMap.put("tran_type",tranType);
miscRcpMap.put("due_date",dueDate);
miscRcpMap.put("site_code",siteCode);
miscRcpMap.put("fin_entity",finEntity);
miscRcpMap.put("sundry_code",sundryCode);
miscRcpMap.put("acct_code",acctCode);
miscRcpMap.put("cctr_code",cctrCode);
miscRcpMap.put("amount",amount);
miscRcpMap.put("curr_code",currCode);
miscRcpMap.put("remarks",remarks);
miscRcpMap.put("confirmed",confirmed);
miscRcpMap.put("conf_date",confDate);
miscRcpMap.put("emp_code__aprv",empCodeAprv);
miscRcpMap.put("drcr_flag",drcrFlag);
miscRcpMap.put("tran_id__rcv",tranIdRcv);
miscRcpMap.put("item_ser",itemSer);
miscRcpMap.put("amount__bc",amountBc);
miscRcpMap.put("exch_rate",exchRate);
miscRcpMap.put("sreturn_no",sreturnNo);
miscRcpMap.put("adj_misc_crn",adjMiscCrn);
miscRcpMap.put("adj_amount",adjAmount);
miscRcpMap.put("round_adj",roundAdj);
miscRcpMap.put("cust_ref_no",custRefNo);
miscRcpMap.put("rnd_off",rndOff);
miscRcpMap.put("rnd_to",rndTo);
//Added By Manoj dtd 03/05/2013 to set Customer code to update in receivable
miscRcpMap.put("cust_code",sundryCode);
miscRcpMap.put("acct_code__tot_ar",acctCodeAR);
miscRcpMap.put("cctr_code__tot_ar",cctrCodeAR);
//miscRcpMap.put("site_code__drcr",siteCodeDrcr);
//check record present in detail or not and apply lock
// if("db2".equalsIgnoreCase(CommonConstants.DB_NAME))
// {
// sql ="select count(*) from misc_drcr_rdet where tran_id = ? for update";
//
//
// }else if("mssql".equalsIgnoreCase(CommonConstants.DB_NAME))
// {
// sql ="select count(*) from misc_drcr_rdet (updlock) where tran_id = ?";
//
// }else
// {
sql ="select count(*) from misc_drcr_rdet where tran_id = ?";
// }
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt1 =rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("cnt1["+cnt1+"]");
if(cnt1 <= 0)
{
System.out.println("no record found in misc_drcr_rdet");
errString = itmDBAccessEJB.getErrorString("","VTNOREC2","","",conn);
return errString;
}
//taking details for particular tran_id
sql =" select line_no,acct_code,cctr_code,amount,anal_code,emp_code,net_amt,tax_amt,tax_class,tax_chap, "
+" tax_env,reas_code,ref_no,item_code,quantity,rate,line_no__sret,line_no__invtrace,lot_no,lot_sl,analysis1,analysis2,analysis3,sundry_type "
+" from misc_drcr_rdet "
+" where tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
while(rs.next())
{
lineNo = rs.getString("line_no");
detAcctCode = rs.getString("acct_code");
detCctrCode = rs.getString("cctr_code");
detAmount = rs.getDouble("amount");
detAnalCode = rs.getString("anal_code");
detEmpCode = rs.getString("emp_code");
detNetAmt = rs.getDouble("net_amt");
detTaxAmt = rs.getDouble("tax_amt");
detTaxClass = rs.getString("tax_class");
detTaxChap = rs.getString("tax_chap");
detTaxEnv = rs.getString("tax_env");
detReasCode = rs.getString("reas_code");
detRefNo = rs.getString("ref_no");
detItemCode = rs.getString("item_code");
detQuantity = rs.getDouble("quantity");
detRate = rs.getDouble("rate");
lineNoSret = rs.getString("line_no__sret");
lineNoInvtrace = rs.getString("line_no__invtrace");
detLotNo = rs.getString("lot_no");
detLotSl = rs.getString("lot_sl");
analysis1 = rs.getString("analysis1");
analysis2 = rs.getString("analysis2");
analysis3 = rs.getString("analysis3");
detSundryType=rs.getString("sundry_type");
miscRdetMap = new HashMap();
miscRdetMap.put("line_no",lineNo);
miscRdetMap.put("acct_code",detAcctCode);
miscRdetMap.put("cctr_code",detCctrCode);
miscRdetMap.put("amount",(detAmount+detTaxAmt));//Tax Amount added in Detail amount by manoj dtd 22/06/2013
miscRdetMap.put("anal_code",detAnalCode);
miscRdetMap.put("emp_code",detEmpCode);
miscRdetMap.put("net_amt",detNetAmt);
miscRdetMap.put("tax_amt",detTaxAmt);
miscRdetMap.put("tax_class",detTaxClass);
miscRdetMap.put("tax_chap",detTaxChap);
miscRdetMap.put("tax_env",detTaxEnv);
miscRdetMap.put("reas_code",detReasCode);
miscRdetMap.put("ref_no",detRefNo);
miscRdetMap.put("item_code",detItemCode);
miscRdetMap.put("quantity",detQuantity);
miscRdetMap.put("rate",detRate);
miscRdetMap.put("line_no__sret",lineNoSret);
miscRdetMap.put("line_no__invtrace",lineNoInvtrace);
miscRdetMap.put("lot_no",detLotNo);
miscRdetMap.put("lot_sl",detLotSl);
miscRdetMap.put("analysis1",analysis1);
miscRdetMap.put("analysis2",analysis2);
miscRdetMap.put("analysis3",analysis3);
miscRdetMap.put("sundry_type",detSundryType);
miscRdetList.add(miscRdetMap);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//taking details from misc_drcr_rcpinv and apply lock
// if("db2".equalsIgnoreCase(CommonConstants.DB_NAME))
// {
// sql =" select line_no,ref_ser,ref_no,adj_amt,ref_bal_amt,mrp_value__adj "
// +" from misc_drcr_rcpinv where tran_id = ? for update" ;
//
//
// }else if("mssql".equalsIgnoreCase(CommonConstants.DB_NAME))
// {
// sql =" select line_no,ref_ser,ref_no,adj_amt,ref_bal_amt,mrp_value__adj "
// +" from misc_drcr_rcpinv(updlock) where tran_id = ?" ;
// }else
// {
sql =" select line_no,ref_ser,ref_no,adj_amt,ref_bal_amt,mrp_value__adj "
+" from misc_drcr_rcpinv where tran_id = ?" ;
// }
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
adjLineNo = rs.getString("line_no");
adjRefSer = rs.getString("ref_ser");
adjRefNo = rs.getString("ref_no");
adjAmt = rs.getDouble("adj_amt");
refBalAmt = rs.getDouble("ref_bal_amt");
mrpValueAdj = rs.getDouble("mrp_value__adj");
miscRcpInvMap = new HashMap();
miscRcpInvMap.put("line_no",adjLineNo);
miscRcpInvMap.put("ref_ser",adjRefSer);
miscRcpInvMap.put("ref_no",adjRefNo);
miscRcpInvMap.put("adj_amt",adjAmt);
miscRcpInvMap.put("ref_bal_amt",refBalAmt);
miscRcpInvMap.put("mrp_value__adj",mrpValueAdj);
miscRcpInvList.add(miscRcpInvMap);
}
//commented as discussed with shri mam else
// {
// System.out.println("no record found in misc_drcr_rcpinv");
// errString = itmDBAccessEJB.getErrorString("","VTNOREC2","","",conn);
// return errString;
// }
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//for run mode "I" {as discussed with KB sir it is only for PB compatibility}
if ("I".equalsIgnoreCase(runMode))
{
toDay =new java.sql.Timestamp(toDate.getTime());
if("MDRCRC".equalsIgnoreCase(tranSer.trim()))
{
winName = "W_MISC_DRCR_RCP_CR";
}
else if("MDRCRD".equalsIgnoreCase(tranSer.trim()))
{
winName = "W_MISC_DRCR_RCP_DR";
}
sql =" select ledg_post_conf from transetup where upper(tran_window) = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,winName);
rs = pstmt.executeQuery();
if(rs.next())
{
ledgPostConf = rs.getString("ledg_post_conf");
}
else
{
System.out.println("Record not found in transetup");
errString = itmDBAccessEJB.getErrorString("","VTSEQ","","",conn);
return errString;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(ledgPostConf != null && "Y".equalsIgnoreCase(ledgPostConf))
{
if(tranDate.compareTo(toDay) > 0)
{
sql =" update misc_drcr_rcp set tran_date = ? "
+" where tran_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1,tranDate);
pstmt.setString(2,tranId);
upd = pstmt.executeUpdate();
if(upd <1 )
{
throw new ITMException(new Exception("updateFail"));
}
pstmt.close();
pstmt = null;
}
}
if(("null".equals(roundAdj)) || (roundAdj == 0))
{
amthdr1 = amount ;
if(!("N").equalsIgnoreCase(rndOff))
{
amount = Dcommon.getRndamt(amthdr1,rndOff,rndTo);
}
if(amthdr1 != amount)
{
sql =" update misc_drcr_rcp "
+" set round_adj = ? ,amount = ? ,amount__bc = ? "
+" where tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,(amount - amthdr1));
pstmt.setDouble(2,amthdr1);
pstmt.setDouble(3,(amount * exchRate));
pstmt.setString(4,tranId);
upd = pstmt.executeUpdate();
if(upd <1 )
{
throw new ITMException(new Exception());
}
pstmt.close();
pstmt = null;
miscRcpMap.put("round_adj",(amount - amthdr1));
miscRcpMap.put("amount",amthdr1);
miscRcpMap.put("amount__bc",(amount * exchRate));
}
}
//insert into misc_drcr_rdet
// sqlInsert =" insert into misc_drcr_rdet "
// +" (tran_id,line_no,acct_code,cctr_code,amount,emp_code,anal_code)"
// +" values (?,?,?,?,?,?,?)";
// pstmtInsert = conn.prepareStatement(sqlInsert);
amountRadj =Double.parseDouble(miscRcpMap.get("round_adj").toString());
if("null".equals(amountRadj))
{
amountRadj = 0;
}
if(amountRadj !=0 )
{
acctCodeRadj = Fcommon.getFinparams("999999","ROUND_ADJUST_ACCT",conn);
cctrCodeRadj = Fcommon.getFinparams("999999","ROUND_ADJUST_CCTR",conn);
if("null".equalsIgnoreCase(cctrCodeRadj)) cctrCodeRadj = "";
//// for (int ctr =0; ctr < miscRdetList.size(); ctr++)
//// {
//// miscRdetListMap = new HashMap();
//// miscRdetListMap = (HashMap) miscRdetList.get(ctr);
////
//// lineNo = (String) miscRdetListMap.get("line_no");
//// acctCode = (String) miscRdetListMap.get("acct_code");
//// cctrCode =(String) miscRdetListMap.get("cctr_code");
//// amount = Double.parseDouble(miscRdetListMap.get("amount").toString());
//// amt = amount+amountRadj;
////finding first acctCode & cctrCode in misc_drcr_rdet & last line no
// miscRdetListMap = new HashMap();
// miscRdetListMap = (HashMap) miscRdetList.get(0);
//
//// lineNo = (String) miscRdetListMap.get("line_no");
// acctCode = (String) miscRdetListMap.get("acct_code");
// cctrCode =(String) miscRdetListMap.get("cctr_code");
// miscRdetListMap = new HashMap();
// miscRdetListMap = (HashMap) miscRdetList.get(miscRdetList.size()-1);
// lineNo = (String) miscRdetListMap.get("line_no");
for (int ctr =0; ctr < miscRdetList.size(); ctr++)
{
miscRdetListMap = new HashMap();
miscRdetListMap = (HashMap) miscRdetList.get(ctr);
lineNo = (String) miscRdetListMap.get("line_no");
acctCode = (String) miscRdetListMap.get("acct_code");
cctrCode =(String) miscRdetListMap.get("cctr_code");
// if(!(acctCodeRadj.equalsIgnoreCase(acctCode)) &&(cctrCodeRadj.equalsIgnoreCase(cctrCode)))
if((acctCodeRadj.equalsIgnoreCase(acctCode)) &&(cctrCodeRadj.equalsIgnoreCase(cctrCode)))
{
System.out.println(" Search acctCode & cctrCode Record found @ line no " +lineNo);
status=true;
foundAt=ctr;
break;
}
}if(!status)
{
// }
//
// if(!(acctCodeRadj.equalsIgnoreCase(acctCode)) &&(cctrCodeRadj.equalsIgnoreCase(cctrCode)))
// {
System.out.println("inserting into misc_drcr_rdetif(!(acctCodeRadj.equalsIgnoreCase(acctCode)) &&(cctrCodeRadj.equalsIgnoreCase(cctrCode)))");
sqlInsert =" insert into misc_drcr_rdet "
+" (tran_id,line_no,acct_code,cctr_code,amount,emp_code,anal_code)"
+" values (?,?,?,?,?,?,?)";
pstmtInsert = conn.prepareStatement(sqlInsert);
miscRdetListMap = new HashMap();
miscRdetListMap = (HashMap) miscRdetList.get(miscRdetList.size()-1);
lineNo = (String) miscRdetListMap.get("line_no");
lineNo = (new Integer (Integer.parseInt(lineNo)+1)).toString() ;
// lineNo =lineNo+1;
pstmtInsert.setString(1,tranId);
pstmtInsert.setString(2,lineNo);
pstmtInsert.setString(3,acctCodeRadj);
pstmtInsert.setString(4,cctrCodeRadj);
pstmtInsert.setDouble(5,amountRadj);
pstmtInsert.setString(6,"");
pstmtInsert.setString(7,"");
// pstmtInsert.addBatch();
//adding values to miscRdetListMap
miscRdetMap = new HashMap();
miscRdetMap.put("tran_id", tranId);
miscRdetMap.put("line_no", lineNo);
miscRdetMap.put("acct_code", lineNo);
miscRdetMap.put("acct_code",acctCodeRadj);
miscRdetMap.put("cctr_code",cctrCodeRadj);
miscRdetMap.put("amount",amountRadj);
miscRdetMap.put("emp_code","");
miscRdetMap.put("anal_code","");
miscRdetMap.put("sundry_type",detSundryType);
miscRdetList.add(miscRdetMap);
//end
upd = pstmtInsert.executeUpdate();
pstmtInsert.close();
pstmtInsert=null;
if(upd <1)
{
throw new Exception("Update Fail");
}
}
else
{
// sqlInner =" update MISC_DRCR_RDET set amount = ? where tran_id = ? and line_no = ? ";
sqlInner =" update MISC_DRCR_RDET set amount =amount+ ? where tran_id = ? and line_no = ? ";
pstmtInner = conn.prepareStatement(sqlInner);
// pstmtInner.setDouble(1,amt);
pstmtInner.setDouble(1,amountRadj);
pstmtInner.setString(2,tranId);
pstmtInner.setString(3,lineNo);
updCnt = pstmtInner.executeUpdate();
if(updCnt <1)
{
throw new ITMException(new Exception("updateFail"));
}
pstmtInner.close();
pstmtInner = null;
// modify Map for these new values
miscRdetListMap = new HashMap();
miscRdetListMap = (HashMap)miscRdetList.get(foundAt);
miscRdetMap = new HashMap();
miscRdetMap.put("line_no",miscRdetListMap.get("line_no"));
miscRdetMap.put("acct_code",miscRdetListMap.get("acct_code"));
miscRdetMap.put("cctr_code",miscRdetListMap.get("cctr_code"));
miscRdetMap.put("amount",((Double)miscRdetListMap.get("amount") +amountRadj));
miscRdetMap.put("anal_code",miscRdetListMap.get("anal_code"));
miscRdetMap.put("emp_code",miscRdetListMap.get("emp_code"));
miscRdetMap.put("net_amt",miscRdetListMap.get("net_amt"));
miscRdetMap.put("tax_amt",miscRdetListMap.get("tax_amt"));
miscRdetMap.put("tax_class",miscRdetListMap.get("tax_class"));
miscRdetMap.put("tax_chap",miscRdetListMap.get("tax_chap"));
miscRdetMap.put("tax_env",miscRdetListMap.get("tax_env"));
miscRdetMap.put("reas_code",miscRdetListMap.get("reas_code"));
miscRdetMap.put("ref_no",miscRdetListMap.get("ref_no"));
miscRdetMap.put("item_code",miscRdetListMap.get("item_code"));
miscRdetMap.put("quantity",miscRdetListMap.get("line_no"));
miscRdetMap.put("rate",miscRdetListMap.get("rate"));
miscRdetMap.put("line_no__sret",miscRdetListMap.get("line_no__sret"));
miscRdetMap.put("line_no__invtrace",miscRdetListMap.get("line_no__invtrace"));
miscRdetMap.put("lot_no",miscRdetListMap.get("lot_no"));
miscRdetMap.put("lot_sl",miscRdetListMap.get("lot_sl"));
miscRdetMap.put("analysis1",miscRdetListMap.get("analysis1"));
miscRdetMap.put("analysis2",miscRdetListMap.get("analysis2"));
miscRdetMap.put("analysis3",miscRdetListMap.get("analysis3"));
miscRdetMap.put("sundry_type",miscRdetListMap.get("sundry_type")); miscRdetMap.put("detSundryType",detSundryType);
miscRdetList.add(foundAt,miscRdetMap );
//end
}
// }
} // end of amountRadj !=0
sql =" select acct_code,cctr_code,case when sum(tax_amt) is null then 0 else sum(tax_amt) end as taxAmt, "
+" case when sum(reco_amount) is null then 0 else sum(reco_amount) end as recoAmount "
+" from taxtran where tran_code= ? and "
+" tran_id = ? and tax_amt <> 0 and effect <> 'N' "
+" group by acct_code,cctr_code" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranSer);
pstmt.setString(2,tranId);
rs = pstmt.executeQuery();
while(rs.next())
{
acctCodeReco = rs.getString("acct_code");
cctrCodeReco = rs.getString("cctr_code");
taxAmt = rs.getDouble("taxAmt");
recoAmt = rs.getDouble("recoAmount");
// for(int ctr =0; ctr< miscRdetList.size(); ctr++)
// {
// miscRdetListMap = new HashMap();
// miscRdetListMap = (HashMap) miscRdetList.get(ctr);
//
// lineNo = (String) miscRdetListMap.get("line_no");
// acctCode = (String) miscRdetListMap.get("acct_code");
// cctrCode =(String) miscRdetListMap.get("cctr_code");
// amount = Double.parseDouble(miscRdetListMap.get("amount").toString());
// amt = amount+recoAmt;
if(acctCodeReco == null)
{
//taking default account code
miscRdetListMap = new HashMap();
miscRdetListMap = (HashMap) miscRdetList.get(0);
acctCode = (String) miscRdetListMap.get("acct_code");
cctrCode =(String) miscRdetListMap.get("cctr_code");
acctCodeReco = acctCode;
}
if(cctrCodeReco == null)
{
//taking default costCtr code
miscRdetListMap = new HashMap();
miscRdetListMap = (HashMap) miscRdetList.get(0);
cctrCode =(String) miscRdetListMap.get("cctr_code");
cctrCodeReco = cctrCode;
}
System.out.println("inserting into misc_drcr_rdetselect acct_code,cctr_code,sum(nvl(tax_amt,0))");
sqlInsert =" insert into misc_drcr_rdet "
+" (tran_id,line_no,acct_code,cctr_code,amount,emp_code,anal_code)"
+" values (?,?,?,?,?,?,?)";
pstmtInsert = conn.prepareStatement(sqlInsert);
if(status && flg)
{
miscRdetListMap = new HashMap();
miscRdetListMap = (HashMap) miscRdetList.get(miscRdetList.size()-1);
lineNo = (String) miscRdetListMap.get("line_no");
flg=false;
System.out.println("lineNo status" +lineNo +status);
}
lineNo = (new Integer (Integer.parseInt(lineNo)+1)).toString() ;
System.out.println("lineNo out side if flg" +lineNo +flg);
pstmtInsert.setString(1,tranId);
pstmtInsert.setString(2,lineNo);
pstmtInsert.setString(3,acctCodeReco);
pstmtInsert.setString(4,cctrCodeReco);
pstmtInsert.setDouble(5,(taxAmt-recoAmt));
pstmtInsert.setString(6,"");
pstmtInsert.setString(7,"");
pstmtInsert.addBatch();
//adding values to miscRdetListMap
miscRdetMap = new HashMap();
miscRdetMap.put("tran_id", tranId);
miscRdetMap.put("line_no", lineNo);
miscRdetMap.put("acct_code",acctCodeReco);
miscRdetMap.put("cctr_code",cctrCodeReco);
miscRdetMap.put("amount",(taxAmt-recoAmt));
miscRdetMap.put("emp_code","");
miscRdetMap.put("anal_code","");
miscRdetMap.put("sundry_type","O");
miscRdetList.add(miscRdetMap);
//end
// upd =pstmtInsert.executeUpdate();
// if(upd < 1)
// {
// throw new Exception("UpdateFail");
// }
// }
}// end while
if(pstmtInsert!=null)
{
batchCount =pstmtInsert.executeBatch();
System.out.println("nos of row inserted "+batchCount.length);
pstmtInsert.close();
pstmtInsert=null;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//taking reco_amount
sql =" select line_no, acct_code__reco,cctr_code__reco, "
+" case when sum(reco_amount) is null then 0 else sum(reco_amount) end as recoAmount "
+" from taxtran where tran_code= ? and "
+" tran_id = ? and "
+" (case when (reco_amount) is null then 0 else (reco_amount) end) <> 0 "
+" and effect <> 'N' "
+" group by line_no,acct_code__reco,cctr_code__reco" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranSer);
pstmt.setString(2,tranId);
rs = pstmt.executeQuery();
while(rs.next())
{
lineNo = rs.getString("line_no");
acctCodeReco = rs.getString("acct_code__reco");
cctrCodeReco = rs.getString("cctr_code__reco");
recoAmt = rs.getDouble("recoAmount");
// for (int ctr =0; ctr< miscRdetList.size(); ctr++)
// {
// miscRdetListMap = new HashMap();
// miscRdetListMap = (HashMap)miscRdetList.get(ctr);
//
// lineNo = (String) miscRdetListMap.get("line_no");
// acctCode = (String) miscRdetListMap.get("acct_code");
// cctrCode =(String) miscRdetListMap.get("cctr_code");
// amount = Double.parseDouble(miscRdetListMap.get("amount").toString());
// amt = amount+recoAmt;
if(acctCodeReco == null || acctCodeReco.trim().length()== 0)
{
miscRdetListMap = new HashMap();
miscRdetListMap = (HashMap)miscRdetList.get(Integer.parseInt(lineNo.trim())-1);
// System.out.println();
detItemCode =(String)miscRdetListMap.get("item_code");
// cctrCode = Fcommon.getAcctDetrTtype(detItemCode," ","TAXRECO",tranType,conn);
cctrCodeReco = Fcommon.getAcctDetrTtype(detItemCode," ","TAXRECO",tranType,conn);
System.out.println("<!@#>from AcctDetrType acctCodeReco & cctrCodeReco:" +cctrCodeReco+":");
/*
if(cctrCodeReco.trim().length() > 1)
{
// String[] ary =cctrCodeReco.split("//t");
String[] ary =cctrCodeReco.split(",");
// taxAcct = ary[0];
acctCodeReco = ary[0];
System.out.println("<!@#>cctrCodeReco is " +cctrCodeReco);
// taxCctr = ary[1];
cctrCodeReco = ary[1];
}
if(acctCodeReco == null || acctCodeReco.trim().length() == 0 )
{
errString = itmDBAccessEJB.getErrorString("","VTACCTRECO","","",conn);
return errString;
}
if (cctrCodeReco == null || cctrCodeReco.trim().length() == 0 )
{
cctrCodeReco = " ";
}
*/
if(cctrCodeReco.length() > 0)
{
System.out.println("in if");
// String[] ary =cctrCodeReco.split("//t");
String[] ary =cctrCodeReco.split(",");
if(ary.length >0)
{
System.out.println("<!@#>ary " +ary.length);
acctCodeReco = ary[0];
}else
{
acctCodeReco ="";
} if(ary.length >1)
{
cctrCodeReco = ary[1];
}else
{
cctrCodeReco =" ";
}
// System.out.println("<!@#>cctrCodeReco is " +cctrCodeReco);
// taxCctr = ary[1];
}
if(acctCodeReco == null || acctCodeReco.trim().length() == 0 )
{
errString = itmDBAccessEJB.getErrorString("","VTACCTRECO","","",conn);
return errString;
}
}
// if(taxAcct == null || taxAcct.trim().length() == 0 )
// {
// errString = itmDBAccessEJB.getErrorString("","VTACCTRECO","","",conn);
// return errString;
// }
// if (taxCctr == null || taxCctr.trim().length() == 0 )
// {
// taxCctr = " ";
// }
// finding lines
status= false;
foundAt=0;
for (int ctr =0; ctr < miscRdetList.size()-1; ctr++)
{
miscRdetListMap = new HashMap();
miscRdetListMap = (HashMap) miscRdetList.get(ctr);
lineNo = (String) miscRdetListMap.get("line_no");
acctCode = (String) miscRdetListMap.get("acct_code");
cctrCode =(String) miscRdetListMap.get("cctr_code");
// if(!(acctCodeRadj.equalsIgnoreCase(acctCode)) &&(cctrCodeRadj.equalsIgnoreCase(cctrCode)))
// if(!(acctCodeReco.equalsIgnoreCase(acctCode)) &&(cctrCodeReco.equalsIgnoreCase(cctrCode)))
if((acctCodeReco.equalsIgnoreCase(acctCode)) &&(cctrCodeReco.equalsIgnoreCase(cctrCode)))
{
System.out.println(" Search acctCodeReco & cctrCodeReco Record found @ line no " +lineNo);
status=true;
flg=false;
break;
}
}
if(!status)
// if(!(acctCodeReco.equalsIgnoreCase(acctCode)) &&(cctrCodeReco.equalsIgnoreCase(cctrCode)))
{
sqlInsert =" insert into misc_drcr_rdet "
+" (tran_id,line_no,acct_code,cctr_code,amount,emp_code,anal_code)"
+" values (?,?,?,?,?,?,?)";
pstmtInsert=conn.prepareStatement(sqlInsert);
// if(status && flg)
// {
miscRdetListMap = new HashMap();
miscRdetListMap = (HashMap) miscRdetList.get(miscRdetList.size()-1);
lineNo = (String) miscRdetListMap.get("line_no");
// flg=false;
System.out.println("lineNo status" +lineNo +status);
// }
lineNo = (new Integer (Integer.parseInt(lineNo)+1)).toString() ;
// lineNo = lineNo +1;
//for testing
// if(cctrCodeReco ==null)
// {
// cctrCodeReco="";
// }
//for testing
pstmtInsert.setString(1,tranId);
pstmtInsert.setString(2,lineNo);
pstmtInsert.setString(3,acctCodeReco);
pstmtInsert.setString(4,cctrCodeReco);
pstmtInsert.setDouble(5,recoAmt);
pstmtInsert.setString(6,"");
pstmtInsert.setString(7,"");
pstmtInsert.addBatch();
//adding values to miscRdetListMap
miscRdetMap = new HashMap();
miscRdetMap.put("tran_id", tranId);
miscRdetMap.put("line_no", lineNo);
miscRdetMap.put("acct_code", lineNo);
miscRdetMap.put("acct_code",acctCodeReco);
miscRdetMap.put("cctr_code",cctrCodeReco);
miscRdetMap.put("amount",(recoAmt));
miscRdetMap.put("emp_code","");
miscRdetMap.put("anal_code","");
miscRdetMap.put("sundry_type",detSundryType);
miscRdetList.add(miscRdetMap);
}
else
{
// sqlInner =" update MISC_DRCR_RDET set amount = ? where tran_id = ? and line_no = ? ";
sqlInner =" update MISC_DRCR_RDET set amount = amount + ? where tran_id = ? and line_no = ? ";
pstmtInner = conn.prepareStatement(sqlInner);
// pstmtInner.setDouble(1,amt);
pstmtInner.setDouble(1,recoAmt);
pstmtInner.setString(2,tranId);
pstmtInner.setString(3,lineNo);
updCnt = pstmtInner.executeUpdate();
if(updCnt <1)
{
throw new Exception("UpdateFail");
}
pstmtInner.close();
pstmtInner = null;
// modify Map for these new values
miscRdetListMap = new HashMap();
miscRdetListMap = (HashMap)miscRdetList.get(foundAt);
miscRdetMap = new HashMap();
miscRdetMap.put("line_no",miscRdetListMap.get("line_no"));
miscRdetMap.put("acct_code",miscRdetListMap.get("acct_code"));
miscRdetMap.put("cctr_code",miscRdetListMap.get("cctr_code"));
miscRdetMap.put("amount",((Double)miscRdetListMap.get("amount") +recoAmt));
miscRdetMap.put("anal_code",miscRdetListMap.get("anal_code"));
miscRdetMap.put("emp_code",miscRdetListMap.get("emp_code"));
miscRdetMap.put("net_amt",miscRdetListMap.get("net_amt"));
miscRdetMap.put("tax_amt",miscRdetListMap.get("tax_amt"));
miscRdetMap.put("tax_class",miscRdetListMap.get("tax_class"));
miscRdetMap.put("tax_chap",miscRdetListMap.get("tax_chap"));
miscRdetMap.put("tax_env",miscRdetListMap.get("tax_env"));
miscRdetMap.put("reas_code",miscRdetListMap.get("reas_code"));
miscRdetMap.put("ref_no",miscRdetListMap.get("ref_no"));
miscRdetMap.put("item_code",miscRdetListMap.get("item_code"));
miscRdetMap.put("quantity",miscRdetListMap.get("line_no"));
miscRdetMap.put("rate",miscRdetListMap.get("rate"));
miscRdetMap.put("line_no__sret",miscRdetListMap.get("line_no__sret"));
miscRdetMap.put("line_no__invtrace",miscRdetListMap.get("line_no__invtrace"));
miscRdetMap.put("lot_no",miscRdetListMap.get("lot_no"));
miscRdetMap.put("lot_sl",miscRdetListMap.get("lot_sl"));
miscRdetMap.put("analysis1",miscRdetListMap.get("analysis1"));
miscRdetMap.put("analysis2",miscRdetListMap.get("analysis2"));
miscRdetMap.put("analysis3",miscRdetListMap.get("analysis3"));
miscRdetMap.put("sundry_type",miscRdetListMap.get("sundry_type"));
miscRdetList.add(foundAt,miscRdetMap );
//end
}
// }
}// end while
if(pstmtInsert !=null)
{
batchCount =pstmtInsert.executeBatch();
System.out.println("nos of row inserted "+batchCount.length);
pstmtInsert.close();
pstmtInsert =null;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(("C".equalsIgnoreCase(sundryType)) && (adjMiscCrn != null))
{
if(("AI".equalsIgnoreCase(adjMiscCrn.trim())) || ("AC".equalsIgnoreCase(adjMiscCrn.trim())))
{
errString = this.gbfPopuMiscDrcrRcpAdj(tranId,miscRcpMap,adjMiscCrn,miscRcpInvList,conn);
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
}
else if (("MI".equalsIgnoreCase(adjMiscCrn.trim())) || ("MC".equalsIgnoreCase(adjMiscCrn.trim())))
{
for (int ctr =0; ctr< miscRcpInvList.size(); ctr++)
{
miscRcpInvListMap = new HashMap();
miscRcpInvListMap = (HashMap) miscRcpInvList.get(ctr);
adjRefNo = (String)miscRcpInvListMap.get("ref_no");
adjRefSer = (String)miscRcpInvListMap.get("ref_ser");
adjAmt = Double.parseDouble(miscRcpInvListMap.get("adv_amt").toString());
tot = tot + adjAmt;
// sql =" select count(*) from receivables "
// +" where cust_code = ? and tran_ser = ? and ref_no = ?";
// pstmt = conn.prepareStatement(sql);
// pstmt.setString(1,sundryCode);
// pstmt.setString(2,adjRefSer);
// pstmt.setString(3,adjRefNo);
// rs = pstmt.executeQuery();
// if(rs.next())
// {
// cnt = rs.getInt(1);
// }
// rs.close();
// rs= null;
// pstmt.close();
// pstmt=null;
//
// if (cnt == 0)
// {
// errString = itmDBAccessEJB.getErrorString("","VMREF1","","",conn);
// return errString;
// }
sql =" select (tot_amt - adj_amt) amt,tot_amt,adj_amt from receivables "
+" where cust_code = ? and tran_ser = ? and ref_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sundryCode);
pstmt.setString(2,adjRefSer);
pstmt.setString(3,adjRefNo);
rs = pstmt.executeQuery();
if(rs.next())
{
recAmt = rs.getDouble("amt");
totAmt = rs.getDouble("tot_amt");
recAdjAmt = rs.getDouble("adj_amt");
}else
{
System.out.println("NO record found in receivables ");
errString = itmDBAccessEJB.getErrorString("","VTNOREC2","","",conn);
return errString;
}
rs.close();
rs= null;
pstmt.close();
pstmt=null;
if((Math.abs(recAdjAmt+adjAmt)) > Math.abs(totAmt))
{
errString = itmDBAccessEJB.getErrorString("","VTRECBAL","","",conn);
return errString;
}
}//end of for
if(sreturnNo != null)
{
sql =" select cust_code from sreturn where tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sreturnNo);
rs = pstmt.executeQuery();
if(rs.next())
{
custCode = rs.getString("cust_code");
}
rs.close();
rs= null;
pstmt.close();
pstmt=null;
if(custCode.trim() != sundryCode.trim())
{
errString = itmDBAccessEJB.getErrorString("","VTCUSTCD","","",conn);
return errString;
}
if("MI".equalsIgnoreCase(adjMiscCrn.trim()))
{
sql =" select item_ser from sreturn where tran_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,sreturnNo);
rs = pstmt.executeQuery();
if(rs.next())
{
itemSr = rs.getString("item_ser");
}
rs.close();
rs= null;
pstmt.close();
pstmt=null;
if(itemSer.trim() != itemSr.trim())
{
errString = itmDBAccessEJB.getErrorString("","VTRITMSER","","",conn);
return errString;
}
}
}
amt = Double.parseDouble(miscRcpMap.get("amount").toString());
if(amt < 0 && tot <= 0)
{
if(Math.abs(amt) < Math.abs(tot))
{
errString = itmDBAccessEJB.getErrorString("","VTRECAMT","","",conn);
return errString;
}
// else if(amt < tot)
// {
// errString = itmDBAccessEJB.getErrorString("","VTRECAMT","","",conn);
// return errString;
// }
}
} // end of MI or MC
}// end of C is sundry Type
if(errString.length() == 0)
{
errString = this.gbfPostMiscDrcrRcp(tranId,miscRcpMap,miscRdetList,miscRcpInvList,xtraParams,conn);
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
}
}
}catch(Exception e)
{
System.out.println("Exception :MiscDrcrConfirm :gbfRetrieveMiscDrcrRcp :SQLException :==>\n"+e.getMessage());
e.printStackTrace();
throw new ITMException(e);
}
return errString;
}
//migration of gbfPopuMiscDrcrRcpAdj
//populating automatic adjustment of advance of customer
private String gbfPopuMiscDrcrRcpAdj(String tranId,HashMap miscRcpMap,String adjMiscCrn,ArrayList miscRcpInvList,Connection conn)throws RemoteException,ITMException
{
PreparedStatement pstmt = null;
PreparedStatement pstmtInsert = null;
ResultSet rs = null;
ResultSet rsInsert = null;
String sql = "",sqlInsert="";
ConnDriver connDriver = null;
String errString = "" ;
GenericUtility genericUtility = null;
ITMDBAccessEJB itmDBAccessEJB = null;
FinCommon Fcommon = new FinCommon();
DistCommon Dcommon = new DistCommon();
genericUtility = new GenericUtility();
HashMap glTraceMap = null,miscRdetListMap = null;
java.util.Date toDay = new java.util.Date();
java.sql.Timestamp tDay = null;
String date="",cust="",itemSer="",tranSer="",recNo="";
double amt=0,adjAmt=0,totAdj=0;
int line =0;
int upd1=0;
int []batchCount =null;
try
{
System.out.println("<!@#> In gbfPopuMiscDrcrRcpAdj :::::::::::::::::::::::::::::::");
date = Dcommon.getDisparams("999999","ADJ_CRN_ORD",conn);
if("NULLFOUND".equalsIgnoreCase(date.trim()))
{
errString = "NULLFOUND";
return errString;
}
else if("E".equalsIgnoreCase(date.trim()))
{
date = "eff_date";
}
else if("D".equalsIgnoreCase(date.trim()))
{
date = "due_date";
}
amt = Double.parseDouble(miscRcpMap.get("amount").toString());
cust = (String)miscRcpMap.get("sundry_code");
itemSer = (String)miscRcpMap.get("item_ser");
// sqlInsert =" insert into misc_drcr_rcpinv "
// +" (tran_id,line_no,ref_ser,ref_no,adj_amt,ref_bal_amt) "
// +" values (?,?,?,?,?,?) ";
// pstmtInsert = conn.prepareStatement(sqlInsert);
if("AI".equalsIgnoreCase(adjMiscCrn))
{
sql =" select tran_ser,ref_no,(tot_amt - adj_amt) as amt from receivables "
+" where cust_code = ? and item_ser = ? "
+" and (tot_amt - adj_amt) <> 0 and tran_ser ='S-INV' order by ? asc ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,cust);
pstmt.setString(2,itemSer);
pstmt.setString(3,date);
}
else if("AC".equalsIgnoreCase(adjMiscCrn))
{
sql =" select tran_ser,ref_no,(tot_amt - adj_amt) as amt from receivables "
+" where cust_code = ? and (tot_amt - adj_amt) <> 0 "
+" and tran_ser ='S-INV' order by ? asc " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,cust);
pstmt.setString(2,date);
}
rs = pstmt.executeQuery();
sqlInsert =" insert into misc_drcr_rcpinv "
+" (tran_id,line_no,ref_ser,ref_no,adj_amt,ref_bal_amt) "
+" values (?,?,?,?,?,?) ";
// pstmtInsert = conn.prepareStatement(sqlInsert);
pstmtInsert=null;
while (rs.next())
{
pstmtInsert = conn.prepareStatement(sqlInsert);
tranSer = rs.getString("tran_ser");
recNo = rs.getString("ref_no");
adjAmt = rs.getDouble("amt");
line =line+1;
pstmtInsert.setString(1,tranId);
pstmtInsert.setInt(2,line);
pstmtInsert.setString(3,tranSer);
pstmtInsert.setString(4,recNo.trim());
if(amt >= adjAmt)
{
totAdj = totAdj +adjAmt;
pstmtInsert.setDouble(5,adjAmt);
pstmtInsert.setDouble(6,adjAmt);
amt = amt - adjAmt;
}
else
{
totAdj = totAdj + amt;
pstmtInsert.setDouble(5,amt);
pstmtInsert.setDouble(6,adjAmt);
}
pstmtInsert.addBatch();
// pstmtInsert.executeBatch();
// upd1 = pstmtInsert.executeUpdate();
// if(upd1<1)
// {
// throw new Exception("UpdateFail");
// }
}//end of while
if(pstmtInsert !=null)
{
batchCount =pstmtInsert.executeBatch();
System.out.println("Nos of row updated " +batchCount.length);
}
pstmtInsert.close();
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql =" update misc_drcr_rcp set adj_amount = ? where tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,totAdj);
pstmt.setString(2,tranId);
upd1 = pstmt.executeUpdate();
if(upd1<1)
{
throw new Exception("UpdateFail");
}
pstmt.close();
pstmt = null;
}// end of try
catch(SQLException e)
{
System.out.println("Exception :MiscDrcrConfirm :gbfPopuMiscDrcrRcpAdj :SQLException :==>\n"+e.getMessage());
errString = GenericUtility.getInstance().createErrorString(e);
throw new ITMException(e);
}
catch (Exception e)
{
System.out.println("Exception :MiscDrCrRcpConf :gbfPopuMiscDrcrRcpAdj :==>"+e.getMessage());
errString = GenericUtility.getInstance().createErrorString(e);
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(rsInsert != null)
{
rsInsert.close();
rsInsert = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(pstmtInsert != null)
{
pstmtInsert.close();
pstmtInsert = null;
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
// migration gbf_post_misc_drcr_rcphdr
private String gbfPostMiscDrcrRcphdr(String tranId,HashMap miscRcpMap,String xtraParams,Connection conn)throws RemoteException,ITMException
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "",errString = "" ;
GenericUtility genericUtility = null;
ITMDBAccessEJB itmDBAccessEJB = null;
FinCommon Fcommon = new FinCommon();
genericUtility = new GenericUtility();
HashMap glTraceMap = null,sundryBalMap = null,receivablesMap = null;
java.util.Date toDay = new java.util.Date();
java.sql.Timestamp tDay = null;
String loginEmpCode="",gRefId="",tranSer="",winName="",ediOption="",acctCodePay="",siteCode="";
String drcrFlag="",sType="",sCode="",sretNo="",confirm="",siteCodeFor="",cctrCodePay="";
double amount=0,drAmt=0,crAmt=0,mrpValue=0;
int cnt=0;
int upd=0;
try
{
System.out.println("<!@#> In gbfPostMiscDrcrRcphdr :::::::::::::::::::::::::::::::");
itmDBAccessEJB = new ITMDBAccessEJB();
tDay = new java.sql.Timestamp(toDay.getTime());
loginEmpCode = GenericUtility.getInstance().getValueFromXTRA_PARAMS(xtraParams,"loginEmpCode");
glTraceMap = new HashMap();
sundryBalMap = new HashMap();
drcrFlag = (String)miscRcpMap.get("drcr_flag");
amount =Double.parseDouble(miscRcpMap.get("amount").toString());
//above row
// sql = "select count(*) from misc_drcr_rcp where tran_id = ? ";
// pstmt = conn.prepareStatement(sql);
// pstmt.setString(1,tranId);
// rs = pstmt.executeQuery();
// if(rs.next())
// {
// cnt = rs.getInt(1);
// }
// rs.close();
// rs = null;
// pstmt.close();
// pstmt= null;
glTraceMap.put("tran_date",(miscRcpMap.get("tran_date") == null ? "":miscRcpMap.get("tran_date")));
glTraceMap.put("eff_date",(miscRcpMap.get("eff_date") == null ? "":miscRcpMap.get("eff_date")));
glTraceMap.put("fin_entity",(miscRcpMap.get("fin_entity") == null ? "":miscRcpMap.get("fin_entity")));
glTraceMap.put("site_code",(miscRcpMap.get("site_code") == null ? "":miscRcpMap.get("site_code")));
glTraceMap.put("sundry_type",(miscRcpMap.get("sundry_type")));
glTraceMap.put("sundry_code",(miscRcpMap.get("sundry_code") == null ? "":miscRcpMap.get("sundry_code")));
System.out.println("<!@#>acount code"+miscRcpMap.get("acct_code"));
glTraceMap.put("acct_code",(miscRcpMap.get("acct_code")));
glTraceMap.put("cctr_code",(miscRcpMap.get("cctr_code") == null ? "":miscRcpMap.get("cctr_code")));
glTraceMap.put("emp_code","");
glTraceMap.put("anal_code","");
glTraceMap.put("curr_code",(miscRcpMap.get("curr_code")));
glTraceMap.put("exch_rate",(miscRcpMap.get("exch_rate")));
//added on 18/07/12
System.out.println("<!@#>:::::::::::::miscRcpMap.get(eff_date)" +miscRcpMap.get("eff_date"));
// glTraceMap.put("ref_date",(miscRcpMap.get("eff_date") == null ? "":miscRcpMap.get("eff_date")));
// glTraceMap.put("due_date",(miscRcpMap.get("due_date") == null ? "":miscRcpMap.get("due_date")));
// glTraceMap.put("ref_no",tranId);
//end
if("D".equalsIgnoreCase(drcrFlag))
{
glTraceMap.put("dr_amt",amount);
glTraceMap.put("cr_amt","0");
//added on19/07/12
miscRcpMap.put("tot_amt", amount);
}
else
{
glTraceMap.put("cr_amt",amount);
glTraceMap.put("dr_amt","0");
//added on19/07/12
miscRcpMap.put("tot_amt", (0 - amount));
}
glTraceMap.put("ref_type","F");
glTraceMap.put("ref_id",tranId);
glTraceMap.put("ref_ser",(miscRcpMap.get("tran_ser")));
glTraceMap.put("remarks",(miscRcpMap.get("remarks")));
System.out.println("<!@#>going gbfPostMiscDrcrRcphdr::::::::::: glTraceUpdate");
errString = Fcommon.glTraceUpdate(glTraceMap,conn);
System.out.println("<!@#>going gbfPostMiscDrcrRcphdr::::::::::: glTraceUpdate errString" +errString);
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
String sundryTypeGl = (String)glTraceMap.get("sundry_type");
if(!("O".equalsIgnoreCase(sundryTypeGl)))
{
sundryBalMap.put("tran_date",miscRcpMap.get("tran_date"));
sundryBalMap.put("eff_date",miscRcpMap.get("eff_date"));
sundryBalMap.put("fin_entity",miscRcpMap.get("fin_entity"));
sundryBalMap.put("site_code",miscRcpMap.get("site_code"));
sundryBalMap.put("sundry_type",glTraceMap.get("sundry_type"));
sundryBalMap.put("sundry_code",miscRcpMap.get("sundry_code"));
sundryBalMap.put("acct_code",glTraceMap.get("acct_code"));
sundryBalMap.put("cctr_code",glTraceMap.get("cctr_code"));
sundryBalMap.put("curr_code",miscRcpMap.get("curr_code"));
sundryBalMap.put("exch_rate",miscRcpMap.get("exch_rate"));
if("D".equalsIgnoreCase(drcrFlag))
{
drAmt = amount;
crAmt = 0;
}
else
{
drAmt = 0;
crAmt = amount;
}
sundryBalMap.put("dr_amt",drAmt);
sundryBalMap.put("cr_amt",crAmt);
sundryBalMap.put("adv_amt",0.0);
// sType = (String)sundryBalMap.get("sundry_type");
sCode = (String)sundryBalMap.get("sundry_code");
// if(sType != null)
// {
sundryBalMap.put("contact_code",Fcommon.getContactCode(sundryTypeGl,sCode,conn));
// }
// else
// {
// sundryBalMap.put("contact_code","");
// }
System.out.println("<!@#>going gbfPostMiscDrcrRcphdr::::::::::: gbf_sundrybal_upd");
errString = Fcommon.gbf_sundrybal_upd(sundryBalMap,conn);
System.out.println("<!@#>going gbfPostMiscDrcrRcphdr::::::::::: gbf_sundrybal_upd errString"+errString);
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
}
////genrating key for receivables
////insert into receivables 33
// sql="insert into receivables (tran_id, tran_ser, tran_date, ref_no, ref_date, " +
// "curr_code, exch_rate, cust_code, acct_code, cctr_code, " +
// "due_date, fin_entity, site_code, tot_amt, adj_amt, " +
// "discount, tax_amt, auto_rcp, bank_code, recd, " +
// "ref_type, cr_term, sales_pers, item_ser, status, stat_date, " +
// "sales_pers__1, sales_pers__2, contact_code, eff_date,fin_scheme, ref_ser__org,sale_order) values (" +
// " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
// pstmt = conn.prepareStatement(sql);
// pstmt.setString(1,"");//
// pstmt.setString(2,(String)miscRcpMap.get("tran_ser") );
// pstmt.setString(3,"" );//
// pstmt.setString(4, (String)miscRcpMap.get("ref_no"));
// pstmt.setString(5, (String)miscRcpMap.get("ref_date"));
// pstmt.setString(6, (String)miscRcpMap.get("curr_code"));
// pstmt.setString(7, (String)miscRcpMap.get("exch_rate"));
// pstmt.setString(8, (String)miscRcpMap.get("cust_code"));
// pstmt.setString(9, (String)miscRcpMap.get("acct_code"));
// pstmt.setString(10,(String)miscRcpMap.get("cctr_code"));
// pstmt.setString(11,(String)miscRcpMap.get("due_date"));
// pstmt.setString(12,(String)miscRcpMap.get("fin_entity"));
// pstmt.setString(13,(String)miscRcpMap.get("tot_amt"));
// pstmt.setString(14,(String)miscRcpMap.get("adj_amt"));
// pstmt.setString(15,(String)miscRcpMap.get("discount"));
// pstmt.setString(16,(String)miscRcpMap.get("tax_amt"));
// pstmt.setString(17,(String)miscRcpMap.get("auto_rcp"));
// pstmt.setString(18,(String)miscRcpMap.get("bank_code"));
// pstmt.setString(19,(String)miscRcpMap.get("recd"));
// pstmt.setString(20,(String)miscRcpMap.get("ref_type"));
// pstmt.setString(21,(String)miscRcpMap.get("cr_term"));
// pstmt.setString(22,(String)miscRcpMap.get("sales_pers"));
// pstmt.setString(23,(String)miscRcpMap.get("item_ser"));
// pstmt.setString(24,(String)miscRcpMap.get("status"));
// pstmt.setString(25,(String)miscRcpMap.get("stat_date"));
// pstmt.setString(26,(String)miscRcpMap.get("sales_pers__1"));
// pstmt.setString(27,(String)miscRcpMap.get("sales_pers__2"));
// pstmt.setString(28,(String)miscRcpMap.get("contact_code"));
// pstmt.setString(29,(String)miscRcpMap.get("eff_date"));
// pstmt.setString(30,(String)miscRcpMap.get("fin_scheme"));
// pstmt.setString(31,(String)miscRcpMap.get("ref_ser__org"));
// pstmt.setString(32,(String)miscRcpMap.get("sale_order"));
//
//
//
//
// upd =pstmt.executeUpdate();
// if(upd <1)
// {
// throw new Exception("InsertFail");
// }
System.out.println("<!@#>going gbfPostMiscDrcrRcphdr::::::::::: gbfReceivablesUpd");
miscRcpMap.put("ref_date",(miscRcpMap.get("eff_date") == null ? "":miscRcpMap.get("eff_date")));
miscRcpMap.put("auto_rcp","N");
miscRcpMap.put("bank_code",null);
miscRcpMap.put("ref_type",(miscRcpMap.get("tran_type") == null ? "":miscRcpMap.get("tran_type")));
miscRcpMap.put("cr_term",null);
miscRcpMap.put("sales_pers",null);
miscRcpMap.put("tax_amt",0.0);
miscRcpMap.put("discount",0.0);
miscRcpMap.put("ref_no",tranId);
//item_ser already present
sretNo=(String)miscRcpMap.get("sreturn_no");
if(sretNo !=null && sretNo.trim().length() >0)
{
sql="select sum(case when mrp_value is null then 0 else mrp_value end) "+
" from sreturndet where tran_id = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, sretNo);
if(rs.next())
{
mrpValue =rs.getDouble(1);
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
}
miscRcpMap.put("mrp_value",mrpValue);
// miscRcpMap.put("ref_no",tranId);
errString = Fcommon.gbfReceivablesUpd(miscRcpMap,conn);
System.out.println("<!@#>going gbfPostMiscDrcrRcphdr::::::::::: gbfReceivablesUpd errString"+errString);
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
//
// as per discussion with Shri Mam
// confirm = (String)miscRcpMap.get("confirmed");
// gRefId = (String)glTraceMap.get("ref_id");
//
// if(!("Y".equalsIgnoreCase(confirm)))
// {
sql =" update misc_drcr_rcp set confirmed = ?,conf_date = ?, "
+" emp_code__aprv = ? where tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,"Y");
pstmt.setTimestamp(2,tDay);
pstmt.setString(3,loginEmpCode);
// pstmt.setString(3,gRefId);
pstmt.setString(4,tranId);
upd = pstmt.executeUpdate();
if(upd <1)
{
throw new Exception("UpdateFail");
}
pstmt.close();
pstmt = null;
// }
// the window for cr/dr are now seperate, to take respective values as per tran_ser
// tranSer =(String)miscRcpMap.get("tran_ser");
// if("MDRCRC".equalsIgnoreCase(tranSer))
// {
// winName = "w_misc_drcr_rcp_cr";
// }
// else if ("MDRCRD".equalsIgnoreCase(tranSer))
// {
// winName = "w_misc_drcr_rcp_dr";
// }
//edi calculation not needed as per discussion with KB Sir
}// end of try
catch(SQLException e)
{
System.out.println("Exception :MiscDrCrRcpConf :gbfPostMiscDrcrRcphdr :SQLException :==>\n"+e.getMessage());
errString = GenericUtility.getInstance().createErrorString(e);
throw new ITMException(e);
}
catch (Exception e)
{
System.out.println("Exception :MiscDrCrRcpConf :gbfPostMiscDrcrRcphdr :==>"+e.getMessage());
errString = GenericUtility.getInstance().createErrorString(e);
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
} // end of method hdr
//migration gbf_post_misc_drcr_rcp_det
private String gbfPostMiscDrcrRcpdet(String tranId,HashMap miscRcpMap,ArrayList miscRdetList,String xtraParams,Connection conn)throws RemoteException,ITMException
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "",errString = "" ;
GenericUtility genericUtility = null;
ITMDBAccessEJB itmDBAccessEJB = null;
FinCommon Fcommon = new FinCommon();
genericUtility = new GenericUtility();
HashMap glTraceMap = null,miscRdetListMap = null;
java.util.Date toDay = new java.util.Date();
java.sql.Timestamp tDay = null;
String acctCode="",cctrCode="",empCode="",analCode="",anal1="",anal2="",anal3="",drcrFlag="";
double amount =0;
try
{
System.out.println("<!@#> In gbfPostMiscDrcrRcpdet :::::::::::::::::::::::::::::::");
itmDBAccessEJB = new ITMDBAccessEJB();
tDay = new java.sql.Timestamp(toDay.getTime());
glTraceMap = new HashMap();
drcrFlag = (String)miscRcpMap.get("drcr_flag");
for (int ctr =0; ctr < miscRdetList.size(); ctr++)
{
miscRdetListMap = new HashMap();
miscRdetListMap = (HashMap) miscRdetList.get(ctr);
acctCode = (String)miscRdetListMap.get("acct_code");
cctrCode = (String)miscRdetListMap.get("cctr_code");
//for testing
System.out.println("<!@#>cctrCode:" +cctrCode + ":");
// if(cctrCode == null || cctrCode.trim().length()==0)
// {
// cctrCode="A101";
// }
empCode = (String)miscRdetListMap.get("emp_code");
analCode = (String)miscRdetListMap.get("anal_code");
// amount = Double.parseDouble(miscRdetListMap.get("amount").toString());
amount = (Double)miscRdetListMap.get("amount");
anal1 = (String)miscRdetListMap.get("analysis1");
anal2 = (String)miscRdetListMap.get("analysis2");
anal3 = (String)miscRdetListMap.get("analysis3");
glTraceMap.put("tran_date",(miscRcpMap.get("tran_date")));
glTraceMap.put("eff_date",(miscRcpMap.get("eff_date")));
glTraceMap.put("fin_entity",(miscRcpMap.get("fin_entity")));
glTraceMap.put("site_code",(miscRcpMap.get("site_code")));
//glTraceMap.put("sundry_type","O"); //hard coded as it is in code
//glTraceMap.put("sundry_code"," ");
glTraceMap.put("sundry_type",(String)miscRdetListMap.get("sundry_type"));
glTraceMap.put("sundry_code",miscRcpMap.get("cust_code"));
System.out.println("<!@#>acount code det " + acctCode);
glTraceMap.put("acct_code",acctCode);
glTraceMap.put("cctr_code",cctrCode);
glTraceMap.put("emp_code",empCode);
glTraceMap.put("anal_code",analCode);
glTraceMap.put("curr_code",(miscRcpMap.get("curr_code")));
glTraceMap.put("exch_rate",(miscRcpMap.get("exch_rate")));
//System.out.println("Printing values---"+(amount+Double.valueOf((String)miscRdetListMap.get("tax_amt"))));
if("D".equalsIgnoreCase(drcrFlag))
{
if(amount > 0)
{
glTraceMap.put("dr_amt","0");
glTraceMap.put("cr_amt",(amount));
}
else
{
glTraceMap.put("dr_amt",(0 - (amount)));
glTraceMap.put("cr_amt","0");
}
}
else
{
if(amount > 0)
{
glTraceMap.put("dr_amt",(amount+Integer.parseInt((String)miscRdetListMap.get("tax_amt"))));
glTraceMap.put("cr_amt","0");
}
else
{
glTraceMap.put("dr_amt","0");
glTraceMap.put("cr_amt",(0 - (amount+Integer.parseInt((String)miscRdetListMap.get("tax_amt")))));
}
}
glTraceMap.put("ref_type","F");
glTraceMap.put("ref_id",tranId);
glTraceMap.put("ref_ser",(miscRcpMap.get("tran_ser")));
glTraceMap.put("remarks",(miscRcpMap.get("remarks")));
glTraceMap.put("analysis1",anal1);
glTraceMap.put("analysis2",anal2);
glTraceMap.put("analysis3",anal3);
System.out.println("<!@#> In gbfPostMiscDrcrRcpdet :::::::::::::::::::::::glTraceUpdate");
errString = Fcommon.glTraceUpdate(glTraceMap,conn);
System.out.println("<!@#> In gbfPostMiscDrcrRcpdet :::::::::::::::::::::::glTraceUpdate errString "+errString);
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
}//end of for
}//end of try
catch (Exception e)
{
System.out.println("Exception :MiscDrCrRcpConf :gbfPostMiscDrcrRcpdet :==>"+e.getMessage());
errString = GenericUtility.getInstance().createErrorString(e);
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
} //end of method det
private String gbfPostTaxdet(String tranId,HashMap miscRcpMap,String xtraParams,Connection conn)throws RemoteException,ITMException
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "",errString = "" ;
GenericUtility genericUtility = null;
ITMDBAccessEJB itmDBAccessEJB = null;
FinCommon Fcommon = new FinCommon();
genericUtility = new GenericUtility();
HashMap glTraceMap = null,miscRdetListMap = null;
java.util.Date toDay = new java.util.Date();
java.sql.Timestamp tDay = null;
String acctCode="",cctrCode="",empCode="",analCode="",anal1="",anal2="",anal3="",drcrFlag="";
double amount =0;
try
{
System.out.println("<!@#> In gbfPostMiscDrcrRcpdet :::::::::::::::::::::::::::::::");
itmDBAccessEJB = new ITMDBAccessEJB();
tDay = new java.sql.Timestamp(toDay.getTime());
glTraceMap = new HashMap();
drcrFlag = (String)miscRcpMap.get("drcr_flag");
acctCode=(String) miscRcpMap.get("acct_code__tot_ar");
cctrCode=(String) miscRcpMap.get("cctr_code__tot_ar");
pstmt=conn.prepareStatement("select * from taxtran where tran_id=? and tran_code='MDRCRD' and tax_amt<>0");
pstmt.setString(1,tranId);
rs=pstmt.executeQuery();
while(rs.next())
{
//acctCode = rs.getString("acct_code");
//cctrCode = rs.getString("cctr_code");
System.out.println("<!@#>cctrCode:" +cctrCode + ":");
// if(cctrCode == null || cctrCode.trim().length()==0)
// {
// cctrCode="A101";
// }
//empCode = (String)miscRdetListMap.get("emp_code");
//analCode = (String)miscRdetListMap.get("anal_code");
// amount = Double.parseDouble(miscRdetListMap.get("amount").toString());
amount = rs.getDouble("tax_amt");
//anal1 = (String)miscRdetListMap.get("analysis1");
//anal2 = (String)miscRdetListMap.get("analysis2");
//anal3 = (String)miscRdetListMap.get("analysis3");
glTraceMap.put("tran_date",(miscRcpMap.get("tran_date")));
glTraceMap.put("eff_date",(miscRcpMap.get("eff_date")));
glTraceMap.put("fin_entity",(miscRcpMap.get("fin_entity")));
glTraceMap.put("site_code",(miscRcpMap.get("site_code")));
glTraceMap.put("sundry_type","O"); //hard coded as it is in code
glTraceMap.put("sundry_code"," ");
System.out.println("<!@#>acount code det " + acctCode);
glTraceMap.put("acct_code",acctCode);
glTraceMap.put("cctr_code",cctrCode);
glTraceMap.put("emp_code",empCode);
glTraceMap.put("anal_code",analCode);
glTraceMap.put("curr_code",(miscRcpMap.get("curr_code")));
glTraceMap.put("exch_rate",(miscRcpMap.get("exch_rate")));
if("D".equalsIgnoreCase(drcrFlag))
{
// if(amount > 0)
// {
// glTraceMap.put("dr_amt","0");
// glTraceMap.put("cr_amt",amount);
// }
// else
// {
// glTraceMap.put("dr_amt",(0 - amount));
// glTraceMap.put("cr_amt","0");
// }
if(amount > 0)
{
glTraceMap.put("dr_amt",amount);
glTraceMap.put("cr_amt",0);
}
else
{
glTraceMap.put("dr_amt",0);
glTraceMap.put("cr_amt",(0 - amount));
}
}
/*else
{
if(amount > 0)
{
glTraceMap.put("dr_amt",amount);
glTraceMap.put("cr_amt","0");
}
else
{
glTraceMap.put("dr_amt","0");
glTraceMap.put("cr_amt",(0 - amount));
}
}*/
glTraceMap.put("ref_type","F");
glTraceMap.put("ref_id",tranId);
glTraceMap.put("ref_ser",(miscRcpMap.get("tran_ser")));
glTraceMap.put("remarks",(miscRcpMap.get("remarks")));
glTraceMap.put("analysis1",anal1);
glTraceMap.put("analysis2",anal2);
glTraceMap.put("analysis3",anal3);
System.out.println("1---glTraceMap.get(acct_code)----"+glTraceMap.get("acct_code"));
System.out.println("1---glTraceMap.get(cctr_code)----"+glTraceMap.get("cctr_code"));
System.out.println("1---glTraceMap.get(dr_amt)----"+glTraceMap.get("dr_amt"));
System.out.println("1---glTraceMap.get(cr_amt)----"+glTraceMap.get("cr_amt"));
System.out.println("<!@#> In gbfPostMiscDrcrRcpdet :::::::::::::::::::::::glTraceUpdate");
errString = Fcommon.glTraceUpdate(glTraceMap,conn);
System.out.println("<!@#> In gbfPostMiscDrcrRcpdet :::::::::::::::::::::::glTraceUpdate errString "+errString);
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
/*else
{
//glTraceMap.put("acct_code", miscRcpMap.get("acct_code__tot_ar"));
//glTraceMap.put("cctr_code", miscRcpMap.get("cctr_code__tot_ar"));
if(amount > 0)
{
glTraceMap.put("dr_amt",amount);
glTraceMap.put("cr_amt",0);
}
else
{
glTraceMap.put("dr_amt",0);
glTraceMap.put("cr_amt",(0 - amount));
}
System.out.println("2---glTraceMap.get(acct_code)----"+glTraceMap.get("acct_code"));
System.out.println("2---glTraceMap.get(cctr_code)----"+glTraceMap.get("cctr_code"));
System.out.println("2---glTraceMap.get(dr_amt)----"+glTraceMap.get("dr_amt"));
System.out.println("2---glTraceMap.get(cr_amt)----"+glTraceMap.get("cr_amt"));
errString = Fcommon.glTraceUpdate(glTraceMap,conn);
}
if(errString != null && errString.trim().length() > 0)
{
return errString;
}*/
}//end of for
rs.close();
rs=null;
pstmt.close();
pstmt=null;
}//end of try
catch (Exception e)
{
System.out.println("Exception :MiscDrCrRcpConf :gbfPostMiscDrcrRcpdet :==>"+e.getMessage());
errString = GenericUtility.getInstance().createErrorString(e);
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
//migration of gbf_post_misc_drcr_adj_det
private String gbfPostMiscDrcrAdjdet(String tranId,HashMap miscRcpMap,ArrayList miscRcpInvList,String xtraParams,Connection conn)throws RemoteException,ITMException
{
PreparedStatement pstmt = null;
PreparedStatement pstmtInner = null;
ResultSet rs = null;
ResultSet rsInner = null;
String sql = "",sqlInner ="";
String errString = "" ;
int upd=0;
HashMap advListMap =null;
String refSerHdr="",cust="",refSer="",refNo="";
double totAdjAmt=0,amount=0,mrpValueAdj=0,adjAmt=0,totAmt=0;
try
{
System.out.println("<!@#> In gbfPostMiscDrcrAdjdet :::::::::::::::::::::::::::::::");
refSerHdr = (String)miscRcpMap.get("tran_ser");
cust = (String)miscRcpMap.get("sundry_code");
for (int ctr =0; ctr < miscRcpInvList.size(); ctr++)
{
advListMap = new HashMap();
advListMap = (HashMap) miscRcpInvList.get(ctr);
refSer = (String)advListMap.get("ref_ser");
refNo = (String)advListMap.get("ref_no");
amount =(Double)advListMap.get("adj_amt");
mrpValueAdj = (Double)advListMap.get("mrp_value__adj");
totAdjAmt = amount;
sql =" update receivables "
+" set adj_amt = case when adj_amt is null then 0 else adj_amt end + ? , "
+" mrp_value = case when mrp_value is null then 0 else mrp_value end - ? "
+" where tran_ser = ? and ref_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,amount);
pstmt.setDouble(2,mrpValueAdj);
pstmt.setString(3,refSer);
pstmt.setString(3,refNo);
upd = pstmt.executeUpdate();
if(upd <1)
{
throw new Exception("UpdateFail");
}
pstmt.close();
pstmt = null;
//check for total adjustment
sql =" select adj_amt,tot_amt from receivables "
+" where tran_ser = ? and ref_no = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,refSer);
pstmt.setString(2,refNo);
rs = pstmt.executeQuery();
if(rs.next())
{
adjAmt = rs.getDouble("adj_amt");
totAmt = rs.getDouble("tot_amt");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(adjAmt == totAmt)
{
sql =" update receivables set status = ? "
+" where tran_ser = ? and ref_no = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,"A");
pstmt.setString(2,refSer);
pstmt.setString(3,refNo);
upd = pstmt.executeUpdate();
if(upd <1)
{
throw new Exception("UpdateFail");
}
pstmt.close();
pstmt = null;
}
}//end of for
sql =" update receivables set adj_amt = case when adj_amt is null then 0 else adj_amt end + -1 * ? "
+" where tran_ser = ? and ref_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,totAdjAmt);
pstmt.setString(2,refSerHdr);
pstmt.setString(3,tranId);
upd = pstmt.executeUpdate();
if(upd <1)
{
throw new Exception("UpdateFail");
}
pstmt.close();
pstmt = null;
//check for total adjustment
sql =" select adj_amt,tot_amt from receivables "
+" where tran_ser = ? and ref_no = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,refSerHdr);
pstmt.setString(2,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
adjAmt = rs.getDouble("adj_amt");
totAmt = rs.getDouble("tot_amt");
if (adjAmt == totAmt)
{
sqlInner =" update receivables set status = ? "
+" where tran_ser = ? and ref_no = ? ";
pstmtInner = conn.prepareStatement(sqlInner);
pstmtInner.setString(1,"A");
pstmtInner.setString(2,refSerHdr);
pstmtInner.setString(3,tranId);
upd = pstmtInner.executeUpdate();
if(upd <1)
{
throw new Exception("UpdateFail");
}
pstmtInner.close();
pstmtInner = null;
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}//end of try
catch(SQLException e)
{
System.out.println("Exception :MiscDrCrRcpConf :gbfPostMiscDrcrAdjdet :SQLException :==>\n"+e.getMessage());
errString = GenericUtility.getInstance().createErrorString(e);
throw new ITMException(e);
}
catch (Exception e)
{
System.out.println("Exception :MiscDrCrRcpConf :gbfPostMiscDrcrAdjdet :==>"+e.getMessage());
errString = GenericUtility.getInstance().createErrorString(e);
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(rsInner != null)
{
rsInner.close();
rsInner = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(pstmtInner != null)
{
pstmtInner.close();
pstmtInner = null;
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}//end of adj method
//migration gbf_post_misc_drcr_rcp
//migration gbf_post_misc_drcr_rcp
private String gbfPostMiscDrcrRcp(String tranId,HashMap miscRcpMap,ArrayList miscRdetList,ArrayList miscRcpInvList,String xtraParams,Connection conn)throws RemoteException,ITMException
{
PreparedStatement pstmt = null;
PreparedStatement pstmtIn = null;
ResultSet rs = null;
ResultSet rsIn = null;
String sql = "",sqlIn ="",errString = "" ;
ITMDBAccessEJB itmDBAccessEJB = null;
FinCommon Fcommon = new FinCommon();
String tranSer="",runMode = "I",invIbcaGen="",cust="",site="",siteRcv="",thisWin="",xmlString="";
String keyString="",finEntFr="",finEntTo="",link ="",acctFr ="",cctrFr="",acctTo="",cctrTo="",itemSer="";
String ibcaId="",remarks="",curr="",custI="",acct="",cctr="",autoRcp="",bank="",recd="",refType="";
String crTerm="",itmSer="",spers="",spers1="",spers2="",custRefNo="",chgUser="",chgTerm="",tranType="";
String siteCodeFor="";
int upd =0;
java.util.Date toDay = new java.util.Date();
java.sql.Timestamp refDate = null;
java.sql.Timestamp dueDate = null;
java.sql.Timestamp tranDate = null;
java.sql.Timestamp custRefDate = null;
java.sql.Timestamp tDay = null;
double exch=0,amount=0,discount=0,taxAmt=0,custRefAmt=0,amountBc=0;
try
{
System.out.println("<!@#> In gbfPostMiscDrcrRcp ::::::: ::::::::::::::::::::::::");
itmDBAccessEJB = new ITMDBAccessEJB();
tranSer = (String)miscRcpMap.get("tran_ser");
siteCodeFor = (String)miscRcpMap.get("site_code__drcr");
System.out.println("<!@#> In gbfPostMiscDrcrRcp tran_ser :::" +tranSer);
System.out.println("<!@#> In gbfPostMiscDrcrRcp siteCodeFor :::" +siteCodeFor);
tDay = new java.sql.Timestamp(toDay.getTime());
chgUser = GenericUtility.getInstance().getValueFromXTRA_PARAMS(xtraParams,"loginCode");
chgTerm = GenericUtility.getInstance().getValueFromXTRA_PARAMS(xtraParams,"termId");
System.out.println("<!@#> In gbfPostMiscDrcrRcp going into gbfPostMiscDrcrRcphdr:::");
errString = this.gbfPostMiscDrcrRcphdr(tranId,miscRcpMap,xtraParams,conn);
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
System.out.println("<!@#> In gbfPostMiscDrcrRcp returning from gbfPostMiscDrcrRcphdr errString:::" +errString);
System.out.println("<!@#> In gbfPostMiscDrcrRcp going into gbfPostMiscDrcrRcpdet:::");
errString = this.gbfPostMiscDrcrRcpdet(tranId,miscRcpMap,miscRdetList,xtraParams,conn);
System.out.println("<!@#> In gbfPostMiscDrcrRcp returning from gbfPostMiscDrcrRcpdet errString:::" +errString);
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
// ask to pravin
System.out.println("<!@#> In gbfPostMiscDrcrRcp going into gbfPostMiscDrcrAdjdet:::");
errString = this.gbfPostMiscDrcrAdjdet(tranId,miscRcpMap,miscRcpInvList,xtraParams,conn);
System.out.println("<!@#> In gbfPostMiscDrcrRcp returning from gbfPostMiscDrcrAdjdet errString:::" +errString);
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
System.out.println("<!@#> In gbfPostMiscDrcrRcp going into Fcommon.checkGlTranDrCr:::");
if(errString != null && errString.trim().length() > 0)
{
return errString;
}
else
{
errString = this.gbfPostTaxdet(tranId,miscRcpMap,xtraParams,conn);
System.out.println("<!@#> In gbfPostMiscDrcrRcp returning from gbfPostTaxdet errString:::" +errString);
}
System.out.println("<!@#> In gbfPostMiscDrcrRcp going into runMode:::" +runMode);
errString = Fcommon.checkGlTranDrCr(tranSer,tranId,conn);
System.out.println("<!@#> In gbfPostMiscDrcrRcp returning from Fcommon.checkGlTranDrCr:::" +errString);
if("I".equalsIgnoreCase(runMode))
{
invIbcaGen = Fcommon.getFinparams("999999","INV_IBCA_GEN",conn);
if(invIbcaGen == "NULLFOUND")
{
invIbcaGen = "Y";
}
if("Y".equalsIgnoreCase(invIbcaGen))
{
// create ibca if site code in voucher does not match the rcv site of the customer
cust = (String)miscRcpMap.get("sundry_code");
site = (String)miscRcpMap.get("site_code");
//if the receipt site not found in site customer master then take the site receipt from
// customer master.
sql =" select site_code__rcp from site_customer "
+" where site_code = ? and cust_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,site);
pstmt.setString(2,cust);
rs = pstmt.executeQuery();
if(rs.next())
{
siteRcv = rs.getString("site_code__rcp");
}
else
{
sqlIn ="select site_code__rcp from customer where cust_code = ? ";
pstmtIn = conn.prepareStatement(sqlIn);
pstmtIn.setString(1,cust);
rsIn = pstmtIn.executeQuery();
if(rsIn.next())
{
siteRcv = rsIn.getString("site_code__rcp");
}
rsIn.close();
rsIn = null;
pstmtIn.close();
pstmtIn = null;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("siteRcv From query is :::"+siteRcv);
if((siteRcv == null) || (siteRcv.trim().length() == 0))
{
System.out.println("Inside siteRcv 1:::::");
sql ="select site_code__rcp from customer where cust_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,cust);
rs = pstmt.executeQuery();
if(rs.next())
{
siteRcv = rs.getString("site_code__rcp");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("Inside siteRcv 2:::::"+siteRcv);
}
// ibca start
if((siteRcv == null) || (siteRcv.trim().length() == 0))
{
siteRcv = site;
System.out.println("Inside siteRcv 3:::::"+siteRcv);
}
System.out.println("siteRcv :::::"+siteRcv);
System.out.println("site :::::"+site);
if(!(siteRcv.trim().equalsIgnoreCase(site.trim())) && ("I".equalsIgnoreCase(runMode)))
{
thisWin = "W_RCP_IBCA";
System.out.println("siteRcv :::::"+siteRcv);
System.out.println("site :::::"+site);
sql =" select key_string from transetup where upper(tran_window) = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, thisWin);
rs = pstmt.executeQuery();
if(rs.next())
{
keyString = rs.getString("key_string");
}
else
{
errString = itmDBAccessEJB.getErrorString("","VTSEQ","","",conn);
return errString;
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
sql =" select fin_entity from site where site_code =? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,site);
rs = pstmt.executeQuery();
if(rs.next())
{
finEntFr = rs.getString("fin_entity");
}
else
{
errString = itmDBAccessEJB.getErrorString("","VMSITE","","",conn);
return errString;
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
sql =" select fin_entity from site where site_code =? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteRcv);
rs = pstmt.executeQuery();
if(rs.next())
{
finEntTo = rs.getString("fin_entity");
}
else
{
errString = itmDBAccessEJB.getErrorString("","VMSITE","","",conn);
return errString;
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
sql = "select link_type,acct_code__pay,cctr_code__pay,acct_code__rcp,cctr_code__rcp "
+" from ibca_rcp_ctrl where site_code__from = ? and site_code__to = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,site);
pstmt.setString(2,siteRcv);
rs = pstmt.executeQuery();
if(rs.next())
{
link = rs.getString("link_type");
acctFr = rs.getString("acct_code__pay");
//issue
cctrFr = rs.getString("cctr_code__pay");
System.out.println("<!@#> cctrFr :"+cctrFr+":");
acctTo = rs.getString("acct_code__rcp");
cctrTo = rs.getString("cctr_code__rcp");
}
else
{
errString = itmDBAccessEJB.getErrorString("","VTIBCA5","","",conn);
return errString;
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
xmlString = "<?xml version=\"1.0\"?>\r\n<Root>\r\n<header>"+
"\r\n</header><Detail1><item_ser></item_ser>"+
"\r\n<tran_date>sdf.format(new java.util.Date(toDay.getTime()))</tran_date>"+
"\r\n<site_code__from>"+site+"</site_code__from>"+
"\r\n<link_type>"+link+"</link_type></Detail1></Root>";
System.out.println("xmlString : : : : :"+xmlString);
CommonConstants.setIBASEHOME();
TransIDGenerator tg = new TransIDGenerator(xmlString,"Base",CommonConstants.DB_NAME);
ibcaId = tg.generateTranSeqID("R-IBCA","tran_id",keyString,conn);
System.out.println("Generated Key :: "+ibcaId);
if (ibcaId.indexOf("ERROR") > -1 )
{
errString = itmDBAccessEJB.getErrorString("","VTTRANID","","",conn);
}
remarks = "Auto IBCA transfer of Misc Dr/Cr Note of " +cust;
sql =" select ref_date,curr_code,exch_rate,cust_code,acct_code,cctr_code,"
+" due_date,tot_amt - adj_amt as amt ,discount,tax_amt,auto_rcp,bank_code, "
+" recd,ref_type,cr_term,item_ser,sales_pers,sales_pers__1, "
+" sales_pers__2,tran_date,cust_ref_no,cust_ref_date,cust_ref_amt "
+" from receivables where tran_ser like 'MDRCR%' "
+" and ref_no = ?" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
refDate = rs.getTimestamp("ref_date");
curr = rs.getString("curr_code");
exch = rs.getDouble("exch_rate");
custI = rs.getString("cust_code");
acct = rs.getString("acct_code");
cctr = rs.getString("cctr_code");
dueDate = rs.getTimestamp("due_date");
amount = rs.getDouble("amt");
discount = rs.getDouble("discount");
taxAmt = rs.getDouble("tax_amt");
autoRcp = rs.getString("auto_rcp");
bank = rs.getString("bank_code");
recd = rs.getString("recd");
refType = rs.getString("ref_type");
crTerm = rs.getString("cr_term");
itmSer = rs.getString("item_ser");
spers = rs.getString("sales_pers");
spers1 = rs.getString("sales_pers__1");
spers2 = rs.getString("sales_pers__2");
tranDate = rs.getTimestamp("tran_date");
custRefNo = rs.getString("cust_ref_no");
custRefDate = rs.getTimestamp("cust_ref_date");
custRefAmt = rs.getDouble("cust_ref_amt");
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
if(amount > 0)
{
tranSer ="MDRCRC";
}
else
{
tranSer="MDRCRD";
}
amountBc = amount * exch;
if (amountBc != 0)
{
sql =" insert into rcp_ibca (tran_id,tran_date,eff_date,site_code__from,fin_entity__from, "
+" site_code__to,fin_entity__to,amount,curr_code,exch_rate,confirmed,acct_code__ifr, "
+" cctr_code__ifr,acct_code__ito,cctr_code__ito,chg_date,chg_user,chg_term,amount__bc, "
+" tran_type,tran_ser,link_type,remarks) "
+" values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,ibcaId);
pstmt.setTimestamp(2,tranDate);
pstmt.setTimestamp(3,tranDate);
pstmt.setString(4,site);
pstmt.setString(5,finEntFr);
pstmt.setString(6,siteRcv);
pstmt.setString(7,finEntTo);
pstmt.setDouble(8,amount);
if(curr == null || curr.trim().length() == 0)
{
pstmt.setNull(9,Types.VARCHAR);
}
else
{
pstmt.setString(9,curr);
}
pstmt.setDouble(10,exch);
pstmt.setString(11,"N");
if(acctFr == null || acctFr.trim().length() == 0)
{
pstmt.setNull(12,Types.VARCHAR);
}
else
{
pstmt.setString(12,acctFr);
}//issue
System.out.println("<!@#> Setting cctrFr :"+cctrFr+":");
if(cctrFr == null)
{
pstmt.setNull(13,Types.VARCHAR);
}
else
{
pstmt.setString(13,cctrFr);
}
if(acctTo == null )
{
pstmt.setNull(14,Types.VARCHAR);
}
else
{
pstmt.setString(14,acctTo);
}
if(cctrTo == null )
{
pstmt.setNull(15,Types.VARCHAR);
}
else
{
pstmt.setString(15,cctrTo);
}
pstmt.setTimestamp(16,tDay);
pstmt.setString(17,chgUser);
pstmt.setString(18,chgTerm);
pstmt.setDouble(19,amountBc);
pstmt.setString(20,tranType);
pstmt.setString(21,"I");
if(link == null || link.trim().length() == 0)
{
pstmt.setNull(22,Types.VARCHAR);
}
else
{
pstmt.setString(22,link);
}
pstmt.setString(23,remarks);
upd =pstmt.executeUpdate();
if(upd <1)
{
throw new Exception("UpdateFail");
}
pstmt.close();
sql =" insert into rcp_ibca_det (tran_id,ref_ser,ref_no,ref_date,curr_code, "
+" exch_rate,cust_code,acct_code,cctr_code,due_date,tot_amt,discount,tax_amt, "
+" bank_code,ref_type,auto_rcp,sales_pers,item_ser,sales_pers__1,sales_pers__2, "
+" cr_term,recd,ref_ser__org,line_no__ref,cust_ref_no,cust_ref_date,cust_ref_amt) "
+" values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,ibcaId);
pstmt.setString(2,tranSer);
pstmt.setString(3,tranId);
pstmt.setTimestamp(4,refDate);
pstmt.setString(5,curr);
pstmt.setDouble(6,exch);
pstmt.setString(7,custI);
pstmt.setString(8,acct);
pstmt.setString(9,cctr);
pstmt.setTimestamp(10,dueDate);
pstmt.setDouble(11,amount);
pstmt.setDouble(12,discount);
pstmt.setDouble(13,taxAmt);
pstmt.setString(14,bank);
pstmt.setString(15,refType);
pstmt.setString(16,autoRcp);
pstmt.setString(17,spers);
pstmt.setString(18,itemSer);
pstmt.setString(19,spers1);
pstmt.setString(20,spers2);
pstmt.setString(21,crTerm);
pstmt.setString(22,recd);
pstmt.setString(23,tranSer);
pstmt.setString(24,"1");
pstmt.setString(25,custRefNo);
pstmt.setTimestamp(26,custRefDate);
pstmt.setDouble(27,custRefAmt);
upd= pstmt.executeUpdate();
if(upd <1)
{
throw new Exception("UpdateFail");
}
pstmt.close();
}
} //end siteRcv != site & runMode = I
}// end Y is invIbcaGen
}// runMode is I
System.out.println("Reaching End sucessefull <!@# new>");
// errString = itmDBAccessEJB.getErrorString("","CONFSUCCES","");
errString = itmDBAccessEJB.getErrorString("","CONFSUCCES","","",conn);
System.out.println("Misc Drcr Confirmed .."+errString);
}// end of try
catch(SQLException e)
{
System.out.println("Exception :MiscDrCrRcpConf :gbfPostMiscDrcrRcp :SQLException :==>\n"+e.getMessage());
errString = GenericUtility.getInstance().createErrorString(e);
throw new ITMException(e);
}
catch (Exception e)
{
System.out.println("Exception :MiscDrCrRcpConf :gbfPostMiscDrcrRcp :==>"+e.getMessage());
errString = GenericUtility.getInstance().createErrorString(e);
throw new ITMException(e);
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
System.out.println("Exception : "+e);e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
}
\ No newline at end of file
package ibase.webitm.ejb.fin.adv;
import ibase.webitm.ejb.ActionHandlerLocal;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import javax.ejb.Local;
@Local
public interface DrCrRcpMstConfLocal extends ActionHandlerLocal {
public String confirm(String tranId,String xtraParams,String forcedFlag,Connection conn) throws RemoteException,ITMException;
public String confirm(String tranId,String xtraParams,String forcedFlag) throws RemoteException,ITMException;
}
\ No newline at end of file
package ibase.webitm.ejb.fin.adv;
import ibase.webitm.ejb.ActionHandlerRemote;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import javax.ejb.Remote;
@Remote
public interface DrCrRcpMstConfRemote extends ActionHandlerRemote {
public String confirm(String tranId,String xtraParams,String forcedFlag,Connection conn) throws RemoteException,ITMException;
public String confirm(String tranId,String xtraParams,String forcedFlag) throws RemoteException,ITMException;
}
\ No newline at end of file
/********************************************************
Title : MiscDrCrIC
Date :
Developer: Dipak Chattar
********************************************************/
package ibase.webitm.ejb.fin.adv;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import javax.ejb.Stateless;
import org.w3c.dom.CDATASection;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
// added for ejb3
@Stateless // added for ejb3
public class DrCrRcpMstIC extends ValidatorEJB implements DrCrRcpMstICLocal, DrCrRcpMstICRemote
{
GenericUtility genericUtility = GenericUtility.getInstance();
String winName = null;
FinCommon finCommon = null;
ValidatorEJB validator = null;
//method for validation
public String wfValData(String xmlString, String xmlString1, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
String errString = "";
Document dom = null;
Document dom1 = null;
try
{
System.out.println("Val xmlString :: " + xmlString);
System.out.println("Val xmlString1 :: " + xmlString1);
dom = parseString(xmlString);
dom1 = parseString(xmlString1);
errString = wfValData(dom, dom1, objContext, editFlag, xtraParams);
}
catch(Exception e)
{
throw new ITMException(e);
}
return(errString);
}
//method for validation
public String wfValData(Document dom, Document dom1, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
String errorType = "";
String childNodeName = null;
String refNo = "";
String errString = "";
String errCode = "";
String userId = "";
String sql = "";
String analCode = "";
String empCode = "";
String siteCodeDrcr = "";
String itemSer = "";
String tranSer = "";
String adjMiscCrn = "";
String currCode = "";
String dueDate = "";
String finEntity = "";
String acctCode = "";
String custRefNo = "";
String custRefDate = "";
String tranId = "";
String siteCode = "";
String cctrCode = "";
String drcrFlag = "";
String effDate = "";
String sundryCode = "";
String sundryType = "";
String tranDate = "";
String itemCode = "";
String adjAmt = "";
String refSer = "";
String tranType = "";
String refType = "";
String modName = "";
String amount1 = "";
int ctr=0;
int cnt = 0;
int lineNo = 0;
int currentFormNo = 0;
int childNodeListLength;
Double balAmt = 0.0;
Double sumAdj = 0.0;
Double amount = 0.0;
java.util.Date tranPdate = null;
ArrayList<String> errList = new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
Connection conn = null;
PreparedStatement pstmt = null ;
ResultSet rs = null;
ConnDriver connDriver = new ConnDriver();
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
try
{
finCommon = new FinCommon();
validator = new ValidatorEJB();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
conn = connDriver.getConnectDB("DriverITM");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
SimpleDateFormat dbDateFormat = new SimpleDateFormat(genericUtility.getInstance().getDBDateFormat());
userId = getValueFromXTRA_PARAMS(xtraParams, "loginCode");
if(objContext != null && objContext.trim().length() > 0)
{
currentFormNo = Integer.parseInt(objContext);
}
switch(currentFormNo)
{
case 1 :
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
winName = getObjName(parentNode);
System.out.println( "winName :: " + winName );
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for(ctr = 0; ctr < childNodeListLength; ctr ++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equalsIgnoreCase("site_code"))
{
siteCode = genericUtility.getColumnValue("site_code", dom);
if(siteCode == null || (siteCode.length() == 0))
{
errList.add("VMSITECOD");
errFields.add(childNodeName.toLowerCase());
}
if(siteCode != null && siteCode.trim().length() > 0)
{
sql = " select count(*) from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
if(cnt == 0)
{
errCode = "VMSITE1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
if(errCode == null || errCode.trim().length() == 0)
{
tranDate = genericUtility.getColumnValue("tran_date", dom);
try
{
tranPdate = (Date)simpleDateFormat.parse(tranDate);
errCode = validator.nfCheckPeriod("FIN",tranPdate,siteCode);
}
catch (ParseException e)
{
System.out.println("Exception in transaction date [tran_date_validation]"+e);
e.printStackTrace();
throw new ITMException(e);
}
if(errCode != null && errCode.trim().length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
else if(childNodeName.equalsIgnoreCase("tran_ser"))
{
tranSer = genericUtility.getColumnValue("tran_ser", dom);
drcrFlag = genericUtility.getColumnValue("drcr_flag", dom);
if(tranSer != null && drcrFlag != null && tranSer.trim().length() > 0 && drcrFlag.trim().length() > 0)
{
if("MDRCRD".equalsIgnoreCase(tranSer) && "C".equalsIgnoreCase(drcrFlag))
{
errCode = "VTMATCH";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
if("MDRCRC".equalsIgnoreCase(tranSer) && "D".equalsIgnoreCase(drcrFlag))
{
errCode = "VTMATCH";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
else if(childNodeName.equalsIgnoreCase("sundry_code"))
{
sundryCode = genericUtility.getColumnValue("sundry_code",dom);
siteCode = genericUtility.getColumnValue("site_code",dom);
sundryType = genericUtility.getColumnValue("sundry_type",dom);
tranSer = genericUtility.getColumnValue("tran_ser",dom);
errCode = finCommon.isSundryCode(siteCode,sundryType,sundryCode,tranSer, conn);
if(errCode != null && (errCode.trim().length() > 0))
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
else if(childNodeName.equalsIgnoreCase("fin_entity"))
{
finEntity = genericUtility.getColumnValue("fin_entity", dom);
if(finEntity != null && finEntity.trim().length() > 0)
{
sql = "SELECT COUNT(*) FROM FINENT WHERE FIN_ENTITY = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,finEntity);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
if(cnt == 0)
{
errCode = "VMFENTY1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}
else if(childNodeName.equalsIgnoreCase("site_code__drcr"))
{
siteCodeDrcr = genericUtility.getColumnValue("site_code__drcr", dom);
if(siteCodeDrcr == null || siteCodeDrcr.length() == 0)
{
errList.add("VMSITECOD");
errFields.add(childNodeName.toLowerCase());
}
if(siteCodeDrcr != null && siteCodeDrcr.trim().length() > 0)
{
sql = " select count(*) from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCodeDrcr);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
if(cnt == 0)
{
errCode = "VMSITE1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}else if(childNodeName.equalsIgnoreCase("site_code__drcr"))
{
siteCodeDrcr = genericUtility.getColumnValue("site_code__drcr", dom);
if(siteCodeDrcr == null || siteCodeDrcr.length() == 0)
{
errList.add("VMSITECOD");
errFields.add(childNodeName.toLowerCase());
}
if(siteCodeDrcr != null && siteCodeDrcr.trim().length() > 0)
{
sql = " select count(*) from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCodeDrcr);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
if(cnt == 0)
{
errCode = "VMSITE1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}else if(childNodeName.equalsIgnoreCase("sale_order"))
{
String saleOrder = genericUtility.getColumnValue("sale_order", dom);
if(saleOrder == null || saleOrder.length() == 0)
{
errList.add("VMSODNL");
errFields.add(childNodeName.toLowerCase());
}
}
else if(childNodeName.equalsIgnoreCase("milestone_id"))
{
String milestoneId = genericUtility.getColumnValue("milestone_id", dom);
if(milestoneId == null || milestoneId.length() == 0)
{
errList.add("VTMSTIDNL");
errFields.add(childNodeName.toLowerCase());
}
if(milestoneId != null && milestoneId.trim().length() > 0)
{
sql = "select milestone_type, act_start_date from proj_milestone where tran_id=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,milestoneId);
rs = pstmt.executeQuery();
if(rs.next())
{
String mstType = rs.getString(1);
String actStartDt = rs.getString(2);
if("U".equalsIgnoreCase(mstType)&& actStartDt==null)
{
errCode = "VMACSDUNL";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
if("P".equalsIgnoreCase(mstType)&&actStartDt==null)
{
errCode = "VMACSDPNL";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}
else if(childNodeName.equalsIgnoreCase("acct_code"))
{
acctCode = genericUtility.getColumnValue("acct_code", dom);
siteCode = genericUtility.getColumnValue("site_code", dom);
if(acctCode != null && acctCode.trim().length() > 0 )
{
errCode = finCommon.isAcctCode(siteCode, acctCode, "", conn);
}
else
{
errCode = "VMACCTCD1";
}
if(errCode != null && errCode.trim().length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
if(errCode == null || errCode.trim().length() == 0)
{
sundryCode = genericUtility.getColumnValue("sundry_code", dom);
sundryType = genericUtility.getColumnValue("sundry_type", dom);
if(acctCode != null && sundryCode != null && sundryType != null && acctCode.trim().length() > 0 && sundryCode.trim().length() > 0 && sundryType.trim().length() > 0)
{
errCode = finCommon.isAcctType(acctCode, sundryCode, sundryType, conn);
}
if(errCode != null && errCode.trim().length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
else if(childNodeName.equalsIgnoreCase("cctr_code"))
{
cctrCode = genericUtility.getColumnValue("cctr_code", dom);
acctCode = genericUtility.getColumnValue("acct_code", dom);
if(cctrCode != null && cctrCode.trim().length() > 0)
{
errCode = finCommon.isCctrCode(acctCode, cctrCode, modName, conn);
}
else
{
errCode = "VMCCTRCD1";
}
if(errCode != null && errCode.trim().length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
else if(childNodeName.equalsIgnoreCase("due_date"))
{
dueDate = genericUtility.getColumnValue("due_date", dom);
effDate = genericUtility.getColumnValue("eff_date", dom);
if(simpleDateFormat.parse(dueDate).before(simpleDateFormat.parse(effDate)))
{
errCode = "VTDATE4";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
else if(childNodeName.equalsIgnoreCase("curr_code"))
{
currCode = genericUtility.getColumnValue("curr_code", dom);
sql = " select count(*) from currency where curr_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,currCode);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
if(cnt == 0)
{
errCode = "VMCUR1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
else if(childNodeName.equalsIgnoreCase("adj_misc_crn"))
{
adjMiscCrn = genericUtility.getColumnValue("adj_misc_crn", dom);
if("AI".equalsIgnoreCase(adjMiscCrn) || "MI".equalsIgnoreCase(adjMiscCrn))
{
itemSer = genericUtility.getColumnValue("item_ser", dom);
if(itemSer == null || itemSer.trim().length() == 0)
{
errCode = "VTITEMSER7";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
else if(childNodeName.equalsIgnoreCase("cust_ref_no"))
{
custRefNo = genericUtility.getColumnValue("cust_ref_no", dom);
custRefDate = genericUtility.getColumnValue("cust_ref_date", dom);
tranId = genericUtility.getColumnValue("tran_id", dom);
if(custRefNo != null && custRefDate != null && custRefNo.trim().length() > 0 && custRefDate.trim().length() > 0)
{
sql = "select count(1) from misc_drcr_rcp where cust_ref_no = ? and cust_ref_date = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,custRefNo);
pstmt.setTimestamp(2,Timestamp.valueOf(dbDateFormat.format(simpleDateFormat.parse(custRefDate)).toString()+ " 00:00:00.0"));
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
if(cnt > 0)
{
errCode = "VTCUSTREF";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}
else if(childNodeName.equalsIgnoreCase("cust_ref_date"))
{
custRefNo = genericUtility.getColumnValue("cust_ref_no", dom);
custRefDate = genericUtility.getColumnValue("cust_ref_date", dom);
tranId = genericUtility.getColumnValue("tran_id", dom);
if(custRefDate != null && custRefDate.trim().length() > 0)
{
sql = "select count(1) from misc_drcr_rcp where tran_id != ? and cust_ref_no = ? and cust_ref_date = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
pstmt.setString(2,custRefNo);
pstmt.setTimestamp(3,Timestamp.valueOf(dbDateFormat.format(simpleDateFormat.parse(custRefDate)).toString()+ " 00:00:00.0"));
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
if(cnt > 0)
{
errCode = "VTCUSTREF";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}
}
break;
case 2 :
parentNodeList = dom1.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
parentNodeList = dom.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0);
winName = getObjName(parentNode);
System.out.println( "winName :: " + winName );
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for(ctr = 0; ctr < childNodeListLength; ctr ++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equalsIgnoreCase("amount"))
{
amount1 = genericUtility.getColumnValue("amount", dom);
if(amount1 == null || amount1.trim().length() == 0)
{
errCode = "VMAMTB";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
else if(childNodeName.equalsIgnoreCase("acct_code"))
{
acctCode = genericUtility.getColumnValue("acct_code", dom);
siteCode = genericUtility.getColumnValue("site_code", dom1);
if(acctCode != null && acctCode.trim().length() > 0 )
{
errCode = finCommon.isAcctCode(siteCode, acctCode, "", conn);
}
else
{
errCode = "VMACCTCD1";
}
if(errCode != null && errCode.trim().length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
if(errCode == null || errCode.trim().length() == 0)
{
if(acctCode != null && acctCode.trim().length() > 0 )
{
errCode = finCommon.isAcctType(acctCode, "", "O", conn);
}
if(errCode != null && errCode.trim().length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
else if(childNodeName.equalsIgnoreCase("site_code__drcr"))
{
siteCodeDrcr = genericUtility.getColumnValue("site_code__drcr", dom);
siteCode = genericUtility.getColumnValue("site_code", dom1);
if(siteCodeDrcr == null || (siteCodeDrcr.length() == 0))
{
errList.add("VMSITECOD");
errFields.add(childNodeName.toLowerCase());
}
if(siteCodeDrcr != null && siteCodeDrcr.trim().length() > 0)
{
sql = " select count(*) from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCodeDrcr);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
if(cnt == 0)
{
errCode = "VMSITE1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
if(errCode == null || errCode.trim().length() == 0)
{
if(siteCodeDrcr != null && !siteCodeDrcr.equalsIgnoreCase(siteCode))
{
errCode = "VTSITEWRNG";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
else if(childNodeName.equalsIgnoreCase("cctr_code"))
{
cctrCode = genericUtility.getColumnValue("cctr_code", dom);
acctCode = genericUtility.getColumnValue("acct_code", dom);
if(cctrCode != null && cctrCode.trim().length() > 0)
{
errCode = finCommon.isCctrCode(acctCode, cctrCode, modName, conn);
}
else
{
errCode = "VMCCTRCD1";
}
if(errCode != null && errCode.trim().length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
else if(childNodeName.equalsIgnoreCase("anal_code"))
{
analCode = genericUtility.getColumnValue("anal_code", dom);
tranSer = genericUtility.getColumnValue("tran_ser", dom1);
acctCode = genericUtility.getColumnValue("acct_code", dom);
if(acctCode != null && analCode != null && tranSer != null && acctCode.trim().length() > 0 && analCode.trim().length() > 0 && tranSer.trim().length() > 0)
{
errCode = finCommon.isAnalysis(acctCode, analCode, tranSer, conn);
}
if(errCode != null && errCode.trim().length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
else if(childNodeName.equalsIgnoreCase("emp_code"))
{
empCode = genericUtility.getColumnValue("emp_code", dom);
siteCode = genericUtility.getColumnValue("site_code", dom1);
tranSer = genericUtility.getColumnValue("tran_ser", dom1);
if(empCode != null && empCode.trim().length() > 0)
{
if(tranSer != null && tranSer.trim().length() > 0)
{
errCode = finCommon.isEmployee(siteCode, empCode, tranSer, conn);
}
if(errCode != null && errCode.trim().length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
else if(childNodeName.equalsIgnoreCase("item_code"))
{
itemCode = genericUtility.getColumnValue("item_code", dom);
siteCode = genericUtility.getColumnValue("site_code", dom1);
if(winName != null)
{
modName = winName.trim().toUpperCase();
}
if(itemCode != null && itemCode.trim().length() > 0)
{
errCode = itmDBAccessEJB.isItem(siteCode, itemCode, modName, conn);
if(errCode != null && errCode.trim().length() > 0)
{
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
}
break;
case 3 :
parentNodeList = dom1.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
parentNodeList = dom.getElementsByTagName("Detail3");
parentNode = parentNodeList.item(0);
winName = getObjName(parentNode);
System.out.println( "winName :: " + winName );
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for(ctr = 0; ctr < childNodeListLength; ctr ++)
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equalsIgnoreCase("adj_amt"))
{
adjAmt = genericUtility.getColumnValue("adj_amt", dom);
refSer = genericUtility.getColumnValue("ref_ser", dom);
refNo = genericUtility.getColumnValue("ref_no", dom);
itemSer = genericUtility.getColumnValue("item_ser", dom1);
sundryCode = genericUtility.getColumnValue("sundry_code", dom1);
adjMiscCrn = genericUtility.getColumnValue("adj_misc_crn", dom1);
if("MC".equalsIgnoreCase(adjMiscCrn) || "AC".equalsIgnoreCase(adjMiscCrn))
{
sql = "select case when tot_amt is null then 0 else tot_amt end - case when adj_amt is null then 0 else adj_amt end,ref_type from receivables where tran_ser = ? and ref_no = ? and cust_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,refSer);
pstmt.setString(2,refNo);
pstmt.setString(3,sundryCode);
rs = pstmt.executeQuery();
if(rs.next())
{
balAmt = rs.getDouble(1);
refType = rs.getString(2);
}
else
{
if("MI".equalsIgnoreCase(adjMiscCrn))
{
errCode = "VTNSUCHRNI";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
errCode = "VTNSUCHRNA";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
else if("MI".equalsIgnoreCase(adjMiscCrn) || "AI".equalsIgnoreCase(adjMiscCrn))
{
sql = "select case when tot_amt is null then 0 else tot_amt end - case when adj_amt is null then 0 else adj_amt end from receivables where tran_ser = ? and ref_no = ? and item_ser = ? and cust_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,refSer);
pstmt.setString(2,refNo);
pstmt.setString(3,itemSer);
pstmt.setString(4,sundryCode);
rs = pstmt.executeQuery();
if(rs.next())
{
balAmt = rs.getDouble(1);
}
else
{
if("MI".equalsIgnoreCase(adjMiscCrn))
{
errCode = "VTNSUCHRNI";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
else
{
errCode = "VTNSUCHRNA";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
else
{
tranType = validator.getEnvDis("999999", "SRET_TYPE_FRS", conn);
if(tranType == null || "NULLFOUND".equalsIgnoreCase(tranType))
{
tranType = "";
}
if(refType == null || refType.trim().length() == 0)
{
refType = "";
}
if(adjAmt != null && balAmt != null && balAmt < Double.parseDouble(adjAmt))
{
errCode = "VTBAL1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
if(errCode == null || errCode.trim().length() == 0)
{
Double totAmt = 0.0;
tranId = genericUtility.getColumnValue("tran_id", dom);
amount = Double.parseDouble(genericUtility.getColumnValue("amount", dom1));
lineNo = Integer.parseInt(genericUtility.getColumnValue("line_no", dom));
sql = "select sum(adj_amt) from misc_drcr_rcpinv where tran_id = ? and line_no != ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
pstmt.setInt(2,lineNo);
rs = pstmt.executeQuery();
if(rs.next())
{
sumAdj = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
totAmt = sumAdj + Double.parseDouble(adjAmt);
if(totAmt > amount)
{
errCode = "VTHAILTSDA";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
}
}
}
}
break;
}//end switch
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 = 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);
errString = "";
}
if(errorType.equalsIgnoreCase("E"))
{
break;
}
}
errList.clear();
errList = null;
errFields.clear();
errFields = null;
errStringXml.append("</Errors> </Root> \r\n");
}
else
{
errStringXml = new StringBuffer("");
}
}//end try
catch(Exception e)
{
e.printStackTrace();
errString = e.getMessage();
throw new ITMException(e);
}
finally
{
try
{
if(conn != null)
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
conn.close();
}
conn = null;
}
catch(Exception d)
{
d.printStackTrace();
throw new ITMException(d);
}
}
errString = errStringXml.toString();
return errString;
}//end of validation
// method for item change
public String itemChanged(String xmlString, String xmlString1, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException
{
Document dom = null;
Document dom1 = null;
String valueXmlString = "";
try
{
dom = parseString(xmlString);
dom1 = parseString(xmlString1);
valueXmlString = itemChanged(dom, dom1, objContext, currentColumn, editFlag, xtraParams);
}
catch(Exception e)
{
System.out.println("Exception : [MiscDnVal][itemChanged( String, String )] :==>\n" + e.getMessage());
}
return valueXmlString;
}
// method for item change
public String itemChanged(Document dom, Document dom1, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException
{
StringBuffer valueXmlString = new StringBuffer();
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
String childNodeName = null;
String siteCode = "";
String drcrFlag = "D";
String dateNow = "";
String tranSer = "";
String rndStr = "";
String rndOff = "";
String currCode1 = "";
String finEntity = "";
String itemSer = "";
String descr = "";
String modName = "";
String udfStr1 = "";
String tranType = "";
String acctCode1 = "";
String descr2 = "";
String sundryCode = "";
String fName = "";
String mName = "";
String lName = "";
String descr1 = "";
String cctrCode = "";
String acctCode = "";
String refNo = "";
String reasCode = "";
String tranId = "";
String currCode = "";
String sundryType = "";
String lineNo = "";
String refSer = "";
String sql = "";
String tranDate = "";
String getAcctDet = "";
int quantity = 0;
int ctr = 0;
int cnt = 0;
int currentFormNo = 0;
Double balAmt = 0.0;
Double totAmt = 0.0;
Double adjAmt = 0.0;
Double exchRate = 0.0;
Double amount = 0.0;
Double rate = 0.0;
String itemCode="", unitValue="", unit="";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null ;
GenericUtility genericUtility = GenericUtility.getInstance();
ConnDriver connDriver = new ConnDriver();
try
{
conn = connDriver.getConnectDB("DriverITM");
conn.setAutoCommit(false);
connDriver = null;
finCommon = new FinCommon();
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
if(objContext != null && objContext.trim().length() > 0)
{
currentFormNo = Integer.parseInt(objContext);
}
valueXmlString = new StringBuffer("<?xml version = \"1.0\"?> <Root> <header> <editFlag>");
valueXmlString.append(editFlag).append("</editFlag> </header>");
switch(currentFormNo)
{
case 1 :
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
valueXmlString.append("<Detail1>");
int childNodeListLength = childNodeList.getLength();
do
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equals(currentColumn))
{
if(childNode.getFirstChild() != null)
{
}
}
ctr ++;
}
while(ctr < childNodeListLength && ! childNodeName.equals(currentColumn));
System.out.println("currentColumn----"+currentColumn);
if(currentColumn.trim().equalsIgnoreCase("itm_default"))
{
siteCode =(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode"));
valueXmlString.append("<site_code>").append("<![CDATA[" + siteCode + "]]>").append("</site_code>");
dateNow = simpleDateFormat.format(currentDate.getTime());
System.out.println("dateNow-----"+dateNow);
valueXmlString.append("<tran_date>").append("<![CDATA[" + dateNow + "]]>").append("</tran_date>");
valueXmlString.append("<eff_date>").append("<![CDATA[" + dateNow + "]]>").append("</eff_date>");
valueXmlString.append("<due_date>").append("<![CDATA[" + dateNow + "]]>").append("</due_date>");
valueXmlString.append("<drcr_flag>").append("<![CDATA[" + drcrFlag + "]]>").append("</drcr_flag>");
if("D".equalsIgnoreCase(drcrFlag))
{
tranSer = "MDRCRD";
valueXmlString.append("<adj_misc_crn protect = \"1\">").append("<![CDATA[" + "NA" + "]]>").append("</adj_misc_crn>");
}
else if("C".equalsIgnoreCase(drcrFlag))
{
tranSer = "MDRCRC";
}
valueXmlString.append("<tran_ser>").append("<![CDATA[" + tranSer + "]]>").append("</tran_ser>");
rndStr = tranSer + "-RND";
if(rndStr != null && rndStr.trim().length() > 0)
{
rndOff = finCommon.getFinparams("999999",rndStr,conn);
}
if(!"NULLFOUND".equalsIgnoreCase(rndOff))
{
valueXmlString.append("<rnd_off>").append("<![CDATA[" + rndOff + "]]>").append("</rnd_off>");
rndStr = tranSer + "-RNDTO";
if(rndStr != null && rndStr.trim().length() > 0)
{
rndOff = finCommon.getFinparams("999999",rndStr,conn);
}
if(!"NULLFOUND".equalsIgnoreCase(rndOff))
{
valueXmlString.append("<rnd_to>").append("<![CDATA[" + Integer.parseInt(rndOff) + "]]>").append("</rnd_to>");
}
}
setNodeValue(dom, "site_code", getAbsString(siteCode));
}//end of if
else if(currentColumn.trim().equalsIgnoreCase("itm_defaultedit"))
{
currCode = genericUtility.getColumnValue("curr_code", dom);
exchRate = Double.parseDouble(genericUtility.getColumnValue("exch_rate", dom));
tranId = genericUtility.getColumnValue("tran_id", dom);
sundryType = genericUtility.getColumnValue("sundry_type", dom);
sundryCode = genericUtility.getColumnValue("sundry_code", dom);
if(sundryType != null && sundryCode != null && sundryType.trim().length() > 0 && sundryCode.trim().length() > 0)
{
descr = finCommon.getChequeName(sundryType, sundryCode, "N", conn);
}
valueXmlString.append("<sundry_name>").append("<![CDATA[" + descr + "]]>").append("</sundry_name>");
sql = " select count(*) from misc_drcr_rcpinv where tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(cnt > 0)
{
valueXmlString.append("<adj_misc_crn protect = \"1\">").append("</adj_misc_crn>");
}
else
{
valueXmlString.append("<adj_misc_crn protect = \"0\">").append("</adj_misc_crn>");
}
sql = " select count(tran_id) from misc_drcr_rdet where tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(cnt > 0)
{
valueXmlString.append("<curr_code protect = \"1\">").append("<![CDATA[" + currCode + "]]>").append("</curr_code>");
valueXmlString.append("<exch_rate protect = \"1\">").append("<![CDATA[" + exchRate + "]]>").append("</exch_rate>");
}
else
{
valueXmlString.append("<curr_code protect = \"0\">").append("<![CDATA[" + currCode + "]]>").append("</curr_code>");
valueXmlString.append("<exch_rate protect = \"0\">").append("<![CDATA[" + exchRate + "]]>").append("</exch_rate>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("sundry_code"))
{
sundryCode = genericUtility.getColumnValue("sundry_code", dom);
sundryType = genericUtility.getColumnValue("sundry_type", dom);
siteCode = genericUtility.getColumnValue("site_code", dom);
if(sundryType != null && sundryCode != null && sundryType.trim().length() > 0 && sundryCode.trim().length() > 0)
{
descr = finCommon.getChequeName(sundryType, sundryCode, "N", conn);
}
valueXmlString.append("<sundry_name>").append("<![CDATA[" + descr + "]]>").append("</sundry_name>");
if("B".equalsIgnoreCase(sundryType))
{
descr = findValue(conn,"bank_name", "bank", "bank_code", sundryCode);
currCode = findValue(conn,"curr_code", "bank", "bank_code", sundryCode);
siteCode = findValue(conn,"site_code", "bank", "bank_code", sundryCode);
acctCode = findValue(conn,"acct_code__bal", "bank", "bank_code", sundryCode);
cctrCode = findValue(conn,"cctr_code__bal", "bank", "bank_code", sundryCode);
}
else if("E".equalsIgnoreCase(sundryType))
{
fName = findValue(conn,"emp_fname", "employee", "emp_code", sundryCode);
if(fName != null)
{
fName = fName.trim();
}
lName = findValue(conn,"emp_lname", "employee", "emp_code", sundryCode);
if(lName != null)
{
lName = lName.trim();
}
siteCode = findValue(conn,"pay_site", "employee", "emp_code", sundryCode);
descr = fName + "" + lName;
}
else if("C".equalsIgnoreCase(sundryType))
{
descr = findValue(conn,"cust_name", "customer", "cust_code", sundryCode);
currCode = findValue(conn,"curr_code", "customer", "cust_code", sundryCode);
acctCode = findValue(conn,"acct_code__ar", "customer", "cust_code", sundryCode);
cctrCode = findValue(conn,"cctr_code__ar", "customer", "cust_code", sundryCode);
if(acctCode == null || acctCode.trim().length() == 0)
{
itemSer = genericUtility.getColumnValue("item_ser", dom);
tranType = genericUtility.getColumnValue("tran_type", dom);
siteCode = genericUtility.getColumnValue("site_code", dom);
acctCode = findValue(conn,"acct_code__ar", "itemser", "item_ser", itemSer);
cctrCode = findValue(conn,"cctr_code__ar", "itemser", "item_ser", itemSer);
if(acctCode == null || cctrCode == null || acctCode.trim().length() == 0 || cctrCode.trim().length() == 0)
{
if(itemSer != null && tranType != null && itemSer.trim().length() > 0 && tranType.trim().length() > 0)
{
getAcctDet = finCommon.getAcctDetrTtype("", itemSer, "AR", tranType, conn);
}
String [] acctToken = getAcctDet.split(",");
if(acctToken.length > 0)
{
if(acctToken.length == 1)
{
acctCode = acctToken[0];
}
else
{
acctCode = acctToken[0];
cctrCode = acctToken[1];
}
}
}
}
}
else if("R".equalsIgnoreCase(sundryType))
{
fName = findValue(conn, "case when first_name is null then '' else first_name end" , "strg_customer b, customer a", "b.cust_code = a.cust_code and b.sc_code", sundryCode);
lName = findValue(conn, "case when last_name is null then '' else last_name end" , "strg_customer b, customer a", "b.cust_code = a.cust_code and b.sc_code", sundryCode);
mName = findValue(conn, "case when middle_name is null then '' else middle_name end" , "strg_customer b, customer a", "b.cust_code = a.cust_code and b.sc_code", sundryCode);
if(fName != null)
{
fName = fName.trim();
}
if(lName != null)
{
lName = lName.trim();
}
if(mName != null)
{
mName = mName.trim();
}
currCode = findValue(conn, "a.curr_code" , "strg_customer b, customer a", "b.cust_code = a.cust_code and b.sc_code", sundryCode);
acctCode = findValue(conn, "a.acct_code__ar" , "strg_customer b, customer a", "b.cust_code = a.cust_code and b.sc_code", sundryCode);
cctrCode = findValue(conn, "a.cctr_code__ar" , "strg_customer b, customer a", "b.cust_code = a.cust_code and b.sc_code", sundryCode);
descr = fName + "" + mName + "" + lName;
}
else if("P".equalsIgnoreCase(sundryType))
{
descr = findValue(conn, "sp_name" , "sales_pers", "sales_pers", sundryCode);
currCode = findValue(conn, "curr_code" , "sales_pers", "sales_pers", sundryCode);
acctCode = findValue(conn, "acct_code__ap" , "sales_pers", "sales_pers", sundryCode);
cctrCode = findValue(conn, "cctr_code__ap" , "sales_pers", "sales_pers", sundryCode);
}
else if("T".equalsIgnoreCase(sundryType))
{
descr = findValue(conn, "tran_name" , "transporter", "tran_code", sundryCode);
currCode = findValue(conn, "curr_code" , "transporter", "tran_code", sundryCode);
acctCode = findValue(conn, "acct_code__fp" , "transporter", "tran_code", sundryCode);
cctrCode = findValue(conn, "cctr_code__fp" , "transporter", "tran_code", sundryCode);
}
else if("O".equalsIgnoreCase(sundryType))
{
descr = findValue(conn, "descr" , "accounts", "acct_code", sundryCode);
currCode = findValue(conn, "curr_code" , "accounts", "acct_code", sundryCode);
}
if(acctCode == null)
{
acctCode = "";
}
if(cctrCode == null)
{
cctrCode = "";
}
if(descr == null)
{
descr = "";
}
if(currCode == null)
{
currCode = "";
}
valueXmlString.append("<acct_code>").append("<![CDATA[" + acctCode + "]]>").append("</acct_code>");
descr1 = findValue(conn, "descr" , "accounts", "acct_code", acctCode);//added by dipak
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + descr1 + "]]>").append("</accounts_descr>");//added extra by dipak
valueXmlString.append("<cctr_code>").append("<![CDATA[" + cctrCode + "]]>").append("</cctr_code>");
valueXmlString.append("<sundry_name>").append("<![CDATA[" + descr + "]]>").append("</sundry_name>");
valueXmlString.append("<curr_code>").append("<![CDATA[" + currCode + "]]>").append("</curr_code>");
tranDate = genericUtility.getColumnValue("tran_date", dom);
if(currCode != null && tranDate != null && currCode.trim().length() > 0 && tranDate.trim().length() > 0)
{
exchRate = finCommon.getDailyExchRateSellBuy(currCode, "", siteCode, tranDate, "B", conn);
}
valueXmlString.append("<exch_rate protect = \"1\">").append("<![CDATA[" + exchRate + "]]>").append("</exch_rate>");
if(siteCode != null && siteCode.trim().length() > 0)
{
valueXmlString.append("<site_code>").append("<![CDATA[" + siteCode + "]]>").append("</site_code>");
descr = findValue(conn, "descr","site","site_code",siteCode);
finEntity = findValue(conn, "fin_entity","site","site_code", siteCode);
valueXmlString.append("<site_descr>").append("<![CDATA[" + descr + "]]>").append("</site_descr>");
valueXmlString.append("<fin_entity>").append("<![CDATA[" + finEntity + "]]>").append("</fin_entity>");
if(currCode == null || currCode.trim().length() == 0)
{
currCode = findValue(conn, "curr_code" , "finent", "fin_entity", finEntity);
valueXmlString.append("<curr_code>").append("<![CDATA[" + currCode + "]]>").append("</curr_code>");
tranDate = genericUtility.getColumnValue("tran_date", dom);
if(currCode != null && tranDate != null && currCode.trim().length() > 0 && tranDate.trim().length() > 0)
{
exchRate = finCommon.getDailyExchRateSellBuy(currCode, "", siteCode, tranDate, "B", conn);
}
valueXmlString.append("<exch_rate protect = \"1\">").append("<![CDATA[" + exchRate + "]]>").append("</exch_rate>");
}
}
if(acctCode != null && acctCode.trim().length() > 0)
{
valueXmlString.append("<acct_code>").append("<![CDATA[" + acctCode + "]]>").append("</acct_code>");
descr1 = findValue(conn, "descr" , "accounts", "acct_code", acctCode);
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + descr1 + "]]>").append("</accounts_descr>");
valueXmlString.append("<cctr_code>").append("<![CDATA[" + cctrCode + "]]>").append("</cctr_code>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("site_code"))
{
siteCode = genericUtility.getColumnValue("site_code", dom);
descr = findValue(conn, "descr","site","site_code", siteCode);
finEntity = findValue(conn, "fin_entity","site", "site_code", siteCode);
valueXmlString.append("<site_descr>").append("<![CDATA[" + descr + "]]>").append("</site_descr>");
valueXmlString.append("<fin_entity>").append("<![CDATA[" + finEntity + "]]>").append("</fin_entity>");
}
else if(currentColumn.trim().equalsIgnoreCase("acct_code"))
{
acctCode = genericUtility.getColumnValue("acct_code", dom);
descr = findValue(conn, "descr" , "accounts", "acct_code", acctCode);
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + descr + "]]>").append("</accounts_descr>");
}
else if(currentColumn.trim().equalsIgnoreCase("curr_code"))
{
currCode1 = genericUtility.getColumnValue("curr_code", dom);
siteCode = genericUtility.getColumnValue("site_code", dom);
tranDate = genericUtility.getColumnValue("tran_date", dom);
if(currCode1 != null && tranDate != null && currCode1.trim().length() > 0 && tranDate.trim().length() > 0)
{
exchRate = finCommon.getDailyExchRateSellBuy(currCode1, "", siteCode, tranDate, "B", conn);
}
valueXmlString.append("<exch_rate>").append("<![CDATA[" + exchRate + "]]>").append("</exch_rate>");
finEntity = genericUtility.getColumnValue("fin_entity", dom);
currCode = findValue(conn, "curr_code" , "finent", "fin_entity", finEntity);
if(currCode1 != null && currCode != null && currCode1.trim().equalsIgnoreCase(currCode.trim()))
{
valueXmlString.append("<exch_rate protect = \"1\">").append(1).append("</exch_rate>");
}
else
{
valueXmlString.append("<exch_rate protect = \"0\">").append("</exch_rate>");
}
amount = Double.parseDouble(genericUtility.getColumnValue("amount", dom));
if(amount > 0)
{
amount = amount * exchRate;
valueXmlString.append("<amount__bc>").append("<![CDATA[" + amount + "]]>").append("</amount__bc>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("exch_rate"))
{
exchRate = Double.parseDouble(genericUtility.getColumnValue("exch_rate", dom));
if(exchRate == null)
{
exchRate = 0.0;
}
amount = Double.parseDouble(genericUtility.getColumnValue("amount", dom));
if(amount > 0)
{
amount = amount * exchRate;
valueXmlString.append("<amount__bc>").append("<![CDATA[" + amount + "]]>").append("</amount__bc>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("tran_date"))
{
tranDate = genericUtility.getColumnValue("tran_date", dom);
valueXmlString.append("<eff_date>").append("<![CDATA[" + tranDate + "]]>").append("</eff_date>");
valueXmlString.append("<due_date>").append("<![CDATA[" + tranDate + "]]>").append("</due_date>");
}
else if(currentColumn.trim().equalsIgnoreCase("item_ser"))
{
itemSer = genericUtility.getColumnValue("item_ser", dom);
String acctCodeTot="",cctrCodeTot="",actCodeDesc="";
itemSer = itemSer == null ? "" : itemSer.trim();
if(itemSer.length()>0){
sql="select s.acct_code__tot_ar,ac.descr,s.cctr_code__tot_ar from accounts ac, item_acct_detr s, itemser i where ac.acct_code=s.acct_code__tot_ar and i.item_ser=s.item_ser and s.item_ser=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemSer);
rs = pstmt.executeQuery();
if (rs.next()) {
acctCodeTot = rs.getString(1);
actCodeDesc = rs.getString(2);
cctrCodeTot = rs.getString(3);
}
acctCodeTot = (acctCodeTot == null) ? "" : acctCodeTot.trim();
actCodeDesc = (actCodeDesc == null) ? "" : actCodeDesc.trim();
cctrCodeTot = (cctrCodeTot == null) ? "" : cctrCodeTot.trim();
rs.close();
pstmt.close();
rs = null;
pstmt = null;
}
valueXmlString.append("<acct_code__tot_ar>").append("<![CDATA[" + acctCodeTot + "]]>").append("</acct_code__tot_ar>");
valueXmlString.append("<accounts_descr_tot>").append("<![CDATA[" + actCodeDesc + "]]>").append("</accounts_descr_tot>");
valueXmlString.append("<cctr_code__tot_ar>").append("<![CDATA[" + cctrCodeTot + "]]>").append("</cctr_code__tot_ar>");
/*itemSer = genericUtility.getColumnValue("item_ser", dom);
acctCode = findValue(conn, "acct_code__ar" , "itemser", "item_ser", itemSer);
if(acctCode == null)
{
acctCode = "";
}
cctrCode = findValue(conn, "cctr_code__ar" , "itemser", "item_ser", itemSer);
if(cctrCode == null)
{
cctrCode = "";
}
acctCode1 = genericUtility.getColumnValue("acct_code", dom);
if(acctCode1 == null || acctCode1.trim().length() == 0)
{
valueXmlString.append("<acct_code>").append("<![CDATA[" + acctCode + "]]>").append("</acct_code>");
valueXmlString.append("<cctr_code>").append("<![CDATA[" + cctrCode + "]]>").append("</cctr_code>");
descr2 = findValue(conn, "descr" , "accounts", "acct_code", acctCode);
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + descr2 + "]]>").append("</accounts_descr>");
}*/
}else if(currentColumn.trim().equalsIgnoreCase("sale_order"))
{
String salOrder = genericUtility.getColumnValue("sale_order", dom);
String projCode="", projDescr="";
salOrder = salOrder == null ? "" : salOrder.trim();
if(salOrder.length()>0){
sql="select s.proj_code,p.proj_code, p.descr from sorder s, project p where s.proj_code=p.proj_code and s.sale_order=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, salOrder);
rs = pstmt.executeQuery();
if (rs.next()) {
projCode = rs.getString(1);
projDescr = rs.getString(2);
}
projCode = (projCode == null) ? "" : projCode.trim();
projDescr = (projDescr == null) ? "" : projDescr.trim();
rs.close();
pstmt.close();
rs = null;
pstmt = null;
}
valueXmlString.append("<proj_code>").append("<![CDATA[" + projCode + "]]>").append("</proj_code>");
valueXmlString.append("<project_descr>").append("<![CDATA[" + projDescr + "]]>").append("</project_descr>");
}
valueXmlString.append("</Detail1>");
break;
case 2 :
parentNodeList = dom1.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
winName = getObjName(parentNode);
System.out.println( "winName :: " + winName );
parentNodeList = dom.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
ctr = 0;
valueXmlString.append("<Detail2>");
childNodeListLength = childNodeList.getLength();
do
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equals(currentColumn))
{
if(childNode.getFirstChild() != null)
{
}
}
ctr ++;
}while(ctr < childNodeListLength && ! childNodeName.equals(currentColumn));
if(currentColumn.trim().equalsIgnoreCase("itm_default"))
{
acctCode = genericUtility.getColumnValue("acct_code", dom);
lineNo = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "focusRow");
if (lineNo != null)
{
if(Integer.parseInt(lineNo) > 0)
{
valueXmlString.append("<line_no>").append("<![CDATA[" + lineNo + "]]>").append("</line_no>");
}
}
tranId = genericUtility.getColumnValue("tran_id", dom1);
valueXmlString.append("<tran_id>").append("<![CDATA[" + tranId + "]]>").append("</tran_id>");
valueXmlString.append("<acct_code protect = \"0\">").append("<![CDATA[" + acctCode + "]]>").append("</acct_code>");
tranType = genericUtility.getColumnValue("tran_type", dom1);
if(winName != null)
{
modName = winName.trim().toUpperCase();
}
sql = " select udf_str1 from gencodes where fld_name = 'TRAN_TYPE' and mod_name = ? and fld_value = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,modName);
pstmt.setString(2,tranType);
rs = pstmt.executeQuery();
if(rs.next())
{
udfStr1 = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(udfStr1 != null && "I".equalsIgnoreCase(udfStr1.trim()))
{
valueXmlString.append("<item_code protect = \"0\">").append("</item_code>");
valueXmlString.append("<quantity protect = \"0\">").append("</quantity>");
valueXmlString.append("<rate protect = \"0\">").append("</rate>");
}
else
{
valueXmlString.append("<item_code protect = \"1\">").append("</item_code>");
valueXmlString.append("<quantity protect = \"1\">").append("</quantity>");
valueXmlString.append("<rate protect = \"1\">").append("</rate>");
}
String acctCodeTot="", cctrCodeTot="",actCodeDesc="";
acctCodeTot=genericUtility.getColumnValue("acct_code__tot_ar", dom1);
actCodeDesc=genericUtility.getColumnValue("accounts_descr_tot", dom1);
cctrCodeTot=genericUtility.getColumnValue("cctr_code__tot_ar", dom1);
valueXmlString.append("<acct_code>").append("<![CDATA[" + acctCodeTot + "]]>").append("</acct_code>");
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + actCodeDesc + "]]>").append("</accounts_descr>");
valueXmlString.append("<cctr_code>").append("<![CDATA[" + cctrCodeTot + "]]>").append("</cctr_code>");
}
else if(currentColumn.trim().equalsIgnoreCase("itm_defaultedit"))
{
acctCode = genericUtility.getColumnValue("acct_code", dom);
reasCode = genericUtility.getColumnValue("reas_code", dom);
if(reasCode == null || reasCode.trim().length() == 0)
{
valueXmlString.append("<acct_code protect = \"0\">").append("<![CDATA[" + acctCode + "]]>").append("</acct_code>");
}
else
{
valueXmlString.append("<acct_code protect = \"1\">").append("<![CDATA[" + acctCode + "]]>").append("</acct_code>");
}
tranType = genericUtility.getColumnValue("tran_type", dom1);
if(tranType != null)
{
tranType = tranType.trim();
}
if(winName != null)
{
modName = winName.trim().toUpperCase();
}
sql = " select udf_str1 from gencodes where fld_name = 'TRAN_TYPE' and mod_name = ? and fld_value = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,modName);
pstmt.setString(2,tranType);
rs = pstmt.executeQuery();
if(rs.next())
{
udfStr1 = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(udfStr1 != null && "I".equalsIgnoreCase(udfStr1.trim()))
{
valueXmlString.append("<item_code protect = \"0\">").append("</item_code>");
valueXmlString.append("<quantity protect = \"0\">").append("</quantity>");
valueXmlString.append("<rate protect = \"0\">").append("</rate>");
}
else
{
valueXmlString.append("<item_code protect = \"1\">").append("</item_code>");
valueXmlString.append("<quantity protect = \"1\">").append("</quantity>");
valueXmlString.append("<rate protect = \"1\">").append("</rate>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("acct_code"))
{
acctCode = genericUtility.getColumnValue("acct_code", dom);
descr = findValue(conn, "descr" , "accounts", "acct_code", acctCode);
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + descr + "]]>").append("</accounts_descr>");
}else if(currentColumn.trim().equalsIgnoreCase("item_code"))
{
itemCode = genericUtility.getColumnValue("item_code", dom);
String itemDescr="", unitVal="", unitDescr="";
itemCode = itemCode == null ? "" : itemCode.trim();
if(itemCode.length()>0){
sql="select i.descr, u.unit, u.descr from item i, uom u where i.unit = u.unit and i.item_code=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemCode);
rs = pstmt.executeQuery();
if (rs.next()) {
itemDescr = rs.getString(1);
unitVal = rs.getString(2);
unitDescr = rs.getString(3);
}
itemDescr = (itemDescr == null) ? "" : itemDescr.trim();
unitVal = (unitVal == null) ? "" : unitVal.trim();
unitDescr=(unitDescr == null) ? "" : unitDescr.trim();
rs.close();
pstmt.close();
rs = null;
pstmt = null;
}
valueXmlString.append("<item_descr>").append("<![CDATA[" + itemDescr + "]]>").append("</item_descr>");
valueXmlString.append("<unit>").append("<![CDATA[" + unitVal + "]]>").append("</unit>");
valueXmlString.append("<uom_descr>").append("<![CDATA[" + unitDescr + "]]>").append("</uom_descr>");
}
/*else if(currentColumn.trim().equalsIgnoreCase("reas_code"))
{
reasCode = genericUtility.getColumnValue("reas_code", dom);
if(winName != null)
{
modName = winName.trim().toUpperCase();
}
sql = " select udf_str1 from gencodes where fld_name = 'REAS_CODE' and mod_name = ? and fld_value = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,modName);
pstmt.setString(2,reasCode);
rs = pstmt.executeQuery();
if(rs.next())
{
acctCode = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " select udf_str2 from gencodes where fld_name = 'REAS_CODE' and mod_name = ? and fld_value = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,modName);
pstmt.setString(2,reasCode);
rs = pstmt.executeQuery();
if(rs.next())
{
cctrCode = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(acctCode != null && acctCode.trim().length() > 0)
{
valueXmlString.append("<acct_code>").append("<![CDATA[" + acctCode + "]]>").append("</acct_code>");
descr2 = findValue(conn, "descr" , "accounts", "acct_code", acctCode);
valueXmlString.append("<accounts_descr>").append("<![CDATA[" + descr2 + "]]>").append("</accounts_descr>");
valueXmlString.append("<cctr_code>").append("<![CDATA[" + cctrCode + "]]>").append("</cctr_code>");
}
}*/
else if(currentColumn.trim().equalsIgnoreCase("rate"))
{
rate = Double.parseDouble(genericUtility.getColumnValue("rate", dom));
quantity = Integer.parseInt(genericUtility.getColumnValue("quantity", dom));
amount = rate * quantity;
valueXmlString.append("<amount>").append("<![CDATA[" + amount + "]]>").append("</amount>");
if(rate!= 0 || quantity != 0)
{
valueXmlString.append("<amount protect = \"1\">").append("<![CDATA[" + amount + "]]>").append("</amount>");
}
else
{
valueXmlString.append("<amount protect = \"0\">").append("<![CDATA[" + amount + "]]>").append("</amount>");
}
}
valueXmlString.append("</Detail2>");
break;
case 3 :
parentNodeList = dom1.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);;
parentNodeList = dom.getElementsByTagName("Detail3");
parentNode = parentNodeList.item(0);
winName = getObjName(parentNode);
System.out.println( "winName :: " + winName );
childNodeList = parentNode.getChildNodes();
ctr = 0;
valueXmlString.append("<Detail3>");
childNodeListLength = childNodeList.getLength();
do
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
if(childNodeName.equals(currentColumn))
{
if(childNode.getFirstChild() != null)
{
}
}
ctr ++;
}while(ctr < childNodeListLength && ! childNodeName.equals(currentColumn));
if(currentColumn.trim().equalsIgnoreCase("ref_no"))
{
refNo = genericUtility.getColumnValue("ref_no", dom);
System.out.println("@@@@Reference No.@@@@"+refNo);
refSer = genericUtility.getColumnValue("ref_ser", dom);
sql = " select tot_amt from receivables where tran_ser = ? and ref_no = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,refSer);
pstmt.setString(2,refNo);
rs = pstmt.executeQuery();
if(rs.next())
{
totAmt = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " select adj_amt from receivables where tran_ser = ? and ref_no = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,refSer);
pstmt.setString(2,refNo);
rs = pstmt.executeQuery();
if(rs.next())
{
adjAmt = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
balAmt = totAmt - adjAmt;
valueXmlString.append("<ref_bal_amt>").append("<![CDATA[" + balAmt + "]]>").append("</ref_bal_amt>");
valueXmlString.append("<adj_amt>").append("<![CDATA[" + balAmt + "]]>").append("</adj_amt>");
}
valueXmlString.append("</Detail3>");
break;
}
valueXmlString.append("</Root>");
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception ::"+ e.getMessage());
throw new ITMException(e);
}
finally
{
try
{
if(conn != null)
{
if(pstmt != null)
pstmt.close();
if(rs != null)
rs.close();
rs = null;
pstmt = null;
conn.close();
conn = null;
}
}
catch(Exception d)
{
d.printStackTrace();
}
}
return valueXmlString.toString();
}
private String findValue(Connection conn, String columnName ,String tableName, String columnName2, String value) throws ITMException, RemoteException
{
PreparedStatement pstmt = null ;
ResultSet rs = null ;
String sql = "";
String findValue = "";
try
{
sql = "SELECT " + columnName + " from " + tableName + " where " + columnName2 +"= ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,value);
rs = pstmt.executeQuery();
if(rs.next())
{
findValue = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
catch(Exception e)
{
System.out.println("Exception in findValue ");
e.printStackTrace();
throw new ITMException(e);
}
System.out.println("returning String from findValue " + findValue);
return findValue;
}
private String errorType(Connection conn , String errorCode)
{
String msgType = "";
PreparedStatement pstmt = null ;
ResultSet rs = null;
try
{
String sql = "SELECT MSG_TYPE FROM MESSAGES WHERE MSG_NO = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,errorCode);
rs = pstmt.executeQuery();
while(rs.next())
{
msgType = rs.getString("MSG_TYPE");
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
return msgType;
}
private String getObjName(Node node) throws Exception
{
String objName = null;
NamedNodeMap attrMap = node.getAttributes();
objName = attrMap.getNamedItem( "objName" ).getNodeValue();
return "w_" + objName;
}
private static void setNodeValue(Document dom, String nodeName, String nodeVal) throws Exception
{
Node tempNode = dom.getElementsByTagName(nodeName).item(0);
if(tempNode != null)
{
if(tempNode.getFirstChild() == null)
{
CDATASection cDataSection = dom.createCDATASection(nodeVal);
tempNode.appendChild(cDataSection);
}
else
{
tempNode.getFirstChild().setNodeValue(nodeVal);
}
}
tempNode = null;
}
private static String getAbsString(String str)
{
return(str == null || str.trim().length() == 0 || "null".equalsIgnoreCase(str.trim()) ? "" : str.trim() );
}
}
\ No newline at end of file
/********************************************************
Title : MiscDnValLocal
Date : 26/07/2011
Developer: Dipak Chattar
********************************************************/
package ibase.webitm.ejb.fin.adv;
import java.rmi.RemoteException;
import org.w3c.dom.*;
import ibase.webitm.ejb.*;
import ibase.webitm.utility.ITMException;
import javax.ejb.Local; // added for ejb3
@Local // added for ejb3
public interface DrCrRcpMstICLocal extends ValidatorLocal
{
public String wfValData(String xmlString, String xmlString1, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(Document dom, Document dom1, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(String xmlString, String xmlString1, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(Document dom, Document dom1, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
}
/********************************************************
Title : MiscDnValRemote
Date : 26/07/2011
Developer: Dipak Chattar
********************************************************/
package ibase.webitm.ejb.fin.adv;
import java.rmi.RemoteException;
import org.w3c.dom.*;
import ibase.webitm.ejb.*;
import ibase.webitm.utility.ITMException;
import javax.ejb.Remote; // added for ejb3
@Remote // added for ejb3
public interface DrCrRcpMstICRemote extends ValidatorRemote
{
public String wfValData(String xmlString, String xmlString1, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(Document dom, Document dom1,String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(String xmlString, String xmlString1, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(Document dom, Document dom1, 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