Commit fc78e6fc authored by steurwadkar's avatar steurwadkar

Changes to set doc_key for sales return with invoice id ref. and validating if already adjusted


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@43874 ce508802-f39f-4f6c-b175-0d175dae99d5
parent fd22197e
...@@ -3106,184 +3106,89 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales ...@@ -3106,184 +3106,89 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
System.out.println("sreturnAdjOpt:::["+sreturnAdjOpt+"]"); System.out.println("sreturnAdjOpt:::["+sreturnAdjOpt+"]");
if ("M".equalsIgnoreCase(sreturnAdjOpt)) if ("M".equalsIgnoreCase(sreturnAdjOpt))
{ {
orderByStr = " MRH.EFF_COST "; orderByStr = " ORDER BY MRH.EFF_COST ";
} }
else if("E".equalsIgnoreCase(sreturnAdjOpt)) else if("E".equalsIgnoreCase(sreturnAdjOpt))
{ {
orderByStr = " MRH.INVOICE_DATE ASC,MRH.INVOICE_ID ASC "; orderByStr = " ORDER BY MRH.INVOICE_DATE ASC,MRH.INVOICE_ID ASC ";
} }
else if("L".equalsIgnoreCase(sreturnAdjOpt)) else if("L".equalsIgnoreCase(sreturnAdjOpt))
{ {
orderByStr = " MRH.INVOICE_DATE DESC,MRH.INVOICE_ID DESC "; orderByStr = " ORDER BY MRH.INVOICE_DATE DESC,MRH.INVOICE_ID DESC ";
} }
//Changed by Santosh on 10/05/2017 to not set invoice id if SRETURN_ADJ_OPT is not defined //Changed by Santosh on 10/05/2017 to not set invoice id if SRETURN_ADJ_OPT is not defined
//if(invoiceId == null || invoiceId.trim().length() == 0) //if(invoiceId == null || invoiceId.trim().length() == 0)
if( (invoiceId == null || invoiceId.trim().length() == 0) && !"NULLFOUND".equalsIgnoreCase(sreturnAdjOpt)) //Changed by Santosh on 23/05/2017 to set rate and doc_key if SRETURN_ADJ_OPT is defined for invoice_id ref case
//if( (invoiceId == null || invoiceId.trim().length() == 0) && !"NULLFOUND".equalsIgnoreCase(sreturnAdjOpt))
if( !"NULLFOUND".equalsIgnoreCase(sreturnAdjOpt))
{ {
/*int noSchemeHist = 0; /*int noSchemeHist = 0;
String schemeKey = "", disParmVarValue = "", docKey = "", docValue = ""; String schemeKey = "", disParmVarValue = "", docKey = "", docValue = "";
String sNoSchemeHist = distCommon.getDisparams("999999","SCHEME_HIST_NUM",conn); String sNoSchemeHist = distCommon.getDisparams("999999","SCHEME_HIST_NUM",conn);
System.out.println( "sNoSchemeHist :: " + sNoSchemeHist ); System.out.println( "sNoSchemeHist :: " + sNoSchemeHist );
noSchemeHist = Integer.parseInt(sNoSchemeHist); noSchemeHist = Integer.parseInt(sNoSchemeHist);
for (int keyCtr = 1; keyCtr <= noSchemeHist ; keyCtr++) for (int keyCtr = 1; keyCtr <= noSchemeHist ; keyCtr++)
{ {
schemeKey = "SCHEME_HIST_KEY" + keyCtr ; schemeKey = "SCHEME_HIST_KEY" + keyCtr ;
System.out.println(">>>>>>>>>In for loop schemeKey:"+schemeKey); System.out.println(">>>>>>>>>In for loop schemeKey:"+schemeKey);
disParmVarValue = distCommon.getDisparams("999999",schemeKey,conn); disParmVarValue = distCommon.getDisparams("999999",schemeKey,conn);
System.out.println(">>>>>>>>>In for loop afer schemeKey varValue:"+disParmVarValue); System.out.println(">>>>>>>>>In for loop afer schemeKey varValue:"+disParmVarValue);
disParmVarValue = disParmVarValue.trim();
String[] varValueArry = disParmVarValue.split(",");
for(int i=0; i<varValueArry.length; i++)
{
if("cust_code".equalsIgnoreCase(varValueArry[i].trim()))
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),dom1).trim();
}
//Added by Santosh on 26/04/2017 for missing site_code condition [Start]
else if("site_code".equalsIgnoreCase(varValueArry[i].trim()))
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),dom1).trim();
}
//Added by Santosh on 26/04/2017 for missing site_code condition [End]
else if("item_code".equalsIgnoreCase(varValueArry[i].trim()))
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),dom).trim();
}
else if("lot_no".equalsIgnoreCase(varValueArry[i].trim()))
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),dom).trim();
}
else if("invoice_id".equalsIgnoreCase(varValueArry[i].trim()))
{
continue;
}
if (docKey != "" && docKey.trim().length() > 0) disParmVarValue = disParmVarValue.trim();
{
docKey = docKey + "," + ( docValue == null || docValue.trim().length() == 0 ? "" : docValue); String[] varValueArry = disParmVarValue.split(",");
}
else for(int i=0; i<varValueArry.length; i++)
{ {
docKey = docValue; if("cust_code".equalsIgnoreCase(varValueArry[i].trim()))
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),dom1).trim();
}
//Added by Santosh on 26/04/2017 for missing site_code condition [Start]
else if("site_code".equalsIgnoreCase(varValueArry[i].trim()))
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),dom1).trim();
}
//Added by Santosh on 26/04/2017 for missing site_code condition [End]
else if("item_code".equalsIgnoreCase(varValueArry[i].trim()))
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),dom).trim();
}
else if("lot_no".equalsIgnoreCase(varValueArry[i].trim()))
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),dom).trim();
}
else if("invoice_id".equalsIgnoreCase(varValueArry[i].trim()))
{
continue;
}
if (docKey != "" && docKey.trim().length() > 0)
{
docKey = docKey + "," + ( docValue == null || docValue.trim().length() == 0 ? "" : docValue);
}
else
{
docKey = docValue;
}
} }
} }
} System.out.println(">>>>>>>>after for loop docKey:"+docKey);
System.out.println(">>>>>>>>after for loop docKey:"+docKey);
sql = " SELECT MRH.INVOICE_ID,SUM(CASE WHEN SRDET.QUANTITY IS NULL THEN 0 ELSE SRDET.QUANTITY END), MRH.EFF_COST "
+ " FROM MIN_RATE_HISTORY MRH, SRETURNDET SRDET WHERE MRH.INVOICE_ID=SRDET.INVOICE_ID(+) "
+ " AND MRH.DOC_KEY LIKE '"+docKey+"%' AND MRH.QUANTITY-MRH.QUANTITY_ADJ>0 AND MRH.QUANTITY IS NOT NULL "
+ " GROUP BY MRH.INVOICE_ID,MRH.QUANTITY, MRH.EFF_COST HAVING MRH.QUANTITY-SUM(CASE WHEN SRDET.QUANTITY IS NULL THEN 0 ELSE SRDET.QUANTITY END)>0 "
+ " ORDER BY MRH.EFF_COST";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
{
invoiceId = checkNull(rs.getString("INVOICE_ID"));
valueXmlString.append("<invoice_id>").append("<![CDATA[" + invoiceId + "]]>").append("</invoice_id>");
setNodeValue(dom1, "invoice_id", invoiceId);
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
sql = "SELECT INV_LINE_NO, LINE_NO FROM INVOICE_TRACE WHERE INVOICE_ID = ? AND ITEM_CODE = ? AND LOT_NO = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, invoiceId);
pstmt.setString(2, itemCode);
pstmt.setString(3, lotNo);
rs = pstmt.executeQuery();
if(rs.next())
{
String liLineNoStr = getNumString( rs.getString("INV_LINE_NO"));
lineNoInv = Integer.parseInt(liLineNoStr);
String lineNoInvTrace = getNumString(rs.getString("LINE_NO"));
int ilineNoInvTrace = Integer.parseInt(lineNoInvTrace);
valueXmlString.append("<line_no__inv>").append("<![CDATA[" + lineNoInv + "]]>").append("</line_no__inv>");
valueXmlString.append("<line_no__invtrace>").append("<![CDATA[" + ilineNoInvTrace + "]]>").append("</line_no__invtrace>");
System.out.println("lineNoInv before >>> " + lineNoInv);
setNodeValue( dom, "line_no__inv", lineNoInv );
setNodeValue( dom, "line_no__invtrace", ilineNoInvTrace );
invoiceId = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}*/
curFormItemLotHMap.put("cust_code", genericUtility.getColumnValue("cust_code", dom1));
curFormItemLotHMap.put("item_code", itemCode);
curFormItemLotHMap.put("lot_no", lotNo);
curFormItemLotHMap.put("site_code", siteCode);
curFormItemLotHMap.put("quantity", genericUtility.getColumnValue("quantity", dom));
custCode = genericUtility.getColumnValue("cust_code", dom1);
slineNo = genericUtility.getColumnValue("line_no", dom);
lineNo = Integer.parseInt(slineNo);
sql = " SELECT MRH.INVOICE_ID,MRH.QUANTITY, MRH.CUST_CODE, MRH.ITEM_CODE, MRH.LOT_NO, MRH.SITE_CODE, MRH.INVOICE_DATE," sql = " SELECT MRH.INVOICE_ID,SUM(CASE WHEN SRDET.QUANTITY IS NULL THEN 0 ELSE SRDET.QUANTITY END), MRH.EFF_COST "
+ " 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(+) "
+ " FROM MIN_RATE_HISTORY MRH, SRETURNDET SRDET" + " AND MRH.DOC_KEY LIKE '"+docKey+"%' AND MRH.QUANTITY-MRH.QUANTITY_ADJ>0 AND MRH.QUANTITY IS NOT NULL "
//Changed by Santosh on 16/05/2017 + " GROUP BY MRH.INVOICE_ID,MRH.QUANTITY, MRH.EFF_COST HAVING MRH.QUANTITY-SUM(CASE WHEN SRDET.QUANTITY IS NULL THEN 0 ELSE SRDET.QUANTITY END)>0 "
//+ " WHERE MRH.INVOICE_ID =SRDET.INVOICE_ID(+) AND MRH.CUST_CODE = ?" + " ORDER BY MRH.EFF_COST";
+ " 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"
+ " AND MRH.SITE_CODE = ? AND MRH.QUANTITY - CASE WHEN MRH.QUANTITY_ADJ IS NULL THEN 0 ELSE MRH.QUANTITY_ADJ END > 0"
+ " AND MRH.QUANTITY IS NOT NULL"
+ " GROUP BY MRH.INVOICE_ID, MRH.QUANTITY, MRH.EFF_COST,MRH.CUST_CODE,MRH.ITEM_CODE,MRH.LOT_NO, MRH.SITE_CODE, MRH.INVOICE_DATE"
+ " HAVING MRH.QUANTITY-SUM( CASE WHEN SRDET.QUANTITY IS NULL THEN 0 ELSE SRDET.QUANTITY END) > 0"
+ " ORDER BY "+orderByStr;
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, custCode);
pstmt.setString(2, itemCode);
pstmt.setString(3, lotNo);
pstmt.setString(4, siteCode);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) if(rs.next())
{ {
invoiceId = checkNull(rs.getString("INVOICE_ID")); invoiceId = checkNull(rs.getString("INVOICE_ID"));
invoiceQty = checkNull(rs.getString("QUANTITY")); valueXmlString.append("<invoice_id>").append("<![CDATA[" + invoiceId + "]]>").append("</invoice_id>");
adjQty = checkNull(rs.getString("QTY_ADJ")); setNodeValue(dom1, "invoice_id", invoiceId);
//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")));
curRecordItemLotHMap.put("lot_no", checkNull(rs.getString("LOT_NO")));
curRecordItemLotHMap.put("site_code", checkNull(rs.getString("SITE_CODE")));
curRecordItemLotHMap.put("quantity", invoiceQty);
minRateDocKey = generateDocKey(dom1, dom, invoiceId, conn);
if(lineNo > 1)
{
//Changed by Santosh on 16/05/2017 as invoiceId is not set on itemchange
//invoiceId = getAvailableInvId(dom2, curFormItemLotHMap, curRecordItemLotHMap, invoiceId, adjQty);
invoiceId = getAvailableInvId(dom2, curFormItemLotHMap, curRecordItemLotHMap, invoiceId, minRateDocKey, adjQty);
}
if( invoiceId != null && invoiceId.trim().length() > 0)
{
break;
}
} }
if(pstmt != null) if(pstmt != null)
{ {
...@@ -3296,31 +3201,164 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales ...@@ -3296,31 +3201,164 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
rs = null; rs = null;
} }
if( invoiceId != null && invoiceId.trim().length() > 0 ) sql = "SELECT INV_LINE_NO, LINE_NO FROM INVOICE_TRACE WHERE INVOICE_ID = ? AND ITEM_CODE = ? AND LOT_NO = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, invoiceId);
pstmt.setString(2, itemCode);
pstmt.setString(3, lotNo);
rs = pstmt.executeQuery();
if(rs.next())
{ {
//Commented and changed by Santosh on 16/05/2017 to set invoice id in docKey only [Start] String liLineNoStr = getNumString( rs.getString("INV_LINE_NO"));
/*valueXmlString.append("<invoice_id>").append("<![CDATA[" + invoiceId + "]]>").append("</invoice_id>"); lineNoInv = Integer.parseInt(liLineNoStr);
setNodeValue(dom1, "invoice_id", invoiceId); String lineNoInvTrace = getNumString(rs.getString("LINE_NO"));
int ilineNoInvTrace = Integer.parseInt(lineNoInvTrace);
valueXmlString.append("<line_no__inv>").append("<![CDATA[" + lineNoInv + "]]>").append("</line_no__inv>");
valueXmlString.append("<line_no__invtrace>").append("<![CDATA[" + ilineNoInvTrace + "]]>").append("</line_no__invtrace>");
System.out.println("lineNoInv before >>> " + lineNoInv);
setNodeValue( dom, "line_no__inv", lineNoInv );
setNodeValue( dom, "line_no__invtrace", ilineNoInvTrace );
invoiceId = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}*/
//Added by Santosh on 23/05/2017 to check if invoice_id reference is available in Min_rate_history [Start]
if( checkNull(invoiceId).trim().length() == 0)
{
curFormItemLotHMap.put("cust_code", genericUtility.getColumnValue("cust_code", dom1));
curFormItemLotHMap.put("item_code", itemCode);
curFormItemLotHMap.put("lot_no", lotNo);
curFormItemLotHMap.put("site_code", siteCode);
curFormItemLotHMap.put("quantity", genericUtility.getColumnValue("quantity", dom));
sql = "SELECT INV_LINE_NO, LINE_NO FROM INVOICE_TRACE WHERE INVOICE_ID = ? AND ITEM_CODE = ? AND LOT_NO = ?"; custCode = genericUtility.getColumnValue("cust_code", dom1);
slineNo = genericUtility.getColumnValue("line_no", dom);
lineNo = Integer.parseInt(slineNo);
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"
//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"
+ " AND MRH.SITE_CODE = ? AND MRH.QUANTITY - CASE WHEN MRH.QUANTITY_ADJ IS NULL THEN 0 ELSE MRH.QUANTITY_ADJ END > 0"
+ " AND MRH.QUANTITY IS NOT NULL"
+ " GROUP BY MRH.INVOICE_ID, MRH.QUANTITY, MRH.EFF_COST,MRH.CUST_CODE,MRH.ITEM_CODE,MRH.LOT_NO, MRH.SITE_CODE, MRH.INVOICE_DATE"
+ " HAVING MRH.QUANTITY-SUM( CASE WHEN SRDET.QUANTITY IS NULL THEN 0 ELSE SRDET.QUANTITY END) > 0"
//Changed by Santosh on 23/05/2017 to avoid sql exception if SRETURN_ADJ_OPT value is other than ('E', 'L', 'M')
//+ " ORDER BY "+orderByStr;
+ orderByStr;
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, invoiceId); pstmt.setString(1, custCode);
pstmt.setString(2, itemCode); pstmt.setString(2, itemCode);
pstmt.setString(3, lotNo); pstmt.setString(3, lotNo);
pstmt.setString(4, siteCode);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) while(rs.next())
{ {
String liLineNoStr = getNumString( rs.getString("INV_LINE_NO")); invoiceId = checkNull(rs.getString("INVOICE_ID"));
lineNoInv = Integer.parseInt(liLineNoStr); invoiceQty = checkNull(rs.getString("QUANTITY"));
String lineNoInvTrace = getNumString(rs.getString("LINE_NO")); adjQty = checkNull(rs.getString("QTY_ADJ"));
int ilineNoInvTrace = Integer.parseInt(lineNoInvTrace); //Added by Santosh on 16/05/2017
valueXmlString.append("<line_no__inv>").append("<![CDATA[" + lineNoInv + "]]>").append("</line_no__inv>"); rate = rs.getDouble("EFF_COST");
valueXmlString.append("<line_no__invtrace>").append("<![CDATA[" + ilineNoInvTrace + "]]>").append("</line_no__invtrace>");
System.out.println("lineNoInv before >>> " + lineNoInv); curRecordItemLotHMap.put("cust_code", checkNull(rs.getString("CUST_CODE")));
setNodeValue( dom, "line_no__inv", lineNoInv ); curRecordItemLotHMap.put("item_code", checkNull(rs.getString("ITEM_CODE")));
setNodeValue( dom, "line_no__invtrace", ilineNoInvTrace ); curRecordItemLotHMap.put("lot_no", checkNull(rs.getString("LOT_NO")));
curRecordItemLotHMap.put("site_code", checkNull(rs.getString("SITE_CODE")));
curRecordItemLotHMap.put("quantity", invoiceQty);
minRateDocKey = generateDocKey(dom1, dom, invoiceId, conn);
if(lineNo > 1)
{
//Changed by Santosh on 16/05/2017 as invoiceId is not set on itemchange
//invoiceId = getAvailableInvId(dom2, curFormItemLotHMap, curRecordItemLotHMap, invoiceId, adjQty);
invoiceId = getAvailableInvId(dom2, curFormItemLotHMap, curRecordItemLotHMap, invoiceId, minRateDocKey, adjQty);
}
if( invoiceId != null && invoiceId.trim().length() > 0)
{
break;
}
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if( invoiceId != null && invoiceId.trim().length() > 0 )
{
//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 = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, invoiceId);
pstmt.setString(2, itemCode);
pstmt.setString(3, lotNo);
rs = pstmt.executeQuery();
if(rs.next())
{
String liLineNoStr = getNumString( rs.getString("INV_LINE_NO"));
lineNoInv = Integer.parseInt(liLineNoStr);
String lineNoInvTrace = getNumString(rs.getString("LINE_NO"));
int ilineNoInvTrace = Integer.parseInt(lineNoInvTrace);
valueXmlString.append("<line_no__inv>").append("<![CDATA[" + lineNoInv + "]]>").append("</line_no__inv>");
valueXmlString.append("<line_no__invtrace>").append("<![CDATA[" + ilineNoInvTrace + "]]>").append("</line_no__invtrace>");
System.out.println("lineNoInv before >>> " + lineNoInv);
setNodeValue( dom, "line_no__inv", lineNoInv );
setNodeValue( dom, "line_no__invtrace", ilineNoInvTrace );
invoiceId = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}*/
isMinHisRateSet = true;
valueXmlString.append("<rate>").append("<![CDATA[" + rate + "]]>").append("</rate>");
valueXmlString.append("<doc_key>").append("<![CDATA[" + minRateDocKey + "]]>").append("</doc_key>");
invoiceId = null; invoiceId = null;
//Commented and changed by Santosh on 16/05/2017 to set invoice id in docKey only [End]
}
}
else if(invoiceId != null && invoiceId.trim().length()>0)
{
minRateDocKey = generateDocKey(dom1, dom, invoiceId, conn);
sql = "SELECT DOC_KEY,EFF_COST FROM MIN_RATE_HISTORY WHERE DOC_KEY = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, minRateDocKey);
rs = pstmt.executeQuery();
if(rs.next())
{
minRateDocKey = checkNull(rs.getString("DOC_KEY"));
rate = rs.getDouble("EFF_COST");
} }
if(pstmt != null) if(pstmt != null)
{ {
...@@ -3331,13 +3369,13 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales ...@@ -3331,13 +3369,13 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
{ {
rs.close(); rs.close();
rs = null; rs = null;
}*/ }
isMinHisRateSet = true; isMinHisRateSet = true;
valueXmlString.append("<rate>").append("<![CDATA[" + rate + "]]>").append("</rate>"); valueXmlString.append("<rate>").append("<![CDATA[" + rate + "]]>").append("</rate>");
valueXmlString.append("<doc_key>").append("<![CDATA[" + minRateDocKey + "]]>").append("</doc_key>"); valueXmlString.append("<doc_key>").append("<![CDATA[" + minRateDocKey + "]]>").append("</doc_key>");
invoiceId = null; invoiceId = null;
//Commented and changed by Santosh on 16/05/2017 to set invoice id in docKey only [End]
} }
//Added by Santosh on 23/05/2017 to check if invoice_id reference is available in Min_rate_history [End]
} }
//Added by Santosh on 06/12/2016 to append invoice id to itemChange retStr [End] //Added by Santosh on 06/12/2016 to append invoice id to itemChange retStr [End]
infoMap = new HashMap(); infoMap = new HashMap();
...@@ -7677,6 +7715,8 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales ...@@ -7677,6 +7715,8 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
//Added by Santosh on 10/05/2017 //Added by Santosh on 10/05/2017
String sreturnAdjOpt = distCommon.getDisparams("999999", "SRETURN_ADJ_OPT", conn); String sreturnAdjOpt = distCommon.getDisparams("999999", "SRETURN_ADJ_OPT", conn);
//Added by Santosh on 23/05/2017
boolean isValidInvoiceId = true;
//Added by Santosh on 02/12/2016 to split quantity in multiple line as per min_rate_history[Start] //Added by Santosh on 02/12/2016 to split quantity in multiple line as per min_rate_history[Start]
//Changed by Santosh on 10/05/2017 to not to validate split quantity if SRETURN_ADJ_OPT is not defined //Changed by Santosh on 10/05/2017 to not to validate split quantity if SRETURN_ADJ_OPT is not defined
...@@ -7830,13 +7870,28 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales ...@@ -7830,13 +7870,28 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
rs = null; rs = null;
} }
//Added by Santosh on 23/05/2017 to check if enetered inovice id is availbel for salesreturn[Start]
if(lsInvoiceId != null && lsInvoiceId.trim().length()>0)
{
if((qtyAdj+sdetQtyAdj+domTotalQty)>0)
{
errCode = "VTINVADJ";
errList.add( errCode );
errFields.add( childNodeName.toLowerCase() );
isValidInvoiceId = false;
}
}
//Added by Santosh on 23/05/2017 to check if enetered inovice id is availbel for salesreturn[End]
//Changed by Santosh on 17/05/2017 //Changed by Santosh on 17/05/2017
//if(lcQty > (invoiceQty - (qtyAdj+sdetQtyAdj+domTotalQty))) //if(lcQty > (invoiceQty - (qtyAdj+sdetQtyAdj+domTotalQty)))
//Changed by wasim on 17-MAY-17 corrected validation condition //Changed by wasim on 17-MAY-17 corrected validation condition
//if(lcQty > (qtyAdj+sdetQtyAdj+domTotalQty)) //if(lcQty > (qtyAdj+sdetQtyAdj+domTotalQty))
//Changed by Santosh on 18/05/2017 to correct condition //Changed by Santosh on 18/05/2017 to correct condition
//if(lcQty - (qtyAdj+sdetQtyAdj+domTotalQty) <= 0) //if(lcQty - (qtyAdj+sdetQtyAdj+domTotalQty) <= 0)
if(lcQty > invoiceQty) //Changed by Santosh on 23/05/2017 to correct condition
//if(lcQty > invoiceQty)
if(isValidInvoiceId && (lcQty+(qtyAdj+sdetQtyAdj+domTotalQty)) > invoiceQty)
{ {
return getError((invoiceQty - (qtyAdj+sdetQtyAdj+domTotalQty)), "VTSPLTQTY", conn); return getError((invoiceQty - (qtyAdj+sdetQtyAdj+domTotalQty)), "VTSPLTQTY", conn);
} }
......
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