Commit 4a6dfd0b authored by pgole's avatar pgole

Updated ejb component for tax calculations


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@104314 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 04881722
......@@ -6,6 +6,7 @@ import org.w3c.dom.*;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.*;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.system.config.*;
import java.rmi.RemoteException;
......@@ -40,6 +41,8 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
String userId ="";
String termId = "";
String loginSite = "";
FinCommon finCommon = new FinCommon();
/* public void ejbCreate() throws RemoteException, CreateException
{
System.out.println("Create Method Called....");
......@@ -294,7 +297,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
System.out.println("retString ::"+returnString);
return returnString;
}
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;
......@@ -674,7 +677,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
pstmt1.close();
pstmt1 = null;
/*sql = "select nvl(round,'N') ls_round, nvl(round_to,0.001) lc_round_to from customer where cust_code = ? ";
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();
......@@ -689,7 +692,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
pstmt1 = null;
roundAmt = disComm.getRndamt( drcrAmt, round, roundTo );
diffAmt = roundAmt - drcrAmt;*/
diffAmt = roundAmt - drcrAmt;
System.out.println("diffAmt IN CR["+diffAmt+"]");
if( diffAmt != 0 )
......@@ -766,7 +769,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
}
}
return errCode;
}
}*/
public String retrieveMiscDrcrRcp(String businessObj, String tranIdFr,String xtraParams, String forcedFlag) throws ITMException
{
String methodName = "";
......@@ -1019,9 +1022,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
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
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 createMiscDrnoteCback................");
PreparedStatement pstmt = null;
......@@ -1069,7 +1070,17 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
int llLineNo = 0;
java.sql.Timestamp tranDate = null;
java.sql.Timestamp pOrderDate = null;
String insHdrSql = "insert into MISC_DRCR_RCP ( "
StringBuffer xmlBuff = null;
StringBuffer xmlBuffDet = null;
String xmlString="",errString = "",taxClass = "",taxEnv = "",taxChap = "",analCode = "" ;
Document dom = null ;
ArrayList diffAmtList = 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, "
......@@ -1093,17 +1104,47 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
+" NET_AMT, REF_NO, REAS_CODE, ANAL_CODE"
+" ) values ( "
+" ?, ?, ?, ?, ?, "
+" ?, ?, ?, ? )";
+" ?, ?, ?, ? )";*/
DistCommon disComm = new DistCommon();
try
{
pstmtHdr = conn.prepareStatement( insHdrSql );
pstmtDtl = conn.prepareStatement( insertDtl );
//pstmtHdr = conn.prepareStatement( insHdrSql );
//pstmtDtl = conn.prepareStatement( insertDtl );
diffAmtList = new ArrayList();
xmlBuff = new StringBuffer();
System.out.println("--XML CREATION ------");
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
xmlBuff.append("<?xml version='1.0' encoding='ISO-8859-1'?>\n");
xmlBuff.append("<DocumentRoot>");
xmlBuff.append("<description>").append("Datawindow Root").append("</description>");
xmlBuff.append("<group0>");
xmlBuff.append("<description>").append("Group0 description").append("</description>");
xmlBuff.append("<Header0>");
xmlBuff.append("<objName><![CDATA[").append("misc_drcr_rcp_cr").append("]]></objName>");
xmlBuff.append("<pageContext><![CDATA[").append("1").append("]]></pageContext>");
xmlBuff.append("<objContext><![CDATA[").append("1").append("]]></objContext>");
xmlBuff.append("<editFlag><![CDATA[").append("A").append("]]></editFlag>");
xmlBuff.append("<focusedColumn><![CDATA[").append("").append("]]></focusedColumn>");
xmlBuff.append("<action><![CDATA[").append("SAVE").append("]]></action>");
xmlBuff.append("<elementName><![CDATA[").append("").append("]]></elementName>");
xmlBuff.append("<keyValue><![CDATA[").append("1").append("]]></keyValue>");
xmlBuff.append("<taxKeyValue><![CDATA[").append("").append("]]></taxKeyValue>");
xmlBuff.append("<saveLevel><![CDATA[").append("1").append("]]></saveLevel>");
xmlBuff.append("<forcedSave><![CDATA[").append(true).append("]]></forcedSave>");
xmlBuff.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>");
xmlBuff.append("<description>").append("Header0 members").append("</description>");
xmlBuff.append("<Detail1 dbID=\"\" domID=\"1\" objName=\"misc_drcr_rcp_cr\" objContext=\"1\">");
xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuff.append("<tran_id/>");
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 "
+" a.amount, a.remarks, sum(b.discount_amt) as discAmt ,b.tax_class as tax_class,b.tax_chap as tax_chap,b.tax_env as tax_env "
+" from charge_back a, charge_back_det b "
+" where a.tran_id = b.tran_id "
+" and a.tran_id >= ? "
......@@ -1116,7 +1157,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
// +" 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";
+" a.amount, a.remarks ,b.tax_class ,b.tax_chap ,b.tax_env";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, tranIdFr );
......@@ -1130,6 +1171,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
rs = pstmt.executeQuery();
while( rs.next() )
{
custCodeCr = rs.getString("cust_code__credit");
currCode = rs.getString("curr_code");
exchgRate = rs.getDouble("exch_rate");
......@@ -1144,10 +1186,13 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
grossAmount = rs.getDouble("amount");
remarks = rs.getString("remarks");
discountAmt = rs.getDouble("discAmt");
taxClass = rs.getString("tax_class");
taxChap = rs.getString("tax_chap");
taxEnv = rs.getString("tax_env");
//System.out.println("claimAmt==>["+claimAmt+"]");
//System.out.println("netAmt==>["+netAmt+"]");
//System.out.println("grossAmount ie amount==>["+grossAmount+"]");
System.out.println("taxClass==>["+taxClass+"]");
System.out.println("taxChap==>["+taxChap+"]");
System.out.println("taxEnv==>["+taxEnv+"]");
if( siteCodeCr == null || siteCodeCr.trim().length() == 0 )
{
siteCodeCr = siteCode;
......@@ -1222,6 +1267,8 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
System.out.println("claimAmt::["+claimAmt+"]netAmt:::["+netAmt+"]");
System.out.println("drcrAmt::["+drcrAmt+"]");
if( claimAmt <= 0 )
{
claimAmt = 0;
......@@ -1231,10 +1278,27 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
{
drcrAmt = claimAmt < netAmt ? claimAmt : netAmt;
}
//cHANGED BY POONAM FOR TAX CALCULATION
xmlBuff.append("<tran_ser><![CDATA["+ "MDRCRC" +"]]></tran_ser>");
xmlBuff.append("<tran_date><![CDATA["+ sdf.format(currDate).toString() +"]]></tran_date>");
xmlBuff.append("<eff_date><![CDATA["+ sdf.format(currDate).toString() +"]]></eff_date>");
xmlBuff.append("<fin_entity><![CDATA["+ finEntity +"]]></fin_entity>");
xmlBuff.append("<site_code><![CDATA["+siteCodeCr +"]]></site_code>");
xmlBuff.append("<sundry_type><![CDATA["+ "C" +"]]></sundry_type>");
xmlBuff.append("<sundry_code><![CDATA["+ custCodeCr +"]]></sundry_code>");
xmlBuff.append("<acct_code><![CDATA["+checkNull(acctCode) +"]]></acct_code>");
xmlBuff.append("<curr_code><![CDATA["+ checkNull(cctrCode) +"]]></curr_code>");
//crNtTranId = generateTranId("W_MISC_DRCR_RCP_CR", getCurrdateInAppFormat(), loginSite, userId, tranType );
drNtTranId = generateTranId("W_MISC_DRCR_RCP_DR", getCurrdateInAppFormat(), siteCodeCr, userId, tranType );
/*drNtTranId = generateTranId("W_MISC_DRCR_RCP_DR", getCurrdateInAppFormat(), siteCodeCr, userId, tranType );
//-----------------------Inserting into header-----------------------------------
pstmtHdr.setString( 1, drNtTranId );
pstmtHdr.setString( 2, "MDRCRD" );
......@@ -1245,7 +1309,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
pstmtHdr.setString( 7, "C" );
pstmtHdr.setString( 8, custCodeCr );
pstmtHdr.setString( 9, acctCode == null ? "" : acctCode );
pstmtHdr.setString( 10, cctrCode == null ? " " : cctrCode );
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 );
......@@ -1273,23 +1337,58 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
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 );
//pstmtHdr.setDouble( 11, drcrAmt );//CHANGED BY POONAM
/*pstmtHdr.setDouble( 11, roundAmt );//CHANGED BY POONAM
pstmtHdr.setString( 12, currCode == null || currCode.trim().length() == 0 ? "" : currCode);//CHANGED BY POONAM
pstmtHdr.setDouble( 13, exchgRate );*///CHANGED BY POONAM
xmlBuff.append("<amount><![CDATA["+ drcrAmt +"]]></amount>");
xmlBuff.append("<curr_code><![CDATA["+ checkNull(currCode ) +"]]></curr_code>");
xmlBuff.append("<exch_rate><![CDATA["+ exchgRate +"]]></exch_rate>");
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 );
//pstmtHdr.setString( 14, tRemStr ); //CHANGED BY POONAM
xmlBuff.append("<remarks><![CDATA["+ tRemStr +"]]></remarks>");
}
else
{
pstmtHdr.setString( 14, remarks.trim() );
//pstmtHdr.setString( 14, remarks.trim() );//CHANGED BY POONAM
xmlBuff.append("<remarks><![CDATA["+ remarks.trim() +"]]></remarks>");
}
pstmtHdr.setString( 15, "D" );//Changed by Poonam to created debit note..
xmlBuff.append("<drcr_flag><![CDATA["+ "C" +"]]></drcr_flag>");
xmlBuff.append("<tran_id__rcv><![CDATA["+ "" +"]]></tran_id__rcv>");
xmlBuff.append("<confirmed><![CDATA["+ "N" +"]]></confirmed>");
xmlBuff.append("<chg_user><![CDATA["+ userId +"]]></chg_user>");
xmlBuff.append("<chg_date><![CDATA["+ sdf.format(currDate).toString() +"]]></chg_date>");
xmlBuff.append("<chg_term><![CDATA["+ termId +"]]></chg_term>");
xmlBuff.append("<conf_date><![CDATA["+ sdf.format(currDate).toString() +"]]></conf_date>");
xmlBuff.append("<emp_code__aprv><![CDATA["+ empCodeAprv +"]]></emp_code__aprv>");
xmlBuff.append("<due_date><![CDATA["+ sdf.format(currDate).toString() +"]]></due_date>");
xmlBuff.append("<tran_type><![CDATA["+ checkNull(tranType) +"]]></tran_type>");
xmlBuff.append("<item_ser><![CDATA["+ checkNull(itemSer ) +"]]></item_ser>");
xmlBuff.append("<amount__bc><![CDATA["+ roundAmt * exchgRate +"]]></amount__bc>");
xmlBuff.append("<sreturn_no><![CDATA["+ checkNull(tranIdSel) +"]]></sreturn_no>");
xmlBuff.append("<adj_misc_crn><![CDATA["+ "" +"]]></adj_misc_crn>");
xmlBuff.append("<adj_amount><![CDATA["+ 0.0 +"]]></adj_amount>");
xmlBuff.append("<parent__tran_id><![CDATA["+ "" +"]]></parent__tran_id>");
xmlBuff.append("<rev__tran><![CDATA["+ "" +"]]></rev__tran>");
xmlBuff.append("<round_adj><![CDATA["+ 0.0 +"]]></round_adj>");
xmlBuff.append("<cust_ref_no><![CDATA["+ "" +"]]></cust_ref_no>");
//xmlBuff.append("<cust_ref_date><![CDATA["+ sdf.format(currDate).toString() +"]]></cust_ref_date>");
/*xmlBuff.append("<cust_ref_amt><![CDATA["+ 0.0 +"]]></cust_ref_amt>");
xmlBuff.append("<rnd_off><![CDATA["+ 0.0 +"]]></rnd_off>");
xmlBuff.append("<rnd_to><![CDATA["+ 0.0 +"]]></rnd_to>");*/
//POONAM
/*pstmtHdr.setString( 15, "D" );//Changed by Poonam to created debit note..
pstmtHdr.setString( 16, "" );
pstmtHdr.setString( 17, "N" );
pstmtHdr.setString( 18, userId );
......@@ -1317,18 +1416,37 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
pstmtHdr.setDouble( 36, 0.0 ); //RND_OFF
pstmtHdr.setDouble( 37, 0.0 ); //RND_TO
int updtCnt = pstmtHdr.executeUpdate();
int updtCnt = pstmtHdr.executeUpdate();*/
//System.out.println("updtCnt==>"+updtCnt);
//-----------------------Inserting into detail-----------------------------------
System.out.println("drcrAmt in debit detail"+drcrAmt);
System.out.println("drcrAmt in credit detail"+drcrAmt);
System.out.println("grossAmount in debit detail"+grossAmount);
llLineNo = 0;
pstmtDtl.setString( 1, drNtTranId );
analCode = finCommon.getFinparams("999999", "ANAL_CODE", conn);
System.out.println("analCode:::"+analCode);
xmlBuffDet = new StringBuffer();
xmlBuffDet.append("<Detail2 dbID=\"\" domID=\"1\" objName=\"misc_drcr_rcp_dr\" objContext=\"1\">");
xmlBuffDet.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuffDet.append("<tran_id/>");
llLineNo++;
xmlBuffDet.append("<line_no><![CDATA["+ llLineNo +"]]></line_no>");
xmlBuffDet.append("<acct_code><![CDATA["+ detAcct +"]]></acct_code>");
xmlBuffDet.append("<cctr_code><![CDATA["+ detCctr +"]]></cctr_code>");
//CHANGED BY POONAM
/*pstmtDtl.setString( 1, drNtTranId );
llLineNo++;
pstmtDtl.setInt( 2, llLineNo );
pstmtDtl.setString( 3, detAcct );
pstmtDtl.setString( 4, detCctr );
pstmtDtl.setString( 4, detCctr );*/
if(drcrAmt < 0)
{
......@@ -1342,21 +1460,40 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
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
//if( claimAmt > 0 && claimAmt < netAmt )
//{
//pstmtDtl.setDouble( 5, drcrAmt );
//pstmtDtl.setDouble( 6, drcrAmt );
//CHANGED BY POONAM
xmlBuffDet.append("<amount><![CDATA["+ drcrAmt +"]]></amount>");
xmlBuffDet.append("<net_amt><![CDATA["+ drcrAmt +"]]></net_amt>");
//}
/*else
{
pstmtDtl.setDouble( 5, grossAmount );
pstmtDtl.setDouble( 6, grossAmount );
}
pstmtDtl.setString( 7, tranIdSel ); //ref_no
//pstmtDtl.setDouble( 5, grossAmount );
//pstmtDtl.setDouble( 6, grossAmount );
//CHANGED BY POONAM
xmlBuffDet.append("<amount><![CDATA["+ grossAmount +"]]></amount>");
xmlBuffDet.append("<net_amt><![CDATA["+ grossAmount +"]]></net_amt>");
}*/
//CHANGED BY POONAM
/*pstmtDtl.setString( 7, tranIdSel ); //ref_no
pstmtDtl.setString( 8, ( reasonCd == null || reasonCd.trim().length() == 0 ? "" : reasonCd.trim() ) ); //reas_code
pstmtDtl.setString( 9, "" ); //ANAL_CODE
*/
xmlBuffDet.append("<ref_no><![CDATA["+ tranIdSel +"]]></ref_no>");
xmlBuffDet.append("<reas_code><![CDATA["+ checkNull(reasonCd) +"]]></reas_code>");
xmlBuffDet.append("<anal_code><![CDATA["+ analCode +"]]></anal_code>");
xmlBuffDet.append("<tax_class><![CDATA["+ checkNull(taxClass) +"]]></tax_class>");
xmlBuffDet.append("<tax_chap><![CDATA["+ checkNull(taxChap) +"]]></tax_chap>");
xmlBuffDet.append("<tax_env><![CDATA["+ checkNull(taxEnv) +"]]></tax_env>");
xmlBuffDet.append("</Detail2>");
pstmtDtl.addBatch();
//Changed by poonam :taxtran not required
/*pstmtDtl.addBatch();
sql = "select acct_code, cctr_code, sum(tax_amt) taxamt "
+" from taxtran "
......@@ -1390,7 +1527,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
llLineNo++;
pstmtDtl.setInt( 2, llLineNo );
pstmtDtl.setString( 3, acctCodeTax );
pstmtDtl.setString( 4, cctrCodeTax );
pstmtDtl.setString( 4, acctCodeTax );
pstmtDtl.setDouble( 5, amtTax);
pstmtDtl.setDouble( 6, 0.0 );
pstmtDtl.setString( 7, "" ); //ref_no
......@@ -1398,6 +1535,7 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
pstmtDtl.setString( 9, "" ); //ANAL_CODE
pstmtDtl.addBatch();
}
rSet.close();
rSet = null;
......@@ -1409,25 +1547,9 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
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, drNtTranId );
pstmt1.setString(2, tranIdSel );
int updCount = 0 ;
updCount = pstmt1.executeUpdate();
pstmtHdr = null;*/
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 );
......@@ -1441,16 +1563,20 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
rSet.close();
rSet = null;
pstmt1.close();
pstmt1 = null;
pstmt1 = null;*/
roundAmt = disComm.getRndamt( drcrAmt, round, roundTo );
diffAmt = roundAmt - drcrAmt;*/
diffAmt = roundAmt - drcrAmt;
System.out.println("diffAmt IN DR["+diffAmt+"]");
if( diffAmt != 0 )
{
//if( diffAmt != 0 )
//{
//1. update header
//2. insert record in detail
insDtlsql = "insert into MISC_DRCR_RDET( "
/*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 ( "
......@@ -1474,13 +1600,60 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
pstmt1.executeUpdate();
pstmt1.close();
pstmt1 = null;
}
pstmt1 = null;*/
//}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
xmlBuff.append("</Detail1>");
xmlBuff.append(xmlBuffDet);
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
xmlString = xmlBuff.toString();
System.out.println("@@@@@2: xmlString:"+xmlBuff.toString());
System.out.println("...............just before savdata distorder()");
siteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
System.out.println("== site code =="+siteCode);
errString = saveData(siteCode,xmlString,xtraParams,conn);
System.out.println("@@@@@2: retString:"+errString);
System.out.println("--retString finished--");
if (errString.indexOf("Success") > -1)
{
System.out.println("@@@@@@3: Success"+errString);
dom = genericUtility.parseString(errString);
System.out.println("dom>>>"+dom);
drNtTranId = genericUtility.getColumnValue("TranID",dom);
}
else
{
System.out.println("[SuccessSuccess" + errString + "]");
conn.rollback();
return errString;
}
sql = "update charge_back set "
+" tran_id__crn = ? "
+" where tran_id = ? ";
pstmt1 = conn.prepareStatement( sql );
pstmt1.setString(1, drNtTranId );
pstmt1.setString(2, tranIdSel );
int updCount = 0 ;
updCount = pstmt1.executeUpdate();
if( updCount == 0 )
{
errCode = "DS000NR";
//break;
}
pstmt1.close();
pstmt1 = null;
if( "Y".equalsIgnoreCase( asPost ) )
{
......@@ -1521,5 +1694,712 @@ public class ChrgBckLocConf extends ActionHandlerEJB implements ChrgBckLocConfLo
}
return errCode;
}
// 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 drNtTranId = "";
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;
StringBuffer xmlBuff = null;
StringBuffer xmlBuffDet = null;
String xmlString="",errString = "",taxClass = "",taxEnv = "",taxChap = "",analCode = "" ;
Document dom = null ;
ArrayList diffAmtList = 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 );
diffAmtList = new ArrayList();
xmlBuff = new StringBuffer();
System.out.println("--XML CREATION ------");
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
xmlBuff.append("<?xml version='1.0' encoding='ISO-8859-1'?>\n");
xmlBuff.append("<DocumentRoot>");
xmlBuff.append("<description>").append("Datawindow Root").append("</description>");
xmlBuff.append("<group0>");
xmlBuff.append("<description>").append("Group0 description").append("</description>");
xmlBuff.append("<Header0>");
xmlBuff.append("<objName><![CDATA[").append("misc_drcr_rcp_dr").append("]]></objName>");
xmlBuff.append("<pageContext><![CDATA[").append("1").append("]]></pageContext>");
xmlBuff.append("<objContext><![CDATA[").append("1").append("]]></objContext>");
xmlBuff.append("<editFlag><![CDATA[").append("A").append("]]></editFlag>");
xmlBuff.append("<focusedColumn><![CDATA[").append("").append("]]></focusedColumn>");
xmlBuff.append("<action><![CDATA[").append("SAVE").append("]]></action>");
xmlBuff.append("<elementName><![CDATA[").append("").append("]]></elementName>");
xmlBuff.append("<keyValue><![CDATA[").append("1").append("]]></keyValue>");
xmlBuff.append("<taxKeyValue><![CDATA[").append("").append("]]></taxKeyValue>");
xmlBuff.append("<saveLevel><![CDATA[").append("1").append("]]></saveLevel>");
xmlBuff.append("<forcedSave><![CDATA[").append(true).append("]]></forcedSave>");
xmlBuff.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>");
xmlBuff.append("<description>").append("Header0 members").append("</description>");
xmlBuff.append("<Detail1 dbID=\"\" domID=\"1\" objName=\"misc_drcr_rcp_dr\" objContext=\"1\">");
xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuff.append("<tran_id/>");
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 ,b.tax_class as tax_class,b.tax_chap as tax_chap,b.tax_env as tax_env "
+" 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 ,b.tax_class ,b.tax_chap ,b.tax_env";
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");
taxClass = rs.getString("tax_class");
taxChap = rs.getString("tax_chap");
taxEnv = rs.getString("tax_env");
System.out.println("taxClass==>["+taxClass+"]");
System.out.println("taxChap==>["+taxChap+"]");
System.out.println("taxEnv==>["+taxEnv+"]");
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;
}
//cHANGED BY POONAM FOR TAX CALCULATION
xmlBuff.append("<tran_ser><![CDATA["+ "MDRCRD" +"]]></tran_ser>");
xmlBuff.append("<tran_date><![CDATA["+ sdf.format(currDate).toString() +"]]></tran_date>");
xmlBuff.append("<eff_date><![CDATA["+ sdf.format(currDate).toString() +"]]></eff_date>");
xmlBuff.append("<fin_entity><![CDATA["+ finEntity +"]]></fin_entity>");
xmlBuff.append("<site_code><![CDATA["+siteCodeCr +"]]></site_code>");
xmlBuff.append("<sundry_type><![CDATA["+ "C" +"]]></sundry_type>");
xmlBuff.append("<sundry_code><![CDATA["+ custCodeCr +"]]></sundry_code>");
xmlBuff.append("<acct_code><![CDATA["+checkNull(acctCode) +"]]></acct_code>");
xmlBuff.append("<curr_code><![CDATA["+ checkNull(cctrCode) +"]]></curr_code>");
//crNtTranId = generateTranId("W_MISC_DRCR_RCP_CR", getCurrdateInAppFormat(), loginSite, userId, tranType );
/*drNtTranId = generateTranId("W_MISC_DRCR_RCP_DR", getCurrdateInAppFormat(), siteCodeCr, userId, tranType );
//-----------------------Inserting into header-----------------------------------
pstmtHdr.setString( 1, drNtTranId );
pstmtHdr.setString( 2, "MDRCRD" );
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 );//CHANGED BY POONAM
/*pstmtHdr.setDouble( 11, roundAmt );//CHANGED BY POONAM
pstmtHdr.setString( 12, currCode == null || currCode.trim().length() == 0 ? "" : currCode);//CHANGED BY POONAM
pstmtHdr.setDouble( 13, exchgRate );*///CHANGED BY POONAM
xmlBuff.append("<amount><![CDATA["+ drcrAmt +"]]></amount>");
xmlBuff.append("<curr_code><![CDATA["+ checkNull(currCode ) +"]]></curr_code>");
xmlBuff.append("<exch_rate><![CDATA["+ exchgRate +"]]></exch_rate>");
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 ); //CHANGED BY POONAM
xmlBuff.append("<remarks><![CDATA["+ tRemStr +"]]></remarks>");
}
else
{
//pstmtHdr.setString( 14, remarks.trim() );//CHANGED BY POONAM
xmlBuff.append("<remarks><![CDATA["+ remarks.trim() +"]]></remarks>");
}
xmlBuff.append("<drcr_flag><![CDATA["+ "D" +"]]></drcr_flag>");
xmlBuff.append("<tran_id__rcv><![CDATA["+ "" +"]]></tran_id__rcv>");
xmlBuff.append("<confirmed><![CDATA["+ "N" +"]]></confirmed>");
xmlBuff.append("<chg_user><![CDATA["+ userId +"]]></chg_user>");
xmlBuff.append("<chg_date><![CDATA["+ sdf.format(currDate).toString() +"]]></chg_date>");
xmlBuff.append("<chg_term><![CDATA["+ termId +"]]></chg_term>");
xmlBuff.append("<conf_date><![CDATA["+ sdf.format(currDate).toString() +"]]></conf_date>");
xmlBuff.append("<emp_code__aprv><![CDATA["+ empCodeAprv +"]]></emp_code__aprv>");
xmlBuff.append("<due_date><![CDATA["+ sdf.format(currDate).toString() +"]]></due_date>");
xmlBuff.append("<tran_type><![CDATA["+ checkNull(tranType) +"]]></tran_type>");
xmlBuff.append("<item_ser><![CDATA["+ checkNull(itemSer ) +"]]></item_ser>");
xmlBuff.append("<amount__bc><![CDATA["+ roundAmt * exchgRate +"]]></amount__bc>");
xmlBuff.append("<sreturn_no><![CDATA["+ checkNull(tranIdSel) +"]]></sreturn_no>");
xmlBuff.append("<adj_misc_crn><![CDATA["+ "" +"]]></adj_misc_crn>");
xmlBuff.append("<adj_amount><![CDATA["+ 0.0 +"]]></adj_amount>");
xmlBuff.append("<parent__tran_id><![CDATA["+ "" +"]]></parent__tran_id>");
xmlBuff.append("<rev__tran><![CDATA["+ "" +"]]></rev__tran>");
xmlBuff.append("<round_adj><![CDATA["+ 0.0 +"]]></round_adj>");
xmlBuff.append("<cust_ref_no><![CDATA["+ "" +"]]></cust_ref_no>");
//xmlBuff.append("<cust_ref_date><![CDATA["+ sdf.format(currDate).toString() +"]]></cust_ref_date>");
/*xmlBuff.append("<cust_ref_amt><![CDATA["+ 0.0 +"]]></cust_ref_amt>");
xmlBuff.append("<rnd_off><![CDATA["+ 0.0 +"]]></rnd_off>");
xmlBuff.append("<rnd_to><![CDATA["+ 0.0 +"]]></rnd_to>");*/
//POONAM
/*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;
analCode = finCommon.getFinparams("999999", "ANAL_CODE", conn);
System.out.println("analCode:::"+analCode);
xmlBuffDet = new StringBuffer();
xmlBuffDet.append("<Detail2 dbID=\"\" domID=\"1\" objName=\"misc_drcr_rcp_dr\" objContext=\"1\">");
xmlBuffDet.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuffDet.append("<tran_id/>");
llLineNo++;
xmlBuffDet.append("<line_no><![CDATA["+ llLineNo +"]]></line_no>");
xmlBuffDet.append("<acct_code><![CDATA["+ detAcct +"]]></acct_code>");
xmlBuffDet.append("<cctr_code><![CDATA["+ detCctr +"]]></cctr_code>");
//CHANGED BY POONAM
/*pstmtDtl.setString( 1, drNtTranId );
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 );
//CHANGED BY POONAM
xmlBuffDet.append("<amount><![CDATA["+ drcrAmt +"]]></amount>");
xmlBuffDet.append("<net_amt><![CDATA["+ drcrAmt +"]]></net_amt>");
//}
/*else
{
//pstmtDtl.setDouble( 5, grossAmount );
//pstmtDtl.setDouble( 6, grossAmount );
//CHANGED BY POONAM
xmlBuffDet.append("<amount><![CDATA["+ grossAmount +"]]></amount>");
xmlBuffDet.append("<net_amt><![CDATA["+ grossAmount +"]]></net_amt>");
}*/
//CHANGED BY POONAM
/*pstmtDtl.setString( 7, tranIdSel ); //ref_no
pstmtDtl.setString( 8, ( reasonCd == null || reasonCd.trim().length() == 0 ? "" : reasonCd.trim() ) ); //reas_code
pstmtDtl.setString( 9, "" ); //ANAL_CODE
*/
xmlBuffDet.append("<ref_no><![CDATA["+ tranIdSel +"]]></ref_no>");
xmlBuffDet.append("<reas_code><![CDATA["+ checkNull(reasonCd) +"]]></reas_code>");
xmlBuffDet.append("<anal_code><![CDATA["+ analCode +"]]></anal_code>");
xmlBuffDet.append("<tax_class><![CDATA["+ checkNull(taxClass) +"]]></tax_class>");
xmlBuffDet.append("<tax_chap><![CDATA["+ checkNull(taxChap) +"]]></tax_chap>");
xmlBuffDet.append("<tax_env><![CDATA["+ checkNull(taxEnv) +"]]></tax_env>");
xmlBuffDet.append("</Detail2>");
//Changed by poonam :taxtran not required
/*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, drNtTranId );
llLineNo++;
pstmtDtl.setInt( 2, llLineNo );
pstmtDtl.setString( 3, acctCodeTax );
pstmtDtl.setString( 4, acctCodeTax );
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 = "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;*/
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
xmlBuff.append("</Detail1>");
xmlBuff.append(xmlBuffDet);
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
xmlString = xmlBuff.toString();
System.out.println("@@@@@2: xmlString:"+xmlBuff.toString());
System.out.println("...............just before savdata distorder()");
siteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
System.out.println("== site code =="+siteCode);
errString = saveData(siteCode,xmlString,xtraParams,conn);
System.out.println("@@@@@2: retString:"+errString);
System.out.println("--retString finished--");
if (errString.indexOf("Success") > -1)
{
System.out.println("@@@@@@3: Success"+errString);
dom = genericUtility.parseString(errString);
System.out.println("dom>>>"+dom);
drNtTranId = genericUtility.getColumnValue("TranID",dom);
}
else
{
System.out.println("[SuccessSuccess" + errString + "]");
conn.rollback();
return errString;
}
sql = "update charge_back set "
+" tran_id__crn = ? "
+" where tran_id = ? ";
pstmt1 = conn.prepareStatement( sql );
pstmt1.setString(1, drNtTranId );
pstmt1.setString(2, tranIdSel );
int updCount = 0 ;
updCount = pstmt1.executeUpdate();
if( updCount == 0 )
{
errCode = "DS000NR";
//break;
}
pstmt1.close();
pstmt1 = null;
if( "Y".equalsIgnoreCase( asPost ) )
{
conn.commit();
retString = retrieveMiscDrcrRcp( "misc_drcr_rcp",drNtTranId,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
private String saveData(String siteCode,String xmlString, String xtraParams,Connection conn) throws ITMException
{
System.out.println("saving data...........");
InitialContext ctx = null;
String retString = null;
MasterStatefulLocal masterStateful = null; // for ejb3
ibase.utility.UserInfoBean userInfo;
String chgUser = "", chgTerm = "";
String loginCode = "", loginEmpCode = "", loginSiteCode = "";
try
{
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
masterStateful = (MasterStatefulLocal)ctx.lookup("ibase/MasterStatefulEJB/local");
System.out.println("-----------masterStateful------- " + masterStateful);
String [] authencate = new String[2];
authencate[0] = "";
authencate[1] = "";
System.out.println("xmlString to masterstateful [" + xmlString + "]");
userInfo = new ibase.utility.UserInfoBean();
System.out.println("xtraParams>>>>" + xtraParams);
chgUser = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgUser");
chgTerm = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgTerm");
loginCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
loginEmpCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode");
loginSiteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
userInfo.setEmpCode(loginEmpCode);
userInfo.setRemoteHost(chgTerm);
userInfo.setSiteCode(loginSiteCode);
userInfo.setLoginCode(loginCode);
userInfo.setEntityCode(loginEmpCode);
System.out.println("userInfo>>>>>" + userInfo);
System.out.println("chgUser :" + chgUser);
System.out.println("chgTerm :" + chgTerm);
System.out.println("loginCode :" + loginCode);
System.out.println("loginEmpCode :" + loginEmpCode);
//retString = masterStateful.processRequest(userInfo, siteCode, true, xmlString,true,conn);
retString = masterStateful.processRequest(userInfo, xmlString, true, conn);
System.out.println("--retString - -"+retString);
}
catch(ITMException itme)
{
System.out.println("ITMException :CreateDistOrder :saveData :==>");
throw itme;
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception :CreateDistOrder :saveData :==>");
throw new ITMException(e);
}
return retString;
}
private String checkNull(String input)
{
if (input == null)
{
input="";
}
return input.trim();
}
}
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