Commit bb9e8c8d authored by manohar's avatar manohar

advadj_amt updated in header also header ech_rate changed during edit updated...

advadj_amt updated in header also header ech_rate changed during edit updated in detail and re-calculated exchrate_diff_amt


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@95561 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 48be0feb
......@@ -84,192 +84,185 @@ public class ReceiptAdvPostSave extends ValidatorEJB implements ReceiptAdvPostSa
dom = genericUtility.parseString(domString);
tranId = GenericUtility.getInstance().getColumnValue("tran_id",dom);
//for(int i=0;i<dom.getElementsByTagName("Detail2").getLength() ; i++)
//{
//lineNo= GenericUtility.getInstance().getColumnValueFromNode("line_no",dom.getElementsByTagName("Detail2").item(i));
//rcpAmt = Double.parseDouble(GenericUtility.getInstance().getColumnValueFromNode("rcp_amt",dom.getElementsByTagName("Detail2").item(i)));
//finChg = Double.parseDouble(GenericUtility.getInstance().getColumnValueFromNode("fin_chg",dom.getElementsByTagName("Detail2").item(i)));
currCode = GenericUtility.getInstance().getColumnValue("curr_code",dom);
sql="select sum(diff_amt__exch), sum(tax_amt) from rcpdet WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
diffAmtExchDet = rs.getDouble(1);
taxAmt = rs.getDouble(2);
}
rs.close();
rs = null;
sql="select sum(diff_amt__exch) from rcpadv WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
diffAmtExchAdv = rs.getDouble(1);
}
rs.close();
rs = null;
sql="select sum(diff_amt__exch) from rcpepc_adj WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
diffAmtExchEpc = rs.getDouble(1);
}
rs.close();
rs = null;
sql="select adv_amt, exch_rate,chq_amt,curr_Code from receipt WHERE tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
advAmtHdr = rs.getDouble(1);
exchRateHdr = rs.getDouble(2);
chqAmtActual = rs.getDouble(3);
currCode = rs.getString(4);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql="UPDATE rcpdet set exch_rate = ? "
+" WHERE tran_id = ? "
+ " and (curr_code = ? or exch_rate is null) ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,exchRateHdr );
pstmt.setString(2,tranId );
pstmt.setString(3,currCode );
cnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
sql="select adv_amt, exch_rate,chq_amt from receipt WHERE tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
advAmtHdr = rs.getDouble(1);
exchRateHdr = rs.getDouble(2);
chqAmtActual = rs.getDouble(3);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql="UPDATE rcpdet set diff_amt__exch = (rcp_amt * EXCH_RATE__RCV) - (rcp_amt * exch_rate) "
+" WHERE tran_id = ? "
+ " and (curr_code = ? or exch_rate is null) ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId );
pstmt.setString(2,currCode );
cnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
sql="select sum(diff_amt__exch), sum(tax_amt) from rcpdet WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
diffAmtExchDet = rs.getDouble(1);
taxAmt = rs.getDouble(2);
}
rs.close();
rs = null;
sql="select sum(diff_amt__exch) from rcpadv WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
diffAmtExchAdv = rs.getDouble(1);
}
rs.close();
rs = null;
sql="select sum(diff_amt__exch) from rcpepc_adj WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
diffAmtExchEpc = rs.getDouble(1);
}
rs.close();
rs = null;
sql="select sum( (case when eff_bank <> 'N' then amount else 0 end) * exch_rate / ? ) oth_amt from rcpacct WHERE tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,exchRateHdr);
pstmt.setString(2,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
othAmt = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql="select sum( (case when eff_bank <> 'N' then amount else 0 end) * exch_rate / ? ) oth_amt from rcpacct WHERE tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,exchRateHdr);
pstmt.setString(2,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
othAmt = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql="UPDATE receipt SET oth_amt = ?, tax_amt = ? WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
sql="UPDATE receipt SET oth_amt = ?, tax_amt = ? WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,othAmt );
pstmt.setDouble(2,taxAmt );
pstmt.setString(3,tranId );
cnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
sql="select sum(adj_amt) from rcpadv WHERE tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
adjAmtAdv = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
pstmt.setDouble(1,othAmt );
pstmt.setDouble(2,taxAmt );
sql="select sum(d.rcp_amt * d.exch_rate / h.exch_rate), sum(case when r.bill_disc = 'Y' then d.BILL_DISC_AMT + d. FIN_CHG else 0 end ) "
+ " from receipt h, rcpdet d, receivables r "
+ " WHERE h.tran_id = d.tran_id "
+ " and r.tran_ser = d.ref_ser "
+ " and r.ref_no = d.ref_no "
+ " and r.line_no__ref = d.line_no__ref "
+ " and h.tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
billAmtDet = rs.getDouble(1);
bdAmt = rs.getDouble(2);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//chqAmt = billAmtDet + bdAmt + adjAmtAdv; // 21/01/14 bd amount removed from bill_amt
chqAmt = billAmtDet + adjAmtAdv;
// 25/02/14 manoharan if all details are dropped t6he bill_amt should be 0
//if (chqAmt != 0)
//{
sql="UPDATE receipt SET bill_amt = ?, ADVADJ_AMT = ? WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,chqAmt );
pstmt.setDouble(2,adjAmtAdv);
pstmt.setString(3,tranId );
cnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
//}
sql="select sum(adj_amt) from rcpadv WHERE tran_id = ? ";
// 21/03/14 manoharan update advance
if (chqAmtActual != 0)
{
// 29/05/14 manoharan
// 30/06/14 manoharan not to deduct dbamt
//sql="select chq_amt - ((case when bill_amt is null then 0 else bill_amt end)+ (case when advadj_amt is null then 0 else advadj_amt end) - ? + (case when oth_amt is null then 0 else oth_amt end) + (case when fin_chg is null then 0 else fin_chg end) + tax_amt) from receipt WHERE tran_id = ? " ;
sql="select chq_amt - ((case when bill_amt is null then 0 else bill_amt end)+ (case when advadj_amt is null then 0 else advadj_amt end) + (case when oth_amt is null then 0 else oth_amt end) + (case when fin_chg is null then 0 else fin_chg end) + tax_amt) from receipt WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
//pstmt.setDouble(1,bdAmt );
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
adjAmtAdv = rs.getDouble(1);
newAdvAmt = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql="select sum(d.rcp_amt * d.exch_rate / h.exch_rate), sum(case when r.bill_disc = 'Y' then d.BILL_DISC_AMT + d. FIN_CHG else 0 end ) "
+ " from receipt h, rcpdet d, receivables r "
+ " WHERE h.tran_id = d.tran_id "
+ " and r.tran_ser = d.ref_ser "
+ " and r.ref_no = d.ref_no "
+ " and r.line_no__ref = d.line_no__ref "
+ " and h.tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
if (newAdvAmt < 0 )
{
billAmtDet = rs.getDouble(1);
bdAmt = rs.getDouble(2);
throw new Exception("Advance amount calculated is becoming negative [" + newAdvAmt + "]" );
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//chqAmt = billAmtDet + bdAmt + adjAmtAdv; // 21/01/14 bd amount removed from bill_amt
chqAmt = billAmtDet + adjAmtAdv;
// 25/02/14 manoharan if all details are dropped t6he bill_amt should be 0
//if (chqAmt != 0)
//{
sql="UPDATE receipt SET bill_amt = ? WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,chqAmt );
pstmt.setString(2,tranId );
cnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
//}
// 21/03/14 manoharan update advance
if (chqAmtActual != 0)
{
// 29/05/14 manoharan
// 30/06/14 manoharan not to deduct dbamt
//sql="select chq_amt - ((case when bill_amt is null then 0 else bill_amt end)+ (case when advadj_amt is null then 0 else advadj_amt end) - ? + (case when oth_amt is null then 0 else oth_amt end) + (case when fin_chg is null then 0 else fin_chg end) + tax_amt) from receipt WHERE tran_id = ? " ;
sql="select chq_amt - ((case when bill_amt is null then 0 else bill_amt end)+ (case when advadj_amt is null then 0 else advadj_amt end) + (case when oth_amt is null then 0 else oth_amt end) + (case when fin_chg is null then 0 else fin_chg end) + tax_amt) from receipt WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
//pstmt.setDouble(1,bdAmt );
pstmt.setString(1,tranId );
rs = pstmt.executeQuery();
if (rs.next())
{
newAdvAmt = rs.getDouble(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if (newAdvAmt < 0 )
{
throw new Exception("Advance amount calculated is becoming negative");
}
// end 29/05/14 manoharan
// 30/06/14 manoharan not to deduct dbamt
//sql="UPDATE receipt SET adv_amt = chq_amt - ((case when bill_amt is null then 0 else bill_amt end)+ (case when advadj_amt is null then 0 else advadj_amt end) - ? + (case when oth_amt is null then 0 else oth_amt end) + (case when fin_chg is null then 0 else fin_chg end) + tax_amt) WHERE tran_id = ? " ;
sql="UPDATE receipt SET adv_amt = chq_amt - ((case when bill_amt is null then 0 else bill_amt end)+ (case when advadj_amt is null then 0 else advadj_amt end) + (case when oth_amt is null then 0 else oth_amt end) + (case when fin_chg is null then 0 else fin_chg end) + tax_amt) WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
//pstmt.setDouble(1,bdAmt );
pstmt.setString(1,tranId );
cnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
if( cnt > 0)
{
System.out.println("update successfully ["+cnt+"]");
}
}
// - (case when bill_disc_amt is null then 0 else bill_disc_amt end) removed on 21/01/14
//change done by kunal on 01/feb/14 minus bill_disc_amt
sql="UPDATE receipt SET DIFF_AMT__EXCH = ? + ? + ?, net_amt = ((case when adv_amt is null then 0 else adv_amt end)+ (case when bill_amt is null then 0 else bill_amt end)+ (case when advadj_amt is null then 0 else advadj_amt end) - ? + (case when oth_amt is null then 0 else oth_amt end) + (case when fin_chg is null then 0 else fin_chg end) + tax_amt) , "
+" net_amt__bc = ((case when adv_amt is null then 0 else adv_amt end)+ (case when bill_amt is null then 0 else bill_amt end)+ (case when advadj_amt is null then 0 else advadj_amt end) - ? + (case when oth_amt is null then 0 else oth_amt end) + (case when fin_chg is null then 0 else fin_chg end) + tax_amt) * exch_rate, "
+" bill_disc_amt = ? WHERE tran_id = ? " ;
// end 29/05/14 manoharan
// 30/06/14 manoharan not to deduct dbamt
//sql="UPDATE receipt SET adv_amt = chq_amt - ((case when bill_amt is null then 0 else bill_amt end)+ (case when advadj_amt is null then 0 else advadj_amt end) - ? + (case when oth_amt is null then 0 else oth_amt end) + (case when fin_chg is null then 0 else fin_chg end) + tax_amt) WHERE tran_id = ? " ;
sql="UPDATE receipt SET adv_amt = chq_amt - ((case when bill_amt is null then 0 else bill_amt end)+ (case when advadj_amt is null then 0 else advadj_amt end) + (case when oth_amt is null then 0 else oth_amt end) + (case when fin_chg is null then 0 else fin_chg end) + tax_amt) WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,diffAmtExchDet );
pstmt.setDouble(2,diffAmtExchAdv );
pstmt.setDouble(3,diffAmtExchEpc );
pstmt.setDouble(4,bdAmt );//added by kunal on 03/feb/14
pstmt.setDouble(5,bdAmt ); //added by kunal on 03/feb/14
pstmt.setDouble(6,bdAmt );
pstmt.setString(7,tranId );
//pstmt.setDouble(1,bdAmt );
pstmt.setString(1,tranId );
cnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
......@@ -278,7 +271,30 @@ public class ReceiptAdvPostSave extends ValidatorEJB implements ReceiptAdvPostSa
{
System.out.println("update successfully ["+cnt+"]");
}
//}
}
// - (case when bill_disc_amt is null then 0 else bill_disc_amt end) removed on 21/01/14
//change done by kunal on 01/feb/14 minus bill_disc_amt
sql="UPDATE receipt SET DIFF_AMT__EXCH = ? + ? + ?, net_amt = ((case when adv_amt is null then 0 else adv_amt end)+ (case when bill_amt is null then 0 else bill_amt end)+ (case when advadj_amt is null then 0 else advadj_amt end) - ? + (case when oth_amt is null then 0 else oth_amt end) + (case when fin_chg is null then 0 else fin_chg end) + tax_amt) , "
+" net_amt__bc = ((case when adv_amt is null then 0 else adv_amt end)+ (case when bill_amt is null then 0 else bill_amt end)+ (case when advadj_amt is null then 0 else advadj_amt end) - ? + (case when oth_amt is null then 0 else oth_amt end) + (case when fin_chg is null then 0 else fin_chg end) + tax_amt) * exch_rate, "
+" bill_disc_amt = ? WHERE tran_id = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,diffAmtExchDet );
pstmt.setDouble(2,diffAmtExchAdv );
pstmt.setDouble(3,diffAmtExchEpc );
pstmt.setDouble(4,bdAmt );//added by kunal on 03/feb/14
pstmt.setDouble(5,bdAmt ); //added by kunal on 03/feb/14
pstmt.setDouble(6,bdAmt );
pstmt.setString(7,tranId );
cnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
if( cnt > 0)
{
System.out.println("update successfully ["+cnt+"]");
}
}
catch(Exception e)
{
......
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