Commit cc84d300 authored by steurwadkar's avatar steurwadkar

Sales return changes to set docKey and set rate from pricelist if invoice id...

Sales return changes to set docKey and set rate from pricelist if invoice id not found in min_rate_history


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@43814 ce508802-f39f-4f6c-b175-0d175dae99d5
parent ef52e51c
......@@ -402,6 +402,10 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
HashMap<String, String> curRecordItemLotHMap = new HashMap<String, String>();
String sreturnAdjOpt = "", orderByStr = "";
//Added by Santosh on 27/04/2017 to get available invoice Id [End]
//Added by Santosh on 16/05/2017 [Start]
String minRateDocKey = "";
boolean isMinHisRateSet = false;
//Added by Santosh on 16/05/2017 [End]
try
{
// Changed by Sneha on 22-07-2016 for exchange rate [Start]
......@@ -3238,7 +3242,9 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
sql = " SELECT MRH.INVOICE_ID,MRH.QUANTITY, MRH.CUST_CODE, MRH.ITEM_CODE, MRH.LOT_NO, MRH.SITE_CODE, MRH.INVOICE_DATE,"
+ " SUM( CASE WHEN SRDET.QUANTITY IS NULL THEN 0 ELSE SRDET.QUANTITY END) AS QTY_ADJ, MRH.EFF_COST"
+ " FROM MIN_RATE_HISTORY MRH, SRETURNDET SRDET"
+ " WHERE MRH.INVOICE_ID =SRDET.INVOICE_ID(+) AND MRH.CUST_CODE = ?"
//Changed by Santosh on 16/05/2017
//+ " WHERE MRH.INVOICE_ID =SRDET.INVOICE_ID(+) AND MRH.CUST_CODE = ?"
+ " WHERE MRH.DOC_KEY =SRDET.DOC_KEY(+) AND MRH.CUST_CODE = ?"
+ " AND MRH.ITEM_CODE = ? AND MRH.LOT_NO = ?"
//Changed by Santosh on 05/05/2017 to set 0 if qty_adj is null value
//+ " AND MRH.SITE_CODE = ? AND MRH.QUANTITY-MRH.QUANTITY_ADJ > 0"
......@@ -3259,6 +3265,8 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
invoiceId = checkNull(rs.getString("INVOICE_ID"));
invoiceQty = checkNull(rs.getString("QUANTITY"));
adjQty = checkNull(rs.getString("QTY_ADJ"));
//Added by Santosh on 16/05/2017
rate = rs.getInt("EFF_COST");
curRecordItemLotHMap.put("cust_code", checkNull(rs.getString("CUST_CODE")));
curRecordItemLotHMap.put("item_code", checkNull(rs.getString("ITEM_CODE")));
......@@ -3288,7 +3296,8 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
if( invoiceId != null && invoiceId.trim().length() > 0 )
{
valueXmlString.append("<invoice_id>").append("<![CDATA[" + invoiceId + "]]>").append("</invoice_id>");
//Commented and changed by Santosh on 16/05/2017 to set invoice id in docKey only [Start]
/*valueXmlString.append("<invoice_id>").append("<![CDATA[" + invoiceId + "]]>").append("</invoice_id>");
setNodeValue(dom1, "invoice_id", invoiceId);
sql = "SELECT INV_LINE_NO, LINE_NO FROM INVOICE_TRACE WHERE INVOICE_ID = ? AND ITEM_CODE = ? AND LOT_NO = ?";
......@@ -3320,7 +3329,13 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
{
rs.close();
rs = null;
}
}*/
isMinHisRateSet = true;
minRateDocKey = generateDocKey(dom1, dom, invoiceId, conn);
valueXmlString.append("<rate>").append("<![CDATA[" + rate + "]]>").append("</rate>");
valueXmlString.append("<doc_key>").append("<![CDATA[" + minRateDocKey + "]]>").append("</doc_key>");
invoiceId = null;
//Commented and changed by Santosh on 16/05/2017 to set invoice id in docKey only [End]
}
}
//Added by Santosh on 06/12/2016 to append invoice id to itemChange retStr [End]
......@@ -3618,7 +3633,9 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
else
{
System.out.println( "retReplFlag :2 : " + retReplFlag );
if (retReplFlag != null && retReplFlag.equals("R"))
//Changed by Santosh on 16/05/2017 to not to set rate if already set from min_rate_history
//if (retReplFlag != null && retReplFlag.equals("R"))
if (retReplFlag != null && retReplFlag.equals("R") && !isMinHisRateSet)
{
System.out.println(">>>>>>>>>>>>>In lot_no before getMinRate @ 3313:");
StringBuffer minRateBuff = getMinRate( dom, dom1, "lot_no", valueXmlString, conn);
......@@ -3778,11 +3795,16 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
/*End*/
StringBuffer minRateBuff = getMinRate( dom, dom1, currentColumn.trim(), valueXmlString, conn );
//Changed by Santosh on 16/05/2017 to not to set rate if already set from min_rate_history [Start]
//StringBuffer minRateBuff = getMinRate( dom, dom1, currentColumn.trim(), valueXmlString, conn );
StringBuffer minRateBuff = null;
if(!isMinHisRateSet)
{
minRateBuff = getMinRate( dom, dom1, currentColumn.trim(), valueXmlString, conn );
System.out.println( "minRateBuff2 :: " + minRateBuff.toString() );
valueXmlString = minRateBuff;
valueXmlString = minRateBuff;
}
//Changed by Santosh on 16/05/2017 to not to set rate if already set from min_rate_history [End]
System.out.println("lslotsl["+lslotsl+"]");
setNodeValue( dom, "lot_sl",lslotsl);
reStr = itemChanged(dom, dom1, dom2, objContext, "lot_sl", editFlag, xtraParams);
......@@ -7659,7 +7681,9 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
//Changed by Santosh on 10/05/2017 to not to validate split quantity if SRETURN_ADJ_OPT is not defined
if(! "NULLFOUND".equalsIgnoreCase(sreturnAdjOpt))
{
String[] col = new String[500];
double invoiceQty = 0.0, qtyAdj = 0.0;
//Commented and changed by Santosh on 16/05/2017 to get docKey from dom [Start]
/*String[] col = new String[500];
int noSchemeHist = 0;
double invoiceQty = 0.0, qtyAdj = 0.0;
boolean dynamicCol = true, colMatch = false;
......@@ -7719,8 +7743,12 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
}
}
}
System.out.println(">>>>>>>>after for loop docKey:"+docKey);
System.out.println(">>>>>>>>after for loop docKey:"+docKey);*/
String docKey = checkNull(genericUtility.getColumnValue( "doc_key", dom ));
//Commented and changed by Santosh on 16/05/2017 to get docKey from dom [End]
if( !"".equalsIgnoreCase(docKey.trim()) && docKey.trim().length() > 0)
{
System.out.println("docKey in wfvaldata for quantity ["+docKey+"]");
HashMap<String,String> curDomDataHMap = new HashMap<String,String>();
curDomDataHMap.put("cust_code", custCode);
curDomDataHMap.put("item_code", itemCode);
......@@ -7737,8 +7765,10 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
+ " FROM SRETURN SRET, SRETURNDET SDET"
+ " WHERE SRET.TRAN_ID = SDET.TRAN_ID"
+ " AND SRET.CONFIRMED = 'N'"
+ " AND SDET.INVOICE_ID IS NOT NULL"
+ " AND SDET.INVOICE_ID = ?"
//Changed by Santosh on 16/05/2017
//+ " AND SDET.INVOICE_ID IS NOT NULL"
//+ " AND SDET.INVOICE_ID = ?"
+ " AND SDET.DOC_KEY = ?"
+ " AND SDET.ITEM_CODE = ?"
+ " AND SDET.LOT_NO = ?"
+ " AND SRET.SITE_CODE = ?"
......@@ -7746,7 +7776,9 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
+ " GROUP BY SDET.INVOICE_ID";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsInvoiceId);
//Changed by Santosh on 16/05/2017
//pstmt.setString(1, lsInvoiceId);
pstmt.setString(1, docKey);
pstmt.setString(2, itemCode);
pstmt.setString(3, lsLotNo);
pstmt.setString(4, siteCode);
......@@ -7800,6 +7832,7 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
return getError((invoiceQty - (qtyAdj+sdetQtyAdj+domTotalQty)), "VTSPLTQTY", conn);
}
}
}
//Added by Santosh on 02/12/2016 to split quantity in multiple line as per min_rate_history[End]
if (llLineNoInvStr != null && llLineNoInvStr.indexOf(".") > 0)
......@@ -8830,8 +8863,9 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
sBuff.append("<rate>").append(minRate).append("</rate>");
sBuff.append("<conv__rtuom_stduom>").append(convList.get(0)).append("</conv__rtuom_stduom>");
sBuff.append("<rate__stduom>").append(convList.get(1)).append("</rate__stduom>");
//Commneted by Santosh on 16/05/2017
//Added by Santosh on 28/04/2017 to store doc_key
sBuff.append("<doc_key><![CDATA[").append(docKey).append("]]></doc_key>");
//sBuff.append("<doc_key><![CDATA[").append(docKey).append("]]></doc_key>");
}
catch(Exception e)
......@@ -9710,6 +9744,88 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
return retDomQty;
}
//Added by Santosh on 27/04/2017 to get next available invoide id [End]
//Added by Santosh on 16/05/2017 to generate minRateDocKey [Start]
private String generateDocKey(Document headerDom, Document curDetDom, String invoiceID, Connection conn)
{
String retDocKey = "";
DistCommon distCommon = new DistCommon();
String sNoOfKeys = "", schemeKey = "", varValue = "", docKey = null, docValue = "";
int noOfKeys = 0;
String col[] = new String[500];
boolean dynamicCol = true;
try
{
sNoOfKeys = distCommon.getDisparams("999999","SCHEME_HIST_NUM",conn);
if ( "NULLFOUND".equals( sNoOfKeys ) )
{
retDocKey = "";
}
else
{
noOfKeys = Integer.parseInt(sNoOfKeys);
}
for(int keyCtr = 1; keyCtr <= noOfKeys; keyCtr++)
{
docKey = "";
schemeKey = "SCHEME_HIST_KEY" + keyCtr ;
System.out.println(">>>>>>>>>In for loop schemeKey:"+schemeKey);
varValue = distCommon.getDisparams("999999",schemeKey,conn);
System.out.println(">>>>>>>>>In for loop afer schemeKey varValue:"+varValue);
varValue = varValue.trim();
String[] varValueArry = varValue.split(",");
for(int i=0; i<varValueArry.length; i++)
{
if("cust_code".equalsIgnoreCase(varValueArry[i].trim()))
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),headerDom).trim();
}
else if("site_code".equalsIgnoreCase(varValueArry[i].trim()))
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),headerDom).trim();
}
else if("item_code".equalsIgnoreCase(varValueArry[i].trim()))
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),curDetDom).trim();
}
else if("lot_no".equalsIgnoreCase(varValueArry[i].trim()))
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),curDetDom).trim();
}
else if("invoice_id".equalsIgnoreCase(varValueArry[i].trim()))
{
docValue = invoiceID;
}
else
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),headerDom).trim();
}
if (docKey != "" && docKey.trim().length() > 0)
{
docKey = docKey + "," + ( docValue == null || docValue.trim().length() == 0 ? "" : docValue);
}
else
{
docKey = docValue;
}
}
}
retDocKey = docKey;
System.out.println("retDocKey["+retDocKey+"]");
}
catch (Exception e)
{
System.out.println("SalesReturn.generateDocKey()["+e.getMessage()+"]");
e.printStackTrace();
}
return retDocKey;
}
//Added by Santosh on 16/05/2017 to generate minRateDocKey [End]
}// END OF MAIN CLASS
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