Commit d93ac192 authored by cpatil's avatar cpatil

modify net amt


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@101344 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 7bf3512c
...@@ -28,155 +28,141 @@ import java.util.HashMap; ...@@ -28,155 +28,141 @@ import java.util.HashMap;
public class InvoiceDrcrAdj public class InvoiceDrcrAdj
{ {
public String invoiceDrcrAdj(String siteCode, String invoiceId, String custCode, String itemSer, double netAmt, boolean adjDrCr, boolean adjAdv, String advAdj, boolean adjNewProdInv, String frtDrnArr[], Connection conn) throws RemoteException,ITMException public String invoiceDrcrAdj(String siteCode, String invoiceId, String custCode, String itemSer, double netAmt, boolean adjDrCr, boolean adjAdv, String advAdj, boolean adjNewProdInv, String frtDrnArr[], Connection conn) throws RemoteException,ITMException
{
///////////////////////////////////////////
//14/03/01 manoharan update of receivables commented
//only insert of receivables_adj records will be taken place in
//this function. The related updates will be done when the invoice
//is confirmed
//
//what if one invoice is not confirmed and another invoice is
//generated for the same customer/site ?????????????????
String errString = "", tranID = "", tranSer = "", refNo = "", adjTranSer = "", adjRefNo = "",mOrderNo = "",finScheme = "";
String nextID = "", status = "", refType = "",ignoreDrDays = "",ordTypeNewPrd = "", sqlStr = "", tranSeries = "", asjCustAdv = "";
double netAmount = 0, mTotAmt = 0, mAdjAmt = 0, mDiffAmt = 0, mSetAmt = 0;//, mAmt = 0
double mChkAmt = 0, mDrAmt = 0;//, mAmtAdj
int mctr = 1, mChkRec = 0,llIgnoreDrDays = 0, llCrDays = 0;
Timestamp mRefDate = null;
String rcpNo = "",siteCodeRcp = "",siteCodeDlv ="",subsNo = "",drnNotIn = "";
String tempStr;
//09-01-02 Arif
String keystr = "",adjustNewProduct = "";//added radhakrishnan on 16-04-04
//09-01-02 End Arif
//03-08-2005 manoharan moved from below
String tranTypeFinChrgDrn = "", trnTypArray[], ordTypArray[], sType = "", tempStrType = "";
FinCommon finCommon = null;
DistCommon distCommon = null;
E12GenericUtility genericUtility = null;
ITMDBAccessEJB itmDBAccessEJB = null;
PreparedStatement pstmt = null,pstmt1 = null, pstmtInsert = null, pstmtUpd = null;
ResultSet rs = null, rs1 = null;
//String ls_transer, ls_refno, ls_tranid
double lcAdj = 0;
String xmlValues = null;
String mTranId="", mTranSer="", mRefNo="";
String sqlStr1 = "";
try
{ {
///////////////////////////////////////////
//14/03/01 manoharan update of receivables commented
//only insert of receivables_adj records will be taken place in
//this function. The related updates will be done when the invoice
//is confirmed
//
//what if one invoice is not confirmed and another invoice is
//generated for the same customer/site ?????????????????
finCommon = new FinCommon(); String errString = "", tranID = "", tranSer = "", refNo = "", adjTranSer = "", adjRefNo = "",mOrderNo = "",finScheme = "";
distCommon = new DistCommon(); String nextID = "", status = "", refType = "",ignoreDrDays = "",ordTypeNewPrd = "", sqlStr = "", tranSeries = "", asjCustAdv = "";
genericUtility = new E12GenericUtility(); double netAmount = 0, mTotAmt = 0, mAdjAmt = 0, mDiffAmt = 0, mSetAmt = 0;//, mAmt = 0
itmDBAccessEJB = new ITMDBAccessEJB(); double mChkAmt = 0, mDrAmt = 0;//, mAmtAdj
int mctr = 1, mChkRec = 0,llIgnoreDrDays = 0, llCrDays = 0;
Timestamp mRefDate = null;
String rcpNo = "",siteCodeRcp = "",siteCodeDlv ="",subsNo = "",drnNotIn = "";
String tempStr;
//09-01-02 Arif
String keystr = "",adjustNewProduct = "";//added radhakrishnan on 16-04-04
//09-01-02 End Arif
//03-08-2005 manoharan moved from below
String tranTypeFinChrgDrn = "", trnTypArray[], ordTypArray[], sType = "", tempStrType = "";
FinCommon finCommon = null;
DistCommon distCommon = null;
E12GenericUtility genericUtility = null;
ITMDBAccessEJB itmDBAccessEJB = null;
PreparedStatement pstmt = null,pstmt1 = null, pstmtInsert = null, pstmtUpd = null;
ResultSet rs = null, rs1 = null;
//String ls_transer, ls_refno, ls_tranid
double lcAdj = 0;
String xmlValues = null;
String mTranId="", mTranSer="", mRefNo="";
String sqlStr1 = "";
try
{
//24/01/14 manoharan FI3JSUN007 adjust freight dr note alsof finCommon = new FinCommon();
distCommon = new DistCommon();
genericUtility = new E12GenericUtility();
itmDBAccessEJB = new ITMDBAccessEJB();
if (frtDrnArr.length == 1) //24/01/14 manoharan FI3JSUN007 adjust freight dr note alsof
{
if ( frtDrnArr[0] == null || frtDrnArr[0].trim().length() == 0) if (frtDrnArr.length == 1)
{ {
frtDrnArr[0] = " "; if ( frtDrnArr[0] == null || frtDrnArr[0].trim().length() == 0)
{
frtDrnArr[0] = " ";
}
} }
}
drnNotIn =""; drnNotIn ="";
for(int i = 0; i < frtDrnArr.length; i++) for(int i = 0; i < frtDrnArr.length; i++)
{
if( frtDrnArr[i] != null && frtDrnArr[i].trim().length() > 0)
{ {
drnNotIn =drnNotIn+"'"+frtDrnArr[i]+"',"; if( frtDrnArr[i] != null && frtDrnArr[i].trim().length() > 0)
{
drnNotIn =drnNotIn+"'"+frtDrnArr[i]+"',";
}
} }
} if( drnNotIn != null && drnNotIn.trim().length() > 0)
if( drnNotIn != null && drnNotIn.trim().length() > 0) {
{ drnNotIn =drnNotIn.substring(0,drnNotIn.length()-1);
drnNotIn =drnNotIn.substring(0,drnNotIn.length()-1); }System.out.println("12-Mar-16 manoharan drnNotIn after ["+drnNotIn + "]");
}System.out.println("12-Mar-16 manoharan drnNotIn after ["+drnNotIn + "]"); adjustNewProduct = distCommon.getDisparams("999999","ADJUST_NEWPRODUCT",conn);
adjustNewProduct = distCommon.getDisparams("999999","ADJUST_NEWPRODUCT",conn); if (!"NULLFOUND".equals(adjustNewProduct) || "Y".equals(adjustNewProduct) )
if (!"NULLFOUND".equals(adjustNewProduct) || "Y".equals(adjustNewProduct) ) {
{ ordTypeNewPrd = distCommon.getDisparams("999999","ORD_TYPE_NEWPRD",conn);
ordTypeNewPrd = distCommon.getDisparams("999999","ORD_TYPE_NEWPRD",conn); }
} else
else {
{ ordTypeNewPrd = " ";
ordTypeNewPrd = " "; }
} ordTypeNewPrd = ordTypeNewPrd.trim();
ordTypeNewPrd = ordTypeNewPrd.trim(); tranTypeFinChrgDrn = distCommon.getDisparams("999999","IGNORE_TYPE_FINCHRG",conn);
tranTypeFinChrgDrn = distCommon.getDisparams("999999","IGNORE_TYPE_FINCHRG",conn);
if ("NULLFOUND".equals(tranTypeFinChrgDrn)) if ("NULLFOUND".equals(tranTypeFinChrgDrn))
{ {
tranTypeFinChrgDrn = " "; tranTypeFinChrgDrn = " ";
} }
//end 03-08-2005 manoharan moved from below //end 03-08-2005 manoharan moved from below
adjTranSer = "S-INV";
//in below Sql cr_days added by Jasmina 29/08/08-DI89SUN015
sqlStr ="select invoice_id, tran_date, inv_type,sale_order, cr_days from invoice "
+ "where invoice_id = ? " ;
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,invoiceId);
rs = pstmt.executeQuery();
if(rs.next())
{
adjRefNo = rs.getString("invoice_id");
mRefDate = rs.getTimestamp("tran_date");
refType = rs.getString("inv_type");
mOrderNo = rs.getString("sale_order");
llCrDays = rs.getInt("cr_days");
} adjTranSer = "S-INV";
else
{ //in below Sql cr_days added by Jasmina 29/08/08-DI89SUN015
errString = itmDBAccessEJB.getErrorString("","VTNOINV","","",conn); sqlStr ="select invoice_id, tran_date, inv_type,sale_order, cr_days from invoice "
return errString ; + "where invoice_id = ? " ;
} pstmt = conn.prepareStatement(sqlStr);
rs.close(); pstmt.setString(1,invoiceId);
rs = null; rs = pstmt.executeQuery();
pstmt.close(); if(rs.next())
pstmt = null;
//commented by Amit 04/05/05 as FN type checking is done thru disparm further.
//elseif (trim(refType) = 'FN' )
//return errString
//03-08-2005 manoharan new product order type taken from
//elseif (pos(ordTypeNewPrd,trim(refType)) > 0 )
System.out.println("12-Mar-16 manoharan ordTypeNewPrd ["+ordTypeNewPrd + "]");
if (ordTypeNewPrd.trim().length() > 0 )
{
String arrStr[] = ordTypeNewPrd.split(",");
for(int i = 0; i<arrStr.length; i++)
{ {
if (refType.trim().equals(arrStr[i].trim())) adjRefNo = rs.getString("invoice_id");
{ mRefDate = rs.getTimestamp("tran_date");
return ""; refType = rs.getString("inv_type");
} mOrderNo = rs.getString("sale_order");
llCrDays = rs.getInt("cr_days");
}
else
{
errString = itmDBAccessEJB.getErrorString("","VTNOINV","","",conn);
return errString ;
} }
//end 03-08-2005 manoharan new product order type taken from
}
netAmount = netAmt;
mDrAmt = netAmt;
System.out.println("@@@@@@@@162 mDrAmt["+mDrAmt+"]");
//09-01-02 Arif
sqlStr ="select key_String from transetup "
+ "where upper(tran_window) = 'W_REC_ADJ' " ;
pstmt = conn.prepareStatement(sqlStr);
rs = pstmt.executeQuery();
if(rs.next())
{
keystr = rs.getString("key_string");
}
else
{
rs.close(); rs.close();
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
//commented by Amit 04/05/05 as FN type checking is done thru disparm further.
//elseif (trim(refType) = 'FN' )
//return errString
//03-08-2005 manoharan new product order type taken from
//elseif (pos(ordTypeNewPrd,trim(refType)) > 0 )
System.out.println("12-Mar-16 manoharan ordTypeNewPrd ["+ordTypeNewPrd + "]");
if (ordTypeNewPrd.trim().length() > 0 )
{
String arrStr[] = ordTypeNewPrd.split(",");
for(int i = 0; i<arrStr.length; i++)
{
if (refType.trim().equals(arrStr[i].trim()))
{
return "";
}
}
//end 03-08-2005 manoharan new product order type taken from
}
netAmount = netAmt;
mDrAmt = netAmt;
System.out.println("@@@@@@@@162 mDrAmt["+mDrAmt+"]");
//09-01-02 Arif
sqlStr ="select key_String from transetup " sqlStr ="select key_String from transetup "
+ "where upper(tran_window) = 'GENERAL' " ; + "where upper(tran_window) = 'W_REC_ADJ' " ;
pstmt = conn.prepareStatement(sqlStr); pstmt = conn.prepareStatement(sqlStr);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
...@@ -189,790 +175,853 @@ public String invoiceDrcrAdj(String siteCode, String invoiceId, String custCode, ...@@ -189,790 +175,853 @@ public String invoiceDrcrAdj(String siteCode, String invoiceId, String custCode,
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
errString = itmDBAccessEJB.getErrorString("","VTNOINV","","",conn); sqlStr ="select key_String from transetup "
return errString ; + "where upper(tran_window) = 'GENERAL' " ;
pstmt = conn.prepareStatement(sqlStr);
rs = pstmt.executeQuery();
if(rs.next())
{
keystr = rs.getString("key_string");
}
else
{
rs.close();
rs = null;
pstmt.close();
pstmt = null;
errString = itmDBAccessEJB.getErrorString("","VTNOINV","","",conn);
return errString ;
}
} }
} rs.close();
rs.close(); rs = null;
rs = null; pstmt.close();
pstmt.close(); pstmt = null;
pstmt = null; //09-01-02 End Arif
//09-01-02 End Arif //formulation new products hard coded and 15 days
//formulation new products hard coded and 15 days //Sanjeev - 14/10/03 - Removed harcoding done by Arif (for 15 days and used finparm variable
//Sanjeev - 14/10/03 - Removed harcoding done by Arif (for 15 days and used finparm variable //in sql below.
//in sql below.
ignoreDrDays = finCommon.getFinparams("999999", "IGNORE_DR_DAYS",conn); ignoreDrDays = finCommon.getFinparams("999999", "IGNORE_DR_DAYS",conn);
//if (get_sqlcode() = 100 ) //if (get_sqlcode() = 100 )
if ("NULLFOUND".equals(ignoreDrDays) ) if ("NULLFOUND".equals(ignoreDrDays) )
{
// llIgnoreDrDays = 9999999//decreased on manoharanji's instruction as mssql is giving error of arithmatic overflow ** kiran 29/06/05
llIgnoreDrDays = 999999;
}
else if (ignoreDrDays == null )
{
// llIgnoreDrDays = 9999999//decreased on manoharanji's instruction as mssql is giving error of arithmatic overflow ** kiran 29/06/05
llIgnoreDrDays = 999999;
}
else
{
//added by Jasmina 29/08/08-DI89SUN015
if ("BEFORE_CR_DAYS".equals(ignoreDrDays.trim()) )
{ {
llIgnoreDrDays = llCrDays * -1; // llIgnoreDrDays = 9999999//decreased on manoharanji's instruction as mssql is giving error of arithmatic overflow ** kiran 29/06/05
llIgnoreDrDays = 999999;
} }
else //added end by Jasmina 29/08/08-DI89SUN015 else if (ignoreDrDays == null )
{ {
llIgnoreDrDays = Integer.valueOf(ignoreDrDays); // llIgnoreDrDays = 9999999//decreased on manoharanji's instruction as mssql is giving error of arithmatic overflow ** kiran 29/06/05
llIgnoreDrDays = 999999;
} }
} else
System.out.println("12-Mar-16 manoharan llIgnoreDrDays final ["+llIgnoreDrDays + "]"); {
//03-08-2005 manoharan commented and taken above //added by Jasmina 29/08/08-DI89SUN015
// if ("BEFORE_CR_DAYS".equals(ignoreDrDays.trim()) )
////added by radhakrishnan on 16-04-04 {
// llIgnoreDrDays = llCrDays * -1;
//adjustNewProduct = gf_getenv_dis('999999','ADJUST_NEWPRODUCT') }
//adjustNewProduct = upper(trim(adjustNewProduct)) else //added end by Jasmina 29/08/08-DI89SUN015
//if (adjustNewProduct='NULLFOUND' or adjustNewProduct = 'Y' ) {
//ordTypeNewPrd = gf_getenv_dis('999999','ORD_TYPE_NEWPRD') llIgnoreDrDays = Integer.valueOf(ignoreDrDays);
//} }
////end radhakrishnan on 16-04-04 }
//End Sanjeev - 14/10/03 System.out.println("12-Mar-16 manoharan llIgnoreDrDays final ["+llIgnoreDrDays + "]");
//end 03-08-2005 manoharan commented and taken above //03-08-2005 manoharan commented and taken above
//added by bhavin //
sqlStr ="select (case when fin_scheme is null then ' ' else fin_scheme end ) fin_scheme from sorder " ////added by radhakrishnan on 16-04-04
+ "where sale_order = ? " ; //
pstmt = conn.prepareStatement(sqlStr); //adjustNewProduct = gf_getenv_dis('999999','ADJUST_NEWPRODUCT')
pstmt.setString(1,mOrderNo); //adjustNewProduct = upper(trim(adjustNewProduct))
rs = pstmt.executeQuery(); //if (adjustNewProduct='NULLFOUND' or adjustNewProduct = 'Y' )
if(rs.next()) //ordTypeNewPrd = gf_getenv_dis('999999','ORD_TYPE_NEWPRD')
{ //}
finScheme = rs.getString(1); ////end radhakrishnan on 16-04-04
//End Sanjeev - 14/10/03
} //end 03-08-2005 manoharan commented and taken above
else //added by bhavin
{ sqlStr ="select (case when fin_scheme is null then ' ' else fin_scheme end ) fin_scheme from sorder "
errString = itmDBAccessEJB.getErrorString("","VTNOSORD","","",conn); + "where sale_order = ? " ;
return errString ;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//ended by bhavin
System.out.println("@@@@@@@@264 drnNotIn["+drnNotIn+"]");
//24/01/14 Manoharan FI3JSUN007 adjust all the freight drn
if (drnNotIn.trim().length() > 0 )
{
sqlStr1 = "insert into receivables_adj "
+ "(tran_id, ref_ser, ref_no, tot_amt, adj_amt, net_amt,ref_ser_adj,ref_no_adj, tran_id__rcv) "
+ " values (?, ?, ?, ?, ?, 0, ?, ? ,?) ";
pstmtInsert = conn.prepareStatement(sqlStr1);
//old logic kept in this Condition
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where tran_ser = 'MDRCRD' and ref_no in ( "+drnNotIn+" ) "
+ " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' order by tran_id ";
pstmt = conn.prepareStatement(sqlStr); pstmt = conn.prepareStatement(sqlStr);
//pstmt.setString(1,drnNotIn); pstmt.setString(1,mOrderNo);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) if(rs.next())
{ {
tranID = rs.getString("tran_id"); finScheme = rs.getString(1);
tranSer= rs.getString("tran_ser");
refNo= rs.getString("ref_no"); }
mTotAmt= rs.getDouble("tot_amt"); else
mAdjAmt= rs.getDouble("adj_amt"); {
System.out.println("@@@@@@@@289 mDrAmt["+mDrAmt+"]"); errString = itmDBAccessEJB.getErrorString("","VTNOSORD","","",conn);
mDiffAmt = mTotAmt - mAdjAmt; return errString ;
mDrAmt = mDrAmt + mDiffAmt;
System.out.println("@@@@@@@@292 mDrAmt["+mDrAmt+"]");
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,tranSer);
pstmtInsert.setString(3,refNo);
pstmtInsert.setDouble(4,mDiffAmt);
pstmtInsert.setDouble(5,mDiffAmt);
pstmtInsert.setString(6,adjTranSer);
pstmtInsert.setString(7,adjRefNo);
pstmtInsert.setString(8,tranID);
pstmtInsert.addBatch();
pstmtInsert.clearParameters();
mChkRec++;
} }
rs.close(); rs.close();
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
pstmtInsert.executeBatch(); //ended by bhavin
pstmtInsert.clearParameters(); System.out.println("@@@@@@@@264 drnNotIn["+drnNotIn+"]");
//pstmtInsert.close(); //24/01/14 Manoharan FI3JSUN007 adjust all the freight drn
if (drnNotIn.trim().length() > 0 )
{
mTotAmt = 0; sqlStr1 = "insert into receivables_adj "
mAdjAmt = 0; + "(tran_id, ref_ser, ref_no, tot_amt, adj_amt, net_amt,ref_ser_adj,ref_no_adj, tran_id__rcv) "
mDiffAmt = 0; + " values (?, ?, ?, ?, ?, 0, ?, ? ,?) ";
} pstmtInsert = conn.prepareStatement(sqlStr1);
//old logic kept in this Condition
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where tran_ser = 'MDRCRD' and ref_no in ( "+drnNotIn+" ) "
+ " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
//pstmt.setString(1,drnNotIn);
rs = pstmt.executeQuery();
while(rs.next())
{
tranID = rs.getString("tran_id");
tranSer= rs.getString("tran_ser");
refNo= rs.getString("ref_no");
mTotAmt= rs.getDouble("tot_amt");
mAdjAmt= rs.getDouble("adj_amt");
System.out.println("@@@@@@@@289 mDrAmt["+mDrAmt+"]");
mDiffAmt = mTotAmt - mAdjAmt;
mDrAmt = mDrAmt + mDiffAmt;
System.out.println("@@@@@@@@292 mDrAmt["+mDrAmt+"]");
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,tranSer);
pstmtInsert.setString(3,refNo);
pstmtInsert.setDouble(4,mDiffAmt);
pstmtInsert.setDouble(5,mDiffAmt);
pstmtInsert.setString(6,adjTranSer);
pstmtInsert.setString(7,adjRefNo);
pstmtInsert.setString(8,tranID);
pstmtInsert.addBatch();
pstmtInsert.clearParameters();
//end 24/01/14 manoharan mChkRec++;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
pstmtInsert.executeBatch();
pstmtInsert.clearParameters();
//pstmtInsert.close();
//04-09-2005 manoharan
//reverted on 15-09-2005 as per sun requirement
//if (adjDrCr = TRUE ) //Commented by jasmina-19/01/10-DI89SUN228
System.out.println("@@@@@@@@335 adjDrCr["+adjDrCr+"]adjNewProdInv["+adjNewProdInv+"]adjustNewProduct["+adjustNewProduct+"]ordTypeNewPrd["+ordTypeNewPrd+"]");
if (adjDrCr || (adjNewProdInv && ("Y".equals(adjustNewProduct) && ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0) ) ) //Added by jasmina-19/01/10-DI89SUN228
{
//if (adjDrCr or adjustNewProduct = 'Y' )
// 03-08-2005 manoharan dynamic cursor used to have multiple
// order/transaction types specified in disparm for new product/ financial charges
//declare c_recv cursor for
//select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables
// where (tran_ser = 'DRNRCP' or tran_ser = 'MDRCRD')
// and ( ((ref_type = 'FC' or ref_type = :ordTypeNewPrd )
// and ( (:mRefDate - ref_date ) >= :llIgnoreDrDays )) OR (ref_type <> 'FC' and ref_type <> :ordTypeNewPrd) )
// and (tot_amt - adj_amt) > 0
// and site_code = :siteCode
// and item_ser = :itemSer
// and cust_code = :custCode
// and (case when fin_scheme is null ) ' ' else fin_scheme end ) = :finScheme
//order by tran_id;
//open c_recv;
//if (get_sqlcode() < 0 )
// errString = 'DS000' + String(sqlca.sqldbcode)
// return errString
//}
//
String[] arrStr; mTotAmt = 0;
System.out.println("@@@@@@@@360 adjDrCr["+adjDrCr+"]adjNewProdInv["+adjNewProdInv+"]"); mAdjAmt = 0;
if (adjDrCr && adjNewProdInv ) //if (condition Added by jasmina-19/01/10-DI89SUN228 mDiffAmt = 0;
}
//end 24/01/14 manoharan
//04-09-2005 manoharan
//reverted on 15-09-2005 as per sun requirement
//if (adjDrCr = TRUE ) //Commented by jasmina-19/01/10-DI89SUN228
System.out.println("@@@@@@@@335 adjDrCr["+adjDrCr+"]adjNewProdInv["+adjNewProdInv+"]adjustNewProduct["+adjustNewProduct+"]ordTypeNewPrd["+ordTypeNewPrd+"]");
if (adjDrCr || (adjNewProdInv && ("Y".equals(adjustNewProduct) && ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0) ) ) //Added by jasmina-19/01/10-DI89SUN228
{ {
System.out.println("1@@@@@@@@ tranTypeFinChrgDrn["+tranTypeFinChrgDrn+"]"); //if (adjDrCr or adjustNewProduct = 'Y' )
//old logic kept in this Condition // 03-08-2005 manoharan dynamic cursor used to have multiple
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "; // order/transaction types specified in disparm for new product/ financial charges
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0) //declare c_recv cursor for
//select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables
// where (tran_ser = 'DRNRCP' or tran_ser = 'MDRCRD')
// and ( ((ref_type = 'FC' or ref_type = :ordTypeNewPrd )
// and ( (:mRefDate - ref_date ) >= :llIgnoreDrDays )) OR (ref_type <> 'FC' and ref_type <> :ordTypeNewPrd) )
// and (tot_amt - adj_amt) > 0
// and site_code = :siteCode
// and item_ser = :itemSer
// and cust_code = :custCode
// and (case when fin_scheme is null ) ' ' else fin_scheme end ) = :finScheme
//order by tran_id;
//open c_recv;
//if (get_sqlcode() < 0 )
// errString = 'DS000' + String(sqlca.sqldbcode)
// return errString
//}
//
String[] arrStr;
System.out.println("@@@@@@@@360 adjDrCr["+adjDrCr+"]adjNewProdInv["+adjNewProdInv+"]");
if (adjDrCr && adjNewProdInv ) //if (condition Added by jasmina-19/01/10-DI89SUN228
{ {
arrStr = tranTypeFinChrgDrn.split(","); System.out.println("1@@@@@@@@ tranTypeFinChrgDrn["+tranTypeFinChrgDrn+"]");
tranTypeFinChrgDrn =""; //old logic kept in this Condition
for (int i = 0; i < frtDrnArr.length; i++) sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
{ if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',";
}
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP') ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{ {
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) "; arrStr = tranTypeFinChrgDrn.split(",");
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) "; tranTypeFinChrgDrn ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',";
}
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP') ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) ";
}
else
{
sqlStr = sqlStr + " ) ) ";
}
} }
else else
{ {
sqlStr = sqlStr + " ) ) "; sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' ) ";
} if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
} {
else sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
{ }
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' ) "; else
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn {
{ sqlStr = sqlStr + " ) ) ";
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) "; }
} }
else //if (len(trim(drnNotIn)) > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
//sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) "
//}
// 04-09-2005 manoharan
//if ((not isnull(ordTypeNewPrd)) and (len(trim(ordTypeNewPrd)) > 0) )
System.out.println("@@@@@@@@ ordTypeNewPrd["+ordTypeNewPrd+"]adjustNewProduct["+adjustNewProduct+"]tranTypeFinChrgDrn["+tranTypeFinChrgDrn+"]");
if (ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct) )
{ {
sqlStr = sqlStr + " ) ) "; // end 04-09-2005 manoharan
}
}
//if (len(trim(drnNotIn)) > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
//sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) "
//}
// 04-09-2005 manoharan
//if ((not isnull(ordTypeNewPrd)) and (len(trim(ordTypeNewPrd)) > 0) )
System.out.println("@@@@@@@@ ordTypeNewPrd["+ordTypeNewPrd+"]adjustNewProduct["+adjustNewProduct+"]tranTypeFinChrgDrn["+tranTypeFinChrgDrn+"]");
if (ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct) )
{
// end 04-09-2005 manoharan
arrStr = ordTypeNewPrd.split(","); arrStr = ordTypeNewPrd.split(",");
ordTypeNewPrd =""; ordTypeNewPrd ="";
for (int i = 0; i < frtDrnArr.length; i++) for (int i = 0; i < frtDrnArr.length; i++)
{ {
ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',"; ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',";
} }
ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1); ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1);
sqlStr = sqlStr + " or ( tran_ser = 'S-INV' " sqlStr = sqlStr + " or ( tran_ser = 'S-INV' "
+ " and ref_type in (" + ordTypeNewPrd + ") " + " and ref_type in (" + ordTypeNewPrd + ") "
+ " and ? - due_date >= " + (llIgnoreDrDays) + " ) "; + " and ? - due_date >= " + (llIgnoreDrDays) + " ) ";
}
else
{
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0 && drnNotIn.trim().length() > 0 )
{
// NOTHING
} }
else else
{ {
// sqlStr = sqlStr + " ) ";//TEST if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0 && drnNotIn.trim().length() > 0 )
{
// NOTHING
}
else
{
// sqlStr = sqlStr + " ) ";//TEST
}
} }
} sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' " + " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' " + " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' " + " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' " + " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id "; + " order by tran_id ";
}
else if (adjDrCr && (!adjNewProdInv) ) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228
{
System.out.println("2@@@@@@@@ ");
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
{
arrStr = tranTypeFinChrgDrn.split(",");
tranTypeFinChrgDrn ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',";
}
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' ) ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) ";
} }
else else if (adjDrCr && (!adjNewProdInv) ) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228
{ {
sqlStr = sqlStr + " where ( (tran_ser = 'DRNRCP' ) "; System.out.println("2@@@@@@@@ ");
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
{ {
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) "; arrStr = tranTypeFinChrgDrn.split(",");
tranTypeFinChrgDrn ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',";
}
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' ) ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) ";
} }
else else
{ {
sqlStr = sqlStr + " ) "; sqlStr = sqlStr + " where ( (tran_ser = 'DRNRCP' ) ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
} }
} //if (len(trim(drnNotIn)) > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
//if (len(trim(drnNotIn)) > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn //sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) "
//sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) " //}
//} sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' " + " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' " + " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' " + " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' " + " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id "; + " order by tran_id ";
} }
else if (!adjDrCr && adjNewProdInv ) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228 else if (!adjDrCr && adjNewProdInv ) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228
{
System.out.println("3@@@@@@@@ ");
if ( ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct) )
{ {
System.out.println("3@@@@@@@@ ");
arrStr = ordTypeNewPrd.split(","); if ( ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct) )
ordTypeNewPrd ="";
for (int i = 0; i < frtDrnArr.length; i++)
{ {
ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',";
}
ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1);
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables " arrStr = ordTypeNewPrd.split(",");
+ " where tran_ser = 'S-INV' " ordTypeNewPrd ="";
+ " and ref_type in (" + ordTypeNewPrd + ") " for (int i = 0; i < frtDrnArr.length; i++)
+ " and ? - due_date >= " + llIgnoreDrDays + " " {
+ " and tot_amt - adj_amt > 0 " ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',";
+ " and site_code = '" + siteCode + "' " }
+ " and item_ser = '" + itemSer + "' " ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1);
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id "; sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where tran_ser = 'S-INV' "
+ " and ref_type in (" + ordTypeNewPrd + ") "
+ " and ? - due_date >= " + llIgnoreDrDays + " "
+ " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id ";
}
} }
}
sqlStr1 = "insert into receivables_adj "
+ "(tran_id, ref_ser, ref_no, tot_amt, adj_amt, net_amt,ref_ser_adj,ref_no_adj, tran_id__rcv) "
+ " values (?, ?, ?, ?, ?, 0, ?, ? ,?) ";
pstmtInsert = conn.prepareStatement(sqlStr1);
pstmt = conn.prepareStatement(sqlStr);
rs = pstmt.executeQuery(); sqlStr1 = "insert into receivables_adj "
while(rs.next()) + "(tran_id, ref_ser, ref_no, tot_amt, adj_amt, net_amt,ref_ser_adj,ref_no_adj, tran_id__rcv) "
{ + " values (?, ?, ?, ?, ?, 0, ?, ? ,?) ";
mTranId = rs.getString("tran_id"); pstmtInsert = conn.prepareStatement(sqlStr1);
mTranSer = rs.getString("tran_ser");
mRefNo = rs.getString("ref_no"); pstmt = conn.prepareStatement(sqlStr);
mTotAmt = rs.getDouble("tot_amt"); rs = pstmt.executeQuery();
mAdjAmt = rs.getDouble("adj_amt"); while(rs.next())
{
System.out.println("@@@@@@@@530 mDrAmt["+mDrAmt+"]"); mTranId = rs.getString("tran_id");
mDiffAmt = mTotAmt - mAdjAmt; mTranSer = rs.getString("tran_ser");
mDrAmt = mDrAmt + mDiffAmt; mRefNo = rs.getString("ref_no");
System.out.println("@@@@@@@@533 mDrAmt["+mDrAmt+"]"); mTotAmt = rs.getDouble("tot_amt");
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>"; mAdjAmt = rs.getDouble("adj_amt");
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>"; System.out.println("@@@@@@@@530 mDrAmt["+mDrAmt+"]");
xmlValues = xmlValues + "<tran_id></tran_id>"; mDiffAmt = mTotAmt - mAdjAmt;
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>"; mDrAmt = mDrAmt + mDiffAmt;
xmlValues = xmlValues +"</Detail1></Root>"; System.out.println("@@@@@@@@533 mDrAmt["+mDrAmt+"]");
System.out.println("xmlValues :["+xmlValues+"]"); xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME); xmlValues = xmlValues + "<Header></Header>";
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn); xmlValues = xmlValues + "<Detail1>";
System.out.println("nextID ["+nextID + "]"); xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
// 09-01-02 End Arif xmlValues = xmlValues +"</Detail1></Root>";
pstmtInsert.setString(1,nextID); System.out.println("xmlValues :["+xmlValues+"]");
pstmtInsert.setString(2,mTranSer); TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
pstmtInsert.setString(3,mRefNo); nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
pstmtInsert.setDouble(4,mDiffAmt); System.out.println("nextID ["+nextID + "]");
pstmtInsert.setDouble(5,mDiffAmt);
pstmtInsert.setString(6,adjTranSer); // 09-01-02 End Arif
pstmtInsert.setString(7,adjRefNo); pstmtInsert.setString(1,nextID);
pstmtInsert.setString(8,mTranId); pstmtInsert.setString(2,mTranSer);
pstmtInsert.addBatch(); pstmtInsert.setString(3,mRefNo);
pstmtInsert.setDouble(4,mDiffAmt);
pstmtInsert.setDouble(5,mDiffAmt);
pstmtInsert.setString(6,adjTranSer);
pstmtInsert.setString(7,adjRefNo);
pstmtInsert.setString(8,mTranId);
pstmtInsert.addBatch();
pstmtInsert.clearParameters();
// 09-01-02 End Arif
mChkRec++;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
pstmtInsert.executeBatch();
pstmtInsert.clearParameters(); pstmtInsert.clearParameters();
// 09-01-02 End Arif //pstmtInsert.close();
mChkRec++; mTotAmt = 0;
mAdjAmt = 0;
mDiffAmt = 0;
} }
rs.close();
rs = null;
pstmt.close();
pstmt = null;
pstmtInsert.executeBatch();
pstmtInsert.clearParameters();
//pstmtInsert.close();
mTotAmt = 0;
mAdjAmt = 0;
mDiffAmt = 0;
}
// end 24/01/14 manoharan // end 24/01/14 manoharan
// 04-09-2005 manoharan // 04-09-2005 manoharan
// reverted on 15-09-2005 as per sun requirement // reverted on 15-09-2005 as per sun requirement
//if ab_drcr = TRUE then //Commented by jasmina-19/01/10-DI89SUN228 //if ab_drcr = TRUE then //Commented by jasmina-19/01/10-DI89SUN228
String[] arrStr; String[] arrStr;
if (adjDrCr || (adjNewProdInv && ("Y".equals(adjustNewProduct) && ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0) )) //Added by jasmina-19/01/10-DI89SUN228 if (adjDrCr || (adjNewProdInv && ("Y".equals(adjustNewProduct) && ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0) )) //Added by jasmina-19/01/10-DI89SUN228
{
//if (adjDrCr or adjustNewProduct = 'Y' then
// 03-08-2005 manoharan dynamic cursor used to have multiple
// order/transaction types specified in disparm for new product/ financial charges
//declare c_recv cursor for
//select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables
// where (tran_ser = 'DRNRCP' or tran_ser = 'MDRCRD')
// and ( ((ref_type = 'FC' or ref_type = :ordTypeNewPrd )
// and ( (:mrefdate - ref_date ) >= :ll_ignore_dr_days )) OR (ref_type <> 'FC' and ref_type <> :ordTypeNewPrd) )
// and (tot_amt - adj_amt) > 0
// and site_code = :as_site_code
// and item_ser = :as_item_ser
// and cust_code = :as_cust_code
// and (case when fin_scheme is null then ' ' else fin_scheme end ) = :ls_finscheme
//order by tran_id;
//open c_recv;
//if (get_sqlcode() < 0 then
// merrcode = 'DS000' + string(sqlca.sqldbcode)
// return merrcode
//end if
//
//String[] arrStr;
if (adjDrCr && adjNewProdInv) //if (condition Added by jasmina-19/01/10-DI89SUN228
{ {
System.out.println("4@@@@@@@@ ");
//old logic kept in this Condition
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
{
arrStr = tranTypeFinChrgDrn.split(","); //if (adjDrCr or adjustNewProduct = 'Y' then
tranTypeFinChrgDrn =""; // 03-08-2005 manoharan dynamic cursor used to have multiple
for (int i = 0; i < frtDrnArr.length; i++) // order/transaction types specified in disparm for new product/ financial charges
{ //declare c_recv cursor for
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',"; //select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables
} // where (tran_ser = 'DRNRCP' or tran_ser = 'MDRCRD')
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1); // and ( ((ref_type = 'FC' or ref_type = :ordTypeNewPrd )
// and ( (:mrefdate - ref_date ) >= :ll_ignore_dr_days )) OR (ref_type <> 'FC' and ref_type <> :ordTypeNewPrd) )
// and (tot_amt - adj_amt) > 0
// and site_code = :as_site_code
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP') " ; // and item_ser = :as_item_ser
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn // and cust_code = :as_cust_code
{ // and (case when fin_scheme is null then ' ' else fin_scheme end ) = :ls_finscheme
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) " ; //order by tran_id;
} //open c_recv;
else //if (get_sqlcode() < 0 then
{ // merrcode = 'DS000' + string(sqlca.sqldbcode)
sqlStr = sqlStr + " ) "; // return merrcode
} //end if
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) " ; //
}
else //String[] arrStr;
{ if (adjDrCr && adjNewProdInv) //if (condition Added by jasmina-19/01/10-DI89SUN228
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' ) ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
}
// if (len(trim(drnNotIn)) > 0 then // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
// sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) "
// }
// 04-09-2005 manoharan
//if ((not isnull(ordTypeNewPrd)) and (len(trim(ordTypeNewPrd)) > 0) then
if (ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct))
{
arrStr = ordTypeNewPrd.split(",");
ordTypeNewPrd ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',";
}
ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1);
// end 04-09-2005 manoharan
sqlStr = sqlStr + " or ( tran_ser = 'S-INV' " +
" and ref_type in (" + ordTypeNewPrd + ") " +
" and ? - due_date >= " + llIgnoreDrDays + " ) ";
}
else
{ {
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0 && drnNotIn.trim().length() > 0 ) System.out.println("4@@@@@@@@ ");
//old logic kept in this Condition
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
{ {
// NOTHING
arrStr = tranTypeFinChrgDrn.split(",");
tranTypeFinChrgDrn ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',";
}
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP') " ;
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) " ;
}
else
{
sqlStr = sqlStr + " ) ";
}
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) " ;
} }
else else
{ {
//sqlStr = sqlStr + " ) "; sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' ) ";
if (drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
} }
} // if (len(trim(drnNotIn)) > 0 then // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
sqlStr = sqlStr + " and tot_amt - adj_amt > 0 " // sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) "
+ " and site_code = '" + siteCode + "' " // }
+ " and item_ser = '" + itemSer + "' " // 04-09-2005 manoharan
+ " and cust_code = '" + custCode + "' " //if ((not isnull(ordTypeNewPrd)) and (len(trim(ordTypeNewPrd)) > 0) then
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' " if (ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct))
+ " order by tran_id ";
}
else if (adjDrCr && !adjNewProdInv) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228
{
System.out.println("5@@@@@@@@ tranTypeFinChrgDrn["+tranTypeFinChrgDrn+"]");
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
{
arrStr = tranTypeFinChrgDrn.split(",");
tranTypeFinChrgDrn ="";
for (int i = 0; i < frtDrnArr.length; i++)
{ {
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',"; arrStr = ordTypeNewPrd.split(",");
ordTypeNewPrd ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',";
}
ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1);
// end 04-09-2005 manoharan
sqlStr = sqlStr + " or ( tran_ser = 'S-INV' " +
" and ref_type in (" + ordTypeNewPrd + ") " +
" and ? - due_date >= " + llIgnoreDrDays + " ) ";
} }
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' )";
if ( drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else else
{ {
sqlStr = sqlStr + " ) "; if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0 && drnNotIn.trim().length() > 0 )
{
// NOTHING
}
else
{
//sqlStr = sqlStr + " ) ";
}
} }
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) "; sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id ";
} }
else else if (adjDrCr && !adjNewProdInv) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228
{ {
sqlStr = sqlStr + " where ( (tran_ser = 'DRNRCP' ) "; System.out.println("5@@@@@@@@ tranTypeFinChrgDrn["+tranTypeFinChrgDrn+"]");
if ( drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables ";
if (tranTypeFinChrgDrn != null && tranTypeFinChrgDrn.trim().length() > 0)
{ {
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) "; arrStr = tranTypeFinChrgDrn.split(",");
tranTypeFinChrgDrn ="";
for (int i = 0; i < frtDrnArr.length; i++)
{
tranTypeFinChrgDrn = tranTypeFinChrgDrn+"'"+frtDrnArr[i]+"',";
}
tranTypeFinChrgDrn = tranTypeFinChrgDrn.substring(0,tranTypeFinChrgDrn.length()-1);
sqlStr = sqlStr + " where ( ( (tran_ser = 'DRNRCP' )";
if ( drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
sqlStr = sqlStr + " and ref_type not in (" + tranTypeFinChrgDrn + ") ) ";
} }
else else
{ {
sqlStr = sqlStr + " ) "; sqlStr = sqlStr + " where ( (tran_ser = 'DRNRCP' ) ";
if ( drnNotIn.trim().length() > 0 ) // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
{
sqlStr = sqlStr + " or ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) ) ";
}
else
{
sqlStr = sqlStr + " ) ";
}
} }
} //if (len(trim(drnNotIn)) > 0 then // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn
//if (len(trim(drnNotIn)) > 0 then // 24/01/14 manoharan to FI3JSUN007 do not consider ther freight drn //sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) "
//sqlStr = sqlStr + " and ( tran_ser = 'MDRCRD' and ref_no not in ( " + drnNotIn + ") ) " //}
//} sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
sqlStr = sqlStr + " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' " + " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' " + " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' " + " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' " + " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id "; + " order by tran_id ";
} }
else if (!adjDrCr && adjNewProdInv) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228 else if (!adjDrCr && adjNewProdInv) //Else if (Condtion Added by jasmina 22/01/10-DI89SUN228
{
System.out.println("6@@@@@@@@ ");
if ((ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0) && "Y".equals(adjustNewProduct))
{ {
arrStr = ordTypeNewPrd.split(","); System.out.println("6@@@@@@@@ ");
ordTypeNewPrd =""; if ((ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0) && "Y".equals(adjustNewProduct))
for (int i = 0; i < frtDrnArr.length; i++)
{ {
ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',"; arrStr = ordTypeNewPrd.split(",");
} ordTypeNewPrd ="";
ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1); for (int i = 0; i < frtDrnArr.length; i++)
{
ordTypeNewPrd = ordTypeNewPrd+"'"+frtDrnArr[i]+"',";
}
ordTypeNewPrd = ordTypeNewPrd.substring(0,ordTypeNewPrd.length()-1);
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables " sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where tran_ser = 'S-INV' " + " where tran_ser = 'S-INV' "
+ " and ref_type in (" + ordTypeNewPrd + ") " + " and ref_type in (" + ordTypeNewPrd + ") "
+ " and ? - due_date >= " + llIgnoreDrDays + " " + " and ? - due_date >= " + llIgnoreDrDays + " "
+ " and tot_amt - adj_amt > 0 " + " and tot_amt - adj_amt > 0 "
+ " and site_code = '" + siteCode + "' " + " and site_code = '" + siteCode + "' "
+ " and item_ser = '" + itemSer + "' " + " and item_ser = '" + itemSer + "' "
+ " and cust_code = '" + custCode + "' " + " and cust_code = '" + custCode + "' "
+ " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' " + " and case when fin_scheme is null then ' ' else fin_scheme end = '" + finScheme +"' "
+ " order by tran_id "; + " order by tran_id ";
}
}
pstmt = conn.prepareStatement(sqlStr);
if (adjNewProdInv && ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct)) //Added by jasmina 22/01/10-DI89SUN228
{
pstmt.setTimestamp(1,mRefDate);
} }
}
pstmt = conn.prepareStatement(sqlStr);
if (adjNewProdInv && ordTypeNewPrd != null && ordTypeNewPrd.trim().length() > 0 && "Y".equals(adjustNewProduct)) //Added by jasmina 22/01/10-DI89SUN228
{
pstmt.setTimestamp(1,mRefDate);
}
rs = pstmt.executeQuery();
while(rs.next())
{
// end 03-08-2005 manoharan dynamic cursor used to have multiple
// order/transaction types specified in disparm for new product/ financial charges
mTranId = rs.getString("tran_id"); rs = pstmt.executeQuery();
mTranSer = rs.getString("tran_ser"); while(rs.next())
mRefNo = rs.getString("ref_no"); {
mTotAmt = rs.getDouble("tot_amt"); // end 03-08-2005 manoharan dynamic cursor used to have multiple
mAdjAmt = rs.getDouble("adj_amt"); // order/transaction types specified in disparm for new product/ financial charges
System.out.println("@@@@@@@@771 mDrAmt["+mDrAmt+"]");
mDiffAmt = mTotAmt - mAdjAmt;
mDrAmt = mDrAmt + mDiffAmt;
System.out.println("@@@@@@@@773 mDrAmt["+mDrAmt+"]");
// 09-01-02 Arif (to get the tran id from nvo_keygen
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,mTranSer);
pstmtInsert.setString(3,mRefNo);
pstmtInsert.setDouble(4,mDiffAmt);
pstmtInsert.setDouble(5,mDiffAmt);
pstmtInsert.setString(6,adjTranSer);
pstmtInsert.setString(7,adjRefNo);
pstmtInsert.setString(8,mTranId);
pstmtInsert.addBatch();
pstmtInsert.clearParameters();
// 09-01-02 End Arif mTranId = rs.getString("tran_id");
////////////////////////////////////////////////////////////////// mTranSer = rs.getString("tran_ser");
// 14/03/01 manoharan update of receivables commented mRefNo = rs.getString("ref_no");
// only insert of receivables_adj records will be taken place in mTotAmt = rs.getDouble("tot_amt");
// this function. The related updates will be done when the invoice mAdjAmt = rs.getDouble("adj_amt");
// is confirmed System.out.println("@@@@@@@@771 mDrAmt["+mDrAmt+"]");
//update receivables mDiffAmt = mTotAmt - mAdjAmt;
// set adj_amt = tot_amt, status = 'A' mDrAmt = mDrAmt + mDiffAmt;
// where tran_id = :mTranId; System.out.println("@@@@@@@@773 mDrAmt["+mDrAmt+"]");
//if (get_sqlcode() < 0 then // 09-01-02 Arif (to get the tran id from nvo_keygen
// merrcode = 'DS000' + string(sqlca.sqldbcode) xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
// return merrcode xmlValues = xmlValues + "<Header></Header>";
//elseif (sqlca.sqlnrows <> 1 then xmlValues = xmlValues + "<Detail1>";
// merrcode = 'DS000NR' xmlValues = xmlValues + "<tran_id></tran_id>";
//} ( xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
mChkRec++; xmlValues = xmlValues +"</Detail1></Root>";
} System.out.println("xmlValues :["+xmlValues+"]");
rs.close(); TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
rs = null; nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
pstmt.close(); System.out.println("nextID ["+nextID + "]");
pstmt = null;
pstmtInsert.executeBatch();
pstmtInsert.clearParameters();
//pstmtInsert.close();
mTotAmt = 0;
mAdjAmt = 0;
mDiffAmt = 0;
}
// CRNRCP Processing
//declare c_credit cursor for
//select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables
// where ((tran_ser = 'CRNRCP' or tran_ser = 'MDRCRC' or tran_ser = 'R-ADV' ) and (tot_amt - adj_amt) < 0)
// and site_code = :as_site_code and item_ser = :as_item_ser
// and cust_code = :as_cust_code order by tran_id;
// 04-09-2005 manoharan if (dr/cr adjustment and advance adjustment not selected
// no need to do the following adjustment
// end 04-09-2005 manoharan
if (adjDrCr || adjAdv)
{
if (adjDrCr && adjAdv) // 09-01-02 End Arif
{ pstmtInsert.setString(1,nextID);
tranSeries = "'CRNRCP','MDRCRC', 'R-ADV'"; pstmtInsert.setString(2,mTranSer);
} pstmtInsert.setString(3,mRefNo);
else if (adjDrCr && !adjAdv) pstmtInsert.setDouble(4,mDiffAmt);
{ pstmtInsert.setDouble(5,mDiffAmt);
tranSeries = "'CRNRCP', 'MDRCRC'"; pstmtInsert.setString(6,adjTranSer);
pstmtInsert.setString(7,adjRefNo);
pstmtInsert.setString(8,mTranId);
pstmtInsert.addBatch();
pstmtInsert.clearParameters();
// 09-01-02 End Arif
//////////////////////////////////////////////////////////////////
// 14/03/01 manoharan update of receivables commented
// only insert of receivables_adj records will be taken place in
// this function. The related updates will be done when the invoice
// is confirmed
//update receivables
// set adj_amt = tot_amt, status = 'A'
// where tran_id = :mTranId;
//if (get_sqlcode() < 0 then
// merrcode = 'DS000' + string(sqlca.sqldbcode)
// return merrcode
//elseif (sqlca.sqlnrows <> 1 then
// merrcode = 'DS000NR'
//} (
mChkRec++;
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
pstmtInsert.executeBatch();
pstmtInsert.clearParameters();
//pstmtInsert.close();
mTotAmt = 0;
mAdjAmt = 0;
mDiffAmt = 0;
} }
else if (!adjDrCr && adjAdv) // CRNRCP Processing
{ //declare c_credit cursor for
tranSeries = "'R-ADV'"; //select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables
} // where ((tran_ser = 'CRNRCP' or tran_ser = 'MDRCRC' or tran_ser = 'R-ADV' ) and (tot_amt - adj_amt) < 0)
//Amit 21/01/05 'CUST_ADV' // and site_code = :as_site_code and item_ser = :as_item_ser
asjCustAdv = distCommon.getDisparams("999999","CUST_ADVADJ_TYPE",conn); // and cust_code = :as_cust_code order by tran_id;
if ("C".equals(advAdj)) //prince 11/11/05
// 04-09-2005 manoharan if (dr/cr adjustment and advance adjustment not selected
// no need to do the following adjustment
// end 04-09-2005 manoharan
if (adjDrCr || adjAdv)
{ {
if ("I".equals(asjCustAdv))
if (adjDrCr && adjAdv)
{ {
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables " tranSeries = "'CRNRCP','MDRCRC', 'R-ADV'";
+ " where ((tran_ser in (" + tranSeries + ")) and (tot_amt - adj_amt) < 0 and (fin_scheme is null or fin_scheme = ' ')) " }
+ " and (site_code = ? and item_ser = ? and cust_code = ?) order by tran_id "; else if (adjDrCr && !adjAdv)
pstmt = conn.prepareStatement(sqlStr); {
pstmt.setString(1,siteCode); tranSeries = "'CRNRCP', 'MDRCRC'";
pstmt.setString(2,itemSer);
pstmt.setString(3,custCode);
//changes done by Vyankatesh on 24-01-05 for subscription
} }
else if ("S".equals(asjCustAdv)) else if (!adjDrCr && adjAdv)
{ {
sqlStr = "select cust_pord from sorder where sale_order = ?"; tranSeries = "'R-ADV'";
pstmt1 = conn.prepareStatement(sqlStr); }
pstmt1.setString(1,mOrderNo); //Amit 21/01/05 'CUST_ADV'
rs1 = pstmt1.executeQuery(); asjCustAdv = distCommon.getDisparams("999999","CUST_ADVADJ_TYPE",conn);
if (rs1.next()) if ("C".equals(advAdj)) //prince 11/11/05
{
if ("I".equals(asjCustAdv))
{ {
subsNo = rs1.getString("cust_pord"); sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where ((tran_ser in (" + tranSeries + ")) and (tot_amt - adj_amt) < 0 and (fin_scheme is null or fin_scheme = ' ')) "
+ " and (site_code = ? and item_ser = ? and cust_code = ?) order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,siteCode);
pstmt.setString(2,itemSer);
pstmt.setString(3,custCode);
//changes done by Vyankatesh on 24-01-05 for subscription
} }
rs1.close(); else if ("S".equals(asjCustAdv))
rs1 = null;
pstmt1.close();
pstmt1 = null;
sqlStr = "select rcp_no, site_code__rec,site_code__dlv "
+ " from subscrip_rcp a,subscrip_rcpdet b "
+ " where a.tran_id = b.tran_id and b.subs_no = ?";
pstmt1 = conn.prepareStatement(sqlStr);
pstmt1.setString(1,subsNo);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{ {
rcpNo = rs1.getString("cust_pord"); sqlStr = "select cust_pord from sorder where sale_order = ?";
siteCodeRcp = rs1.getString("cust_pord"); pstmt1 = conn.prepareStatement(sqlStr);
siteCodeDlv = rs1.getString("cust_pord"); pstmt1.setString(1,mOrderNo);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
subsNo = rs1.getString("cust_pord");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
sqlStr = "select rcp_no, site_code__rec,site_code__dlv "
+ " from subscrip_rcp a,subscrip_rcpdet b "
+ " where a.tran_id = b.tran_id and b.subs_no = ?";
pstmt1 = conn.prepareStatement(sqlStr);
pstmt1.setString(1,subsNo);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
rcpNo = rs1.getString("cust_pord");
siteCodeRcp = rs1.getString("cust_pord");
siteCodeDlv = rs1.getString("cust_pord");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if (!siteCodeRcp.trim().equals(siteCodeDlv.trim()))
{
tranSeries ="'R-IBCA'";
}
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where ((tran_ser in (" +tranSeries + ")) and (tot_amt - adj_amt) < 0 and (fin_scheme is null or fin_scheme = ' ')) "
+ " and (site_code = ? and ref_no = ? and cust_code = ?) order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,siteCode);
pstmt.setString(2,rcpNo);
pstmt.setString(3,custCode);
//changes end by Vyankatesh on 24-01-05 for subscription
} }
rs1.close(); else
rs1 = null;
pstmt1.close();
pstmt1 = null;
if (!siteCodeRcp.trim().equals(siteCodeDlv.trim()))
{ {
tranSeries ="'R-IBCA'"; sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where ((tran_ser in (" +tranSeries + ")) and (tot_amt - adj_amt) < 0 and (fin_scheme is null or fin_scheme = ' ')) "
+ " and ((site_code = ? and item_ser = ? and cust_code = ?) "
+ " OR ( site_code = ? and cust_code = ?)) order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,siteCode);
pstmt.setString(2,itemSer);
pstmt.setString(3,custCode);
pstmt.setString(4,siteCode);
pstmt.setString(5,custCode);
} }
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where ((tran_ser in (" +tranSeries + ")) and (tot_amt - adj_amt) < 0 and (fin_scheme is null or fin_scheme = ' ')) "
+ " and (site_code = ? and ref_no = ? and cust_code = ?) order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,siteCode);
pstmt.setString(2,rcpNo);
pstmt.setString(3,custCode);
//changes end by Vyankatesh on 24-01-05 for subscription
} }
else else
{ {
//adjust advance thorugh sale order wise prince 10/11/05
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables " sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables "
+ " where ((tran_ser in (" +tranSeries + ")) and (tot_amt - adj_amt) < 0 and (fin_scheme is null or fin_scheme = ' ')) " + " where ((tran_ser in (" +tranSeries + ")) and (tot_amt - adj_amt) < 0 ) "
+ " and ((site_code = ? and item_ser = ? and cust_code = ?) " + " and ((site_code = ? and item_ser = ? and cust_code = ?) "
+ " OR ( site_code = ? and cust_code = ?)) order by tran_id "; + " OR ( site_code = ? and cust_code = ?)) "
+ " and ( sale_order = ?) order by tran_id ";
pstmt = conn.prepareStatement(sqlStr); pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,siteCode); pstmt.setString(1,siteCode);
pstmt.setString(2,itemSer); pstmt.setString(2,itemSer);
pstmt.setString(3,custCode); pstmt.setString(3,custCode);
pstmt.setString(4,siteCode); pstmt.setString(4,siteCode);
pstmt.setString(5,custCode); pstmt.setString(5,custCode);
pstmt.setString(6,mOrderNo);
} }
} //PREPARE SQLSA FROM :sqlStr ;
else //OPEN DYNAMIC c_credit using :siteCode, :itemSer, :custCode, :siteCode, :custCode ;
{ //end Amit 21/01/05 'CUST_ADV'
//adjust advance thorugh sale order wise prince 10/11/05
sqlStr = "select tran_id, tran_ser, ref_no, tot_amt, adj_amt from receivables " rs = pstmt.executeQuery();
+ " where ((tran_ser in (" +tranSeries + ")) and (tot_amt - adj_amt) < 0 ) " while(rs.next())
+ " and ((site_code = ? and item_ser = ? and cust_code = ?) "
+ " OR ( site_code = ? and cust_code = ?)) "
+ " and ( sale_order = ?) order by tran_id ";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1,siteCode);
pstmt.setString(2,itemSer);
pstmt.setString(3,custCode);
pstmt.setString(4,siteCode);
pstmt.setString(5,custCode);
pstmt.setString(6,mOrderNo);
}
//PREPARE SQLSA FROM :sqlStr ;
//OPEN DYNAMIC c_credit using :siteCode, :itemSer, :custCode, :siteCode, :custCode ;
//end Amit 21/01/05 'CUST_ADV'
rs = pstmt.executeQuery();
while(rs.next())
{
mTranId = rs.getString("tran_id");
mTranSer = rs.getString("tran_ser");
mRefNo = rs.getString("ref_no");
mTotAmt = rs.getDouble("tot_amt");
mAdjAmt = rs.getDouble("adj_amt");
System.out.println("@@@@ mDrAmt["+mDrAmt+"]mTranId["+mTranId+"]mTranSer["+mTranSer+"]mRefNo["+mRefNo+"]mTotAmt["+mTotAmt+"]mAdjAmt["+mAdjAmt+"]");
if (mDrAmt == 0)
{
break;
}
mDiffAmt = mTotAmt - mAdjAmt;
if (mDrAmt >= Math.abs(mDiffAmt))
{
mDrAmt = mDrAmt - Math.abs(mDiffAmt);
mAdjAmt = mDiffAmt;
status = "A";
}
else
{ {
mAdjAmt = (mDrAmt * -1);
mDrAmt = 0; mTranId = rs.getString("tran_id");
status = "P"; mTranSer = rs.getString("tran_ser");
mRefNo = rs.getString("ref_no");
mTotAmt = rs.getDouble("tot_amt");
mAdjAmt = rs.getDouble("adj_amt");
System.out.println("@@@@ mDrAmt["+mDrAmt+"]mTranId["+mTranId+"]mTranSer["+mTranSer+"]mRefNo["+mRefNo+"]mTotAmt["+mTotAmt+"]mAdjAmt["+mAdjAmt+"]");
if (mDrAmt == 0)
{
break;
}
mDiffAmt = mTotAmt - mAdjAmt;
if (mDrAmt >= Math.abs(mDiffAmt))
{
mDrAmt = mDrAmt - Math.abs(mDiffAmt);
mAdjAmt = mDiffAmt;
status = "A";
}
else
{
mAdjAmt = (mDrAmt * -1);
mDrAmt = 0;
status = "P";
}
// 09-01-02 Arif (to get the tran id from nvo_keygen
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
if(pstmtInsert != null)
{
pstmtInsert.close();
pstmtInsert = null;
}
sqlStr1 = "insert into receivables_adj "
+ " (tran_id, ref_ser, ref_no, tot_amt, adj_amt, net_amt,ref_ser_adj,ref_no_adj, tran_id__rcv) "
+ " values (?, ?, ?, ?, ?, ?, ?, ? ,?) ";
pstmtInsert = conn.prepareStatement(sqlStr1);
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,mTranSer);
pstmtInsert.setString(3,mRefNo);
pstmtInsert.setDouble(4,mDiffAmt);
pstmtInsert.setDouble(5,mAdjAmt);
pstmtInsert.setDouble(6,(mDiffAmt - mAdjAmt));
pstmtInsert.setString(7,adjTranSer);
pstmtInsert.setString(8,adjRefNo);
pstmtInsert.setString(9,mTranId);
pstmtInsert.executeUpdate();
pstmtInsert.close();
pstmtInsert = null;
mChkRec++;
} }
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//pstmtInsert.executeBatch();
//pstmtInsert.close();
}
System.out.println("@@@@@@ mChkRec["+mChkRec+"]");
//**************************
if (mChkRec > 0 )
{
// 09-01-02 Arif (to get the tran id from nvo_keygen // 09-01-02 Arif (to get the tran id from nvo_keygen
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>"; xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>"; xmlValues = xmlValues + "<Header></Header>";
...@@ -985,87 +1034,42 @@ System.out.println("@@@@@@@@335 adjDrCr["+adjDrCr+"]adjNewProdInv["+adjNewProdIn ...@@ -985,87 +1034,42 @@ System.out.println("@@@@@@@@335 adjDrCr["+adjDrCr+"]adjNewProdInv["+adjNewProdIn
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn); nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]"); System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif // 09-01-02 End Arif
sqlStr1 = "insert into receivables_adj " sqlStr1 = "INSERT INTO receivables_adj "
+ " (tran_id, ref_ser, ref_no, tot_amt, adj_amt, net_amt,ref_ser_adj,ref_no_adj, tran_id__rcv) " + " (tran_id, ref_ser, ref_no, tot_amt, "
+ " values (?, ?, ?, ?, ?, ?, ?, ? ,?) "; + " adj_amt, ref_ser_adj, ref_no_adj, "
pstmtInsert.close(); + " net_amt, tran_id__rcv ) "
+ " values (?, ?, ?, ?, ?, ' ', ' ', ?, ' ') ";
pstmtInsert = conn.prepareStatement(sqlStr1); pstmtInsert = conn.prepareStatement(sqlStr1);
pstmtInsert.setString(1,nextID); pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,mTranSer); pstmtInsert.setString(2,adjTranSer);
pstmtInsert.setString(3,mRefNo); pstmtInsert.setString(3,adjRefNo);
pstmtInsert.setDouble(4,mDiffAmt); pstmtInsert.setDouble(4,netAmt);
pstmtInsert.setDouble(5,mAdjAmt); pstmtInsert.setDouble(5,((mDrAmt - netAmt) * -1));
pstmtInsert.setDouble(6,(mDiffAmt - mAdjAmt)); pstmtInsert.setDouble(6,(netAmt - (mDrAmt - netAmt) * -1));
pstmtInsert.setString(7,adjTranSer);
pstmtInsert.setString(8,adjRefNo);
pstmtInsert.setString(9,mTranId);
pstmtInsert.executeUpdate(); pstmtInsert.executeUpdate();
pstmtInsert.close(); pstmtInsert.close();
pstmtInsert = null; //ended by prince
sqlStr = "update invoice "
mChkRec++; + " set adj_amount = ? "
+ " where invoice_id = ? ";
pstmtInsert = conn.prepareStatement(sqlStr);
pstmtInsert.setDouble(1,(mDrAmt - netAmt) * -1);
pstmtInsert.setString(2,invoiceId);
pstmtInsert.executeUpdate();
} }
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//pstmtInsert.executeBatch();
//pstmtInsert.close();
} }
System.out.println("@@@@@@ mChkRec["+mChkRec+"]"); catch( Exception e)
//**************************
if (mChkRec > 0 )
{ {
// 09-01-02 Arif (to get the tran id from nvo_keygen e.printStackTrace();
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>"; throw new ITMException(e);
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + siteCode + "</site_code>";
xmlValues = xmlValues +"</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
nextID = tg.generateTranSeqID("R-ADJ", "tran_id", keystr, conn);
System.out.println("nextID ["+nextID + "]");
// 09-01-02 End Arif
sqlStr1 = "INSERT INTO receivables_adj "
+ " (tran_id, ref_ser, ref_no, tot_amt, "
+ " adj_amt, ref_ser_adj, ref_no_adj, "
+ " net_amt, tran_id__rcv ) "
+ " values (?, ?, ?, ?, ?, ' ', ' ', ?, ' ') ";
pstmtInsert = conn.prepareStatement(sqlStr1);
pstmtInsert.setString(1,nextID);
pstmtInsert.setString(2,adjTranSer);
pstmtInsert.setString(3,adjRefNo);
pstmtInsert.setDouble(4,netAmt);
pstmtInsert.setDouble(5,((mDrAmt - netAmt) * -1));
pstmtInsert.setDouble(6,(netAmt - (mDrAmt - netAmt)));
pstmtInsert.executeUpdate();
pstmtInsert.close();
//ended by prince
sqlStr = "update invoice "
+ " set adj_amount = ? "
+ " where invoice_id = ? ";
pstmtInsert = conn.prepareStatement(sqlStr);
pstmtInsert.setDouble(1,(mDrAmt - netAmt) * -1);
pstmtInsert.setString(2,invoiceId);
pstmtInsert.executeUpdate();
} }
finally
{
}
catch( Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try try
{ {
...@@ -1103,7 +1107,7 @@ System.out.println("@@@@@@@@335 adjDrCr["+adjDrCr+"]adjNewProdInv["+adjNewProdIn ...@@ -1103,7 +1107,7 @@ System.out.println("@@@@@@@@335 adjDrCr["+adjDrCr+"]adjNewProdInv["+adjNewProdIn
throw new ITMException(e); throw new ITMException(e);
} }
}
return errString;
} }
return errString;
}
} }
\ 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