Commit 97697cd0 authored by ngadkari's avatar ngadkari

auto adjustment of advance migrated pb code

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@194719 ce508802-f39f-4f6c-b175-0d175dae99d5
parent ebed40eb
...@@ -62,8 +62,8 @@ public class CreatePoRcpVoucher ...@@ -62,8 +62,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;
...@@ -88,7 +88,11 @@ public class CreatePoRcpVoucher ...@@ -88,7 +88,11 @@ public class CreatePoRcpVoucher
String acctCodePH = "", ccrtCodePH = "", taxVar = "", acctCodePPV = "", cctrCodePPV = "", returnId = "", sql = ""; String acctCodePH = "", ccrtCodePH = "", taxVar = "", acctCodePPV = "", cctrCodePPV = "", returnId = "", sql = "";
double rcpDiscAmt = 0, rcpAmount = 0, vouchQuantity = 0, vouchAmount = 0, taxMultiplier = 1, totAmount = 0, purcRateStd = 0; double rcpDiscAmt = 0, rcpAmount = 0, vouchQuantity = 0, vouchAmount = 0, taxMultiplier = 1, totAmount = 0, purcRateStd = 0;
String chgDate = null, acctCodeAP = "", ccrtCodeAP = "", msgType = "", taxVar1 = "", taxVar2 = ""; String chgDate = null, acctCodeAP = "", ccrtCodeAP = "", msgType = "", taxVar1 = "", taxVar2 = "";
double receiptAmount = 0.0; double receiptAmount = 0.0 ,totTaxAmt=0.0,totVouchAmt=0.0,totNetAmt=0.0 ,netAmtAdj=0.0,advAmt=0.0,exchAdv=0.0,totAmt=0.0,ordQty=0.0,dlvQty=0.0,totRcp=0.0,qtyTol=0.0,ordAmt=0.0; //added by nandkumar gadkari on 14/12/18
double diffExch=0.0,diffTot=0.0,advTot=0.0;
String currAdv="",acctCode="",refNo="",cctrCode="",sType="",sCode="",lineNo="",itemCode="",nullPo="",status="";//added by nandkumar gadkari on 14/12/18
int line=0;
boolean close=false;
MasterStatefulLocal masterStatefulLocal = null; MasterStatefulLocal masterStatefulLocal = null;
try try
{ {
...@@ -1261,6 +1265,15 @@ public class CreatePoRcpVoucher ...@@ -1261,6 +1265,15 @@ public class CreatePoRcpVoucher
xmlBuff.append("<proj_code><![CDATA[" + (projCode==null?"":projCode) + "]]></proj_code>"); xmlBuff.append("<proj_code><![CDATA[" + (projCode==null?"":projCode) + "]]></proj_code>");
xmlBuff.append("</Detail3>"); xmlBuff.append("</Detail3>");
//added by nandkumar gadkari--on 14/12/18-----------------------------------------------start-------------------------
totTaxAmt=totTaxAmt +rcpTaxAmount;
totVouchAmt= totVouchAmt +(rcpAmount - rcpDiscAmt);
totNetAmt=totNetAmt + rcpNetAmount;
System.out.println("totTaxAmt"+totTaxAmt);
System.out.println("totVouchAmt"+totVouchAmt);
System.out.println("totNetAmt"+totNetAmt);
//added by nandkumar gadkari--------14/12/18-----------------------------------------end-------------------------
} }
rs.close(); rs.close();
rs = null; rs = null;
...@@ -1584,6 +1597,15 @@ public class CreatePoRcpVoucher ...@@ -1584,6 +1597,15 @@ public class CreatePoRcpVoucher
//xmlBuff.append("<proj_code><![CDATA[" + projCode + "]]></proj_code>"); //xmlBuff.append("<proj_code><![CDATA[" + projCode + "]]></proj_code>");
xmlBuff.append("</Detail3>"); xmlBuff.append("</Detail3>");
//added by nandkumar gadkari--on 14/12/18-----------------------------------------------start-------------------------
totTaxAmt=totTaxAmt +rcpTaxAmount;
totVouchAmt= totVouchAmt +(rcpAmount - rcpDiscAmt);
totNetAmt=totNetAmt + rcpNetAmount;
System.out.println("totTaxAmt"+totTaxAmt);
System.out.println("totVouchAmt"+totVouchAmt);
System.out.println("totNetAmt"+totNetAmt);
//added by nandkumar gadkari--------14/12/18-----------------------------------------end-------------------------
} // return details } // return details
rs.close(); rs.close();
rs = null; rs = null;
...@@ -1762,15 +1784,244 @@ public class CreatePoRcpVoucher ...@@ -1762,15 +1784,244 @@ public class CreatePoRcpVoucher
//xmlBuff.append("<proj_code><![CDATA[" + projCode + "]]></proj_code>"); //xmlBuff.append("<proj_code><![CDATA[" + projCode + "]]></proj_code>");
xmlBuff.append("</Detail3>"); xmlBuff.append("</Detail3>");
//added by nandkumar gadkari--on 14/12/18-----------------------------------------------start-------------------------
totTaxAmt=totTaxAmt +rcpTaxAmount;
totVouchAmt= totVouchAmt +(rcpAmount - rcpDiscAmt);
totNetAmt=totNetAmt + rcpNetAmount;
//added by nandkumar gadkari--------14/12/18-----------------------------------------end-------------------------
} // return details } // return details
rs.close(); rs.close();
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
} // P-RET } // P-RET
//added by nandkumar gadkari---------14/12/18----------------------------------------start-------------------------
nullPo = distCommon.getDisparams("999999", "RCP_WO_PO", conn);
netAmtAdj=totVouchAmt + totTaxAmt;
System.out.println("netAmtAdj"+netAmtAdj);
if(netAmtAdj > 0)
{
line=0;
sql = " select tran_ser, ref_no, curr_code, exch_rate, acct_code, cctr_code, tot_amt, (tot_amt - adj_amt) as 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 sundry_code = ? and curr_code = ? "
+ " and tot_amt - adj_amt <> 0 and site_code = ? ";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, purcOrder);
pstmt1.setString(2, suppCode);
pstmt1.setString(3, currCode);
pstmt1.setString(4, siteCode);
rs1 = pstmt1.executeQuery();
System.out.println("sql"+sql);
while(rs1.next())
{
line ++;
tranSer = checkNullAndTrim(rs1.getString("tran_ser"));
refNo = checkNullAndTrim(rs1.getString("ref_no"));
currAdv = rs1.getString("curr_code");
exchAdv = rs1.getDouble("exch_rate");
acctCode = rs1.getString("acct_code");
cctrCode = rs1.getString("cctr_code");
totAmt = rs1.getDouble("tot_amt");
advAmt = rs1.getDouble("advamt");
sType = checkNullAndTrim(rs1.getString("sundry_type"));
sCode = rs1.getString("sundry_code");
if(!currAdv.equalsIgnoreCase(currCode))
{
errCode = "VTCURRMIS";
errString = itmDBAccessEJB.getErrorString("",errCode,"","",conn);
return errString;
}
if(!"S".equalsIgnoreCase(sType) || !sCode.equalsIgnoreCase(suppCode))
{
errCode = "VTSUPPMIS";
errString = itmDBAccessEJB.getErrorString("",errCode,"","",conn);
return errString;
}
sql = "select PURC_ORDER from porcp where tran_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
purcOrder = rs.getString("PURC_ORDER");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
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";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, purcOrder);
rs = pstmt.executeQuery();
while(rs.next())
{
lineNo = rs.getString("line_no");
itemCode = rs.getString("item_code");
ordQty = rs.getDouble("quantity");
dlvQty = rs.getDouble(4);
if(purcOrder != null && !"Y".equalsIgnoreCase(nullPo))
{
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.setString(2, lineNo);
pstmt2.setString(3, itemCode);
rs2 = pstmt2.executeQuery();
if(rs2.next())
{
totRcp = rs2.getDouble(1);
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
totRcp=dlvQty;
if (totRcp > ordQty)
{
sql = " select (case when qty_tol_perc is null then 0 else qty_tol_perc end) from item where item_code = ? ";
pstmt2 = conn.prepareStatement(sql);
pstmt2.setString(1, itemCode);
rs2 = pstmt2.executeQuery();
if(rs2.next())
{
qtyTol = rs2.getDouble(1);
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
if (( ((totRcp - ordQty) / ordQty) * 100 ) >= qtyTol )
{
close= true;
}
else
{
close= false;
}
}
if (totRcp <= ordQty)
{
sql = " select (case when qty_tol_perc is null then 0 else qty_tol_perc end) from item where item_code = ? ";
pstmt2 = conn.prepareStatement(sql);
pstmt2.setString(1, itemCode);
rs2 = pstmt2.executeQuery();
if(rs2.next())
{
qtyTol = rs2.getDouble(1);
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
if (( ((ordQty - totRcp ) / ordQty) * 100 ) <= qtyTol )
{
close= true;
}
else
{
close= false;
}
}
if(!close)
{
break;
}
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "select case when ord_amt is null then 0 else ord_amt end,status from porder where purc_order = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, purcOrder);
rs = pstmt.executeQuery();
if(rs.next())
{
ordAmt = rs.getDouble(1);
status = rs.getString(2);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if("C".equalsIgnoreCase(status))
{
advAmt = advAmt;
}
else
{
if(!close)
{
advAmt = (vouchAmount * totAmt/ ordAmt);
}
}
if(advAmt !=0)
{
if(Math.abs(advAmt) > totNetAmt)
{
advAmt = 0 - totNetAmt;
}
diffExch = (advAmt * exchAdv) - (advAmt * exchRate);
diffTot = diffTot + diffExch;
advTot = advTot + advAmt;
xmlBuff.append("<Detail2 dbID='' domID='"+line+"' objName=\"voucher\" objContext=\"2\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />");
xmlBuff.append("<tran_id/>");
xmlBuff.append("<line_no>"+(line)+"</line_no>");
xmlBuff.append("<ref_ser><![CDATA[" + (tranSer) + "]]></ref_ser>");
xmlBuff.append("<ref_no><![CDATA[" + (refNo) + "]]></ref_no>");
xmlBuff.append("<adj_amt><![CDATA[" + (advAmt) + "]]></adj_amt>");
xmlBuff.append("<tot_amt><![CDATA[" + (totAmt) + "]]></tot_amt>");
xmlBuff.append("<curr_code><![CDATA[" + currAdv + "]]></curr_code>");
xmlBuff.append("<diff_amt__exch><![CDATA[" + diffExch + "]]></diff_amt__exch>");
xmlBuff.append("<acct_code><![CDATA[" + acctCode + "]]></acct_code>");
xmlBuff.append("<cctr_code><![CDATA[" + cctrCode + "]]></cctr_code>");
xmlBuff.append("<exch_rate__vouch><![CDATA[" + exchAdv + "]]></exch_rate__vouch>");
xmlBuff.append("<auto_generated><![CDATA[" + ("A") + "]]></auto_generated>");
xmlBuff.append("</Detail2>");
}
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
}
//added by nandkumar gadkari-----------14/12/18--------------------------------------end-------------------------
xmlBuff.append("</Header0>"); xmlBuff.append("</Header0>");
......
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