Commit 14b4bf3d authored by vdhoble's avatar vdhoble

changes for D14LSUN007 Common Voucher for(Receipt/Rejection)


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@97645 ce508802-f39f-4f6c-b175-0d175dae99d5
parent a23c72c8
......@@ -2,18 +2,18 @@ package ibase.webitm.ejb.fin;
import ibase.utility.CommonConstants;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.utility.TransIDGenerator;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.*;
import ibase.system.config.*;
import ibase.webitm.ejb.*;
import java.sql.*;
import java.text.*;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Date;
import java.util.HashMap;
import javax.naming.InitialContext;
import org.w3c.dom.*;
import ibase.webitm.ejb.fin.FinCommon;
......@@ -22,15 +22,12 @@ import ibase.webitm.ejb.sys.UtilMethods;
public class CreatePoRcpVoucher
{
//GenericUtility genericUtility = GenericUtility.getInstance();
ibase.utility.E12GenericUtility genericUtility= new ibase.utility.E12GenericUtility();
GenericUtility genericUtility = GenericUtility.getInstance();
FinCommon finCommon = new FinCommon();
DistCommon distCommon = new DistCommon();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
public String createPoRcpVoucher(String tranId,String xtraParams, Connection conn) throws ITMException
{
System.out.println("****************88In CreatePoRcpVoucher*************8");
System.out.println("Tran id:- ["+tranId+"]");
////////////////////////////////////////////////////////////////////////////////////////////////////
//gbf_porcp_voucher(as_tran_id, ai_commit, as_warning)
////////////////////////////////////////////////////////////////////////////////////////////////////
......@@ -65,15 +62,14 @@ public class CreatePoRcpVoucher
// End Arif 09-04-03
*/
PreparedStatement pstmt = null, pstmt1 = null, pstmtUpd = null,pstmt2=null;
ResultSet rs = null, rs1 = null,rs2=null;
PreparedStatement pstmt = null, pstmt1 = null, pstmtUpd = null;
ResultSet rs = null, rs1 = null;
java.sql.Timestamp tranDate = null, effectiveDate = null, taxDate = null, dueDate = null;
java.sql.Timestamp today = null, invoiceDate = null, DcDate = null, receiptDate = null, hdrRcpDate = null;
String errCode = "", errString = "", winName = "", roundString = "",roundOff = "", confFinVar = "N", autoConfirm = "N";
double diffTotal = 0, advTotal = 0, amount = 0, discount = 0, taxAmt = 0, exchRate = 0, suppBillAmount = 0, rcpTaxNP = 0;
int roundTo = 0, lineCount = 0, count = 0, ctr = 0;
String vouchType="";
String tranType = "", purcOrder = "", suppCode = "", tranCode = "", currCode = "", tranSer = "", taxClass = "", taxEnv = "", taxChap = "";
String remarks = "", siteCode = "", invoiceNo = "", DcNo = "", retOpt = "", postType = "", itemSer = "";
......@@ -92,13 +88,6 @@ public class CreatePoRcpVoucher
String chgDate = null, acctCodeAP = "", ccrtCodeAP = "", msgType = "", taxVar1 = "", taxVar2 = "";
MasterStatefulLocal masterStatefulLocal = null;
String invAcct="";
java.sql.Timestamp lrDate=null;
double rcpTaxAmountNP=0,totRcpQty=0,dlvQty=0,ordQty=0,qtyTolerance=0,advAmt=0;
boolean isClosed=false;
double advExchRate=0;
double exchRateDiff=0;
try
{
AppConnectParm appConnect = new AppConnectParm();
......@@ -155,14 +144,6 @@ public class CreatePoRcpVoucher
{
autoConfirm = "N";
}
invAcct = finCommon.getFinparams("999999", "INV_ACCT_PORCP", conn);
if ("NULLFOUND".equals(invAcct) || "null".equalsIgnoreCase(invAcct) || invAcct.trim().length()==0 )
{
invAcct="N";
}
/////////////////////////////////////////////////////////
////
//Converted nvl(porcp.discount,0) to case by Archiman 12/08/08
//Converted nvl(ret_opt,' ') to case by Archiman 12/08/08
......@@ -171,7 +152,7 @@ public class CreatePoRcpVoucher
+ " TRAN_CODE, AMOUNT, (CASE WHEN DISCOUNT IS NULL THEN 0 ELSE DISCOUNT END) AS DISCOUNT, "
+ " TAX, CURR_CODE, EXCH_RATE, TAX_DATE, TRAN_SER, REMARKS, SITE_CODE, "
+ " INVOICE_NO, INVOICE_DATE, DC_NO, DC_DATE,(CASE WHEN RET_OPT IS NULL THEN '' ELSE RET_OPT END ) AS RET_OPT, "
+ " POST_TYPE, ITEM_SER, ACCT_INV_ONLINE, ACCT_PORCP_ONLINE, POST_PROV, REC_DATE,LR_DATE "
+ " POST_TYPE, ITEM_SER, ACCT_INV_ONLINE, ACCT_PORCP_ONLINE, POST_PROV, REC_DATE "
+ " FROM PORCP WHERE TRAN_ID = ? " //
+ " AND CONFIRMED = 'Y' AND (VOUCH_CREATED IS NULL OR VOUCH_CREATED = 'N') ";
......@@ -206,7 +187,6 @@ public class CreatePoRcpVoucher
poRcpOnLine = rs.getString("ACCT_PORCP_ONLINE");
postProv = rs.getString("POST_PROV");
hdrRcpDate = rs.getTimestamp("REC_DATE");
lrDate=rs.getTimestamp("LR_DATE");
}
else
{
......@@ -227,8 +207,6 @@ public class CreatePoRcpVoucher
{
hdrRcpDate = tranDate;
}
System.out.println("Supp code from PORCP:-["+suppCode+"] where tran id :-["+tranId+"]");
// tranType added by sheetal 12/10/02
if (retOpt == null || retOpt.trim().length() == 0 )
{
......@@ -480,8 +458,6 @@ public class CreatePoRcpVoucher
rs = null;
pstmt.close();
pstmt = null;
System.out.println("Initial suppCodePay from SUPPLIER is :-["+suppCodePay+" where SUPP_CODE is :- ["+suppCode+"]");
sql = "SELECT FIN_ENTITY, BANK_CODE FROM SITE WHERE SITE_CODE = ?" ;
pstmt = conn.prepareStatement(sql);
......@@ -554,8 +530,8 @@ public class CreatePoRcpVoucher
receiptDate = hdrRcpDate;
}
dueDate = calcDueDate(crTerm, receiptDate, effectiveDate, invoiceDate,lrDate, conn);
dueDate = calcDueDateWithHolidays(crTerm,siteCode,dueDate,conn);
dueDate = calcDueDate(crTerm, receiptDate, effectiveDate, invoiceDate, conn);
//Commented & added ended jasmina 09/04/09-FI89SUN026
}
......@@ -598,15 +574,11 @@ public class CreatePoRcpVoucher
//Added by Nilesh to check for duplicate bill no - 04/04/03.
//***************************************************************************************
//from bill_no ltrim is removed by Tushar 20/03/09
if("P-RET"!=tranSer)
{
sql = "SELECT COUNT(1) FROM VOUCHER "
+ " WHERE SUPP_CODE = ? "
+ " AND BILL_NO = ? "
+ " AND BILL_DATE = ? "
+ " AND TRAN_ID <> ? "
+ "AND VOUCH_TYPE <> 'A'";
+ " AND TRAN_ID <> ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, suppCode);
......@@ -622,7 +594,6 @@ public class CreatePoRcpVoucher
rs = null;
pstmt.close();
pstmt = null;
}
//added by rajesh FI89SUN001 -23/04/2008
if (count == 0)
{
......@@ -847,19 +818,19 @@ public class CreatePoRcpVoucher
xmlBuff.append("<net_amt__bc><![CDATA[" + netAmountBase + "]]></net_amt__bc>");
xmlBuff.append("<diff_amt__exch><![CDATA[0]]></diff_amt__exch>");
xmlBuff.append("<supp_bill_amt><![CDATA[" + suppBillAmount + "]]></supp_bill_amt>");
xmlBuff.append("<emp_code><![CDATA[" + userId + "]]></emp_code>");
xmlBuff.append("<chg_user><![CDATA[" + (userId==null?"BASE":userId) + "]]></chg_user>");
xmlBuff.append("<chg_term><![CDATA[" + (termId==null?"BASE":termId) + "]]></chg_term>");
sdf = new java.text.SimpleDateFormat(genericUtility.getApplDateTimeFormat());
xmlBuff.append("<chg_date><![CDATA[" + sdf.format(today) + "]]></chg_date>");
xmlBuff.append("</Detail1>");
sql = "SELECT LINE_NO,PURC_ORDER,LINE_NO__ORD,ITEM_CODE,QUANTITY,UNIT,RATE, "
+ "(CASE WHEN DISCOUNT IS NULL THEN 0 ELSE DISCOUNT END ) AS DISCOUNT, " // CONVERTED NVL(DISCOUNT,0) TO CASE BY ARCHIMAN 09.08.08
+ " TAX_AMT,NET_AMT,QUANTITY__STDUOM,RATE__STDUOM, "
+ " ACCT_CODE__DR,CCTR_CODE__DR,DEPT_CODE,ACCT_CODE__CR,CCTR_CODE__CR, " //DEPT CODE ADDED FOR BUDGET CALC. SANDIP 23/07/05
+ " ACCT_CODE__PROV_DR,CCTR_CODE__PROV_DR,ACCT_CODE__PROV_CR,CCTR_CODE__PROV_CR,ANAL_CODE "
+ " ACCT_CODE__PROV_DR,CCTR_CODE__PROV_DR,ACCT_CODE__PROV_CR,CCTR_CODE__PROV_CR "
+ " FROM PORCPDET WHERE TRAN_ID = ? ";
// In below fetch-ls_acct_pdr,ls_cctr_pdr,ls_acct_pcr,ls_cctr_pcr-Added By fatema - 04/04/2007 - DI7SUN0018
pstmt = conn.prepareStatement(sql);
......@@ -889,11 +860,7 @@ public class CreatePoRcpVoucher
cctrCodeProvDR = rs.getString("CCTR_CODE__PROV_DR");
acctCodeProvCR = rs.getString("ACCT_CODE__PROV_CR");
cctrCodeProvCR = rs.getString("CCTR_CODE__PROV_CR");
analCode=rs.getString("ANAL_CODE");//Added by manoj dtd 17/02/2015
if("N".equalsIgnoreCase(invAcct))
{
analCode="";
}
// amit - 27/08/02
rateDiscount = getPurcRate(purcOrderDet, rcpItemCode,purcRate,purcDisc, conn);
purcRate = rateDiscount[0];
......@@ -1081,6 +1048,7 @@ public class CreatePoRcpVoucher
pstmt1.close();
pstmt1 = null;
}
rcpDiscAmt = (rcpQtyStd * rcpRateStd * rcpDiscount)/100;
rcpAmount = ((rcpQtyStd * rcpRateStd) - rcpDiscAmt);
vouchQuantity = rcpQuantity;
......@@ -1089,16 +1057,17 @@ public class CreatePoRcpVoucher
if ("P-RET".equals(tranSer))
{
rcpDiscAmt = -1 * rcpDiscAmt ;
rcpTaxAmount = -1 * rcpTaxAmount;
rcpNetAmount = -1 * rcpNetAmount;
vouchQuantity = -1 * vouchQuantity;
vouchAmount = -1 * vouchAmount;
taxMultiplier = -1;
rcpQtyStd = -1 * rcpQtyStd;
// 07-06-04 sign of amount to be changed
rcpAmount = -1 * rcpAmount;
rcpTaxAmount = -1 * rcpTaxAmount;
rcpNetAmount = -1 * rcpNetAmount;
vouchQuantity = -1 * vouchQuantity;
vouchAmount = -1 * vouchAmount;
taxMultiplier = -1;
rcpQtyStd = -1 * rcpQtyStd;
// 07-06-04 sign of amount to be changed
rcpAmount = -1 * rcpAmount;
// end 07-06-04
}
/// amish 19-03-04 // if posting is standard then paste acct code and cctr code
/// from item acct detr. PPV A/C
......@@ -1201,6 +1170,7 @@ public class CreatePoRcpVoucher
//if (cctrCodePPV == null || setnull(cctrCodePPV)//added by zahid 10/06/04
//if len(trim(acctCodePPV)) = 0 then setnull(acctCodePPV)//added by zahid 10/06/04
// 1 Added by Vilas as on 14-03-02
System.out.println("bEFORE******rcpDiscAmt***"+rcpDiscAmt+" rcpTaxAmount***"+rcpTaxAmount+" rcpNetAmount***"+rcpNetAmount+ " vouchQuantity***" + " vouchAmount***"+vouchAmount+" rcpQtyStd***"+rcpQtyStd+" rcpAmount***"+rcpAmount);
ctr++;
......@@ -1256,9 +1226,52 @@ public class CreatePoRcpVoucher
{
return errString;
}
//Changes by Vishakha 24-MAR-2015
String tranidRef = "";
sql = "select tran_id__ref from porcp where tran_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs = pstmt.executeQuery();
while(rs.next())
{
tranidRef = rs.getString("tran_id__ref");
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
String tranString = "",tranSerVal = "";
if ("P-RCP".equals(tranSer.trim()))
{
tranString = "and porcp.tran_id__ref = '"+tranId+"'";
tranSerVal = "P-RET";
}
if ("P-RET".equals(tranSer.trim()))
{
System.out.println("Insiding*****into P-RET");
rcpDiscAmt = -1 * rcpDiscAmt ;
rcpTaxAmount = -1 * rcpTaxAmount;
rcpNetAmount = -1 * rcpNetAmount;
vouchQuantity = -1 * vouchQuantity;
vouchAmount = -1 * vouchAmount;
taxMultiplier = -1;
rcpQtyStd = -1 * rcpQtyStd;
// 07-06-04 sign of amount to be changed
rcpAmount = -1 * rcpAmount;
System.out.println("AFTER******pRET rcpDiscAmt***"+rcpDiscAmt+" rcpTaxAmount***"+rcpTaxAmount+" rcpNetAmount***"+rcpNetAmount+ " vouchQuantity***" + " vouchAmount***"+vouchAmount+" rcpQtyStd***"+rcpQtyStd+" rcpAmount***"+rcpAmount);
tranString = " and porcp.tran_id = '"+tranidRef+"'";
tranSerVal = "P-RCP";
}
//if ("P-RCP".equals(tranSer.trim()))
//{
//Updating voucher detail for return
// select porcpdet.tran_id,line_no,porcpdet.purc_order,line_no__ord,item_code,quantity,
// unit,rate,nvl(porcpdet.discount,0),porcpdet.tax_amt,net_amt,quantity__stduom,rate__stduom,
......@@ -1280,13 +1293,13 @@ public class CreatePoRcpVoucher
+ " acct_code__prov_dr,cctr_code__prov_dr,acct_code__prov_cr,cctr_code__prov_cr "
+ " from porcp, porcpdet "
+ " where porcp.tran_id = porcpdet.tran_id "
+ " and tran_id__ref = ? "
+ " and porcp.tran_ser = 'P-RET' "
+ tranString
+ " and porcp.tran_ser = '"+tranSerVal+"' "
+ " and confirmed = 'Y' and (vouch_created = 'N' or vouch_created is null)" ;
// In below fetch-acctCodeProvDR,cctrCodeProvDR,acctCodeProvCR,cctrCodeProvCR-Added By fatema - 04/04/2007 - DI7SUN0018
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
//pstmt.setString(1, tranId);
rs = pstmt.executeQuery();
while(rs.next())
{
......@@ -1304,15 +1317,15 @@ public class CreatePoRcpVoucher
rcpNetAmount = rs.getDouble("NET_AMT");
rcpQtyStd = rs.getDouble("QUANTITY__STDUOM");
rcpRateStd = rs.getDouble("RATE__STDUOM");
acctCodeDR = rs.getString("");
cctrCodeDR = rs.getString("");
deptCode = rs.getString("");
acctCodeCR = rs.getString("");
cctrCodeCR = rs.getString("");
acctCodeProvDR = rs.getString("");
cctrCodeProvDR = rs.getString("");
acctCodeProvCR = rs.getString("");
cctrCodeProvCR = rs.getString("");
acctCodeDR = rs.getString("acct_code__dr");
cctrCodeDR = rs.getString("cctr_code__dr");
deptCode = rs.getString("dept_code");
acctCodeCR = rs.getString("acct_code__cr");
cctrCodeCR = rs.getString("cctr_code__cr");
acctCodeProvDR = rs.getString("acct_code__prov_dr");
cctrCodeProvDR = rs.getString("cctr_code__prov_dr");
acctCodeProvCR = rs.getString("acct_code__prov_cr");
cctrCodeProvCR = rs.getString("cctr_code__prov_cr");
if ("R".equals(retOpt))
{
......@@ -1351,7 +1364,7 @@ public class CreatePoRcpVoucher
rcpRateStd = purcRateStd;
rcpDiscount = purcDisc;
}
// manoharan this part is not required in RCP
/* // manoharan this part is not required in RCP
// end - amit - 27/08/02
// added by shiri 20/12/01 as tax should not contain the non_payable = 'Y'
//Converted nvl to case by Archiman 12/08/08
......@@ -1379,37 +1392,12 @@ public class CreatePoRcpVoucher
pstmt1.close();
pstmt1 = null;
//lc_var3 = rcpTaxAmount
sql = "select sum(case when a.tax_amt is null then 0 else a.tax_amt end) as rcpTaxAmount " //into :rcpTaxAmount
+ " from taxtran a, tax b "
+ " where a.tax_code = b.tax_code "
+ " and a.tran_code = 'P-RET' "
+ " and a.tran_id = ? "
+ " and a.line_no = ? "
+ " and (case when b.non_payable is null then 'N' else b.non_payable end) ='Y' "
+ " and b.effect <> 'N' ";
// start 08/10/11
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, returnId);
pstmt1.setString(2, rcpLine);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
rcpTaxAmountNP = rs1.getDouble("rcpTaxAmount");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
rcpNetAmount=rcpNetAmount-rcpTaxAmountNP;
// amit-13/08/02
lc_var3 = rcpTaxAmount // amit-13/08/02
// to get the tax with non_payable = 'Y' as to subtract from the net amt
//Converted nvl to case by Archiman 12/08/08
//Commented select nvl(sum(nvl(a.tax_amt,0)),0) into :rcpTaxNP by Archiman 12/08/08
//Commented select nvl(sum(nvl(a.tax_amt,0)),0) into :rcpTaxNP by Archiman 12/08/08
/*select sum(case when a.tax_amt is null then 0 else a.tax_amt end) into :rcpTaxNP
select sum(case when a.tax_amt is null then 0 else a.tax_amt end) into :rcpTaxNP
from taxtran a, tax b
where a.tax_code = b.tax_code
and a.tran_code = 'P-RET'
......@@ -1589,162 +1577,21 @@ public class CreatePoRcpVoucher
rs = null;
pstmt.close();
pstmt = null;
} // P-RCP
sql="select tran_ser,ref_no, curr_code, exch_rate lc_exchadv, acct_code ,"
+ " cctr_code , tot_amt lc_totamt, tot_amt - adj_amt lc_advamt, sundry_type, sundry_code"
+ " from misc_payables "
+ " where ( tran_ser in ('P-ADV', 'LC-ADV', 'M-ADV') or ( tran_ser like 'P-IBC%' and ref_ser__org in ('P-ADV', 'LC-ADV', 'M-ADV') ) )"
+ " and purc_order = ? "
+ " and tot_amt - adj_amt <> 0 and site_code = ? ";
//} // P-RCP
System.out.println("PU order **********:- ["+purcOrder+"]");
System.out.println("Site Code *****:- ["+siteCode+"]");
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,purcOrder);
pstmt.setString(2,siteCode);
rs=pstmt.executeQuery();
ctr=0;
while(rs.next())
{
advAmt=rs.getDouble("lc_advamt");
advExchRate=rs.getDouble("lc_exchadv");
exchRateDiff=0;
exchRateDiff = (advAmt * advExchRate) - (advAmt * exchRate);
ctr++;
xmlBuff.append("<Detail2 dbID='' domID=\"1\" objName=\"voucher\" objContext=\"2\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<line_no>"+(ctr)+"</line_no>");
xmlBuff.append("<ref_ser><![CDATA[" + rs.getString("tran_ser") + "]]></ref_ser>");
xmlBuff.append("<ref_no><![CDATA[" + rs.getString("ref_no").trim() + "]]></ref_no>");
xmlBuff.append("<adj_amt><![CDATA[" + rs.getDouble("lc_advamt") + "]]></adj_amt>");
xmlBuff.append("<tot_amt><![CDATA[" + rs.getDouble("lc_totamt") + "]]></tot_amt>");
xmlBuff.append("<curr_code><![CDATA[" + rs.getString("curr_code") + "]]></curr_code>");
xmlBuff.append("<exch_rate__vouch><![CDATA[" + rs.getDouble("lc_exchadv") + "]]></exch_rate__vouch>");
xmlBuff.append("<diff_amt__exch><![CDATA[" + exchRateDiff+ "]]></diff_amt__exch>");
xmlBuff.append("<acct_code><![CDATA[" + (rs.getString("acct_code")==null?"":rs.getString("acct_code")) + "]]></acct_code>");
xmlBuff.append("<cctr_code><![CDATA[" + (rs.getString("cctr_code")==null?"":rs.getString("cctr_code")) + "]]></cctr_code>");
xmlBuff.append("<auto_generated><![CDATA[A]]></auto_generated>");
xmlBuff.append("</Detail2>");
/*sql=" select line_no,item_code,quantity , case when dlv_qty is null then 0 else dlv_qty end "
+ " from porddet where purc_order = ? and quantity > 0 ";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,purcOrder);
rs1=pstmt1.executeQuery();
while(rs1.next())
{
ordQty=rs1.getDouble(3);
dlvQty=rs1.getDouble(4);
sql="select sum(quantity) "
+ " from porcpdet,porcp where porcpdet.tran_id = porcp.tran_id "
+ " and porcp.PURC_ORDER = ? and "
+ " LINE_NO__ORD = ? and item_code = ?"
+ " and confirmed = 'Y'";
pstmt2=conn.prepareStatement(sql);
pstmt2.setString(1,purcOrder);
pstmt2.setInt(2,rs1.getInt("line_no"));
pstmt2.setString(3,rs1.getString("item_code"));
rs2=pstmt2.executeQuery();
if(rs2.next())
{
totRcpQty=rs2.getDouble(1);
}
rs2.close();
rs2=null;
pstmt2.close();
pstmt2=null;
totRcpQty=dlvQty;
sql="select (case when qty_tol_perc is null then 0 else qty_tol_perc end) into :lc_qtytol "
+ " from item "
+ " where item_code = ? ";
pstmt2=conn.prepareStatement(sql);
pstmt2.setString(1, rs1.getString("item_code"));
rs2=pstmt2.executeQuery();
if(rs2.next())
{
qtyTolerance=rs2.getDouble(1);
}
rs2.close();
rs2=null;
pstmt2.close();
pstmt2=null;
if(totRcpQty>ordQty)
{
if ( (((totRcpQty -ordQty) / ordQty) * 100 ) >= qtyTolerance)
isClosed = true;
else
isClosed = false;
}
if(totRcpQty <= ordQty)
{
if ( (((ordQty - totRcpQty ) / ordQty) * 100 ) <= qtyTolerance)
isClosed = true;
else
isClosed = false;
}
if(!isClosed)
break;
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1=null;
String poStatus="";
sql=" select case when ord_amt is null then 0 else ord_amt end,status "
+ " from porder where purc_order = ?" ;
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,purcOrder);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
poStatus=rs1.getString(1);
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1=null;
if("C".equalsIgnoreCase(poStatus))
{
advAmt=rs.getDouble("lc_advamt");
}
else
{
if(isClosed)
{
advAmt= (lc_vouch_amount * lc_totamt/lc_ord_amt);
}
else
{
advAmt=rs.getDouble("lc_advamt");
}
}*/
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
System.out.println("xmlBuff.toString() ["+xmlBuff.toString() + "]");
xmlString=xmlBuff.toString();
if (errString != null && errString.trim().length() > 0)
{
return errString;
}
masterStatefulLocal = (MasterStatefulLocal)ctx.lookup("ibase/MasterStatefulEJB/local");
// String retString = masterStatefulLocal.processRequest( authencate, siteCode, true, xmlBuff.toString()); // Temp COMMENT.
String retString = saveData(siteCode,xmlString,conn); //TEMP method to SAVE DATA.
String retString = masterStatefulLocal.processRequest( authencate, siteCode, true, xmlBuff.toString());
System.out.println("retString.:: "+retString);
String tranIdVoucher = retString.substring( retString.indexOf("<TranID>")+8, retString.indexOf("</TranID>"));
System.out.println("tranIdVoucher is :"+tranIdVoucher);
......@@ -1757,8 +1604,6 @@ public class CreatePoRcpVoucher
pstmtUpd.setString(1, returnId);
pstmtUpd.executeUpdate();
}
/* //
// 3 Added by Vilas
lds_vouchdet.reset()
......@@ -1810,7 +1655,47 @@ public class CreatePoRcpVoucher
end if
//amish 31-8-05 pickup the net amount for advance adjustment.
select sum(tax_amt), sum( vouch_amt - (case when disc_amt is null then 0 else disc_amt end) ), sum(net_amt)
into :taxAmt, :vouchAmount, :netAmount
from vouchrcp
where tran_id = :ls_vouch_id ;
if get_sqlcode() < 0 then
ls_errcode = 'DS000'+string(sqlca.sqlcode)+sqlca.sqlerrtext
exit
elseif get_sqlcode() = 100 then
ls_errcode = 'DS000'+string(sqlca.sqlcode)+sqlca.sqlerrtext
exit
end if
lc_netamt_adj = vouchAmount + taxAmt
// amish
//amish 31-8-05 pickup the net amount for advance adjustment.
/// added or ( tran_ser like 'P-IBC%' ref_ser__org in ('P-ADV', 'LC-ADV', 'M-ADV') )
if lc_netamt_adj > 0 then
declare c_adv cursor for
select tran_ser, ref_no, curr_code, exch_rate, acct_code,
cctr_code, tot_amt, tot_amt - adj_amt, sundry_type, sundry_code
from misc_payables
where ( tran_ser in ('P-ADV', 'LC-ADV', 'M-ADV') or ( tran_ser like 'P-IBC%' and ref_ser__org in ('P-ADV', 'LC-ADV', 'M-ADV') ) )
and purc_order = :purcOrder
and tot_amt - adj_amt <> 0 and site_code = :siteCode ;
open c_adv;
if get_sqlcode() <> 0 then
ls_errcode = 'DS000' + trim(string(sqlca.sqldbcode)) + ' ~t ' + sqlca.sqlerrtext
exit
end if
fetch c_adv into :ls_refser, :ls_refno, :ls_curradv, :lc_exchadv, :ls_acctcode,
:ls_cctrcode, :lc_totamt, :lc_advamt, :ls_stype, :ls_scode;
do while sqlca.sqlcode = 0 and netAmount > 0
if trim(currCode) <> trim(ls_curradv) then
ls_errcode = 'VTCURRMIS' + ' ~t' + ' curr. : ' + currCode + ' and adv. curr. :' + ls_curradv
exit
end if
if ls_stype <> 'S' or trim(ls_scode) <> trim(suppCode) then
ls_errcode = 'VTSUPPMIS' + ' ~t' + ' suppliers : ' + suppCode + ' and adv. suppl.:' + ls_scode
exit
end if
///amish 01-08-05 for ad
/// consider the amount automatically adjyusted and
......@@ -2014,41 +1899,6 @@ public class CreatePoRcpVoucher
}
return (errString);
}
//Temp method for SAVE Data
private String saveData(String siteCode,String xmlString, Connection conn) throws ITMException
{
//System.out.println("saving data...........");
InitialContext ctx = null;
String retString = null;
MasterStatefulLocal masterStateful = null; // for ejb3
try
{
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
masterStateful = (MasterStatefulLocal)ctx.lookup("ibase/MasterStatefulEJB/local");
System.out.println("-----------masterStateful------- " + masterStateful);
String [] authencate = new String[2];
authencate[0] = "";
authencate[1] = "";
System.out.println("xmlString to masterstateful [" + xmlString + "]");
retString = masterStateful.processRequest(authencate, siteCode, true, xmlString,true,conn);
System.out.println("--retString - -"+retString);
}
catch(ITMException itme)
{
System.out.println("ITMException :CreateDistOrder :saveData :==>");
throw itme;
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception :CreateDistOrder :saveData :==>");
throw new ITMException(e);
}
return retString;
}
// SAVE DATA END.
private String addTraceMsg(String errString, String mainMsg, String subMsg) throws ITMException, Exception
{
String begPart = "", begDesc = "", endDesc = "";
......@@ -2061,197 +1911,10 @@ public class CreatePoRcpVoucher
catch(Exception e)
{
throw new ITMException(e);
}
/*String as_cr_term;
Date ad_due_date;
Connection conn;
String dueDate = calcDueDate_with_holidays(as_cr_term,ad_due_date,conn);*/
}
return begPart + mainMsg + "</message><description>" + subMsg + endDesc;
}
public Timestamp calcDueDateWithHolidays(String AsCrTerm, String siteCode, Timestamp adDueDate, Connection conn) throws ITMException
{
UtilMethods utilMethods = UtilMethods.getInstance();
String adjBankHoliday = null;
String merrcode = " ";
String lsHolTblno = "";
long llcnt = 0;
try
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
// Timestamp ad_due_date = null;
sql = "select adj_bank_holiday from crterm where cr_term = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, AsCrTerm);
rs = pstmt.executeQuery();
if (rs.next())
{
adjBankHoliday = rs.getString("adj_bank_holiday");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if ("Y".equalsIgnoreCase(adjBankHoliday)) {
sql = "select hol_tblno from crterm where cr_term = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, AsCrTerm);
rs = pstmt.executeQuery();
if (rs.next()) {
lsHolTblno = rs.getString("hol_tblno");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
} else {
sql = "select hol_tblno from site where site_code =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
rs = pstmt.executeQuery();
if (rs.next()) {
lsHolTblno = rs.getString("hol_tblno");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
while(true)
{
sql = "select count (*) cnt from holiday where hol_tblno = ? and hol_date = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsHolTblno);
pstmt.setTimestamp(2, adDueDate);
rs = pstmt.executeQuery();
if (rs.next()) {
llcnt = rs.getInt("cnt");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if (llcnt > 0) {
adDueDate = utilMethods.RelativeDate((adDueDate), (-1));
} else {
break;
}
}
return adDueDate;
}
catch(Exception e)
{
throw new ITMException(e);
}
}
//public String calcDueDate_with_holidays (String as_cr_term, String ad_due_date, Connection conn) throws ITMException
/*public String calcDueDate_with_holidays(String as_cr_term, Date ad_due_date, Connection conn) throws ITMException
{
String adjBankHoliday=null;
String merrcode=" ";
String ls_hol_tblno ="";
long ll_cnt=0;
java.sql.Timestamp ld_duedate;
PreparedStatement pstmt = null;
ResultSet rs = null;
java.sql.Timestamp ad_dueDate = null;
String sql = "";
//Timestamp ad_due_date = null;
try
{
sql ="select adj_bank_holiday from crterm where cr_term = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, as_cr_term);
rs = pstmt.executeQuery();
if(rs.next())
{
ad_due_date= rs.getTimestamp("ad_due_date");
String adj_bank_holiday= rs.getString("adj_bank_holiday");
adjBankHoliday = rs.getString("ls_adj_bank_holiday");
merrcode= rs.getString("merrcode");
ls_hol_tblno= rs.getString("ls_hol_tblno");
if("Y".equalsIgnoreCase(adjBankHoliday))
{
sql="select hol_tblno from crterm where cr_term = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, as_cr_term);
rs = pstmt.executeQuery();
}
else
{
sql="select hol_tblno from site where site_code =?";
String hol_tblno= rs.getString("hol_tblno");
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, as_cr_term);
rs = pstmt.executeQuery();
}
do
{
int ll_count;
sql="select count (*) from holiday where hol_tblno=ls_hol_tblno and hol_date =ad_due_date";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, ll_count);
rs = pstmt.executeQuery();
if(ll_count>0)
{
ad_due_date = datetime(relativedate(date(ad_due_date),(-1));
}
}
while
{
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
merrcode="DS000";
return merrcode;
}
catch(Exception e)
{
throw new ITMException(e);
}
return ""+ad_due_date;
}*/
public java.sql.Timestamp calcDueDate(String crTerm, java.sql.Timestamp recDate, java.sql.Timestamp effDate, java.sql.Timestamp billDate,java.sql.Timestamp lrDate, Connection conn) throws ITMException
public java.sql.Timestamp calcDueDate(String crTerm, java.sql.Timestamp recDate, java.sql.Timestamp effDate, java.sql.Timestamp billDate, Connection conn) throws ITMException
{
PreparedStatement pstmt = null;
ResultSet rs = null;
......@@ -2270,14 +1933,12 @@ public class CreatePoRcpVoucher
{
noOfDays = rs.getInt("cr_days");
calcDueFrom = rs.getString("start_from");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println(noOfDays);
System.out.println(lrDate);
if ("R".equals(calcDueFrom))
{
dueDate = utilMethods.RelativeDate(recDate, noOfDays);
......@@ -2290,10 +1951,6 @@ public class CreatePoRcpVoucher
{
dueDate = utilMethods.RelativeDate(billDate, noOfDays);
}
else if ("L".equals(calcDueFrom))
{
dueDate = utilMethods.RelativeDate(lrDate, noOfDays);
}
} // try
catch(Exception e)
......@@ -2533,4 +2190,4 @@ public class CreatePoRcpVoucher
return errCode;
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment