Commit f1373ad2 authored by pgole's avatar pgole

Updated ejb component for debit note generation if net_amt< 0


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@104237 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 7cb1fabe
...@@ -89,6 +89,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo ...@@ -89,6 +89,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
String custCode = ""; String custCode = "";
String empCode = ""; String empCode = "";
String confirmed = ""; String confirmed = "";
double netAmt = 0; //Added for debit note creation
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode"); userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
loginSite = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginSiteCode"); loginSite = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginSiteCode");
empCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginEmpCode"); empCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginEmpCode");
...@@ -115,21 +116,24 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo ...@@ -115,21 +116,24 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
System.out.println(">>>>CommonConstants.DB_NAME:"+ CommonConstants.DB_NAME); System.out.println(">>>>CommonConstants.DB_NAME:"+ CommonConstants.DB_NAME);
if("db2".equalsIgnoreCase(CommonConstants.DB_NAME)) // conditions is added by sagar on 13/07/15 if("db2".equalsIgnoreCase(CommonConstants.DB_NAME)) // conditions is added by sagar on 13/07/15
{ {
sql = " select tran_id, tran_date, site_code, cust_code, confirmed " sql = " select tran_id, tran_date, site_code, cust_code, confirmed,net_amt "
+ " from charge_back where tran_id = ? for update "; + " from charge_back where tran_id = ? for update ";
} }
else if("mssql".equalsIgnoreCase(CommonConstants.DB_NAME)) else if("mssql".equalsIgnoreCase(CommonConstants.DB_NAME))
{ {
sql = " select tran_id, tran_date, site_code, cust_code, confirmed " sql = " select tran_id, tran_date, site_code, cust_code, confirmed,net_amt "
+ " from charge_back (updlock) where tran_id = ? "; + " from charge_back (updlock) where tran_id = ? ";
} }
else else
{ {
System.out.println(">>>Oracle:"); System.out.println(">>>Oracle:");
sql = " select tran_id, tran_date, site_code, cust_code, confirmed " /*sql = " select tran_id, tran_date, site_code, cust_code, confirmed "
+ " from charge_back where tran_id = ? for update nowait "; + " from charge_back where tran_id = ? for update nowait ";*/
sql = " select tran_id, tran_date, site_code, cust_code, confirmed,net_amt "
+ " from charge_back where tran_id = ? for update nowait ";
} }
System.out.println(">>>>ChrgBckLocConf sql:"+ sql); System.out.println(">>>>ChrgBckLocConf sql:"+ sql);
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
...@@ -141,6 +145,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo ...@@ -141,6 +145,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
siteCode = rs.getString("site_code"); siteCode = rs.getString("site_code");
custCode = rs.getString("cust_code"); custCode = rs.getString("cust_code");
confirmed = rs.getString("confirmed"); confirmed = rs.getString("confirmed");
netAmt = rs.getDouble("net_amt"); //ADDED FOR AMOUNT COMPARISION FOR CREATION OF CR OR DR NOTE
} }
rs.close(); rs.close();
rs = null; rs = null;
...@@ -183,7 +188,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo ...@@ -183,7 +188,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
Calendar currentDate = Calendar.getInstance(); Calendar currentDate = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat()); SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
String sysDateStr = sdf.format(currentDate.getTime()); String sysDateStr = sdf.format(currentDate.getTime());
System.out.println(">>>>>>>Now sysDateStr :=> " + sysDateStr); System.out.println(">>>>>>>Now sysDateStr :=> " + sysDateStr +"netAmt>>>"+netAmt);
sysDate= Timestamp.valueOf(genericUtility.getValidDateString(sysDateStr, genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0"); sysDate= Timestamp.valueOf(genericUtility.getValidDateString(sysDateStr, genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println(">>>>>>>>sysDate:"+sysDate); System.out.println(">>>>>>>>sysDate:"+sysDate);
...@@ -214,7 +219,16 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo ...@@ -214,7 +219,16 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
// end 02/07/13 manoharan time value to be removed // end 02/07/13 manoharan time value to be removed
if( chkupdt > 0) // condition is added by sagar on 13/07/15 if( chkupdt > 0) // condition is added by sagar on 13/07/15
{ {
returnString = createMiscCrnoteCback(currDate, "", siteCode, tranID, tranID, tranDate, tranDate, custCode, custCode, "Y", xtraParams, conn );
if(netAmt > 0)
{
returnString = createMiscCrnoteCback(currDate, "", siteCode, tranID, tranID, tranDate, tranDate, custCode, custCode, "Y", xtraParams, conn );
}
else // Added for Debit note generation if amt < 0: Start
{
returnString = createMiscDrnoteCback(currDate, "", siteCode, tranID, tranID, tranDate, tranDate, custCode, custCode, "Y", xtraParams, conn );
}
// Added for Debit note generation if amt < 0 :End
if( returnString .equals("VTSUCC1") ) if( returnString .equals("VTSUCC1") )
{ {
conFlag = true; conFlag = true;
...@@ -282,12 +296,13 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo ...@@ -282,12 +296,13 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
} }
private String createMiscCrnoteCback(Timestamp currDate, String str, String siteCode, String tranIdFr, String tranIdTo, Timestamp tranDateFr, Timestamp tranDateTo, String custCodeFr, String custCodeTo, String confirm, String xtraParams, Connection conn ) throws RemoteException,ITMException private String createMiscCrnoteCback(Timestamp currDate, String str, String siteCode, String tranIdFr, String tranIdTo, Timestamp tranDateFr, Timestamp tranDateTo, String custCodeFr, String custCodeTo, String confirm, String xtraParams, Connection conn ) throws RemoteException,ITMException
{ {
System.out.println("Inside createMiscCrnoteCback................");
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
PreparedStatement pstmt1 = null; PreparedStatement pstmt1 = null;
PreparedStatement pstmtHdr = null; PreparedStatement pstmtHdr = null;
PreparedStatement pstmtDtl = null; PreparedStatement pstmtDtl = null;
ResultSet rs = null; ResultSet rs = null;
Statement stmt = null; //Statement stmt = null;
ResultSet rSet = null; ResultSet rSet = null;
String sql = null; String sql = null;
String custCodeCr = ""; String custCodeCr = "";
...@@ -515,6 +530,8 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo ...@@ -515,6 +530,8 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
pstmt1 = null; pstmt1 = null;
roundAmt = disComm.getRndamt( drcrAmt, round, roundTo ); roundAmt = disComm.getRndamt( drcrAmt, round, roundTo );
System.out.println("drcrAmt in CREDIT note["+drcrAmt+"]roundAmt["+roundAmt);
diffAmt = roundAmt - drcrAmt; diffAmt = roundAmt - drcrAmt;
//pstmtHdr.setDouble( 11, drcrAmt ); //pstmtHdr.setDouble( 11, drcrAmt );
...@@ -673,6 +690,8 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo ...@@ -673,6 +690,8 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
roundAmt = disComm.getRndamt( drcrAmt, round, roundTo ); roundAmt = disComm.getRndamt( drcrAmt, round, roundTo );
diffAmt = roundAmt - drcrAmt;*/ diffAmt = roundAmt - drcrAmt;*/
System.out.println("diffAmt IN CR["+diffAmt+"]");
if( diffAmt != 0 ) if( diffAmt != 0 )
{ {
//1. update header //1. update header
...@@ -999,4 +1018,510 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo ...@@ -999,4 +1018,510 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
} }
return retErrCode; return retErrCode;
} }
// Added for Debit note generation if amt < 0: Start
private String createMiscDrnoteCback(Timestamp currDate, String str, String siteCode, String tranIdFr, String tranIdTo, Timestamp tranDateFr, Timestamp tranDateTo, String custCodeFr, String custCodeTo, String confirm, String xtraParams, Connection conn ) throws RemoteException,ITMException
{
System.out.println("Inside createMiscDrnoteCback................");
PreparedStatement pstmt = null;
PreparedStatement pstmt1 = null;
PreparedStatement pstmtHdr = null;
PreparedStatement pstmtDtl = null;
ResultSet rs = null;
Statement stmt = null;
ResultSet rSet = null;
String sql = null;
String custCodeCr = "";
String currCode = "";
String finEntity = "";
String acctCode = "";
String cctrCode = "";
String empCodeAprv = "";
String tranIdSel = "";
String pOrderNo = "";
String siteCodeCr = "";
String itemSer = "";
String remarks = "";
String detAcct = "";
String errCode = "";
String retString = "";
String detCctr = "";
String tranType = "";
String reasonCd = "";
String crNtTranId = "";
String acctCodeTax = "";
String cctrCodeTax = "";
String round = "";
String insDtlsql = "";
String asPost = confirm;
double roundTo = 0.0;
double exchgRate = 0.0;
double netAmt = 0.0;
double claimAmt = 0.0;
double grossAmount = 0.0;
double drcrAmt = 0.0;
double amtTax = 0.0;
double total = 0.0;
double roundAmt = 0.0;
double diffAmt = 0.0;
double discountAmt = 0.0;
int llLineNo = 0;
java.sql.Timestamp tranDate = null;
java.sql.Timestamp pOrderDate = null;
String insHdrSql = "insert into MISC_DRCR_RCP ( "
+" TRAN_ID, TRAN_SER, TRAN_DATE, EFF_DATE, FIN_ENTITY, "
+" SITE_CODE, SUNDRY_TYPE, SUNDRY_CODE, ACCT_CODE, CCTR_CODE, "
+" AMOUNT, CURR_CODE, EXCH_RATE, REMARKS, DRCR_FLAG, "
+" TRAN_ID__RCV, CONFIRMED, CHG_USER, CHG_DATE, CHG_TERM, "
+" CONF_DATE, EMP_CODE__APRV, DUE_DATE, TRAN_TYPE, ITEM_SER, "
+" AMOUNT__BC, SRETURN_NO, ADJ_MISC_CRN, ADJ_AMOUNT, PARENT__TRAN_ID, "
+" REV__TRAN, ROUND_ADJ, "
+" CUST_REF_NO, CUST_REF_DATE, CUST_REF_AMT, RND_OFF, RND_TO ) "
+" values ( "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ?, ?, "
+" ?, ? ) ";
String insertDtl = "insert into MISC_DRCR_RDET( "
+" TRAN_ID, LINE_NO, ACCT_CODE, CCTR_CODE, AMOUNT, "
+" NET_AMT, REF_NO, REAS_CODE, ANAL_CODE"
+" ) values ( "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ? )";
DistCommon disComm = new DistCommon();
try
{
pstmtHdr = conn.prepareStatement( insHdrSql );
pstmtDtl = conn.prepareStatement( insertDtl );
sql = "select a.cust_code__credit, a.curr_code, a.exch_rate, a.emp_code__aprv, a.tran_id, "
+" a.net_amt, a.porder_no, a.porder_date, a.claum_amt, a.site_code__cr, a.item_ser, "
+" a.amount, a.remarks, sum(b.discount_amt) as discAmt "
+" from charge_back a, charge_back_det b "
+" where a.tran_id = b.tran_id "
+" and a.tran_id >= ? "
+" and a.tran_id <= ? "
+" and a.tran_date >= ? "
+" and a.tran_date <= ? "
+" and a.cust_code >= ? "
+" and a.cust_code <= ? "
+" and a.site_code = ? "
// +" and a.confirmed = 'Y' "
+" group by a.cust_code__credit, a.curr_code, a.exch_rate, a.emp_code__aprv, a.tran_id, "
+" a.net_amt, a.porder_no, a.porder_date, a.claum_amt, a.site_code__cr, a.item_ser, "
+" a.amount, a.remarks";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, tranIdFr );
pstmt.setString( 2, tranIdTo );
pstmt.setTimestamp( 3, tranDateFr );
pstmt.setTimestamp( 4, tranDateTo );
pstmt.setString( 5, custCodeFr );
pstmt.setString( 6, custCodeTo );
pstmt.setString( 7, siteCode );
rs = pstmt.executeQuery();
while( rs.next() )
{
custCodeCr = rs.getString("cust_code__credit");
currCode = rs.getString("curr_code");
exchgRate = rs.getDouble("exch_rate");
empCodeAprv = rs.getString("emp_code__aprv");
tranIdSel = rs.getString("tran_id");
netAmt = rs.getDouble("net_amt");
pOrderNo = rs.getString("porder_no");
pOrderDate = rs.getTimestamp("porder_date");
claimAmt = rs.getDouble("claum_amt");
siteCodeCr = rs.getString("site_code__cr");
itemSer = rs.getString("item_ser");
grossAmount = rs.getDouble("amount");
remarks = rs.getString("remarks");
discountAmt = rs.getDouble("discAmt");
//System.out.println("claimAmt==>["+claimAmt+"]");
//System.out.println("netAmt==>["+netAmt+"]");
//System.out.println("grossAmount ie amount==>["+grossAmount+"]");
if( siteCodeCr == null || siteCodeCr.trim().length() == 0 )
{
siteCodeCr = siteCode;
}
sql = "select fin_entity from site where site_code = ?" ;
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, siteCodeCr.trim() );
rSet = pstmt1.executeQuery();
if( rSet.next() )
{
finEntity = rSet.getString( "fin_entity" );
}
rSet.close();
rSet = null;
pstmt1.close();
pstmt1 = null;
sql = "select acct_code__ar, cctr_code__ar from customer where cust_code = ? " ;
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, custCodeCr.trim() );
rSet = pstmt1.executeQuery();
if( rSet.next() )
{
acctCode = rSet.getString( "acct_code__ar" );
cctrCode = rSet.getString( "cctr_code__ar" );
}
rSet.close();
rSet = null;
pstmt1.close();
pstmt1 = null;
// 21/07/10 manoharan make cctr_code blank in case null
if (cctrCode == null)
{
cctrCode = " ";
}
// end 21/07/10
detAcct = disComm.getDisparams( "999999", "DRCR_ACCT_CBACK", conn );
if( detAcct == null || detAcct.equalsIgnoreCase( "NULLFOUND" ) || detAcct.trim().length() == 0 )
{
errCode = "VMDRCRACCT"; //'DS000' + string(sqlca.sqldbcode)
break;
}
detCctr = disComm.getDisparams( "999999", "DRCR_CCTR_CBACK", conn );
if( detCctr == null || detCctr.equalsIgnoreCase( "NULLFOUND" ) || detCctr.trim().length() == 0 )
{
// 21/07/10 manoharan if cctr_code is null then assign as cctr_code__ar (blank included)
//errCode = "VMLSCCTR"; //'DS000' + string(sqlca.sqldbcode)
//break;
detCctr = cctrCode;
// end 21/07/10 manoharan if cctr_code is null then assign as cctr_code__ar (blank included)
}
tranType = disComm.getDisparams( "999999", "CHARGE_BACK_TRAN_TYPE", conn );
if( tranType == null || tranType.equalsIgnoreCase( "NULLFOUND" ) || tranType.trim().length() == 0 )
{
errCode = "VMLSTRTYPE"; //'DS000' + string(sqlca.sqldbcode)
break;
}
reasonCd = disComm.getDisparams( "999999", "CHARGE_BACK_REASON_CODE", conn );
System.out.println( "reasonCd ::" + reasonCd );
if( reasonCd == null || reasonCd.equalsIgnoreCase( "NULLFOUND" ) || reasonCd.trim().length() == 0 )
{
errCode = "VMREASON"; //'DS000' + string(sqlca.sqldbcode)
break;
}
System.out.println("claimAmt::["+claimAmt+"]netAmt:::["+netAmt+"]");
System.out.println("drcrAmt::["+drcrAmt+"]");
if( claimAmt <= 0 )
{
claimAmt = 0;
drcrAmt = netAmt;
}
else
{
drcrAmt = claimAmt < netAmt ? claimAmt : netAmt;
}
//crNtTranId = generateTranId("W_MISC_DRCR_RCP_CR", getCurrdateInAppFormat(), loginSite, userId, tranType );
crNtTranId = generateTranId("W_MISC_DRCR_RCP_CR", getCurrdateInAppFormat(), siteCodeCr, userId, tranType );
//-----------------------Inserting into header-----------------------------------
pstmtHdr.setString( 1, crNtTranId );
pstmtHdr.setString( 2, "MDRCRC" );
pstmtHdr.setTimestamp( 3, currDate );
pstmtHdr.setTimestamp( 4, currDate );
pstmtHdr.setString( 5, finEntity );
pstmtHdr.setString( 6, siteCodeCr);
pstmtHdr.setString( 7, "C" );
pstmtHdr.setString( 8, custCodeCr );
pstmtHdr.setString( 9, acctCode == null ? "" : acctCode );
pstmtHdr.setString( 10, cctrCode == null ? " " : cctrCode );
sql = "select nvl(round,'N') ls_round, nvl(round_to,0.001) lc_round_to from customer where cust_code = ? ";
pstmt1 = conn.prepareStatement( sql );
pstmt1.setString(1, custCodeCr );
rSet = pstmt1.executeQuery();
if( rSet.next() )
{
round = rSet.getString( "ls_round" );
roundTo = rSet.getDouble( "lc_round_to" );
}
rSet.close();
rSet = null;
pstmt1.close();
pstmt1 = null;
roundAmt = disComm.getRndamt( drcrAmt, round, roundTo );
System.out.println("drcrAmt in debit note["+drcrAmt+"]roundAmt["+roundAmt);
if(drcrAmt < 0)
{
drcrAmt = drcrAmt * (-1);
}
System.out.println("drcrAmt IN debit note"+drcrAmt);
diffAmt = roundAmt - drcrAmt;
//pstmtHdr.setDouble( 11, drcrAmt );
pstmtHdr.setDouble( 11, roundAmt );
pstmtHdr.setString( 12, currCode == null || currCode.trim().length() == 0 ? "" : currCode);
pstmtHdr.setDouble( 13, exchgRate );
if( remarks == null || remarks.trim().length() == 0 )
{
String tRemStr = null;
System.out.println("tranIdSel->"+tranIdSel+" pOrderNo->"+pOrderNo+" pOrderDate->"+pOrderDate);
tRemStr = ( "CB " + tranIdSel );
pstmtHdr.setString( 14, tRemStr );
}
else
{
pstmtHdr.setString( 14, remarks.trim() );
}
pstmtHdr.setString( 15, "D" );//Changed by Poonam to created debit note..
pstmtHdr.setString( 16, "" );
pstmtHdr.setString( 17, "N" );
pstmtHdr.setString( 18, userId );
pstmtHdr.setTimestamp( 19, currDate );
pstmtHdr.setString( 20, termId );
pstmtHdr.setNull( 21, java.sql.Types.DATE );
pstmtHdr.setString( 22, empCodeAprv );
pstmtHdr.setTimestamp( 23, currDate );
pstmtHdr.setString( 24, ( tranType == null || tranType.trim().length() == 0 ? "" :tranType.trim() ) );
pstmtHdr.setString( 25, ( itemSer == null || itemSer.trim().length() == 0 ? "" : itemSer.trim() ) );
//pstmtHdr.setDouble( 26, drcrAmt );
pstmtHdr.setDouble( 26, roundAmt * exchgRate);
pstmtHdr.setString( 27, ( tranIdSel == null || tranIdSel.trim().length() == 0 ? "" : tranIdSel.trim() ) );
pstmtHdr.setString( 28, "" ); //ADJ_MISC_CRN
pstmtHdr.setDouble( 29, 0.0 ); //ADJ_AMOUNT
pstmtHdr.setString( 30, "" ); //PARENT__TRAN_ID
pstmtHdr.setString( 31, "" ); //REV__TRAN
pstmtHdr.setDouble( 32, 0.0 ); //ROUND_ADJ
//pstmt.setInt( 33, 0 ); //LINE_NO__SRET
//pstmt.setInt( 34, 0 ); //LINE_NO__SRET
//pstmt.setString( 35, "" ); //LOT_NO
pstmtHdr.setString( 33, "" ); //CUST_REF_NO
pstmtHdr.setNull( 34, java.sql.Types.DATE ); //CUST_REF_DATE
pstmtHdr.setDouble( 35, 0.0 ); //CUST_REF_AMT
pstmtHdr.setDouble( 36, 0.0 ); //RND_OFF
pstmtHdr.setDouble( 37, 0.0 ); //RND_TO
int updtCnt = pstmtHdr.executeUpdate();
//System.out.println("updtCnt==>"+updtCnt);
//-----------------------Inserting into detail-----------------------------------
System.out.println("drcrAmt in debit detail"+drcrAmt);
System.out.println("grossAmount in debit detail"+grossAmount);
llLineNo = 0;
pstmtDtl.setString( 1, crNtTranId );
llLineNo++;
pstmtDtl.setInt( 2, llLineNo );
pstmtDtl.setString( 3, detAcct );
pstmtDtl.setString( 4, detCctr );
if(drcrAmt < 0)
{
drcrAmt = drcrAmt * (-1);
}
if(grossAmount < 0)
{
grossAmount = grossAmount * (-1);
}
System.out.println("drcrAmt in debit detail"+drcrAmt);
System.out.println("grossAmount in debit detail"+grossAmount);
if( claimAmt > 0 && claimAmt < netAmt )
{
pstmtDtl.setDouble( 5, drcrAmt );
pstmtDtl.setDouble( 6, drcrAmt );
}
else
{
pstmtDtl.setDouble( 5, grossAmount );
pstmtDtl.setDouble( 6, grossAmount );
}
pstmtDtl.setString( 7, tranIdSel ); //ref_no
pstmtDtl.setString( 8, ( reasonCd == null || reasonCd.trim().length() == 0 ? "" : reasonCd.trim() ) ); //reas_code
pstmtDtl.setString( 9, "" ); //ANAL_CODE
pstmtDtl.addBatch();
sql = "select acct_code, cctr_code, sum(tax_amt) taxamt "
+" from taxtran "
+" where tran_code = 'S-CHB' and tran_id = ? "
+" and tax_amt <> 0 "
+" and effect <> 'N' "
+" group by acct_code, cctr_code " ;
//
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, tranIdSel);
rSet = pstmt1.executeQuery();
while( rSet.next() )
{
acctCodeTax = rSet.getString( "acct_code" );
cctrCodeTax = rSet.getString( "acct_code" );
amtTax = rSet.getDouble( "taxamt" );
if( acctCodeTax == null || acctCodeTax.trim().length() == 0 )
{
acctCodeTax = detAcct;
}
if( cctrCodeTax == null || cctrCodeTax.trim().length() == 0 )
{
cctrCodeTax = detCctr;
}
total = total + amtTax;
pstmtDtl.setString( 1, crNtTranId );
llLineNo++;
pstmtDtl.setInt( 2, llLineNo );
pstmtDtl.setString( 3, acctCodeTax );
pstmtDtl.setString( 4, cctrCodeTax );
pstmtDtl.setDouble( 5, amtTax);
pstmtDtl.setDouble( 6, 0.0 );
pstmtDtl.setString( 7, "" ); //ref_no
pstmtDtl.setString( 8, "" ); //reas_code
pstmtDtl.setString( 9, "" ); //ANAL_CODE
pstmtDtl.addBatch();
}
rSet.close();
rSet = null;
pstmt1.close();
pstmt1 = null;
pstmtDtl.executeBatch();
pstmtDtl.close();
pstmtDtl = null;
pstmtHdr.close();
pstmtHdr = null;
sql = "update charge_back set "
+" tran_id__crn = ? "
+" where tran_id = ? ";
pstmt1 = conn.prepareStatement( sql );
pstmt1.setString(1, crNtTranId );
pstmt1.setString(2, tranIdSel );
int updCount = 0 ;
updCount = pstmt1.executeUpdate();
if( updCount == 0 )
{
errCode = "DS000NR";
break;
}
pstmt1.close();
pstmt1 = null;
/*sql = "select nvl(round,'N') ls_round, nvl(round_to,0.001) lc_round_to from customer where cust_code = ? ";
pstmt1 = conn.prepareStatement( sql );
pstmt1.setString(1, custCodeCr );
rSet = pstmt1.executeQuery();
if( rSet.next() )
{
round = rSet.getString( "ls_round" );
roundTo = rSet.getDouble( "lc_round_to" );
}
rSet.close();
rSet = null;
pstmt1.close();
pstmt1 = null;
roundAmt = disComm.getRndamt( drcrAmt, round, roundTo );
diffAmt = roundAmt - drcrAmt;*/
System.out.println("diffAmt IN DR["+diffAmt+"]");
if( diffAmt != 0 )
{
//1. update header
//2. insert record in detail
insDtlsql = "insert into MISC_DRCR_RDET( "
+" TRAN_ID, LINE_NO, ACCT_CODE, CCTR_CODE, AMOUNT, "
+" NET_AMT, REF_NO, REAS_CODE, ANAL_CODE, TAX_AMT"
+" ) values ( "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ?, ? )";
pstmt1 = conn.prepareStatement( insDtlsql );
pstmt1.setString( 1, crNtTranId );
llLineNo++;
pstmt1.setInt( 2, llLineNo );
pstmt1.setString( 3, detAcct );
pstmt1.setString( 4, detCctr );
pstmt1.setDouble( 5, -diffAmt);
pstmt1.setDouble( 6, -diffAmt );
pstmt1.setString( 7, "" ); //ref_no
pstmt1.setString( 8, reasonCd.trim() ); //reas_code
pstmt1.setString( 9, "" ); //ANAL_CODE
pstmt1.setDouble( 10, 0 );
pstmt1.executeUpdate();
pstmt1.close();
pstmt1 = null;
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if( "Y".equalsIgnoreCase( asPost ) )
{
conn.commit();
retString = retrieveMiscDrcrRcp( "misc_drcr_rcp",crNtTranId,xtraParams,"N" );
errCode = getErrCodeFromErrStr(retString);
}
}
catch(Exception e)
{
System.out.println("Exception :" + e.getMessage() + ":");
throw new ITMException(e);
}
finally
{
try
{
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(pstmtDtl != null)
{
pstmtDtl.close();
pstmtDtl = null;
}
if(pstmtHdr != null)
{
pstmtHdr.close();
pstmtHdr = null;
}
}
catch(Exception e)
{
System.out.println("Exception ChrgBckLocConfEJB....... :\n"+e.getMessage());
}
}
return errCode;
}
// Added for Debit note generation if amt < 0: Start
} }
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