Commit 046b7d60 authored by msharma's avatar msharma

Advance adjusted in Purchase voucher


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@97468 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 9a2597bc
...@@ -2,15 +2,18 @@ package ibase.webitm.ejb.fin; ...@@ -2,15 +2,18 @@ package ibase.webitm.ejb.fin;
import ibase.utility.CommonConstants; import ibase.utility.CommonConstants;
import ibase.webitm.ejb.ITMDBAccessEJB; import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.utility.*; import ibase.webitm.utility.*;
import ibase.system.config.*; import ibase.system.config.*;
import ibase.webitm.ejb.*; import ibase.webitm.ejb.*;
import java.sql.*; import java.sql.*;
import java.text.*; import java.text.*;
import java.util.*; import java.util.*;
import java.util.Date; import java.util.Date;
import javax.naming.InitialContext; import javax.naming.InitialContext;
import org.w3c.dom.*; import org.w3c.dom.*;
import ibase.webitm.ejb.fin.FinCommon; import ibase.webitm.ejb.fin.FinCommon;
...@@ -19,12 +22,15 @@ import ibase.webitm.ejb.sys.UtilMethods; ...@@ -19,12 +22,15 @@ import ibase.webitm.ejb.sys.UtilMethods;
public class CreatePoRcpVoucher public class CreatePoRcpVoucher
{ {
GenericUtility genericUtility = GenericUtility.getInstance(); //GenericUtility genericUtility = GenericUtility.getInstance();
ibase.utility.E12GenericUtility genericUtility= new ibase.utility.E12GenericUtility();
FinCommon finCommon = new FinCommon(); FinCommon finCommon = new FinCommon();
DistCommon distCommon = new DistCommon(); DistCommon distCommon = new DistCommon();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB(); ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
public String createPoRcpVoucher(String tranId,String xtraParams, Connection conn) throws ITMException 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) //gbf_porcp_voucher(as_tran_id, ai_commit, as_warning)
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////
...@@ -59,8 +65,8 @@ public class CreatePoRcpVoucher ...@@ -59,8 +65,8 @@ public class CreatePoRcpVoucher
// End Arif 09-04-03 // End Arif 09-04-03
*/ */
PreparedStatement pstmt = null, pstmt1 = null, pstmtUpd = null; PreparedStatement pstmt = null, pstmt1 = null, pstmtUpd = null,pstmt2=null;
ResultSet rs = null, rs1 = null; ResultSet rs = null, rs1 = null,rs2=null;
java.sql.Timestamp tranDate = null, effectiveDate = null, taxDate = null, dueDate = 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; java.sql.Timestamp today = null, invoiceDate = null, DcDate = null, receiptDate = null, hdrRcpDate = null;
...@@ -85,6 +91,13 @@ public class CreatePoRcpVoucher ...@@ -85,6 +91,13 @@ public class CreatePoRcpVoucher
String chgDate = null, acctCodeAP = "", ccrtCodeAP = "", msgType = "", taxVar1 = "", taxVar2 = ""; String chgDate = null, acctCodeAP = "", ccrtCodeAP = "", msgType = "", taxVar1 = "", taxVar2 = "";
MasterStatefulLocal masterStatefulLocal = null; 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 try
{ {
AppConnectParm appConnect = new AppConnectParm(); AppConnectParm appConnect = new AppConnectParm();
...@@ -141,6 +154,14 @@ public class CreatePoRcpVoucher ...@@ -141,6 +154,14 @@ public class CreatePoRcpVoucher
{ {
autoConfirm = "N"; 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(porcp.discount,0) to case by Archiman 12/08/08
//Converted nvl(ret_opt,' ') to case by Archiman 12/08/08 //Converted nvl(ret_opt,' ') to case by Archiman 12/08/08
...@@ -149,7 +170,7 @@ public class CreatePoRcpVoucher ...@@ -149,7 +170,7 @@ public class CreatePoRcpVoucher
+ " TRAN_CODE, AMOUNT, (CASE WHEN DISCOUNT IS NULL THEN 0 ELSE DISCOUNT END) AS DISCOUNT, " + " 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, " + " 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, " + " 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 " + " POST_TYPE, ITEM_SER, ACCT_INV_ONLINE, ACCT_PORCP_ONLINE, POST_PROV, REC_DATE,LR_DATE "
+ " FROM PORCP WHERE TRAN_ID = ? " // + " FROM PORCP WHERE TRAN_ID = ? " //
+ " AND CONFIRMED = 'Y' AND (VOUCH_CREATED IS NULL OR VOUCH_CREATED = 'N') "; + " AND CONFIRMED = 'Y' AND (VOUCH_CREATED IS NULL OR VOUCH_CREATED = 'N') ";
...@@ -184,6 +205,7 @@ public class CreatePoRcpVoucher ...@@ -184,6 +205,7 @@ public class CreatePoRcpVoucher
poRcpOnLine = rs.getString("ACCT_PORCP_ONLINE"); poRcpOnLine = rs.getString("ACCT_PORCP_ONLINE");
postProv = rs.getString("POST_PROV"); postProv = rs.getString("POST_PROV");
hdrRcpDate = rs.getTimestamp("REC_DATE"); hdrRcpDate = rs.getTimestamp("REC_DATE");
lrDate=rs.getTimestamp("LR_DATE");
} }
else else
{ {
...@@ -204,6 +226,8 @@ public class CreatePoRcpVoucher ...@@ -204,6 +226,8 @@ public class CreatePoRcpVoucher
{ {
hdrRcpDate = tranDate; hdrRcpDate = tranDate;
} }
System.out.println("Supp code from PORCP:-["+suppCode+"] where tran id :-["+tranId+"]");
// tranType added by sheetal 12/10/02 // tranType added by sheetal 12/10/02
if (retOpt == null || retOpt.trim().length() == 0 ) if (retOpt == null || retOpt.trim().length() == 0 )
{ {
...@@ -455,6 +479,8 @@ public class CreatePoRcpVoucher ...@@ -455,6 +479,8 @@ public class CreatePoRcpVoucher
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; 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 = ?" ; sql = "SELECT FIN_ENTITY, BANK_CODE FROM SITE WHERE SITE_CODE = ?" ;
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
...@@ -527,8 +553,8 @@ public class CreatePoRcpVoucher ...@@ -527,8 +553,8 @@ public class CreatePoRcpVoucher
receiptDate = hdrRcpDate; receiptDate = hdrRcpDate;
} }
dueDate = calcDueDate(crTerm, receiptDate, effectiveDate, invoiceDate, conn); dueDate = calcDueDate(crTerm, receiptDate, effectiveDate, invoiceDate,lrDate, conn);
dueDate = calcDueDateWithHolidays(crTerm,siteCode,dueDate,conn);
//Commented & added ended jasmina 09/04/09-FI89SUN026 //Commented & added ended jasmina 09/04/09-FI89SUN026
} }
...@@ -815,19 +841,19 @@ public class CreatePoRcpVoucher ...@@ -815,19 +841,19 @@ public class CreatePoRcpVoucher
xmlBuff.append("<net_amt__bc><![CDATA[" + netAmountBase + "]]></net_amt__bc>"); xmlBuff.append("<net_amt__bc><![CDATA[" + netAmountBase + "]]></net_amt__bc>");
xmlBuff.append("<diff_amt__exch><![CDATA[0]]></diff_amt__exch>"); xmlBuff.append("<diff_amt__exch><![CDATA[0]]></diff_amt__exch>");
xmlBuff.append("<supp_bill_amt><![CDATA[" + suppBillAmount + "]]></supp_bill_amt>"); 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_user><![CDATA[" + (userId==null?"BASE":userId) + "]]></chg_user>");
xmlBuff.append("<chg_term><![CDATA[" + (termId==null?"BASE":termId) + "]]></chg_term>"); xmlBuff.append("<chg_term><![CDATA[" + (termId==null?"BASE":termId) + "]]></chg_term>");
sdf = new java.text.SimpleDateFormat(genericUtility.getApplDateTimeFormat()); sdf = new java.text.SimpleDateFormat(genericUtility.getApplDateTimeFormat());
xmlBuff.append("<chg_date><![CDATA[" + sdf.format(today) + "]]></chg_date>"); xmlBuff.append("<chg_date><![CDATA[" + sdf.format(today) + "]]></chg_date>");
xmlBuff.append("</Detail1>"); xmlBuff.append("</Detail1>");
sql = "SELECT LINE_NO,PURC_ORDER,LINE_NO__ORD,ITEM_CODE,QUANTITY,UNIT,RATE, " 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 + "(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, " + " 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__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 " + " ACCT_CODE__PROV_DR,CCTR_CODE__PROV_DR,ACCT_CODE__PROV_CR,CCTR_CODE__PROV_CR,ANAL_CODE "
+ " FROM PORCPDET WHERE TRAN_ID = ? "; + " 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 // 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); pstmt = conn.prepareStatement(sql);
...@@ -857,7 +883,11 @@ public class CreatePoRcpVoucher ...@@ -857,7 +883,11 @@ public class CreatePoRcpVoucher
cctrCodeProvDR = rs.getString("CCTR_CODE__PROV_DR"); cctrCodeProvDR = rs.getString("CCTR_CODE__PROV_DR");
acctCodeProvCR = rs.getString("ACCT_CODE__PROV_CR"); acctCodeProvCR = rs.getString("ACCT_CODE__PROV_CR");
cctrCodeProvCR = rs.getString("CCTR_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 // amit - 27/08/02
rateDiscount = getPurcRate(purcOrderDet, rcpItemCode,purcRate,purcDisc, conn); rateDiscount = getPurcRate(purcOrderDet, rcpItemCode,purcRate,purcDisc, conn);
purcRate = rateDiscount[0]; purcRate = rateDiscount[0];
...@@ -1045,7 +1075,6 @@ public class CreatePoRcpVoucher ...@@ -1045,7 +1075,6 @@ public class CreatePoRcpVoucher
pstmt1.close(); pstmt1.close();
pstmt1 = null; pstmt1 = null;
} }
rcpDiscAmt = (rcpQtyStd * rcpRateStd * rcpDiscount)/100; rcpDiscAmt = (rcpQtyStd * rcpRateStd * rcpDiscount)/100;
rcpAmount = ((rcpQtyStd * rcpRateStd) - rcpDiscAmt); rcpAmount = ((rcpQtyStd * rcpRateStd) - rcpDiscAmt);
vouchQuantity = rcpQuantity; vouchQuantity = rcpQuantity;
...@@ -1316,7 +1345,7 @@ public class CreatePoRcpVoucher ...@@ -1316,7 +1345,7 @@ public class CreatePoRcpVoucher
rcpRateStd = purcRateStd; rcpRateStd = purcRateStd;
rcpDiscount = purcDisc; rcpDiscount = purcDisc;
} }
/* // manoharan this part is not required in RCP // manoharan this part is not required in RCP
// end - amit - 27/08/02 // end - amit - 27/08/02
// added by shiri 20/12/01 as tax should not contain the non_payable = 'Y' // added by shiri 20/12/01 as tax should not contain the non_payable = 'Y'
//Converted nvl to case by Archiman 12/08/08 //Converted nvl to case by Archiman 12/08/08
...@@ -1344,12 +1373,37 @@ public class CreatePoRcpVoucher ...@@ -1344,12 +1373,37 @@ public class CreatePoRcpVoucher
pstmt1.close(); pstmt1.close();
pstmt1 = null; pstmt1 = null;
lc_var3 = rcpTaxAmount // amit-13/08/02 //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
// to get the tax with non_payable = 'Y' as to subtract from the net amt // to get the tax with non_payable = 'Y' as to subtract from the net amt
//Converted nvl to case by Archiman 12/08/08 //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
//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 from taxtran a, tax b
where a.tax_code = b.tax_code where a.tax_code = b.tax_code
and a.tran_code = 'P-RET' and a.tran_code = 'P-RET'
...@@ -1530,17 +1584,161 @@ public class CreatePoRcpVoucher ...@@ -1530,17 +1584,161 @@ public class CreatePoRcpVoucher
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
} // P-RCP } // 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 = ? ";
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("</Header0>");
xmlBuff.append("</group0>"); xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>"); xmlBuff.append("</DocumentRoot>");
System.out.println("xmlBuff.toString() ["+xmlBuff.toString() + "]"); System.out.println("xmlBuff.toString() ["+xmlBuff.toString() + "]");
xmlString=xmlBuff.toString();
if (errString != null && errString.trim().length() > 0) if (errString != null && errString.trim().length() > 0)
{ {
return errString; return errString;
} }
masterStatefulLocal = (MasterStatefulLocal)ctx.lookup("ibase/MasterStatefulEJB/local"); masterStatefulLocal = (MasterStatefulLocal)ctx.lookup("ibase/MasterStatefulEJB/local");
String retString = masterStatefulLocal.processRequest( authencate, siteCode, true, xmlBuff.toString()); // String retString = masterStatefulLocal.processRequest( authencate, siteCode, true, xmlBuff.toString()); // Temp COMMENT.
String retString = saveData(siteCode,xmlString,conn); //TEMP method to SAVE DATA.
System.out.println("retString.:: "+retString); System.out.println("retString.:: "+retString);
String tranIdVoucher = retString.substring( retString.indexOf("<TranID>")+8, retString.indexOf("</TranID>")); String tranIdVoucher = retString.substring( retString.indexOf("<TranID>")+8, retString.indexOf("</TranID>"));
System.out.println("tranIdVoucher is :"+tranIdVoucher); System.out.println("tranIdVoucher is :"+tranIdVoucher);
...@@ -1553,6 +1751,8 @@ public class CreatePoRcpVoucher ...@@ -1553,6 +1751,8 @@ public class CreatePoRcpVoucher
pstmtUpd.setString(1, returnId); pstmtUpd.setString(1, returnId);
pstmtUpd.executeUpdate(); pstmtUpd.executeUpdate();
} }
/* // /* //
// 3 Added by Vilas // 3 Added by Vilas
lds_vouchdet.reset() lds_vouchdet.reset()
...@@ -1604,47 +1804,7 @@ public class CreatePoRcpVoucher ...@@ -1604,47 +1804,7 @@ public class CreatePoRcpVoucher
end if end if
//amish 31-8-05 pickup the net amount for advance adjustment. //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 ///amish 01-08-05 for ad
/// consider the amount automatically adjyusted and /// consider the amount automatically adjyusted and
...@@ -1848,6 +2008,41 @@ public class CreatePoRcpVoucher ...@@ -1848,6 +2008,41 @@ public class CreatePoRcpVoucher
} }
return (errString); 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 private String addTraceMsg(String errString, String mainMsg, String subMsg) throws ITMException, Exception
{ {
String begPart = "", begDesc = "", endDesc = ""; String begPart = "", begDesc = "", endDesc = "";
...@@ -1931,7 +2126,7 @@ public class CreatePoRcpVoucher ...@@ -1931,7 +2126,7 @@ public class CreatePoRcpVoucher
} }
while(true) while(true)
{ {
sql = "select count (*) cnt from holiday where where hol_tblno = ? and hol_date = ?"; sql = "select count (*) cnt from holiday where hol_tblno = ? and hol_date = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsHolTblno); pstmt.setString(1, lsHolTblno);
pstmt.setTimestamp(2, adDueDate); pstmt.setTimestamp(2, adDueDate);
...@@ -2050,7 +2245,7 @@ public class CreatePoRcpVoucher ...@@ -2050,7 +2245,7 @@ public class CreatePoRcpVoucher
return ""+ad_due_date; return ""+ad_due_date;
}*/ }*/
public java.sql.Timestamp calcDueDate(String crTerm, java.sql.Timestamp recDate, java.sql.Timestamp effDate, java.sql.Timestamp billDate, Connection conn) throws ITMException 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
{ {
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ResultSet rs = null; ResultSet rs = null;
...@@ -2087,6 +2282,10 @@ public class CreatePoRcpVoucher ...@@ -2087,6 +2282,10 @@ public class CreatePoRcpVoucher
{ {
dueDate = utilMethods.RelativeDate(billDate, noOfDays); dueDate = utilMethods.RelativeDate(billDate, noOfDays);
} }
else if ("L".equals(calcDueFrom))
{
dueDate = utilMethods.RelativeDate(lrDate, noOfDays);
}
} // try } // try
catch(Exception e) catch(Exception e)
...@@ -2326,4 +2525,4 @@ public class CreatePoRcpVoucher ...@@ -2326,4 +2525,4 @@ public class CreatePoRcpVoucher
return errCode; 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