Commit edb8c52a authored by caluka's avatar caluka

drcrinv object changed to drcrinv_calcmn for post order process invoice validation issue


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@103574 ce508802-f39f-4f6c-b175-0d175dae99d5
parent e0c79f5d
...@@ -7,14 +7,12 @@ package ibase.webitm.ejb.fin.adv; ...@@ -7,14 +7,12 @@ package ibase.webitm.ejb.fin.adv;
//import ibase.edi.client.system.config.AppConnectParm; //import ibase.edi.client.system.config.AppConnectParm;
import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants; import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.ITMDBAccessEJB; import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.MasterStatefulLocal; import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.ValidatorEJB; import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.fin.FinCommon; import ibase.webitm.ejb.fin.FinCommon;
//import ibase.webitm.utility.GenericUtility; //import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
...@@ -24,34 +22,28 @@ import java.rmi.RemoteException; ...@@ -24,34 +22,28 @@ import java.rmi.RemoteException;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Hashtable; import java.util.Iterator;
import java.util.Set;
import java.util.Properties;
import org.omg.CORBA.ORB;
import java.util.*;
import javax.ejb.*;
import ibase.system.config.*; import ibase.system.config.*;
//import javax.ejb.Stateless;
import javax.naming.InitialContext; import javax.naming.InitialContext;
//import org.apache.poi.hssf.record.formula.functions.Today;
//@Stateless //@Stateless
public class CalculateCommission public class CalculateCommission
{ {
String tranIdDrn = "",tranIdCrn = ""; String tranIdDrn = "",tranIdCrn = "";
UtilMethods utilMethods = UtilMethods.getInstance(); UtilMethods utilMethods = UtilMethods.getInstance();
FinCommon finCommon = new FinCommon();
E12GenericUtility genericUtility = new E12GenericUtility();
//JournalDrCrConf jourConf = new JournalDrCrConf() ;
public String CalCommission(String invoiceId , String callModule , String tranId ,String postCrn ,String postJv ,String xtraParams, Connection conn ) throws Exception public String CalCommission(String invoiceId , String callModule , String tranId ,String postCrn ,String postJv ,String xtraParams, Connection conn ) throws Exception
{ {
System.out.println("INSIDE CalCommission>>>");
String commCalc = ""; String commCalc = "";
String errString = ""; String errString = "";
String sql = ""; String sql = "";
...@@ -79,6 +71,7 @@ public class CalculateCommission ...@@ -79,6 +71,7 @@ public class CalculateCommission
try { try {
commCalc = finCommon.getFinparams("999999", "COMM_CALC", conn); commCalc = finCommon.getFinparams("999999", "COMM_CALC", conn);
System.out.println("commCalc>>>"+commCalc);
if(!("I".equalsIgnoreCase(commCalc)) && !("R".equalsIgnoreCase(commCalc)) && !("N".equalsIgnoreCase(commCalc)) && !("P".equalsIgnoreCase(commCalc))) if(!("I".equalsIgnoreCase(commCalc)) && !("R".equalsIgnoreCase(commCalc)) && !("N".equalsIgnoreCase(commCalc)) && !("P".equalsIgnoreCase(commCalc)))
{ {
errString = itmDBAccessEJB.getErrorString("","VTFINPARM","","",conn); errString = itmDBAccessEJB.getErrorString("","VTFINPARM","","",conn);
...@@ -93,17 +86,21 @@ public class CalculateCommission ...@@ -93,17 +86,21 @@ public class CalculateCommission
{ {
facter = 1; facter = 1;
//ls_errcode = gbf_comm_credit_note(as_invoiceid,lc_factor,as_post_crn,as_call_module) //ls_errcode = gbf_comm_credit_note(as_invoiceid,lc_factor,as_post_crn,as_call_module)
errString = commDebitNote(invoiceId, facter, tranId, postCrn, callModule,xtraParams, conn); errString = commCrditNote(invoiceId, facter, tranId, postCrn, callModule, xtraParams, conn);
return errString; return errString;
} }
else if("R".equalsIgnoreCase(commCalc)) else if("R".equalsIgnoreCase(commCalc))
{ {
//ls_errcode = gbf_comm_journal(as_invoiceid,as_post_jv,as_call_module) //ls_errcode = gbf_comm_journal(as_invoiceid,as_post_jv,as_call_module)
errString = commJournal(invoiceId, postCrn, callModule, xtraParams, conn);//added by poonam gole
return errString;
} }
else if("P".equalsIgnoreCase(commCalc)) else if("P".equalsIgnoreCase(commCalc))
{ {
//ls_errcode = gbf_prov_comm_credit_note(as_invoiceid,lc_factor,as_post_crn,as_call_module) //ls_errcode = gbf_prov_comm_credit_note(as_invoiceid,lc_factor,as_post_crn,as_call_module)
errString = commDebitNote(invoiceId, facter, tranId, postCrn, callModule, xtraParams, conn);
return errString;
} }
} }
else if("R".equalsIgnoreCase(callModule)) else if("R".equalsIgnoreCase(callModule))
...@@ -505,7 +502,7 @@ public class CalculateCommission ...@@ -505,7 +502,7 @@ public class CalculateCommission
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat()); sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
sql = " select key_string from transetup where upper(tran_window) = 'W_DRCRINV'"; sql = " select key_string from transetup where upper(tran_window) = 'W_DRCRINV_CALCMN'";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
...@@ -1147,7 +1144,7 @@ public class CalculateCommission ...@@ -1147,7 +1144,7 @@ public class CalculateCommission
xmlBuff.append("<group0>"); xmlBuff.append("<group0>");
xmlBuff.append("<description>").append("Group0 description").append("</description>"); xmlBuff.append("<description>").append("Group0 description").append("</description>");
xmlBuff.append("<Header0>"); xmlBuff.append("<Header0>");
xmlBuff.append("<objName><![CDATA[").append("drcrinv").append("]]></objName>"); xmlBuff.append("<objName><![CDATA[").append("drcrinv_calcmn").append("]]></objName>");
xmlBuff.append("<pageContext><![CDATA[").append("1").append("]]></pageContext>"); xmlBuff.append("<pageContext><![CDATA[").append("1").append("]]></pageContext>");
xmlBuff.append("<objContext><![CDATA[").append("1").append("]]></objContext>"); xmlBuff.append("<objContext><![CDATA[").append("1").append("]]></objContext>");
xmlBuff.append("<editFlag><![CDATA[").append("A").append("]]></editFlag>"); xmlBuff.append("<editFlag><![CDATA[").append("A").append("]]></editFlag>");
...@@ -1160,7 +1157,7 @@ public class CalculateCommission ...@@ -1160,7 +1157,7 @@ public class CalculateCommission
xmlBuff.append("<forcedSave><![CDATA[").append(true).append("]]></forcedSave>"); xmlBuff.append("<forcedSave><![CDATA[").append(true).append("]]></forcedSave>");
xmlBuff.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>"); xmlBuff.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>");
xmlBuff.append("<description>").append("Header0 members").append("</description>"); xmlBuff.append("<description>").append("Header0 members").append("</description>");
xmlBuff.append("<Detail1 dbID=\"\" domID=\"1\" objName=\"drcrinv\" objContext=\"1\">"); xmlBuff.append("<Detail1 dbID=\"\" domID=\"1\" objName=\"drcrinv_calcmn\" objContext=\"1\">");
xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>"); xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuff.append("<tran_id/>"); xmlBuff.append("<tran_id/>");
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat()); sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
...@@ -1373,7 +1370,7 @@ public class CalculateCommission ...@@ -1373,7 +1370,7 @@ public class CalculateCommission
if (drcrAmt != 0) if (drcrAmt != 0)
{ {
lineNo++; lineNo++;
xmlBuff.append("<Detail2 dbID='' domID=\"1\" objName=\"drcrinv\" objContext=\"2\">"); //sorder modify to sorder_insert by kunal xmlBuff.append("<Detail2 dbID='' domID=\"1\" objName=\"drcrinv_calcmn\" objContext=\"2\">"); //sorder modify to sorder_insert by kunal
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />"); xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />");
xmlBuff.append("<tran_id/>"); xmlBuff.append("<tran_id/>");
xmlBuff.append("<line_no><![CDATA["+ lineNo +"]]></line_no>"); xmlBuff.append("<line_no><![CDATA["+ lineNo +"]]></line_no>");
...@@ -1459,7 +1456,7 @@ public class CalculateCommission ...@@ -1459,7 +1456,7 @@ public class CalculateCommission
if (expAmt != 0 ) if (expAmt != 0 )
{ {
lineNo++; lineNo++;
xmlBuff.append("<Detail2 dbID='' domID=\"1\" objName=\"drcrinv\" objContext=\"2\">"); xmlBuff.append("<Detail2 dbID='' domID=\"1\" objName=\"drcrinv_calcmn\" objContext=\"2\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />"); xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />");
xmlBuff.append("<tran_id/>"); xmlBuff.append("<tran_id/>");
xmlBuff.append("<line_no><![CDATA["+ lineNo +"]]></line_no>"); xmlBuff.append("<line_no><![CDATA["+ lineNo +"]]></line_no>");
...@@ -1813,7 +1810,7 @@ public class CalculateCommission ...@@ -1813,7 +1810,7 @@ public class CalculateCommission
private String gbfCreateCrdrAdj (String dbnoteId, String calledFrom , Connection conn) throws RemoteException, ITMException private String gbfCreateCrdrAdj (String dbnoteId, String calledFrom , Connection conn) throws RemoteException, ITMException
{ {
String invibcagen = "", site = "", cust = "", sitePay = "", finentFr = "", finentTo = "", acctTo = "", String invibcagen = "", site = "", cust = "", sitePay = "", finentFr = "", finentTo = "",
cctrTo = "" , link = "" , acctFr = "", cctrFr = "", ibcaId = "" , currCd = "" , acct = "", cctr = "", cctrTo = "" , link = "" , acctFr = "", cctrFr = "", ibcaId = "" , currCd = "" , acct = "", cctr = "",
bank = "" , reftype = "" , crterm = "" , sundryCode = "" , sundryType = "" , finEntity = "" , bank = "" , reftype = "" , crterm = "" , sundryCode = "" , sundryType = "" , finEntity = "" ,
itemSer = "" ,errcode = "" , remark = "" , salesPers = "" ,taxClass = "" , itemSer = "" ,errcode = "" , remark = "" , salesPers = "" ,taxClass = "" ,
...@@ -2232,14 +2229,11 @@ public class CalculateCommission ...@@ -2232,14 +2229,11 @@ public class CalculateCommission
cctrCodecf = "" ,taxClass = "" , taxChap = "" , cctrCodeAp = "" , acctCodeAp = "" , siteCodeRcp = "" , siteCodeCd = "" , errString = "" , tranType = "" , tranId = "", currCodeSp = "" , iddate = "" , taxEnv = "" ,tranIdInvdet = "", sreCurrCode = "" , xmlString = null, refLineNo = "", commPercOn = ""; cctrCodecf = "" ,taxClass = "" , taxChap = "" , cctrCodeAp = "" , acctCodeAp = "" , siteCodeRcp = "" , siteCodeCd = "" , errString = "" , tranType = "" , tranId = "", currCodeSp = "" , iddate = "" , taxEnv = "" ,tranIdInvdet = "", sreCurrCode = "" , xmlString = null, refLineNo = "", commPercOn = "";
StringBuffer xmlBuff = null; StringBuffer xmlBuff = null;
ITMDBAccessEJB itmDBAccessEJB = null;
itmDBAccessEJB = new ITMDBAccessEJB();
HashMap commMap = new HashMap(); HashMap commMap = new HashMap();
ArrayList commtList = new ArrayList(); ArrayList commtList = new ArrayList();
SimpleDateFormat sdf = null; SimpleDateFormat sdf = null;
// GenericUtility genericUtility = null; // GenericUtility genericUtility = null;
E12GenericUtility genericUtility = new E12GenericUtility();
double invAmt = 0.0 , frtAmt = 0.0, netAmt = 0.0, qtyStduom = 0.0, rateStduom = 0.0, commAmt = 0, double invAmt = 0.0 , frtAmt = 0.0, netAmt = 0.0, qtyStduom = 0.0, rateStduom = 0.0, commAmt = 0,
commfrt = 0.0 , commInsu = 0.0 , detInvamt = 0.0, commPerc = 0.0, ordAmt = 0.0, insuAmt = 0.0, commfrt = 0.0 , commInsu = 0.0 , detInvamt = 0.0, commPerc = 0.0, ordAmt = 0.0, insuAmt = 0.0,
totNetAmt = 0.0 , drcrAmt = 0.0, invDisc = 0.0 , val = 0.0, val1 = 0.0, commQty = 0.0, amount = 0.0, totNetAmt = 0.0 , drcrAmt = 0.0, invDisc = 0.0 , val = 0.0, val1 = 0.0, commQty = 0.0, amount = 0.0,
...@@ -2249,12 +2243,14 @@ public class CalculateCommission ...@@ -2249,12 +2243,14 @@ public class CalculateCommission
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ResultSet rs = null; ResultSet rs = null;
ITMDBAccessEJB itmDBAccessEJB = null;
itmDBAccessEJB = new ITMDBAccessEJB();
int crdays = 0 , count = 0 , lineNo = 0 , lineNoInv = 0 ,invLineNo = 0; int crdays = 0 , count = 0 , lineNo = 0 , lineNoInv = 0 ,invLineNo = 0;
long days = 0; long days = 0;
java.sql.Timestamp tranDate = null,date = null,dueDate = null, effDate = null; java.sql.Timestamp tranDate = null,date = null,dueDate = null, effDate = null;
FinCommon finCommon = new FinCommon();
tranSer = "CRNINV"; tranSer = "CRNINV";
trnofld = "tran_id"; trnofld = "tran_id";
...@@ -2267,7 +2263,7 @@ public class CalculateCommission ...@@ -2267,7 +2263,7 @@ public class CalculateCommission
date = java.sql.Timestamp.valueOf(sdf.format(date) + " 00:00:00.000"); date = java.sql.Timestamp.valueOf(sdf.format(date) + " 00:00:00.000");
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat()); sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
sql = "select key_string from transetup where upper(tran_window) = 'W_DRCRINV'"; sql = "select key_string from transetup where upper(tran_window) = 'W_DRCRINV_CALCMN'";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
...@@ -2856,7 +2852,7 @@ public class CalculateCommission ...@@ -2856,7 +2852,7 @@ public class CalculateCommission
xmlBuff.append("<group0>"); xmlBuff.append("<group0>");
xmlBuff.append("<description>").append("Group0 description").append("</description>"); xmlBuff.append("<description>").append("Group0 description").append("</description>");
xmlBuff.append("<Header0>"); xmlBuff.append("<Header0>");
xmlBuff.append("<objName><![CDATA[").append("drcrinv").append("]]></objName>"); xmlBuff.append("<objName><![CDATA[").append("drcrinv_calcmn").append("]]></objName>");
xmlBuff.append("<pageContext><![CDATA[").append("1").append("]]></pageContext>"); xmlBuff.append("<pageContext><![CDATA[").append("1").append("]]></pageContext>");
xmlBuff.append("<objContext><![CDATA[").append("1").append("]]></objContext>"); xmlBuff.append("<objContext><![CDATA[").append("1").append("]]></objContext>");
xmlBuff.append("<editFlag><![CDATA[").append("A").append("]]></editFlag>"); xmlBuff.append("<editFlag><![CDATA[").append("A").append("]]></editFlag>");
...@@ -2869,7 +2865,7 @@ public class CalculateCommission ...@@ -2869,7 +2865,7 @@ public class CalculateCommission
xmlBuff.append("<forcedSave><![CDATA[").append(true).append("]]></forcedSave>"); xmlBuff.append("<forcedSave><![CDATA[").append(true).append("]]></forcedSave>");
xmlBuff.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>"); xmlBuff.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>");
xmlBuff.append("<description>").append("Header0 members").append("</description>"); xmlBuff.append("<description>").append("Header0 members").append("</description>");
xmlBuff.append("<Detail1 dbID=\"\" domID=\"1\" objName=\"drcrinv\" objContext=\"1\">"); xmlBuff.append("<Detail1 dbID=\"\" domID=\"1\" objName=\"drcrinv_calcmn\" objContext=\"1\">");
xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>"); xmlBuff.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuff.append("<tran_id/>"); xmlBuff.append("<tran_id/>");
xmlBuff.append("<order_date><![CDATA["+ sdf.format(date).toString() +"]]></order_date>"); xmlBuff.append("<order_date><![CDATA["+ sdf.format(date).toString() +"]]></order_date>");
...@@ -2965,7 +2961,7 @@ public class CalculateCommission ...@@ -2965,7 +2961,7 @@ public class CalculateCommission
//if(errString == null || errString.trim().length() ==0) //if(errString == null || errString.trim().length() ==0)
//{ //{
lineNo++; lineNo++;
xmlBuff.append("<Detail2 dbID='' domID=\"" + lineNo + "\" objName=\"drcrinv\" objContext=\"2\">"); xmlBuff.append("<Detail2 dbID='' domID=\"" + lineNo + "\" objName=\"drcrinv_calcmn\" objContext=\"2\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />"); xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />");
xmlBuff.append("<tran_id/>"); xmlBuff.append("<tran_id/>");
xmlBuff.append("<line_no><![CDATA["+ lineNo +"]]></line_no>"); xmlBuff.append("<line_no><![CDATA["+ lineNo +"]]></line_no>");
...@@ -2975,7 +2971,18 @@ public class CalculateCommission ...@@ -2975,7 +2971,18 @@ public class CalculateCommission
xmlBuff.append("<tax_class><![CDATA["+ taxClass +"]]></tax_class>"); xmlBuff.append("<tax_class><![CDATA["+ taxClass +"]]></tax_class>");
xmlBuff.append("<tax_chap><![CDATA["+ taxChap +"]]></tax_chap>"); xmlBuff.append("<tax_chap><![CDATA["+ taxChap +"]]></tax_chap>");
xmlBuff.append("<tax_env><![CDATA["+ taxEnv +"]]></tax_env>"); xmlBuff.append("<tax_env><![CDATA["+ taxEnv +"]]></tax_env>");
//xmlBuff.append("<acct_code><![CDATA["+ acctcodeExp +"]]></acct_code>");
//Changed by Poonam for both of method:Start
if("P".equalsIgnoreCase(commCalc))
{
acctcodeExp = finCommon.getFinparams("999999", "PROV_COMM_ACCT", conn);
xmlBuff.append("<acct_code><![CDATA["+ acctcodeExp +"]]></acct_code>");
}
else
{
xmlBuff.append("<acct_code><![CDATA["+ acctcodeExp +"]]></acct_code>"); xmlBuff.append("<acct_code><![CDATA["+ acctcodeExp +"]]></acct_code>");
}
//Changed by Poonam for both of method:End
xmlBuff.append("<cctr_code><![CDATA["+ cctrcodeExp +"]]></cctr_code>"); xmlBuff.append("<cctr_code><![CDATA["+ cctrcodeExp +"]]></cctr_code>");
if (jvExchrate == 0 ) if (jvExchrate == 0 )
{ {
...@@ -3086,7 +3093,7 @@ public class CalculateCommission ...@@ -3086,7 +3093,7 @@ public class CalculateCommission
if(expAmt!=0) //Added By Priyanka Das if(expAmt!=0) //Added By Priyanka Das
{ {
lineNo++; lineNo++;
xmlBuff.append("<Detail2 dbID='' domID=\"" + lineNo + "\" objName=\"drcrinv\" objContext=\"2\">"); xmlBuff.append("<Detail2 dbID='' domID=\"" + lineNo + "\" objName=\"drcrinv_calcmn\" objContext=\"2\">");
xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />"); xmlBuff.append("<attribute pkNames=\"\" selected=\"N\" updateFlag=\"A\" status=\"N\" />");
xmlBuff.append("<tran_id/>"); xmlBuff.append("<tran_id/>");
xmlBuff.append("<line_no><![CDATA["+ lineNo +"]]></line_no>"); xmlBuff.append("<line_no><![CDATA["+ lineNo +"]]></line_no>");
...@@ -3110,7 +3117,7 @@ public class CalculateCommission ...@@ -3110,7 +3117,7 @@ public class CalculateCommission
} }
} }
} }
System.out.println("End loop Size of crnList ["+crnList.size() + "]"); System.out.println("End loop Size of crnList 2 ["+crnList.size() + "]");
if( xmlBuff != null && (xmlBuff.toString()).length() > 0 ) if( xmlBuff != null && (xmlBuff.toString()).length() > 0 )
{ {
xmlBuff.append("</Header0>"); xmlBuff.append("</Header0>");
...@@ -3118,14 +3125,14 @@ public class CalculateCommission ...@@ -3118,14 +3125,14 @@ public class CalculateCommission
xmlBuff.append("</DocumentRoot>"); xmlBuff.append("</DocumentRoot>");
crnList.add(xmlBuff.toString()); crnList.add(xmlBuff.toString());
} }
System.out.println("After Size of crnList ["+crnList.size() + "]"); System.out.println("After Size of crnList2 ["+crnList.size() + "]");
siteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode"); siteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
DrCrInvConf drCrInvConf = new DrCrInvConf(); DrCrInvConf drCrInvConf = new DrCrInvConf();
for (int ctr = 0; ctr < crnList.size(); ctr++) for (int ctr = 0; ctr < crnList.size(); ctr++)
{ {
tranIdCrn = ""; tranIdCrn = "";
xmlString = (String) crnList.get(ctr); xmlString = (String) crnList.get(ctr);
System.out.println("saveDataCrn [" + ctr + "] xmlString ["+xmlString + "]"); System.out.println("saveDataCrn2 [" + ctr + "] xmlString ["+xmlString + "]");
errString = saveDataCrn(siteCode,xmlString,conn); errString = saveDataCrn(siteCode,xmlString,conn);
if((errString == null || errString.trim().length() ==0) && ("Y".equals(post)) ) if((errString == null || errString.trim().length() ==0) && ("Y".equals(post)) )
...@@ -3198,5 +3205,374 @@ public class CalculateCommission ...@@ -3198,5 +3205,374 @@ public class CalculateCommission
} }
return retString; return retString;
} }
//Added by Poonam Gole for new function :[07-06-2016] :Start
private String commJournal(String invno, String post,String calledFrom,String xtraParams , Connection conn) throws Exception
{
System.out.println("Inside commJournal......==>");
String errString = "" ,acctcodeProv = "",cctrcodeProv = "" ,acctcodeExp = "", cctrcodeExp = "" ,sql = "" ,keyStr = "" ,saleOrder = "",
refLineNo = "",invoiceId = "" , currCode= "" ,itemSer = "" , finEnt = "" , siteCode = "" ,itemCode = "" , salesPer= "" ,commPercOn = "",
sorderNo= "" ,currCodeSp = "" ,currcdSpOld = "" ,cctrCodeSal = "" ,oldInv = "" ,oldSp = "" ,currCodeBase = "",
idDate = "",remarks = "",xmlString = "" ,tranType= "", errCode = "";
String refSer = "JOUR";
String xmlValues = "";String tranId = "";
JvConfirm JvConf = null ;
double commPerc = 0.0,commPerc1 = 0.0, commPerc2 = 0.0 ,invAmt = 0.0 ,frtAmt = 0.0 ,exchRate = 0.0 , ordAmt = 0.0 , insuAmt = 0.0 , exchRateSp= 0.0 ,
crntExchrate = 0.0 , exchrateSp = 0.0 ,drcrAmt = 0.0 ,lcVal = 0.0 ,lcVal1 = 0.0, totAmt = 0.0 ,totAmount =0.0;
int lineNoInv = 0 , lineNo = 0;
java.sql.Timestamp tranDate = null,date = null,dueDate = null, effDate = null;
SimpleDateFormat sdf = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
HashMap commMap = new HashMap();
try
{
acctcodeProv = finCommon.getFinparams("999999", "PROV_COMM_ACCT", conn);
if("NULLFOUND".equalsIgnoreCase(acctcodeProv))
{
errString = itmDBAccessEJB.getErrorString("","VTFINPARM","","",conn);
return errString;
}
//ls_cctrcode_prov = mid(gf_getfinparm('999999','PROV_COMM_CCTR'),1,4)
cctrcodeProv = finCommon.getFinparams("999999", "PROV_COMM_CCTR", conn);
if("NULLFOUND".equalsIgnoreCase(cctrcodeProv))
{
errString = itmDBAccessEJB.getErrorString("","VTFINPARM","","",conn);
return errString;
}
acctcodeExp = finCommon.getFinparams("999999", "COMM_EXP_ACCT", conn);
if("NULLFOUND".equalsIgnoreCase(acctcodeExp))
{
errString = itmDBAccessEJB.getErrorString("","VTFINPARM","","",conn);
return errString;
}
cctrcodeExp = finCommon.getFinparams("999999", "COMM_EXP_CCTR", conn);
if("NULLFOUND".equalsIgnoreCase(cctrcodeExp))
{
errString = itmDBAccessEJB.getErrorString("","VTFINPARM","","",conn);
return errString;
}
tranType = finCommon.getFinparams("999999", "SALES_COMM_TRAN_TYPE", conn);
if("NULLFOUND".equalsIgnoreCase(tranType))
{
errString = itmDBAccessEJB.getErrorString("","VTFINPARM ","","",conn);
System.out.println("@@@@@2: retString:"+errString);
}
date = new java.sql.Timestamp(System.currentTimeMillis()) ;
sdf = new SimpleDateFormat(genericUtility.getDBDateFormat());
date = java.sql.Timestamp.valueOf(sdf.format(date) + " 00:00:00.000");
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
sql = "select key_string from transetup where upper(tran_window) = 'W_JOURNAL'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
{
keyStr = rs.getString(1);
}
else
{
sql = "select key_string from transetup where upper(tran_window) = 'GENERAL'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
{
keyStr = rs.getString(1);
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "select sale_order from invoice where invoice_id = ?" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, invno);
rs = pstmt.executeQuery();
if(rs.next())
{
saleOrder = rs.getString("sale_order");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "select comm_perc, comm_perc_1, comm_perc_2 from sorder where sale_order = ?" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, saleOrder);
rs = pstmt.executeQuery();
if(rs.next())
{
commPerc = rs.getDouble("comm_perc");
commPerc1 = rs.getDouble("comm_perc_1");
commPerc2 = rs.getDouble("comm_perc_2");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "select ref_line_no , invoice_id, inv_amt, frt_amt, item_ser, tran_date, eff_date, curr_code, exch_rate, fin_entity, site_code, line_no__inv, item_code, net_amt, " +
" quantity__stduom, rate__stduom, inv_disc, comm_frt, comm_insu, amt_inv, sales_pers, comm_perc__on, comm_perc, dlv_term, ord_amt, insu_amt, sorder_no, " +
" sline_no, curr_code_sp, exch_rate_sp, comm_amt from ( select 1 as ref_line_no,a.invoice_id, a.inv_amt inv_amt, a.frt_amt * d.exch_rate__frt / a.exch_rate frt_amt," +
" a.item_ser item_ser, a.tran_date tran_date, a.eff_date eff_date, a.curr_code curr_code, a.exch_rate exch_rate, a.fin_entity fin_entity, a.site_code site_code, " +
" b.line_no line_no__inv, b.item_code, b.net_amt, b.quantity__stduom, b.rate__stduom, b.discount inv_disc,(case when a.inv_amt = 0 then 0 else (b.quantity__stduom * b.rate__stduom - b.disc_amt) " +
" / a.inv_amt * a.frt_amt end) comm_frt, (case when d.ord_amt = 0 then 0 else (b.quantity__stduom * b.rate__stduom - b.disc_amt) / d.ord_amt * d.ins_amt end) comm_insu, " +
" b.quantity__stduom * b.rate__stduom - b.disc_amt amt_inv,b.sord_line_no sline_no, d.sales_pers sales_pers,(case when (case when d.comm_perc__on is null then ' ' " +
" else d.comm_perc__on end) = ' ' then c.comm_perc_on_1 else d.comm_perc__on end) comm_perc__on, (case when (case when c.comm_perc_1 is null then 0 else c.comm_perc_1 end)" +
" = 0 then (case when d.comm_perc is null then 0 else d.comm_perc end) else (case when c.comm_perc_1 is null then 0 else c.comm_perc_1 end) end) comm_perc," +
" d.dlv_term dlv_term, d.ord_amt ord_amt,d.ins_amt * d.exch_rate__ins / d.exch_rate__comm insu_amt, d.sale_order sorder_no, d.curr_code__comm curr_code_sp, d.exch_rate__comm exch_rate_sp, " +
" (case when b.sales_pers_comm_1 is null then 0 else b.sales_pers_comm_1 end) comm_amt from invoice a, invdet b, sorddet c, sorder d where a.invoice_id = b.invoice_id " +
" and b.sord_no = c.sale_order and b.sord_line_no = c.line_no and c.sale_order = d.sale_order and a.invoice_id = ? and (case when d.sales_pers is null then ' ' else d.sales_pers end) <> ' ' " +
" union all select 2 as ref_line_no, a.invoice_id, a.inv_amt inv_amt, a.frt_amt * d.exch_rate__frt / a.exch_rate frt_amt, a.item_ser item_ser, a.tran_date tran_date," +
" a.eff_date eff_date, a.curr_code curr_code, a.exch_rate exch_rate, a.fin_entity fin_entity, a.site_code site_code,b.line_no line_no__inv, b.item_code, b.net_amt, b.quantity__stduom, b.rate__stduom," +
" b.discount inv_disc, (case when a.inv_amt = 0 then 0 else (b.quantity__stduom * b.rate__stduom - b.disc_amt) / a.inv_amt * a.frt_amt end) comm_frt, " +
" (case when d.ord_amt = 0 then 0 else (b.quantity__stduom * b.rate__stduom - b.disc_amt) / d.ord_amt * d.ins_amt end) comm_insu, b.quantity__stduom * b.rate__stduom - b.disc_amt amt_inv," +
" b.sord_line_no sline_no, d.sales_pers__1 sales_pers, (case when (case when d.comm_perc_on_1 is null then ' ' else d.comm_perc_on_1 end) = ' ' then c.comm_perc_on_2 else d.comm_perc_on_1 end) " +
" comm_perc__on, (case when (case when c.comm_perc_2 is null then 0 else c.comm_perc_2 end) = 0 then (case when d.comm_perc_1 is null then 0 else d.comm_perc_1 end) else " +
" (case when c.comm_perc_2 is null then 0 else c.comm_perc_2 end) end) comm_perc,d.dlv_term dlv_term, d.ord_amt ord_amt, d.ins_amt * d.exch_rate__ins / d.exch_rate__comm_1 insu_amt," +
" d.sale_order sorder_no,d.curr_code__comm_1 curr_code_sp, d.exch_rate__comm_1 exch_rate_sp, (case when b.sales_pers_comm_2 is null then 0 else b.sales_pers_comm_2 end) comm_amt " +
" from invoice a, invdet b, sorddet c, sorder d where a.invoice_id = b.invoice_id and b.sord_no = c.sale_order and b.sord_line_no = c.line_no and c.sale_order = d.sale_order " +
" and a.invoice_id = ? and (case when d.sales_pers__1 is null then ' ' else d.sales_pers__1 end) <> ' ' union all select 3 as ref_line_no, a.invoice_id, a.inv_amt inv_amt, " +
" a.frt_amt * d.exch_rate__frt / a.exch_rate frt_amt , a.item_ser item_ser, a.tran_date tran_date, a.eff_date eff_date, a.curr_code curr_code, a.exch_rate exch_rate, a.fin_entity fin_entity, " +
" a.site_code site_code, b.line_no line_no__inv, b.item_code, b.net_amt, b.quantity__stduom, b.rate__stduom, b.discount inv_disc, (case when a.inv_amt = 0 then 0 else (b.quantity__stduom * b.rate__stduom - b.disc_amt)" +
" / a.inv_amt * a.frt_amt end) comm_frt, (case when d.ord_amt = 0 then 0 else (b.quantity__stduom * b.rate__stduom - b.disc_amt) / d.ord_amt * d.ins_amt end) comm_insu, " +
" b.quantity__stduom * b.rate__stduom - b.disc_amt amt_inv, b.sord_line_no sline_no, d.sales_pers__2 sales_pers, (case when (case when d.comm_perc_on_2 is null then ' ' else d.comm_perc_on_2 end) = ' ' " +
" then c.comm_perc_on_3 else d.comm_perc_on_2 end) comm_perc__on, (case when (case when c.comm_perc_3 is null then 0 else c.comm_perc_3 end) = 0 then (case when d.comm_perc_2 is null then 0 else d.comm_perc_2 end) else " +
" (case when c.comm_perc_3 is null then 0 else c.comm_perc_3 end) end) comm_perc, d.dlv_term dlv_term, d.ord_amt ord_amt,d.ins_amt * d.exch_rate__ins / d.exch_rate__comm_2 insu_amt , d.sale_order sorder_no, " +
" d.curr_code__comm_2 curr_code_sp, d.exch_rate__comm_2 exch_rate_sp, (case when b.sales_pers_comm_3 is null then 0 else b.sales_pers_comm_3 end) comm_amt from invoice a, invdet b, sorddet c, sorder d " +
" where a.invoice_id = b.invoice_id and b.sord_no = c.sale_order and b.sord_line_no = c.line_no and c.sale_order = d.sale_order and a.invoice_id = ? and (case when d.sales_pers__2 is null then ' ' else d.sales_pers__2 end) <> ' ' ) " +
" commtab where ((case when sales_pers is null then ' ' else sales_pers end) <> ' ') and ((case when comm_perc__on is null then ' ' else comm_perc__on end) <> ' ') and comm_amt > 0 order by invoice_id, sales_pers, comm_perc__on ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, invno);
pstmt.setString(2, invno);
pstmt.setString(3, invno);
rs = pstmt.executeQuery();
HashMap<String, HashMap> dataMap=new HashMap<String, HashMap>();
String mapKey="";
double totMapAmt=0;
while(rs.next())
{
//commMap=null;
commMap = new HashMap();
totMapAmt=0;
commMap.put("invoice_id" , rs.getString("invoice_id"));
commMap.put("ref_line_no" , rs.getString("ref_line_no"));
commMap.put("inv_amt" ,rs.getDouble("inv_amt"));
commMap.put("frt_amt" , rs.getDouble("frt_amt"));
commMap.put("item_ser" , rs.getString("item_ser"));
commMap.put("tran_date" , rs.getTimestamp("tran_date"));
commMap.put("eff_date" , rs.getTimestamp("eff_date"));
commMap.put("curr_code" , rs.getString("curr_code"));
commMap.put("exch_rate" , rs.getDouble("exch_rate"));
commMap.put("fin_entity" , rs.getString("fin_entity"));
commMap.put("site_code" , rs.getString("site_code"));
commMap.put("sales_pers" , rs.getString("sales_pers"));
commMap.put("comm_perc__on" , rs.getString("comm_perc__on"));
commMap.put("comm_perc" , rs.getDouble("comm_perc"));
commMap.put("dlv_term" , rs.getString("dlv_term"));
commMap.put("ord_amt" , rs.getDouble("ord_amt"));
commMap.put("insu_amt" ,rs.getDouble("insu_amt"));
commMap.put("sorder_no" , rs.getString("sorder_no"));
commMap.put("curr_code_sp" ,rs.getString("curr_code_sp"));
commMap.put("exch_rate_sp" , rs.getDouble("exch_rate_sp"));
commMap.put("comm_amt" , rs.getDouble("comm_amt"));
System.out.println("commMap.size() "+commMap);
mapKey=rs.getString("sales_pers")+"@"+rs.getString("curr_code_sp");
System.out.println("mapKey>>>>.. "+mapKey);
if(dataMap.containsKey(mapKey))
{
System.out.println("Inside if>>>>.. "+mapKey);
HashMap tmpMap=new HashMap();
tmpMap=dataMap.get(mapKey);
totMapAmt=Double.parseDouble((""+tmpMap.get("comm_amt")))+rs.getDouble("comm_amt");
tmpMap.put("comm_amt", totMapAmt);
dataMap.put(mapKey, tmpMap);
tmpMap=null;
}
else
{
System.out.println("Inside else>>>>.. "+mapKey);
dataMap.put(mapKey, commMap);
System.out.println("dataMap else>>>>.. "+dataMap+">>>"+dataMap.toString());
}
//commtList.add(commMap);
}
if(dataMap.size() > 0 )
{
Set<String> keySet=dataMap.keySet();
Iterator<String> itr=keySet.iterator();
while(itr.hasNext())
{
HashMap innerMap=new HashMap();
innerMap=dataMap.get(itr.next());
//refLineNo = (String) innerMap.get("ref_line_no");
invoiceId = (String) innerMap.get("invoice_id");
invAmt = (Double) innerMap.get("inv_amt");
//frtAmt = (Double) innerMap.get("frt_amt");
//itemSer = (String) innerMap.get("item_ser");
tranDate = (Timestamp) innerMap.get("tran_date");
effDate = (Timestamp) innerMap.get("eff_date") ;
currCode = (String) innerMap.get("curr_code");
exchRate = (Double) innerMap.get("exch_rate");
finEnt = (String) innerMap.get("fin_entity");
siteCode = (String) innerMap.get("site_code");
//lineNoInv = (Integer) innerMap.get("line_no__inv");
//itemCode = (String) innerMap.get("item_code");
salesPer = (String) innerMap.get("sales_pers");
sorderNo = (String) innerMap.get("sorder_no");
currCodeSp = (String) innerMap.get("curr_code_sp") ;
exchRateSp = (Double) innerMap.get("exch_rate_sp");
totAmount = (Double) innerMap.get("comm_amt");
System.out.println("currCodeSp"+currCodeSp+"exchRateSp"+exchRateSp+"salesPer"+salesPer+"itemCode"+itemCode+"sorderNo"+sorderNo);
System.out.println("totAmount......."+totAmount);
sql = "select curr_code from finent f, site s where where f.fin_entity = s.fin_entity and s.site_code = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, siteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
currCodeBase = rs.getString("curr_code");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "select cctr_code__sal from sorder where sale_order = ?" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sorderNo);
rs = pstmt.executeQuery();
if(rs.next())
{
cctrCodeSal = rs.getString("cctr_code__sal");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(cctrCodeSal == null || cctrCodeSal.trim().length() == 0)
{
cctrcodeExp = cctrcodeExp;
}
else
{
cctrcodeExp = cctrCodeSal ;
}
if(!currCode.equalsIgnoreCase(currCodeSp))
{
crntExchrate = finCommon.getDailyExchRateSellBuy(currCodeSp, currCodeBase, siteCode, idDate, "S", conn);
if( crntExchrate > 0)
{
exchrateSp = crntExchrate;
}
else
{
crntExchrate = exchrateSp ;
}
}
else
{
exchrateSp = exchRate ;
}
remarks = currCode.trim() + invAmt + "@" + exchRate + " " + "#" + invoiceId + " " + "#" + " " + "Autogenerated" ;
lineNo++;
TransIDGenerator tg = new TransIDGenerator(xmlValues, "SYSTEM", CommonConstants.DB_NAME);
tranId = tg.generateTranSeqID("JOUR", "tran_id", keyStr, conn);
System.out.println("-----------tranId------- " + tranId);
sql = " INSERT INTO JOURNAL (TRAN_ID, TRAN_DATE, TRAN_TYPE, EFF_DATE, FIN_ENTITY, CURR_CODE,EXCH_RATE, DR_AMT, CR_AMT,REMARKS,STATUS" +
" REVERSIBLE,AUTO_REV,REF_SER ,REF_NO,SITE_CODE)" +
" VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
pstmt.setTimestamp(2, tranDate);
pstmt.setString(3, tranType);
pstmt.setTimestamp(4, tranDate);
pstmt.setString(5, finEnt);
pstmt.setString(6, currCodeSp);
pstmt.setDouble(7, crntExchrate);
pstmt.setDouble(8, totAmt);
pstmt.setDouble(9, totAmt);
pstmt.setString(10, remarks);
pstmt.setString(11, "A");
pstmt.setString(12, "N");
pstmt.setString(13, "N");
pstmt.setString(14, refSer);
pstmt.setString(15, invoiceId);
pstmt.setString(16, siteCode);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
sql = " INSERT INTO JOURDET (TRAN_ID, LINE_NO, ACCT_CODE, CCTR_CODE, DRCR_FLAG, AMOUNT,SUNDRY_TYPE)" +
" VALUES (?,?,?,?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
pstmt.setInt(2, lineNo);
pstmt.setString(3, acctcodeProv);
pstmt.setString(4, cctrcodeProv);
pstmt.setString(5, "C");
pstmt.setDouble(6, totAmount);
pstmt.setString(7, "O");
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
sql = " INSERT INTO JOURDET (TRAN_ID, LINE_NO, ACCT_CODE, CCTR_CODE, DRCR_FLAG, AMOUNT,SUNDRY_TYPE)" +
" VALUES (?,?,?,?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
pstmt.setInt(2, lineNo);
pstmt.setString(3, acctcodeExp);
pstmt.setString(4, cctrcodeExp);
pstmt.setString(5, "D");
pstmt.setDouble(6, totAmount);
pstmt.setString(7, "O");
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
}
}
if((errString == null || errString.trim().length() ==0) && ("Y".equals(post)) )
{
System.out.println("-----------JvConfirm-errString------ ");
AppConnectParm appConnect = new AppConnectParm();
InitialContext ctx = new InitialContext(appConnect.getProperty());
JvConf = (JvConfirm)ctx.lookup("ibase/JvConfirm/local");
System.out.println("-----------JvConf------- " + JvConf);
errCode = JvConf.confirm(tranId,xtraParams,"");
errString = itmDBAccessEJB.getErrorString("",errCode,"","",conn);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
catch(Exception e)
{
System.out.println(e.getMessage());
System.out.println("Exception : "+e);
e.printStackTrace();
throw new ITMException(e);
}
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