Commit 70152e34 authored by prane's avatar prane

Remittance Form consideration in Ar Settlement process and R-JV should be...

Remittance Form consideration in Ar Settlement process and R-JV should be generate based on Remittnace form mapping

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@217295 ce508802-f39f-4f6c-b175-0d175dae99d5
parent d0a84f91
...@@ -9,7 +9,7 @@ import javax.ejb.*; ...@@ -9,7 +9,7 @@ import javax.ejb.*;
import org.w3c.dom.*; import org.w3c.dom.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import javax.xml.parsers.*; import javax.xml.parsers.*;
import java.util.HashMap;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.text.NumberFormat; import java.text.NumberFormat;
...@@ -216,7 +216,7 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -216,7 +216,7 @@ Put a validation chq amount in filter and total of details matches in case heade
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>");
StringBuffer subXmlStr = new StringBuffer("");
/*StringBuffer xmlBuffStr = new StringBuffer("<?xml version = \"1.0\"?>"); /*StringBuffer xmlBuffStr = new StringBuffer("<?xml version = \"1.0\"?>");
System.out.println("In GetViewData::["+windowName+"]"); System.out.println("In GetViewData::["+windowName+"]");
if("generate_receipt_process".equals(windowName)) if("generate_receipt_process".equals(windowName))
...@@ -269,7 +269,9 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -269,7 +269,9 @@ Put a validation chq amount in filter and total of details matches in case heade
Timestamp custRefDate= null; Timestamp custRefDate= null;
Timestamp dueDate = null; Timestamp dueDate = null;
Timestamp dueDateFR = null;// ADDED BY NANDKUMAR GADKARI ON 03/04/19 Timestamp dueDateFR = null;// ADDED BY NANDKUMAR GADKARI ON 03/04/19
String tranIdRcp = "";
BigDecimal chqAmt = new BigDecimal(0.0);
BigDecimal rcpAmt = new BigDecimal(0.0);
try try
{ {
...@@ -289,7 +291,7 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -289,7 +291,7 @@ Put a validation chq amount in filter and total of details matches in case heade
if(suggestRemit == null || suggestRemit.trim().length() == 0 || "null".equals(suggestRemit)) if(suggestRemit == null || suggestRemit.trim().length() == 0 || "null".equals(suggestRemit))
{ {
suggestRemit = "N"; suggestRemit = "N";
} }
//Pavan Rane 20FEB20 End [Advance Receipt Customization(remittance form consideration)] //Pavan Rane 20FEB20 End [Advance Receipt Customization(remittance form consideration)]
siteCode = genericUtility.getColumnValue("site_code",headerDom); siteCode = genericUtility.getColumnValue("site_code",headerDom);
System.out.println("siteCode------>"+ siteCode+"suggestAdj----->"+suggestAdj+"] suggestRemit--------->"+suggestRemit+"]"); System.out.println("siteCode------>"+ siteCode+"suggestAdj----->"+suggestAdj+"] suggestRemit--------->"+suggestRemit+"]");
...@@ -307,7 +309,8 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -307,7 +309,8 @@ Put a validation chq amount in filter and total of details matches in case heade
xmlBuffStr.append("<group0>"); xmlBuffStr.append("<group0>");
xmlBuffStr.append("<description>").append("Group0 description").append("</description>"); xmlBuffStr.append("<description>").append("Group0 description").append("</description>");
xmlBuffStr.append("<Header0>"); xmlBuffStr.append("<Header0>");
suggestAdj = "Y"; //If remiitance value null then not to perofrom auto suggestion
//suggestAdj = "Y";
} }
if(siteCode == null || siteCode.trim().length() == 0) if(siteCode == null || siteCode.trim().length() == 0)
...@@ -430,25 +433,33 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -430,25 +433,33 @@ Put a validation chq amount in filter and total of details matches in case heade
System.out.println("suggest_adj........["+suggestAdj+"]"); System.out.println("suggest_adj........["+suggestAdj+"]");
HashMap<String, ArrayList<ReceiptBean>> custGrpMap = new HashMap<String, ArrayList<ReceiptBean>>(); HashMap<String, ArrayList<ReceiptBean>> custGrpMap = new HashMap<String, ArrayList<ReceiptBean>>();
HashMap<String, HashMap<String, ArrayList<RemittBean>>> custRemittMap = new HashMap<String, HashMap<String, ArrayList<RemittBean>>>();
//ArrayList<ReceiptBean> selectedList = null; //ArrayList<ReceiptBean> selectedList = null;
try try
{ {
//Pavan Rane 20FEB20 Start [Advance Receipt Customization(remittance form consideration)] //Pavan Rane 20FEB20 Start [Advance Receipt Customization(remittance form consideration)]
if( "Y".equals(suggestRemit)) if( "Y".equals(suggestRemit))
{ {
suggestAdj = "Y"; /**
sql = "SELECT A.TRAN_ID__RCP,B.REF_NO, A.CUST_CODE, A.CHQ_AMT, B.RCP_AMT, C.GROUP_CODE" * Map is used to maintain remittance form detail of invoice from receivales
+ " FROM RECEIPT_FORM A, RCPDET_FORM B, CUSTOMER C" * HashMap<tran_id__rcp, ArrayList<ReceiptBean>> advancedMap;
+ " WHERE A.TRAN_ID = B.TRAN_ID" * */
+ " AND A.CUST_CODE = C.CUST_CODE" HashMap<String, ArrayList<ReceiptBean>> advancedMap = new HashMap<String, ArrayList<ReceiptBean>>();
+ " AND B.ADJ_METHOD='M'" sql = "SELECT A.TRAN_ID__RCP, A.CHQ_AMT, B.RCP_AMT, D.REF_NO,D.TRAN_SER,D.REF_DATE,D.TOT_AMT - D.ADJ_AMT AS BAL_AMT,C.CUST_NAME, ' ' BANK_CODE,D.TRAN_DATE,' ' AS CHEQUE_NO,0.0 CHQ_AMOUNT,C.CUST_CODE, D.CUST_REF_NO,D.REAS_CODE,D.REAS_DETAIL,D.CUST_REF_DATE,D.ADJ_AMT,D.CUST_REF_AMT,D.DUE_DATE,D.TOT_AMT, C.GROUP_CODE"
+ " AND A.SITE_CODE= ?" + " FROM RECEIPT_FORM A, RCPDET_FORM B, CUSTOMER C , RECEIVABLES D"
+ " AND A.TRAN_ID__RCP IS NOT NULL " + " WHERE A.TRAN_ID = B.TRAN_ID"
+ " AND A.TRAN_ID__ADJ IS NULL " + " AND D.REF_NO = B.REF_NO"
+ " AND A.CUST_CODE IN (SELECT CUST_CODE FROM CUSTOMER WHERE GROUP_CODE IN ( SELECT DISTINCT GROUP_CODE FROM CUSTOMER WHERE GROUP_CODE >= ? AND GROUP_CODE <= ? ) )" + " AND A.CUST_CODE = D.CUST_CODE "
+ " AND A.TRAN_DATE >= ? AND A.TRAN_DATE <= ?" + " AND C.CUST_CODE = D.CUST_CODE "
+ " ORDER BY A.TRAN_DATE"; + " AND D.TOT_AMT - D.ADJ_AMT <> 0"
+ " AND A.SITE_CODE= D.SITE_CODE"
+ " AND A.SITE_CODE= ?"
+ " AND B.ADJ_METHOD='M' "
+ " AND A.TRAN_ID__RCP IS NOT NULL "
+ " AND A.TRAN_ID__ADJ IS NULL "
+ " AND A.CUST_CODE IN (SELECT CUST_CODE FROM CUSTOMER WHERE GROUP_CODE IN ( SELECT DISTINCT GROUP_CODE FROM CUSTOMER WHERE GROUP_CODE >= ? AND GROUP_CODE <= ? ) )"
+ " AND A.TRAN_DATE >= ? AND A.TRAN_DATE <= ?"
+ " ORDER BY A.TRAN_DATE";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode.trim()); pstmt.setString(1,siteCode.trim());
pstmt.setString(2,custCodeFrom.trim()); pstmt.setString(2,custCodeFrom.trim());
...@@ -457,121 +468,39 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -457,121 +468,39 @@ Put a validation chq amount in filter and total of details matches in case heade
pstmt.setTimestamp(5,dueDateTo); pstmt.setTimestamp(5,dueDateTo);
//System.out.println("The getDataSQL Becomes ......:"+sql); //System.out.println("The getDataSQL Becomes ......:"+sql);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
int tCnt= 1;
while (rs.next()) while (rs.next())
{ {
System.out.println("inside while..................."); //Populate Remittamce Form detail data(Invoices detail from receivables)
String tranIdRcp = checkNull(rs.getString("TRAN_ID__RCP")); ArrayList<ReceiptBean> invList = new ArrayList<ReceiptBean>();
int recCount = checkAdvancedDishnor(tranIdRcp, conn); tranIdRcp = rs.getString("TRAN_ID__RCP");
System.out.println("check rcpdishnor["+tranIdRcp+"] recCount["+recCount+"]"); chqAmt = new BigDecimal(rs.getDouble("CHQ_AMT"));
if(recCount > 0) rcpAmt = new BigDecimal(rs.getDouble("RCP_AMT"));
{
System.out.println("continue............Advanced Dishnored["+tranIdRcp+"]"); invoiceId = checkNull(rs.getString("REF_NO"));
continue; tranSer = checkNull(rs.getString("TRAN_SER"));
} custRefNo = checkNull(rs.getString("CUST_REF_NO"));
String refNo = checkNull(rs.getString("REF_NO")); tranDate = rs.getTimestamp("REF_DATE");
//String custCode = rs.getString("CUST_CODE"); totAmt = new BigDecimal(rs.getDouble("TOT_AMT"));
double chqAmt = rs.getDouble("CHQ_AMT"); balAmt = new BigDecimal(rs.getDouble("BAL_AMT"));
double rcpAmt = rs.getDouble("RCP_AMT"); adjAmt = new BigDecimal(rs.getDouble("BAL_AMT"));
groupCode = checkNull(rs.getString("GROUP_CODE")); adjustedAmt = new BigDecimal(rs.getDouble("ADJ_AMT"));
System.out.println("Invoice["+refNo+"] Advanced["+tranIdRcp+"] AdvAmt["+chqAmt+"] invAmt["+rcpAmt+"]"); invAmt = new BigDecimal(rs.getDouble("BAL_AMT"));
RemittBean remittBean = new RemittBean(); reasCode = checkNull(rs.getString("REAS_CODE"));
remittBean.setRcpAmount(new BigDecimal(rs.getDouble("CHQ_AMT"))); custName = checkNull(rs.getString("CUST_NAME"));
remittBean.setRefAmt(new BigDecimal(rs.getDouble("RCP_AMT"))); custCode = checkNull(rs.getString("CUST_CODE"));
remittBean.setRefNo(refNo); bankCode = checkNull(rs.getString("BANK_CODE"));
remittBean.setTranIdRcp(tranIdRcp); chequeDate = rs.getTimestamp("TRAN_DATE");
//System.out.println("(!custRemittMap.containsKey(groupCode))["+(!custRemittMap.containsKey(groupCode))+"]"); chequeNo = checkNull(rs.getString("CHEQUE_NO"));
if (!custRemittMap.containsKey(groupCode)) chqAmount = new BigDecimal(rs.getDouble("CHQ_AMOUNT"));
{ custRefDate= rs.getTimestamp("CUST_REF_DATE");
System.out.println("groupCode not matched"); dueDate = rs.getTimestamp("DUE_DATE");
HashMap<String, ArrayList<RemittBean>> advMap = new HashMap<String, ArrayList<RemittBean>>(); reasDetail = checkNull(rs.getString("REAS_DETAIL"));
ArrayList<RemittBean> tempList = new ArrayList<RemittBean>(); custRefAmt = new BigDecimal(rs.getDouble("CUST_REF_AMT"));
tempList.add(remittBean); groupCode = checkNull(rs.getString("GROUP_CODE"));
advMap.put(tranIdRcp, tempList); adjAmt = rcpAmt;
custRemittMap.put(groupCode, advMap);
} ReceiptBean rcpBean = new ReceiptBean();
else {
System.out.println("else...........1.0");
if(custRemittMap.containsKey(groupCode))
{
System.out.println("else...........1.1");
HashMap<String, ArrayList<RemittBean>> advMaptmp = custRemittMap.get(groupCode);
if (!advMaptmp.containsKey(tranIdRcp))
{
System.out.println("else...........1.2");
ArrayList<RemittBean> tempList = new ArrayList<RemittBean>();
tempList.add(remittBean);
advMaptmp.put(tranIdRcp, tempList);
}
else {
System.out.println("else...........1.3");
ArrayList<RemittBean> tempList = advMaptmp.get(tranIdRcp);
tempList.add(remittBean);
advMaptmp.put(tranIdRcp, tempList);
}
custRemittMap.put(groupCode, advMaptmp);
}
}
//advMap.clear();
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("custRemittMap.size()>>["+custRemittMap.size()+"] custRemittMap>>"+custRemittMap+"]\n\n\n\n");
}//Enf of if( "Y".equals(suggestRemit))
//Pavan Rane 20FEB20 End [Advance Receipt Customization(remittance form consideration)]
//*********Added on 28092006
sql = "SELECT D.REF_NO,D.TRAN_SER,D.REF_DATE,D.TOT_AMT - D.ADJ_AMT ,C.CUST_NAME ,"
+ "' ' BANK_CODE,D.TRAN_DATE,' ' AS CHEQUE_NO,0.0 CHQ_AMOUNT,C.CUST_CODE, " // ADDED BY RAJESH AS ALIAS IS NOT REQUIRED FOR BANK_CODE
+ " D.CUST_REF_NO,D.REAS_CODE,D.REAS_DETAIL,D.CUST_REF_DATE,D.ADJ_AMT,D.CUST_REF_AMT,D.DUE_DATE,D.TOT_AMT, C.GROUP_CODE " // ADDED BY RAJESH AS ALIAS IS NOT REQUIRED FOR BANK_CODE
+ "FROM CUSTOMER C, RECEIVABLES D "
+ "WHERE C.CUST_CODE = D.CUST_CODE "
+ "AND D.TOT_AMT - D.ADJ_AMT <> 0 "
+ "AND D.SITE_CODE = ? " //'"+siteCode.trim()+"' "
+" and C.cust_code in (select cust_code from customer where group_code in ( select distinct group_code from customer where group_code >= ? and group_code <= ? ) ) "
+ "AND ((D.TRAN_DATE >= ? "
+ "AND D.TRAN_DATE <= ? ) OR (D.TRAN_DATE IS NULL)) "
+ "ORDER BY D.TRAN_DATE ";
//Commented by Manoj dtd 03/05/2014writeLog(filePtr,"GetData 2nd Sql :::."+ sql,true);
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode.trim());
pstmt.setString(2,custCodeFrom.trim());
pstmt.setString(3,custCodeTo.trim());
pstmt.setTimestamp(4,dueDate);
pstmt.setTimestamp(5,dueDateTo);
System.out.println("The getDataSQL Becomes ......:"+sql);
rs = pstmt.executeQuery();
while (rs.next())
{
invoiceId = rs.getString("REF_NO")==null?" ":rs.getString("REF_NO");
invoiceId = checkNull(rs.getString("REF_NO"));
tranSer = checkNull(rs.getString("TRAN_SER"));
custRefNo = checkNull(rs.getString("CUST_REF_NO"));
tranDate = rs.getTimestamp("REF_DATE");
totAmt = new BigDecimal(rs.getDouble("TOT_AMT"));//rs.getDouble("TOT_AMT");
balAmt = new BigDecimal(rs.getDouble(4));//rs.getDouble(4);
adjAmt = new BigDecimal(rs.getDouble(4));//rs.getDouble(4);
adjustedAmt = new BigDecimal(rs.getDouble("ADJ_AMT"));//rs.getDouble("ADJ_AMT");
invAmt = new BigDecimal(rs.getDouble(4));//rs.getDouble(4);
reasCode = checkNull(rs.getString("REAS_CODE"));
custName = checkNull(rs.getString("CUST_NAME"));
custCode = checkNull(rs.getString("CUST_CODE"));
bankCode = checkNull(rs.getString("BANK_CODE"));
chequeDate = rs.getTimestamp("TRAN_DATE");
chequeNo = checkNull(rs.getString("CHEQUE_NO"));
chqAmount = new BigDecimal(rs.getDouble("CHQ_AMOUNT"));//rs.getDouble("CHQ_AMOUNT");
custRefDate= rs.getTimestamp("CUST_REF_DATE");
dueDate = rs.getTimestamp("DUE_DATE");
reasDetail = checkNull(rs.getString("REAS_DETAIL"));
custRefAmt = new BigDecimal(rs.getDouble("CUST_REF_AMT"));//rs.getDouble("CUST_REF_AMT");
//Added by Pavan R on 24MAY18 [F18BGTP001]- "Suggest adjustments" in Automatic AR settlement filter screen.
groupCode = checkNull(rs.getString("GROUP_CODE"));
//System.out.println("~~~GroupCode["+groupCode+"]");
if("Y".equalsIgnoreCase(suggestAdj))
{
ArrayList<ReceiptBean> custList = new ArrayList<ReceiptBean>();
ReceiptBean rcpBean = new ReceiptBean();
rcpBean.setInvoiceId(invoiceId); rcpBean.setInvoiceId(invoiceId);
rcpBean.setTranSer(tranSer); rcpBean.setTranSer(tranSer);
rcpBean.setCustRefNo(custRefNo); rcpBean.setCustRefNo(custRefNo);
...@@ -592,100 +521,311 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -592,100 +521,311 @@ Put a validation chq amount in filter and total of details matches in case heade
rcpBean.setDueDate(dueDate); rcpBean.setDueDate(dueDate);
rcpBean.setReasDetail(reasDetail); rcpBean.setReasDetail(reasDetail);
rcpBean.setCustRefAmt(custRefAmt); rcpBean.setCustRefAmt(custRefAmt);
rcpBean.setTranIdRcp(tranIdRcp);
if (!custGrpMap.containsKey(groupCode)) System.out.println("tranIdRcp["+tranIdRcp+"]"+tCnt+"] advancedMap Size>>"+advancedMap.size());
{ custList.add(rcpBean); tCnt++;
custGrpMap.put(groupCode, custList); if (!advancedMap.containsKey(tranIdRcp))
{ invList.add(rcpBean);
advancedMap.put(tranIdRcp, invList);
} }
else { else {
if(custGrpMap.containsKey(groupCode)) if(advancedMap.containsKey(tranIdRcp))
{ {
ArrayList<ReceiptBean> tempList = new ArrayList<ReceiptBean>(); ArrayList<ReceiptBean> tempList = new ArrayList<ReceiptBean>();
tempList = custGrpMap.get(groupCode); tempList = advancedMap.get(tranIdRcp);
tempList.add(rcpBean); tempList.add(rcpBean);
custGrpMap.put(groupCode, tempList); advancedMap.put(tranIdRcp, tempList);
//System.out.println(">>>>tempList.size()["+tempList.size()+"]"); //System.out.println(">>>>advancedMap.size()["+tempList.size()+"]");
} }
}
}//Pavan R on 24MAY18 End
else
{
retTabSepStrBuff.append("<Detail2>");
retTabSepStrBuff.append("<tran_ser>").append("<![CDATA[" + tranSer +"]]>").append("</tran_ser>");
retTabSepStrBuff.append("<invoice_id>").append("<![CDATA[" + invoiceId +"]]>").append("</invoice_id>");
if (custRefNo == null || custRefNo.trim().length() == 0)
{
retTabSepStrBuff.append("<cust_ref_no>").append("<![CDATA[]]>").append("</cust_ref_no>");
}else{
retTabSepStrBuff.append("<cust_ref_no>").append("<![CDATA[" + custRefNo +"]]>").append("</cust_ref_no>");
} }
if(tranDate == null) }
{ rs.close();
retTabSepStrBuff.append("<tran_date>").append("<![CDATA[]]>").append("</tran_date>"); rs = null;
}else{ pstmt.close();
System.out.println(sdf.format(rs.getTimestamp(3))); pstmt = null;
retTabSepStrBuff.append("<tran_date>").append("<![CDATA[" +sdf.format(tranDate) +"]]>").append("</tran_date>"); System.out.println("advancedMap["+advancedMap.size()+"]");
} if(advancedMap.size() > 0)
retTabSepStrBuff.append("<tot_amt>").append("<![CDATA["+ rounded(totAmt,3) +"]]>").append("</tot_amt>"); {
retTabSepStrBuff.append("<bal_amt>").append("<![CDATA[" +rounded(balAmt,3) +"]]>").append("</bal_amt>"); int gCnt1 = 1;
retTabSepStrBuff.append("<adj_amt>").append("<![CDATA[" + rounded(adjAmt,3) +"]]>").append("</adj_amt>"); for (Map.Entry<String, ArrayList<ReceiptBean>> entry : advancedMap.entrySet())
retTabSepStrBuff.append("<adjusted_amt>").append("<![CDATA["+ rounded(adjustedAmt,3) +"]]>").append("</adjusted_amt>");
retTabSepStrBuff.append("<inv_amt>").append("<![CDATA[" + rounded(invAmt,3) +"]]>").append("</inv_amt>");
if ( reasCode == null || reasCode.trim().length() == 0)
{
retTabSepStrBuff.append("<reas_code>").append("<![CDATA[]]>").append("</reas_code>");
}else{
retTabSepStrBuff.append("<reas_code>").append("<![CDATA["+reasCode+"]]>").append("</reas_code>");
}
retTabSepStrBuff.append("<cust_name>").append("<![CDATA[" + custName +"]]>").append("</cust_name>");
retTabSepStrBuff.append("<cust_code>").append("<![CDATA["+ custCode+"]]>").append("</cust_code>");
retTabSepStrBuff.append("<bank_code>").append("<![CDATA["+bankCode+"]]>").append("</bank_code>");
if(chequeDate == null)
{
retTabSepStrBuff.append("<cheque_date>").append("<![CDATA["+sdf.format(currDate)+"]]>").append("</cheque_date>");
}else{
retTabSepStrBuff.append("<cheque_date>").append("<![CDATA["+sdf.format(chequeDate)+"]]>").append("</cheque_date>");
}
if(chequeNo==null || chequeNo.trim().length() == 0)
{
retTabSepStrBuff.append("<cheque_no>").append("<![CDATA[" +filterChqNo +"]]>").append("</cheque_no>");
}else{
retTabSepStrBuff.append("<cheque_no>").append("<![CDATA[" +(chequeNo==null?" ":chequeNo.trim()) +"]]>").append("</cheque_no>");
}
retTabSepStrBuff.append("<chq_amount>").append("<![CDATA["+rounded(chqAmount,3)+"]]>").append("</chq_amount>");
if(custRefDate == null)
{
retTabSepStrBuff.append("<cust_ref_date>").append("<![CDATA[]]>").append("</cust_ref_date>");
}else {
retTabSepStrBuff.append("<cust_ref_date>").append("<![CDATA["+sdf.format(custRefDate)+"]]>").append("</cust_ref_date>");
}
if(dueDate == null)
{ {
retTabSepStrBuff.append("<due_date>").append("<![CDATA[]]>").append("</due_date>"); tranIdRcp = entry.getKey();
}else{ ArrayList<ReceiptBean> invList = entry.getValue();
retTabSepStrBuff.append("<due_date>").append("<![CDATA[" +sdf.format(dueDate) +"]]>").append("</due_date>"); System.out.println("tranIdRcp::["+tranIdRcp+"]invList["+invList.size()+"]");
int recCount = checkAdvancedDishnor(tranIdRcp, conn);
System.out.println("check rcpdishnor["+tranIdRcp+"] recCount["+recCount+"]");
if(recCount > 0)
{
System.out.println("continue............next TranIdRcp Dishnored["+tranIdRcp+"]");
continue;
}
/**Populate Advanced(Train_id__Rcp) details from receivables and prepare xml with list invoice details*/
sql = "SELECT D.REF_NO,D.TRAN_SER,D.REF_DATE,D.TOT_AMT - D.ADJ_AMT AS BAL_AMT,C.CUST_NAME ,"
+ "' ' BANK_CODE,D.TRAN_DATE,' ' AS CHEQUE_NO,0.0 CHQ_AMOUNT,C.CUST_CODE, "
+ " D.CUST_REF_NO,D.REAS_CODE,D.REAS_DETAIL,D.CUST_REF_DATE,D.ADJ_AMT,D.CUST_REF_AMT,D.DUE_DATE,D.TOT_AMT, C.GROUP_CODE "
+ "FROM CUSTOMER C, RECEIVABLES D "
+ "WHERE C.CUST_CODE = D.CUST_CODE "
+ "AND D.TOT_AMT - D.ADJ_AMT <> 0 "
+ "AND D.SITE_CODE = ? "
+ "AND D.REF_NO = ? ";
/* +" and C.cust_code in (select cust_code from customer where group_code in ( select distinct group_code from customer where group_code >= ? and group_code <= ? ) ) "
+ "AND ((D.TRAN_DATE >= ? "
+ "AND D.TRAN_DATE <= ? ) OR (D.TRAN_DATE IS NULL)) "
+ "ORDER BY D.TRAN_DATE "; */
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode.trim());
pstmt.setString(2,tranIdRcp.trim());
//pstmt.setString(2,custCodeFrom.trim());
//pstmt.setString(3,custCodeTo.trim());
//pstmt.setTimestamp(4,dueDate);
//pstmt.setTimestamp(5,dueDateTo);
//System.out.println("The getDataSQL Becomes ......:"+sql);
rs = pstmt.executeQuery();
if (rs.next())
{
invoiceId = checkNull(rs.getString("REF_NO"));
tranSer = checkNull(rs.getString("TRAN_SER"));
custRefNo = checkNull(rs.getString("CUST_REF_NO"));
tranDate = rs.getTimestamp("REF_DATE");
totAmt = new BigDecimal(rs.getDouble("TOT_AMT"));
balAmt = new BigDecimal(rs.getDouble("BAL_AMT"));
adjAmt = new BigDecimal(rs.getDouble("BAL_AMT"));
adjustedAmt = new BigDecimal(rs.getDouble("ADJ_AMT"));
invAmt = new BigDecimal(rs.getDouble("BAL_AMT"));
reasCode = checkNull(rs.getString("REAS_CODE"));
custName = checkNull(rs.getString("CUST_NAME"));
custCode = checkNull(rs.getString("CUST_CODE"));
bankCode = checkNull(rs.getString("BANK_CODE"));
chequeDate = rs.getTimestamp("TRAN_DATE");
chequeNo = checkNull(rs.getString("CHEQUE_NO"));
chqAmount = new BigDecimal(rs.getDouble("CHQ_AMOUNT"));
custRefDate= rs.getTimestamp("CUST_REF_DATE");
dueDate = rs.getTimestamp("DUE_DATE");
reasDetail = checkNull(rs.getString("REAS_DETAIL"));
custRefAmt = new BigDecimal(rs.getDouble("CUST_REF_AMT"));
groupCode = checkNull(rs.getString("GROUP_CODE"));
//to added remittance invoice amount for adjustment
adjAmt = chqAmt.subtract(rcpAmt);
ReceiptBean rcpBean = new ReceiptBean();
rcpBean.setInvoiceId(invoiceId);
rcpBean.setTranSer(tranSer);
rcpBean.setCustRefNo(custRefNo);
rcpBean.setTranDate(tranDate);
rcpBean.setTotAmt(totAmt);
rcpBean.setBalAmt(balAmt);
rcpBean.setAdjAmt(adjAmt);
rcpBean.setAdjustedAmt(adjustedAmt);
rcpBean.setInvAmt(invAmt);
rcpBean.setReasCode(reasCode);
rcpBean.setCustName(custName);
rcpBean.setCustCode(custCode);
rcpBean.setBankCode(bankCode);
rcpBean.setChequeDate(chequeDate);
rcpBean.setChequeNo(chequeNo);
rcpBean.setChqAmount(chqAmount);
rcpBean.setCustRefDate(custRefDate);
rcpBean.setDueDate(dueDate);
rcpBean.setReasDetail(reasDetail);
rcpBean.setCustRefAmt(custRefAmt);
rcpBean.setTranIdRcp(tranIdRcp);
StringBuffer detXml = new StringBuffer();
if(invList.size() > 0)
{
BigDecimal totRemitAdvance = new BigDecimal(0.0);
//invoice detail to append xml
for(ReceiptBean rcpBeanInv :invList)
{
detXml.append(generateXmls(headerDom, gCnt1, "Y", rcpBeanInv));
totRemitAdvance = totRemitAdvance.add(rcpBeanInv.getAdjAmt());
gCnt1 ++;
}
//to set remittance form hder chk amount in advanced for adjustment
rcpBean.setAdjAmt(totRemitAdvance.negate());
//advanced to append xml above invoice
xmlBuff.append(generateXmls(headerDom, gCnt1+1, "Y", rcpBean));
xmlBuff.append(detXml);
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
} }
if (reasDetail == null || reasDetail.trim().length() == 0) }
}//Enf of if( "Y".equals(suggestRemit))
else
{
//*********Added on 28092006
sql = "SELECT D.REF_NO,D.TRAN_SER,D.REF_DATE,D.TOT_AMT - D.ADJ_AMT ,C.CUST_NAME ,"
+ "' ' BANK_CODE,D.TRAN_DATE,' ' AS CHEQUE_NO,0.0 CHQ_AMOUNT,C.CUST_CODE, " // ADDED BY RAJESH AS ALIAS IS NOT REQUIRED FOR BANK_CODE
+ " D.CUST_REF_NO,D.REAS_CODE,D.REAS_DETAIL,D.CUST_REF_DATE,D.ADJ_AMT,D.CUST_REF_AMT,D.DUE_DATE,D.TOT_AMT, C.GROUP_CODE " // ADDED BY RAJESH AS ALIAS IS NOT REQUIRED FOR BANK_CODE
+ "FROM CUSTOMER C, RECEIVABLES D "
+ "WHERE C.CUST_CODE = D.CUST_CODE "
+ "AND D.TOT_AMT - D.ADJ_AMT <> 0 "
+ "AND D.SITE_CODE = ? " //'"+siteCode.trim()+"' "
+" and C.cust_code in (select cust_code from customer where group_code in ( select distinct group_code from customer where group_code >= ? and group_code <= ? ) ) "
+ "AND ((D.TRAN_DATE >= ? "
+ "AND D.TRAN_DATE <= ? ) OR (D.TRAN_DATE IS NULL)) "
+ "ORDER BY D.TRAN_DATE ";
//Commented by Manoj dtd 03/05/2014writeLog(filePtr,"GetData 2nd Sql :::."+ sql,true);
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,siteCode.trim());
pstmt.setString(2,custCodeFrom.trim());
pstmt.setString(3,custCodeTo.trim());
pstmt.setTimestamp(4,dueDate);
pstmt.setTimestamp(5,dueDateTo);
System.out.println("The getDataSQL Becomes ......:"+sql);
rs = pstmt.executeQuery();
while (rs.next())
{
invoiceId = rs.getString("REF_NO")==null?" ":rs.getString("REF_NO");
invoiceId = checkNull(rs.getString("REF_NO"));
tranSer = checkNull(rs.getString("TRAN_SER"));
custRefNo = checkNull(rs.getString("CUST_REF_NO"));
tranDate = rs.getTimestamp("REF_DATE");
totAmt = new BigDecimal(rs.getDouble("TOT_AMT"));//rs.getDouble("TOT_AMT");
balAmt = new BigDecimal(rs.getDouble(4));//rs.getDouble(4);
adjAmt = new BigDecimal(rs.getDouble(4));//rs.getDouble(4);
adjustedAmt = new BigDecimal(rs.getDouble("ADJ_AMT"));//rs.getDouble("ADJ_AMT");
invAmt = new BigDecimal(rs.getDouble(4));//rs.getDouble(4);
reasCode = checkNull(rs.getString("REAS_CODE"));
custName = checkNull(rs.getString("CUST_NAME"));
custCode = checkNull(rs.getString("CUST_CODE"));
bankCode = checkNull(rs.getString("BANK_CODE"));
chequeDate = rs.getTimestamp("TRAN_DATE");
chequeNo = checkNull(rs.getString("CHEQUE_NO"));
chqAmount = new BigDecimal(rs.getDouble("CHQ_AMOUNT"));//rs.getDouble("CHQ_AMOUNT");
custRefDate= rs.getTimestamp("CUST_REF_DATE");
dueDate = rs.getTimestamp("DUE_DATE");
reasDetail = checkNull(rs.getString("REAS_DETAIL"));
custRefAmt = new BigDecimal(rs.getDouble("CUST_REF_AMT"));//rs.getDouble("CUST_REF_AMT");
//Added by Pavan R on 24MAY18 [F18BGTP001]- "Suggest adjustments" in Automatic AR settlement filter screen.
groupCode = checkNull(rs.getString("GROUP_CODE"));
//System.out.println("~~~GroupCode["+groupCode+"]");
if("Y".equalsIgnoreCase(suggestAdj))
{
ArrayList<ReceiptBean> custList = new ArrayList<ReceiptBean>();
ReceiptBean rcpBean = new ReceiptBean();
rcpBean.setInvoiceId(invoiceId);
rcpBean.setTranSer(tranSer);
rcpBean.setCustRefNo(custRefNo);
rcpBean.setTranDate(tranDate);
rcpBean.setTotAmt(totAmt);
rcpBean.setBalAmt(balAmt);
rcpBean.setAdjAmt(adjAmt);
rcpBean.setAdjustedAmt(adjustedAmt);
rcpBean.setInvAmt(invAmt);
rcpBean.setReasCode(reasCode);
rcpBean.setCustName(custName);
rcpBean.setCustCode(custCode);
rcpBean.setBankCode(bankCode);
rcpBean.setChequeDate(chequeDate);
rcpBean.setChequeNo(chequeNo);
rcpBean.setChqAmount(chqAmount);
rcpBean.setCustRefDate(custRefDate);
rcpBean.setDueDate(dueDate);
rcpBean.setReasDetail(reasDetail);
rcpBean.setCustRefAmt(custRefAmt);
rcpBean.setTranIdRcp("");
if (!custGrpMap.containsKey(groupCode))
{ custList.add(rcpBean);
custGrpMap.put(groupCode, custList);
}
else {
if(custGrpMap.containsKey(groupCode))
{
ArrayList<ReceiptBean> tempList = new ArrayList<ReceiptBean>();
tempList = custGrpMap.get(groupCode);
tempList.add(rcpBean);
custGrpMap.put(groupCode, tempList);
//System.out.println(">>>>tempList.size()["+tempList.size()+"]");
}
}
}//Pavan R on 24MAY18 End
else
{ {
retTabSepStrBuff.append("<reas_detail>").append("<![CDATA[]]>").append("</reas_detail>"); retTabSepStrBuff.append("<Detail2>");
}else{ retTabSepStrBuff.append("<tran_ser>").append("<![CDATA[" + tranSer +"]]>").append("</tran_ser>");
retTabSepStrBuff.append("<reas_detail>").append("<![CDATA["+ reasDetail +"]]>").append("</reas_detail>"); retTabSepStrBuff.append("<invoice_id>").append("<![CDATA[" + invoiceId +"]]>").append("</invoice_id>");
} if (custRefNo == null || custRefNo.trim().length() == 0)
retTabSepStrBuff.append("<cust_ref_amt>").append("<![CDATA["+ rounded(custRefAmt,3) +"]]>").append("</cust_ref_amt>"); {
retTabSepStrBuff.append("<remarks>").append("<![CDATA["+remarks+"]]>").append("</remarks>"); retTabSepStrBuff.append("<cust_ref_no>").append("<![CDATA[]]>").append("</cust_ref_no>");
retTabSepStrBuff.append("</Detail2>"); }else{
retTabSepStrBuff.append("<cust_ref_no>").append("<![CDATA[" + custRefNo +"]]>").append("</cust_ref_no>");
}
if(tranDate == null)
{
retTabSepStrBuff.append("<tran_date>").append("<![CDATA[]]>").append("</tran_date>");
}else{
System.out.println(sdf.format(rs.getTimestamp(3)));
retTabSepStrBuff.append("<tran_date>").append("<![CDATA[" +sdf.format(tranDate) +"]]>").append("</tran_date>");
}
retTabSepStrBuff.append("<tot_amt>").append("<![CDATA["+ rounded(totAmt,3) +"]]>").append("</tot_amt>");
retTabSepStrBuff.append("<bal_amt>").append("<![CDATA[" +rounded(balAmt,3) +"]]>").append("</bal_amt>");
retTabSepStrBuff.append("<adj_amt>").append("<![CDATA[" + rounded(adjAmt,3) +"]]>").append("</adj_amt>");
retTabSepStrBuff.append("<adjusted_amt>").append("<![CDATA["+ rounded(adjustedAmt,3) +"]]>").append("</adjusted_amt>");
retTabSepStrBuff.append("<inv_amt>").append("<![CDATA[" + rounded(invAmt,3) +"]]>").append("</inv_amt>");
if ( reasCode == null || reasCode.trim().length() == 0)
{
retTabSepStrBuff.append("<reas_code>").append("<![CDATA[]]>").append("</reas_code>");
}else{
retTabSepStrBuff.append("<reas_code>").append("<![CDATA["+reasCode+"]]>").append("</reas_code>");
}
retTabSepStrBuff.append("<cust_name>").append("<![CDATA[" + custName +"]]>").append("</cust_name>");
retTabSepStrBuff.append("<cust_code>").append("<![CDATA["+ custCode+"]]>").append("</cust_code>");
retTabSepStrBuff.append("<bank_code>").append("<![CDATA["+bankCode+"]]>").append("</bank_code>");
if(chequeDate == null)
{
retTabSepStrBuff.append("<cheque_date>").append("<![CDATA["+sdf.format(currDate)+"]]>").append("</cheque_date>");
}else{
retTabSepStrBuff.append("<cheque_date>").append("<![CDATA["+sdf.format(chequeDate)+"]]>").append("</cheque_date>");
}
if(chequeNo==null || chequeNo.trim().length() == 0)
{
retTabSepStrBuff.append("<cheque_no>").append("<![CDATA[" +filterChqNo +"]]>").append("</cheque_no>");
}else{
retTabSepStrBuff.append("<cheque_no>").append("<![CDATA[" +(chequeNo==null?" ":chequeNo.trim()) +"]]>").append("</cheque_no>");
}
retTabSepStrBuff.append("<chq_amount>").append("<![CDATA["+rounded(chqAmount,3)+"]]>").append("</chq_amount>");
if(custRefDate == null)
{
retTabSepStrBuff.append("<cust_ref_date>").append("<![CDATA[]]>").append("</cust_ref_date>");
}else {
retTabSepStrBuff.append("<cust_ref_date>").append("<![CDATA["+sdf.format(custRefDate)+"]]>").append("</cust_ref_date>");
}
if(dueDate == null)
{
retTabSepStrBuff.append("<due_date>").append("<![CDATA[]]>").append("</due_date>");
}else{
retTabSepStrBuff.append("<due_date>").append("<![CDATA[" +sdf.format(dueDate) +"]]>").append("</due_date>");
}
if (reasDetail == null || reasDetail.trim().length() == 0)
{
retTabSepStrBuff.append("<reas_detail>").append("<![CDATA[]]>").append("</reas_detail>");
}else{
retTabSepStrBuff.append("<reas_detail>").append("<![CDATA["+ reasDetail +"]]>").append("</reas_detail>");
}
retTabSepStrBuff.append("<cust_ref_amt>").append("<![CDATA["+ rounded(custRefAmt,3) +"]]>").append("</cust_ref_amt>");
retTabSepStrBuff.append("<remarks>").append("<![CDATA["+remarks+"]]>").append("</remarks>");
retTabSepStrBuff.append("<tran_id__rcp>").append("<![CDATA["+""+"]]>").append("</tran_id__rcp>");
retTabSepStrBuff.append("</Detail2>");
}
} }//while
rs.close();
}//while rs = null; //Pavan Rane 23jul19[for open cursor issue]
rs.close(); pstmt.close();
rs = null; //Pavan Rane 23jul19[for open cursor issue] pstmt = null;
pstmt.close(); } //else of if( "Y".equals(suggestRemit))
pstmt = null; retTabSepStrBuff.append("</Header0>");
retTabSepStrBuff.append("</Header0>"); retTabSepStrBuff.append("</group0>");
retTabSepStrBuff.append("</group0>"); retTabSepStrBuff.append("</DocumentRoot>");
retTabSepStrBuff.append("</DocumentRoot>");
//Pavan Rane 20FEB20 Start [Commented for Advance Receipt Customization(remittance form consideration)]
//added by nandkumar gadkari---------------start--------------1/04/19-----for Remittance form Manual flag //added by nandkumar gadkari---------------start--------------1/04/19-----for Remittance form Manual flag
/*String refNo="",refSer=""; /*String refNo="",refSer="";
int cnt=0; int cnt=0;
...@@ -733,9 +873,9 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -733,9 +873,9 @@ Put a validation chq amount in filter and total of details matches in case heade
pstmt = null; pstmt = null;
cnt =rcpFormRefNo.size(); cnt =rcpFormRefNo.size();
System.out.println("^^^^^^^rcpFormRefNo rcpFormRefNo["+rcpFormRefNo);*/ System.out.println("^^^^^^^rcpFormRefNo rcpFormRefNo["+rcpFormRefNo);
//added by nandkumar gadkari---------------end--------------1/04/19-----for Remittance form Manual flag */ //added by nandkumar gadkari---------------end--------------1/04/19-----for Remittance form Manual flag
//Pavan Rane 20FEB20 End [Commented for Advance Receipt Customization(remittance form consideration)]
//Added by Pavan R on 24MAY18 [F18BGTP001]- "Suggest adjustments" in Automatic AR settlement filter screen. //Added by Pavan R on 24MAY18 [F18BGTP001]- "Suggest adjustments" in Automatic AR settlement filter screen.
if("Y".equalsIgnoreCase(suggestAdj)) if("Y".equalsIgnoreCase(suggestAdj))
{ {
...@@ -744,11 +884,8 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -744,11 +884,8 @@ Put a validation chq amount in filter and total of details matches in case heade
System.out.println("*******keyset [ "+sp+" ]******"); System.out.println("*******keyset [ "+sp+" ]******");
} }
int gCnt = 1; int gCnt = 1;
//for (ArrayList<ReceiptBean> templist : custGrpMap.values()) for (ArrayList<ReceiptBean> templist : custGrpMap.values())
for (Map.Entry<String, ArrayList<ReceiptBean>> entry : custGrpMap.entrySet())
{ {
groupCode = entry.getKey();
ArrayList<ReceiptBean> templist = entry.getValue();
BigDecimal tmpVal = new BigDecimal(-1); BigDecimal tmpVal = new BigDecimal(-1);
System.out.println("Global dom count["+gCnt+"]"); System.out.println("Global dom count["+gCnt+"]");
//selectedList = new ArrayList<ReceiptBean>(); //selectedList = new ArrayList<ReceiptBean>();
...@@ -793,8 +930,8 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -793,8 +930,8 @@ Put a validation chq amount in filter and total of details matches in case heade
} }
else // added by nandkumar gadkari on 2/04/19 ------------end else // added by nandkumar gadkari on 2/04/19 ------------end
{*/ {
totPosAmt = totPosAmt.add(balAmt); */ totPosAmt = totPosAmt.add(balAmt);
posList.add(rcpBean); posList.add(rcpBean);
//} //}
...@@ -817,286 +954,215 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -817,286 +954,215 @@ Put a validation chq amount in filter and total of details matches in case heade
} }
} }
System.out.println("***Total Amount Positive[" + totPosAmt + "]Negative[" + totNegAmt + "]"); System.out.println("***Total Amount Positive[" + totPosAmt + "]Negative[" + totNegAmt + "]");
System.out.println("****POSListSize[" + posList.size()+ "]****NEGListSize[" + negList.size() + "]custRemittMap["+custRemittMap.size()+"]"); System.out.println("****POSListSize[" + posList.size()+ "]****NEGListSize[" + negList.size() + "]");
//Pavan Rane 20FEB20 Start [Advance Receipt Customization(remittance form consideration)] // If positive Amt is greater than negative
if("Y".equals(suggestRemit)) //if (totPosAmt > totNegAmt*(-1))
if (totPosAmt.compareTo(totNegAmt.multiply(tmpVal)) == 1)
{ {
if(custRemittMap.size() > 0) System.out.println("544::totNegAmt["+totNegAmt+"]");
// If positive Amt is greater then select all negative and match and select value with positive
for (int i = 0; i < negList.size(); i++)
{ {
//HashMap<String, ArrayList<RemittBean>> advMap = custRemittMap.get(groupCode); ReceiptBean rcpBean = negList.get(i);
//if(advMap == null || advMap.isEmpty()) rcpBean.setIsSelected("Y");
if(custRemittMap.get(groupCode) == null || (custRemittMap.get(groupCode) != null && custRemittMap.get(groupCode).isEmpty())) negList.set(i, rcpBean);
{
/**If there are no adv in Remittance for curernt custcode in selected period then continue*/
System.out.println("There is/are No Adv in Remittance for CustCode["+groupCode+"].....");
continue;
}
else
{
HashMap<String, ArrayList<RemittBean>> advMap = custRemittMap.get(groupCode);/***/
System.out.println("advMap.size()["+advMap.size()+"]");
for (Map.Entry<String, ArrayList<RemittBean>> advEntry : advMap.entrySet())
{
String advReceipt = advEntry.getKey();
ArrayList<RemittBean> invoicelist = advEntry.getValue();
int index = indexOfReference(negList, advReceipt);
System.out.println("Index["+index+"] Current Advance["+advReceipt+"] invoicelist["+invoicelist.size()+"]");
if(index != -1)
{
BigDecimal totAdvAmt = BigDecimal.ZERO;
BigDecimal totinvAmt = BigDecimal.ZERO;
StringBuffer xmlBuffDetail = new StringBuffer();
/**Here populate and match the invoices **/
for(RemittBean remittBean : invoicelist)
{
int invIndex = indexOfReference(posList, remittBean);
System.out.println("Index["+invIndex+"] Invoice...Current Advance["+advReceipt+"]");
if(invIndex != -1)
{
ReceiptBean rcpBean = posList.get(invIndex);
totAdvAmt = remittBean.getRcpAmount();
totinvAmt = totinvAmt.add(remittBean.getRefAmt());
rcpBean.setAdjAmt(remittBean.getRefAmt());
//System.out.println("Invoice rcpBean["+rcpBean+"] invIndex["+invIndex+"]");
xmlBuffDetail.append(generateXmls(detailDom, gCnt, "Y", rcpBean));
gCnt++;
}
}
//if(totAdvAmt >= totinvAmt)
System.out.println("Comparing totAdvAmt["+totAdvAmt+"] totinvAmt["+totinvAmt+"]");
if (totAdvAmt.abs().compareTo(totinvAmt) >= 0)
{
ReceiptBean advRcpBean = negList.get(index);//adv
advRcpBean.setAdjAmt(totinvAmt.negate());
//System.out.println("Advanced rcpBean["+advRcpBean+"] invIndex["+index+"]");
subXmlStr.append(generateXmls(detailDom, gCnt, "Y", advRcpBean));
gCnt++;
subXmlStr.append(xmlBuffDetail);
}else
{
xmlBuffDetail.append("");//to clear invoices detail
System.out.println("continue.....");
continue;
}
}
}//adv loop end
//System.out.println("\n\n\nPAVAN RANE->>>>>xmlBuffStr["+xmlBuff+"]\n\n\n");
//xmlBuff.append(xmlBuff);
}
} }
}//End of if("Y".equals(suggestRemit)) for (int i = 0; i < posList.size(); i++)
else {
{ //Pavan Rane 20FEB20 End [Advance Receipt Customization(remittance form consideration)] ReceiptBean posBean = posList.get(i);
// If positive Amt is greater than negative //double balsAmt = posBean.getBalAmt();
//if (totPosAmt > totNegAmt*(-1)) BigDecimal balsAmt = posBean.getBalAmt();
if (totPosAmt.compareTo(totNegAmt.multiply(tmpVal)) == 1) //double temp = totNegAmt;
{ BigDecimal temp = totNegAmt;
System.out.println("544::totNegAmt["+totNegAmt+"]"); //totNegAmt = getRequiredDecimal(totNegAmt,3) + balsAmt;
// If positive Amt is greater then select all negative and match and select value with positive totNegAmt = rounded(totNegAmt.add(balsAmt),3);
for (int i = 0; i < negList.size(); i++) System.out.println("555::totNegAmt["+totNegAmt+"]balsAmt["+balsAmt+"]cnt["+i+"]");
{ posBean.setIsSelected("Y");
ReceiptBean rcpBean = negList.get(i); posList.set(i, posBean);
rcpBean.setIsSelected("Y"); //if (totNegAmt > 0) //to updated the to be adjusted amt
negList.set(i, rcpBean); if ((totNegAmt.compareTo(BigDecimal.ZERO) == 1))
{
System.out.println("before break...totPosAmt::"+totNegAmt);
ReceiptBean posBean2 = posList.get(i);
//posBean2.setAdjAmt(temp*(-1));
posBean2.setAdjAmt(temp.multiply(tmpVal));
posList.set(i, posBean2);
break;
}//else if (totNegAmt == 0){
else if (totNegAmt.compareTo(BigDecimal.ZERO) == 0){
System.out.println("only break....!!!");
break;
} }
for (int i = 0; i < posList.size(); i++) }
{ } // If negative Amt is greater than positive
ReceiptBean posBean = posList.get(i); //else if (totNegAmt*(-1) >= totPosAmt)
//double balsAmt = posBean.getBalAmt(); else if ((totNegAmt.multiply(tmpVal)).compareTo(totPosAmt) == 1 || (totNegAmt.multiply(tmpVal)).compareTo(totPosAmt) == 0)
BigDecimal balsAmt = posBean.getBalAmt(); {
//double temp = totNegAmt; // If negative Amt is greater then select all positive and match and select value with negative
BigDecimal temp = totNegAmt; for (int i = 0; i < posList.size(); i++)
//totNegAmt = getRequiredDecimal(totNegAmt,3) + balsAmt;
totNegAmt = rounded(totNegAmt.add(balsAmt),3);
System.out.println("555::totNegAmt["+totNegAmt+"]balsAmt["+balsAmt+"]cnt["+i+"]");
posBean.setIsSelected("Y");
posList.set(i, posBean);
//if (totNegAmt > 0) //to updated the to be adjusted amt
if ((totNegAmt.compareTo(BigDecimal.ZERO) == 1))
{
System.out.println("before break...totPosAmt::"+totNegAmt);
ReceiptBean posBean2 = posList.get(i);
//posBean2.setAdjAmt(temp*(-1));
posBean2.setAdjAmt(temp.multiply(tmpVal));
posList.set(i, posBean2);
break;
}//else if (totNegAmt == 0){
else if (totNegAmt.compareTo(BigDecimal.ZERO) == 0){
System.out.println("only break....!!!");
break;
}
}
} // If negative Amt is greater than positive
//else if (totNegAmt*(-1) >= totPosAmt)
else if ((totNegAmt.multiply(tmpVal)).compareTo(totPosAmt) == 1 || (totNegAmt.multiply(tmpVal)).compareTo(totPosAmt) == 0)
{ {
// If negative Amt is greater then select all positive and match and select value with negative ReceiptBean rcpBean = posList.get(i);
for (int i = 0; i < posList.size(); i++) rcpBean.setIsSelected("Y");
posList.set(i, rcpBean);
}
for (int i = 0; i < negList.size(); i++)
{
ReceiptBean negBean = negList.get(i);
//double balsAmt = negBean.getBalAmt();
BigDecimal balsAmt = negBean.getBalAmt();
//double temp = totPosAmt;
BigDecimal temp = totPosAmt;
//totPosAmt = getRequiredDecimal(totPosAmt, 3) + balsAmt;
totPosAmt = rounded(totPosAmt.add(balsAmt),3);
System.out.println("589::totNegAmt["+totPosAmt+"]Negative amt["+balsAmt+"]cnt["+i+"]");
negBean.setIsSelected("Y");
negList.set(i, negBean);
//if (totPosAmt < 0) //to updated the to be adjusted amt
if (totPosAmt.compareTo(BigDecimal.ZERO)== -1)
{
System.out.println("before break...totPosAmt::"+totPosAmt);
ReceiptBean negBean2 = negList.get(i);
negBean2.setAdjAmt(temp.multiply(tmpVal));
negList.set(i, negBean2);
break;
}else if(totPosAmt.compareTo(BigDecimal.ZERO) == 0)
{ {
ReceiptBean rcpBean = posList.get(i); System.out.println("only break...");
rcpBean.setIsSelected("Y"); break;
posList.set(i, rcpBean);
} }
for (int i = 0; i < negList.size(); i++) }
}
System.out.println("@@@@@ POSListSize[" + posList.size()+ "]****NEGListSize[" + negList.size() + "]");
//int cnt = 1;
//Pavan R on 30aug2018 to get only selected data for process method on preview flag
System.out.println("objName["+objName+"]");
if("generate_receipt_process".equals(objName))
{
for (int i = 0; i < negList.size(); i++)
{
if( negList.size() > 0 && posList.size() == 0 )
{ {
ReceiptBean negBean = negList.get(i); for (int j = 0; j < negList.size(); j++)
//double balsAmt = negBean.getBalAmt();
BigDecimal balsAmt = negBean.getBalAmt();
//double temp = totPosAmt;
BigDecimal temp = totPosAmt;
//totPosAmt = getRequiredDecimal(totPosAmt, 3) + balsAmt;
totPosAmt = rounded(totPosAmt.add(balsAmt),3);
System.out.println("589::totNegAmt["+totPosAmt+"]Negative amt["+balsAmt+"]cnt["+i+"]");
negBean.setIsSelected("Y");
negList.set(i, negBean);
//if (totPosAmt < 0) //to updated the to be adjusted amt
if (totPosAmt.compareTo(BigDecimal.ZERO)== -1)
{
System.out.println("before break...totPosAmt::"+totPosAmt);
ReceiptBean negBean2 = negList.get(i);
negBean2.setAdjAmt(temp.multiply(tmpVal));
negList.set(i, negBean2);
break;
}else if(totPosAmt.compareTo(BigDecimal.ZERO) == 0)
{ {
System.out.println("only break..."); ReceiptBean negBean = negList.get(j);
break; negBean.setIsSelected("N");
negList.set(j, negBean);
} }
}
ReceiptBean rcpBean = negList.get(i);
//below if condition added to append unselected negative records after matched selected
if ("Y".equals(rcpBean.getIsSelected())) {
xmlBuffStr.append(generateXmls(detailDom, gCnt, rcpBean.getIsSelected(), rcpBean));
gCnt++;
} }
} }
System.out.println("@@@@@ POSListSize[" + posList.size()+ "]****NEGListSize[" + negList.size() + "]"); for (int i = 0; i < posList.size(); i++)
//int cnt = 1;
//Pavan R on 30aug2018 to get only selected data for process method on preview flag
System.out.println("objName["+objName+"]");
if("generate_receipt_process".equals(objName))
{ {
for (int i = 0; i < negList.size(); i++) if( posList.size() > 0 && negList.size() == 0 )
{
if( negList.size() > 0 && posList.size() == 0 )
{
for (int j = 0; j < negList.size(); j++)
{
ReceiptBean negBean = negList.get(j);
negBean.setIsSelected("N");
negList.set(j, negBean);
}
}
ReceiptBean rcpBean = negList.get(i);
//below if condition added to append unselected negative records after matched selected
if ("Y".equals(rcpBean.getIsSelected())) {
xmlBuffStr.append(generateXmls(detailDom, gCnt, rcpBean.getIsSelected(), rcpBean));
gCnt++;
}
}
for (int i = 0; i < posList.size(); i++)
{ {
if( posList.size() > 0 && negList.size() == 0 ) for (int j = 0; j < posList.size(); j++)
{ {
for (int j = 0; j < posList.size(); j++) ReceiptBean posBean = posList.get(j);
{ posBean.setIsSelected("N");
ReceiptBean posBean = posList.get(j); posList.set(j, posBean);
posBean.setIsSelected("N");
posList.set(j, posBean);
}
}
ReceiptBean rcpBean = posList.get(i);
if ("Y".equals(rcpBean.getIsSelected())) {
xmlBuffStr.append(generateXmls(detailDom, gCnt, rcpBean.getIsSelected(), rcpBean));
gCnt++;
} }
} }
ReceiptBean rcpBean = posList.get(i);
}//Pavan R on 30aug2018 to get only selected data for process method on preview flag END if ("Y".equals(rcpBean.getIsSelected())) {
else xmlBuffStr.append(generateXmls(detailDom, gCnt, rcpBean.getIsSelected(), rcpBean));
gCnt++;
}
}
}//Pavan R on 30aug2018 to get only selected data for process method on preview flag END
else
{
for (int i = 0; i < negList.size(); i++)
{ {
for (int i = 0; i < negList.size(); i++) if( negList.size() > 0 && posList.size() == 0 )
{ {
if( negList.size() > 0 && posList.size() == 0 ) for (int j = 0; j < negList.size(); j++)
{
for (int j = 0; j < negList.size(); j++)
{
ReceiptBean negBean = negList.get(j);
negBean.setIsSelected("N");
negList.set(j, negBean);
}
}
ReceiptBean rcpBean = negList.get(i);
//below if condition added to append unselected negative records after matched selected
if("Y".equalsIgnoreCase(rcpBean.getIsSelected())||"N".equalsIgnoreCase(rcpBean.getIsSelected()))
{ {
xmlBuff.append(generateXmls(detailDom, gCnt, rcpBean.getIsSelected(), rcpBean)); ReceiptBean negBean = negList.get(j);
gCnt++; negBean.setIsSelected("N");
negList.set(j, negBean);
} }
}
ReceiptBean rcpBean = negList.get(i);
//below if condition added to append unselected negative records after matched selected
if("Y".equalsIgnoreCase(rcpBean.getIsSelected())||"N".equalsIgnoreCase(rcpBean.getIsSelected()))
{
xmlBuff.append(generateXmls(detailDom, gCnt, rcpBean.getIsSelected(), rcpBean));
gCnt++;
} }
for (int i = 0; i < posList.size(); i++) }
for (int i = 0; i < posList.size(); i++)
{
if( posList.size() > 0 && negList.size() == 0 )
{ {
if( posList.size() > 0 && negList.size() == 0 ) for (int j = 0; j < posList.size(); j++)
{ {
for (int j = 0; j < posList.size(); j++) ReceiptBean posBean = posList.get(j);
{ posBean.setIsSelected("N");
ReceiptBean posBean = posList.get(j); posList.set(j, posBean);
posBean.setIsSelected("N");
posList.set(j, posBean);
}
} }
ReceiptBean rcpBean = posList.get(i); }
ReceiptBean rcpBean = posList.get(i);
xmlBuff.append(generateXmls(detailDom, gCnt, rcpBean.getIsSelected(), rcpBean));
gCnt++;
}
//below loop added to append unselected negative records after matched selected
for (int i = 0; i < negList.size(); i++)
{
ReceiptBean rcpBean = negList.get(i);
if("".equalsIgnoreCase(rcpBean.getIsSelected()))
{//ReceiptBean rcpBean = negList.get(i);
xmlBuff.append(generateXmls(detailDom, gCnt, rcpBean.getIsSelected(), rcpBean)); xmlBuff.append(generateXmls(detailDom, gCnt, rcpBean.getIsSelected(), rcpBean));
gCnt++; gCnt++;
} }
//below loop added to append unselected negative records after matched selected }
for (int i = 0; i < negList.size(); i++) /*//added by nandkumar gadkari on 04/04/19---------------start-------------------for Remittance form Manual flag---------
//below loop added to append unselected Positive records after matched selected
if(cnt > 0)
{
for (int i = 0; i < templist.size(); i++) {
ReceiptBean rcpBean = templist.get(i);
totAmt = rcpBean.getTotAmt();
balAmt = rcpBean.getBalAmt();
adjAmt = rcpBean.getAdjAmt();
adjustedAmt = rcpBean.getAdjustedAmt();
invAmt = rcpBean.getInvAmt();
refNo = rcpBean.getInvoiceId();
System.out.println("Global refNo["+refNo+"]"+balAmt);
//if (balAmt > 0)
if ((balAmt.compareTo(BigDecimal.ZERO) == 1))
{
System.out.println("cnt1 cnt1["+cnt+"]");
if (!rcpFormRefNo.contains(refNo.trim()))
{
posList.add(rcpBean);
System.out.println("posList123["+posList+"]");
}
}
}
for (int i = 0; i < posList.size(); i++)
{ {
ReceiptBean rcpBean = negList.get(i);
ReceiptBean rcpBean = posList.get(i);
if("".equalsIgnoreCase(rcpBean.getIsSelected())) if("".equalsIgnoreCase(rcpBean.getIsSelected()))
{//ReceiptBean rcpBean = negList.get(i); {//ReceiptBean rcpBean = negList.get(i);
xmlBuff.append(generateXmls(detailDom, gCnt, rcpBean.getIsSelected(), rcpBean)); xmlBuff.append(generateXmls(detailDom, gCnt, rcpBean.getIsSelected(), rcpBean));
gCnt++; gCnt++;
} }
} }
//Pavan Rane 20FEB20 start [Commented for Advance Receipt Customization(remittance form consideration)] }*/
//added by nandkumar gadkari on 04/04/19---------------start-------------------for Remittance form Manual flag--------- //added by nandkumar gadkari on 04/04/19---------------end-----------------for Remittance form Manual flag-----------
//below loop added to append unselected Positive records after matched selected }
/*if(cnt > 0)
{
for (int i = 0; i < templist.size(); i++) {
ReceiptBean rcpBean = templist.get(i);
totAmt = rcpBean.getTotAmt();
balAmt = rcpBean.getBalAmt();
adjAmt = rcpBean.getAdjAmt();
adjustedAmt = rcpBean.getAdjustedAmt();
invAmt = rcpBean.getInvAmt();
refNo = rcpBean.getInvoiceId();
System.out.println("Global refNo["+refNo+"]"+balAmt);
//if (balAmt > 0)
if ((balAmt.compareTo(BigDecimal.ZERO) == 1))
{
System.out.println("cnt1 cnt1["+cnt+"]");
if (!rcpFormRefNo.contains(refNo.trim()))
{
posList.add(rcpBean);
System.out.println("posList123["+posList+"]");
}
}
}
for (int i = 0; i < posList.size(); i++)
{
ReceiptBean rcpBean = posList.get(i);
if("".equalsIgnoreCase(rcpBean.getIsSelected()))
{//ReceiptBean rcpBean = negList.get(i);
xmlBuff.append(generateXmls(detailDom, gCnt, rcpBean.getIsSelected(), rcpBean));
gCnt++;
}
}
}*/
//added by nandkumar gadkari on 04/04/19---------------end-----------------for Remittance form Manual flag-----------
}
}//else end of if("Y".equals(suggestRemit))
//Changes done on 26JUN2018 End //Changes done on 26JUN2018 End
}//end of for (ArrayList templist : custGrpMap.values()) }//end of for (ArrayList templist : custGrpMap.values())
/*xmlBuff.append("</Header0>"); /*xmlBuff.append("</Header0>");
...@@ -1105,7 +1171,7 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -1105,7 +1171,7 @@ Put a validation chq amount in filter and total of details matches in case heade
//System.out.println("xml xmlBuff::::"+xmlBuff); //System.out.println("xml xmlBuff::::"+xmlBuff);
}//end of suggestion flag }//end of suggestion flag
//Pavan Rane 20FEB20 End [Advance Receipt Customization(remittance form consideration)] //Pavan R on 24MAY18 End
}//try }//try
catch (SQLException e) catch (SQLException e)
{ {
...@@ -1121,10 +1187,6 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -1121,10 +1187,6 @@ Put a validation chq amount in filter and total of details matches in case heade
//if suggested adj is Y then display selected/unselected data else exsting will work //if suggested adj is Y then display selected/unselected data else exsting will work
if("generate_receipt_process".equals(objName) && "Y".equalsIgnoreCase(suggestAdj)) if("generate_receipt_process".equals(objName) && "Y".equalsIgnoreCase(suggestAdj))
{ {
if("Y".equalsIgnoreCase(suggestRemit))
{
xmlBuffStr.append(subXmlStr);
}
xmlBuffStr.append("</Header0>"); xmlBuffStr.append("</Header0>");
xmlBuffStr.append("</group0>"); xmlBuffStr.append("</group0>");
xmlBuffStr.append("</DocumentRoot>"); xmlBuffStr.append("</DocumentRoot>");
...@@ -1132,15 +1194,18 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -1132,15 +1194,18 @@ Put a validation chq amount in filter and total of details matches in case heade
} }
else if("Y".equalsIgnoreCase(suggestAdj)) else if("Y".equalsIgnoreCase(suggestAdj))
{ {
if("Y".equalsIgnoreCase(suggestRemit)) xmlBuff.append("</Header0>");
{ xmlBuff.append("</group0>");
xmlBuff.append(subXmlStr); xmlBuff.append("</DocumentRoot>");
}
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
resultString = xmlBuff.toString(); resultString = xmlBuff.toString();
} }
else if("Y".equals(suggestRemit))
{
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
resultString = xmlBuff.toString();
}
else else
{ {
resultString = retTabSepStrBuff.toString(); resultString = retTabSepStrBuff.toString();
...@@ -1264,6 +1329,7 @@ Put a validation chq amount in filter and total of details matches in case heade ...@@ -1264,6 +1329,7 @@ Put a validation chq amount in filter and total of details matches in case heade
String procDateStr = ""; String procDateStr = "";
String procDtStr = "",sdueDateTo = ""; String procDtStr = "",sdueDateTo = "";
Timestamp procDate = null, dueDateTo = null; Timestamp procDate = null, dueDateTo = null;
String tranIdRcp = "";
try try
{ {
if(conn==null) if(conn==null)
...@@ -1275,6 +1341,10 @@ conn = getConnection(); ...@@ -1275,6 +1341,10 @@ conn = getConnection();
conn.setAutoCommit(false); conn.setAutoCommit(false);
} }
ReceiptAdvConf rcpAdvConf = new ReceiptAdvConf(); ReceiptAdvConf rcpAdvConf = new ReceiptAdvConf();
if(jvAutoConf == null || jvAutoConf.trim().length() == 0 || "null".equals(jvAutoConf))
{
jvAutoConf = "N";
}
chgUser = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode"); //changes by Nandkumar gadkari on 29/03/18 chgUser = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode"); //changes by Nandkumar gadkari on 29/03/18
chgTerm = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"termId"); chgTerm = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"termId");
//Added by Pavan R 10-may-18 to flag in filter on receivable JV creation, to create a confirmed or unconfirmed JV. //Added by Pavan R 10-may-18 to flag in filter on receivable JV creation, to create a confirmed or unconfirmed JV.
...@@ -1285,7 +1355,7 @@ conn = getConnection(); ...@@ -1285,7 +1355,7 @@ conn = getConnection();
suggestRemit = "N"; suggestRemit = "N";
} }
entryBatchNo = checkNull(genericUtility.getColumnValue("entry_batch_no", headerDom));//added by Pavan R 30aug18[to added in receivables header] entryBatchNo = checkNull(genericUtility.getColumnValue("entry_batch_no", headerDom));//added by Pavan R 30aug18[to added in receivables header]
System.out.println("Pavan----jvAutoConf ["+jvAutoConf+"]entryBatchNo["+entryBatchNo+"] suggestRemit["+suggestRemit+"]"); System.out.println("Pavan----jvAutoConf ["+jvAutoConf+"]entryBatchNo["+entryBatchNo+"]suggestRemit["+suggestRemit+"]");
//Added by Pavan R 10-may-18 end //Added by Pavan R 10-may-18 end
siteCode = genericUtility.getColumnValue("site_code",headerDom); siteCode = genericUtility.getColumnValue("site_code",headerDom);
//custCode = genericUtility.getColumnValue("cust_code",headerDom); //custCode = genericUtility.getColumnValue("cust_code",headerDom);
...@@ -1664,21 +1734,14 @@ conn = getConnection(); ...@@ -1664,21 +1734,14 @@ conn = getConnection();
if (childNodeName.equals("remarks"))//added by kunal on 19/10/12 if (childNodeName.equals("remarks"))//added by kunal on 19/10/12
{ {
//remarks = checkNull(childNode.getFirstChild().getNodeValue()).trim(); //remarks = checkNull(childNode.getFirstChild().getNodeValue()).trim();
if(childNode!=null) if(childNode!=null) {
{ if(childNode.getFirstChild()!=null) {
if(childNode.getFirstChild()!=null) if(childNode.getFirstChild().getNodeValue()!=null) {
{
if(childNode.getFirstChild().getNodeValue()!=null)
{
remarks = checkNull(childNode.getFirstChild().getNodeValue()); remarks = checkNull(childNode.getFirstChild().getNodeValue());
} } else {
else
{
remarks="KNOCKING OFF"; remarks="KNOCKING OFF";
} }
} } else {
else
{
remarks="KNOCKING OFF"; remarks="KNOCKING OFF";
} }
} }
...@@ -1694,6 +1757,27 @@ conn = getConnection(); ...@@ -1694,6 +1757,27 @@ conn = getConnection();
System.out.println("adjAmt :::::["+ adjAmt+"]"); System.out.println("adjAmt :::::["+ adjAmt+"]");
totalAdjAmt = getRequiredDecimal(totalAdjAmt,3)+adjAmt;// added by nandkumar gadkari on 03/04/18 totalAdjAmt = getRequiredDecimal(totalAdjAmt,3)+adjAmt;// added by nandkumar gadkari on 03/04/18
} }
//PAVAN RANE START 25FEB2020 [to get advance No against Remittance else default is @@@]
if (childNodeName.equals("tran_id__rcp"))
{
if(childNode!=null) {
if(childNode.getFirstChild()!=null) {
if(childNode.getFirstChild().getNodeValue()!=null) {
tranIdRcp = checkNull(childNode.getFirstChild().getNodeValue());
} else {
tranIdRcp="@@@";
}
} else {
tranIdRcp="@@@";
}
}
if(tranIdRcp == null || tranIdRcp.equalsIgnoreCase("null"))
{
tranIdRcp = "@@@";
}
}
System.out.println("tranIdRcp :::::"+ tranIdRcp);
//PAVAN RANE END 25FEB2020 [to get advance No against Remittance else default is @@@]
System.out.println("TotalAdjAmt Inner Loop ["+totalAdjAmt+"]"); System.out.println("TotalAdjAmt Inner Loop ["+totalAdjAmt+"]");
}//inner for }//inner for
sql = "SELECT GROUP_CODE FROM CUSTOMER WHERE CUST_CODE = ?"; sql = "SELECT GROUP_CODE FROM CUSTOMER WHERE CUST_CODE = ?";
...@@ -1713,7 +1797,9 @@ conn = getConnection(); ...@@ -1713,7 +1797,9 @@ conn = getConnection();
//searchKey = chequeNo + ":" + custCode; //added by rajesh k to concate chequeNo and custCode //searchKey = chequeNo + ":" + custCode; //added by rajesh k to concate chequeNo and custCode
searchKey= chequeNo + ":" + groupCode;//Added By Manoj dtd 26/11/2012 for Group Code //Pavan Rane Changes searchKey chnaged for tran_id__rcp for remittancewise receivables JV
//searchKey= chequeNo + ":" + groupCode;//Added By Manoj dtd 26/11/2012 for Group Code
searchKey= chequeNo + ":" + groupCode + tranIdRcp;
/*Commented by Manoj dtd 03/05/2014writeLog(filePtr,"chequeNo::::: "+chequeNo,true); /*Commented by Manoj dtd 03/05/2014writeLog(filePtr,"chequeNo::::: "+chequeNo,true);
writeLog(filePtr,"custCode::::: "+custCode,true); writeLog(filePtr,"custCode::::: "+custCode,true);
writeLog(filePtr,"searchKey::::: "+searchKey,true);*/ writeLog(filePtr,"searchKey::::: "+searchKey,true);*/
...@@ -3019,7 +3105,7 @@ conn = getConnection(); ...@@ -3019,7 +3105,7 @@ conn = getConnection();
{ {
//Commented by Manoj dtd 03/05/2014writeLog(filePtr,"[insertReceiptDtl]START:::",true); //Commented by Manoj dtd 03/05/2014writeLog(filePtr,"[insertReceiptDtl]START:::",true);
java.sql.Timestamp refDate = null,dueDate = null; java.sql.Timestamp refDate = null,dueDate = null;
String lineNo = "",refNo = "",currCode = "",custCode = "",acctCodeAr = "", sqlRemit=""; String lineNo = "",refNo = "",currCode = "",custCode = "",acctCodeAr = "",sqlRemit="";
String cctrCodeAr = "",billDisc = "",refSer=""; String cctrCodeAr = "",billDisc = "",refSer="";
double exchRateRcv = 0,discount = 0,badDebtAmt = 0,exchRate = 0,diffAmtExch = 0; double exchRateRcv = 0,discount = 0,badDebtAmt = 0,exchRate = 0,diffAmtExch = 0;
double taxAmt = 0,netAmt = 0,adjAmt = 0,rcpAmt = 0; double taxAmt = 0,netAmt = 0,adjAmt = 0,rcpAmt = 0;
...@@ -3030,15 +3116,14 @@ conn = getConnection(); ...@@ -3030,15 +3116,14 @@ conn = getConnection();
+ "DISC_AMT,TAX_AMT,EXCH_RATE,NET_AMT,RCP_AMT,DIFF_AMT__EXCH,CUST_CODE,DUE_DATE," + "DISC_AMT,TAX_AMT,EXCH_RATE,NET_AMT,RCP_AMT,DIFF_AMT__EXCH,CUST_CODE,DUE_DATE,"
+ "ACCT_CODE__AR,CCTR_CODE__AR,BAD_DEBT_AMT,BILL_DISC,LINE_NO__REF,LINE_NO ) " + "ACCT_CODE__AR,CCTR_CODE__AR,BAD_DEBT_AMT,BILL_DISC,LINE_NO__REF,LINE_NO ) "
+ "VALUES ( ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; ////line number column added by kailas gaikwad on 27/5/2019 + "VALUES ( ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; ////line number column added by kailas gaikwad on 27/5/2019
//Commented by Manoj dtd 03/05/2014writeLog(filePtr,"[RCPDET SQL]:::"+sql,true); //Commented by Manoj dtd 03/05/2014writeLog(filePtr,"[RCPDET SQL]:::"+sql,true);
try try
{ {
if( "Y".equals(suggestRemit)) if( "Y".equals(suggestRemit))
{ {
sqlRemit = "update receipt_form set tran_id__adj = ?, status = 'X' where tran_id__rcp = ?"; sqlRemit = "update receipt_form set tran_id__adj = ?, status = 'X' where tran_id__rcp = ?";
pstmtRemit = conn.prepareStatement(sqlRemit); pstmtRemit = conn.prepareStatement(sqlRemit);
} }
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
for(int invlCtr = 0; invlCtr < invoiceList.size(); invlCtr++) for(int invlCtr = 0; invlCtr < invoiceList.size(); invlCtr++)
{ {
...@@ -3151,6 +3236,11 @@ conn = getConnection(); ...@@ -3151,6 +3236,11 @@ conn = getConnection();
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
} }
if(pstmtRemit != null)
{
pstmtRemit.close();
pstmtRemit = null;
}
} }
catch(Exception se){} catch(Exception se){}
} }
...@@ -3617,6 +3707,7 @@ conn = getConnection(); ...@@ -3617,6 +3707,7 @@ conn = getConnection();
String reasDetail = ""; String reasDetail = "";
String groupCode = ""; String groupCode = "";
String filterChqNo = ""; String filterChqNo = "";
String tranIdRcp = "";
/*double totAmt = 0.0; /*double totAmt = 0.0;
double balAmt = 0.0; double balAmt = 0.0;
double adjAmt = 0.0; double adjAmt = 0.0;
...@@ -3666,6 +3757,7 @@ conn = getConnection(); ...@@ -3666,6 +3757,7 @@ conn = getConnection();
reasDetail = rcpBean.getReasDetail(); reasDetail = rcpBean.getReasDetail();
custRefAmt = rcpBean.getCustRefAmt(); custRefAmt = rcpBean.getCustRefAmt();
filterChqNo = genericUtility.getColumnValue("cheque_no",headerDom); filterChqNo = genericUtility.getColumnValue("cheque_no",headerDom);
tranIdRcp = rcpBean.getTranIdRcp();
//System.out.println("totAmount["+totAmount+""); //System.out.println("totAmount["+totAmount+"");
xmlBuff.append("<Detail2 domID=\""+id+"\" selected=\""+isSelected+"\" > \r\n"); xmlBuff.append("<Detail2 domID=\""+id+"\" selected=\""+isSelected+"\" > \r\n");
...@@ -3732,7 +3824,8 @@ conn = getConnection(); ...@@ -3732,7 +3824,8 @@ conn = getConnection();
xmlBuff.append("<reas_detail>").append("<![CDATA["+ reasDetail +"]]>").append("</reas_detail>"); xmlBuff.append("<reas_detail>").append("<![CDATA["+ reasDetail +"]]>").append("</reas_detail>");
} }
xmlBuff.append("<cust_ref_amt>").append("<![CDATA["+ rounded(custRefAmt,3) +"]]>").append("</cust_ref_amt>"); xmlBuff.append("<cust_ref_amt>").append("<![CDATA["+ rounded(custRefAmt,3) +"]]>").append("</cust_ref_amt>");
xmlBuff.append("<remarks>").append("<![CDATA["+remarks+"]]>").append("</remarks>"); xmlBuff.append("<remarks>").append("<![CDATA["+remarks+"]]>").append("</remarks>");
xmlBuff.append("<tran_id__rcp>").append("<![CDATA["+tranIdRcp+"]]>").append("</tran_id__rcp>");
xmlBuff.append("</Detail2>"); xmlBuff.append("</Detail2>");
}catch (SQLException se) }catch (SQLException se)
{ {
...@@ -3769,75 +3862,41 @@ conn = getConnection(); ...@@ -3769,75 +3862,41 @@ conn = getConnection();
return objName; return objName;
} }
//Pavan Rane 20FEB20 start [Advance Receipt Customization(remittance form consideration)] //Pavan R on 24MAY18 End
public static BigDecimal rounded(BigDecimal aNumber, int prec) public static BigDecimal rounded(BigDecimal aNumber, int prec)
{ {
return aNumber.setScale(prec, BigDecimal.ROUND_HALF_EVEN); return aNumber.setScale(prec, BigDecimal.ROUND_HALF_EVEN);
} }
private int indexOfReference(ArrayList<ReceiptBean> refList,String RefNo) throws ITMException, Exception //Pavan Rane 20FEB20 end [Advance Receipt Customization(remittance form consideration)]
{ private int checkAdvancedDishnor(String RefNo, Connection conn) throws ITMException
int retVal = -1, ctr = 0;
ReceiptBean rcpBean = null;
//System.out.println("indexOfReference.....refList.size()::["+refList.size()+"]");
for (ctr = 0; ctr < refList.size(); ctr++)
{
rcpBean = (ReceiptBean) refList.get(ctr);
//System.out.println("Find ReceiptBean...["+rcpBean.getInvoiceId()+"] RefNo["+RefNo+"]");
if (checkNull(rcpBean.getInvoiceId()).equals(checkNull(RefNo)))
{
retVal = ctr;
break;
}
}
return retVal;
}
private int indexOfReference(ArrayList<ReceiptBean> refList, RemittBean remittBean) throws ITMException, Exception
{
int retVal = -1, ctr = 0;
ReceiptBean rcpBean = null;
//System.out.println("indexOfReference.....refList.size()::["+refList.size()+"]");
for (ctr = 0; ctr < refList.size(); ctr++)
{ {
rcpBean = (ReceiptBean) refList.get(ctr); PreparedStatement pstmt = null;
//System.out.println("Find ReceiptBean------[" + rcpBean.getInvoiceId() + "] RemittBean----[" + remittBean.getRefNo()+"]"); String sql = "";
if (checkNull(rcpBean.getInvoiceId()).equals(checkNull(remittBean.getRefNo()))) ResultSet rs = null;
int recCount = 0;
try
{ {
retVal = ctr; sql = "select count(*) from rcpdishnr where receipt_no = ? ";
break; pstmt = conn.prepareStatement(sql);
} pstmt.setString(1, RefNo);
} rs = pstmt.executeQuery();
return retVal; if (rs.next())
} {
private int checkAdvancedDishnor(String RefNo, Connection conn) throws ITMException recCount = rs.getInt(1);
{ }
PreparedStatement pstmt = null; rs.close();
String sql = ""; rs = null;
ResultSet rs = null; pstmt.close();
int recCount = 0; pstmt = null;
try } catch (SQLException se)
{
sql = "select count(*) from rcpdishnr where receipt_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, RefNo);
rs = pstmt.executeQuery();
if (rs.next())
{ {
recCount = rs.getInt(1); System.out.println("SQLException :GenerateReceiptPrc :checkAdvancedDishnor(String RefNo, Connection conn).." + se.getMessage());
se.printStackTrace();
throw new ITMException(se);
} }
rs.close(); return recCount;
rs = null;
pstmt.close();
pstmt = null;
} catch (SQLException se)
{
System.out.println("SQLException :GenerateReceiptPrc :checkAdvancedDishnor(String RefNo, Connection conn).." + se.getMessage());
se.printStackTrace();
throw new ITMException(se);
} }
return recCount; //Pavan Rane 20FEB20 end [Advance Receipt Customization(remittance form consideration)]
}
//Pavan Rane 20FEB20 end [Advance Receipt Customization(remittance form consideration)]
}//class }//class
...@@ -3879,7 +3938,7 @@ class ReceiptBean ...@@ -3879,7 +3938,7 @@ class ReceiptBean
private BigDecimal chqAmount = new BigDecimal(0.0); private BigDecimal chqAmount = new BigDecimal(0.0);
private BigDecimal custRefAmt = new BigDecimal(0.0); private BigDecimal custRefAmt = new BigDecimal(0.0);
private BigDecimal runningTotal = new BigDecimal(0.0); private BigDecimal runningTotal = new BigDecimal(0.0);
private String tranIdRcp = "";
public String getInvoiceId() { public String getInvoiceId() {
return invoiceId; return invoiceId;
...@@ -4068,7 +4127,13 @@ class ReceiptBean ...@@ -4068,7 +4127,13 @@ class ReceiptBean
public void setRunningTotal(BigDecimal runningTotal) { public void setRunningTotal(BigDecimal runningTotal) {
this.runningTotal = runningTotal; this.runningTotal = runningTotal;
} }
public String getTranIdRcp() {
return tranIdRcp;
}
public void setTranIdRcp(String tranIdRcp) {
this.tranIdRcp = tranIdRcp;
}
public static Comparator<ReceiptBean> receiptComparator = new Comparator<ReceiptBean>() { public static Comparator<ReceiptBean> receiptComparator = new Comparator<ReceiptBean>() {
public int compare(ReceiptBean rcpBean1, ReceiptBean rcpBean2) public int compare(ReceiptBean rcpBean1, ReceiptBean rcpBean2)
...@@ -4082,44 +4147,4 @@ class ReceiptBean ...@@ -4082,44 +4147,4 @@ class ReceiptBean
}; };
} }
//Pavan Rane 20FEB20 start [Advance Receipt Customization(remittance form consideration)] //Pavan R on 24MAY18 End
class RemittBean \ No newline at end of file
{
private String tranIdRcp = "";
private String refNo = "";
private String custCode = "";
private BigDecimal rcpAmount = new BigDecimal(0.0);
private BigDecimal refAmt = new BigDecimal(0.0);
public String getTranIdRcp() {
return tranIdRcp;
}
public void setTranIdRcp(String tranIdRcp) {
this.tranIdRcp = tranIdRcp;
}
public String getRefNo() {
return refNo;
}
public void setRefNo(String refNo) {
this.refNo = refNo;
}
public BigDecimal getRcpAmount() {
return rcpAmount;
}
public void setRcpAmount(BigDecimal rcpAmount) {
this.rcpAmount = rcpAmount;
}
public BigDecimal getRefAmt() {
return refAmt;
}
public void setRefAmt(BigDecimal refAmt) {
this.refAmt = refAmt;
}
/*@Override
public String toString() {
return "\n>>>>>>>>>>>>>>>RemittBean<<<<<<<<<<<<<<<<<<<<<<<<<<\n"
+ "tranIdRcp[" + tranIdRcp + "] refNo [" + refNo + "]\n"
+ "rcpAmount["+ rcpAmount + "] refAmt [" + refAmt + "]\n"
+ ">>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n";
}*/
}
//Pavan Rane 20FEB20 end [Advance Receipt Customization(remittance form consideration)]
\ 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