Commit 16fedc73 authored by steurwadkar's avatar steurwadkar

Min Rate insert for quantity and quantity_adj


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@104308 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 2485309e
......@@ -3421,6 +3421,8 @@ public class PostOrderActivity {
ArrayList <String> schemeKeyList= new ArrayList<String>();
boolean periodScheme = false;
String prevRefNo = "";
//Added by Santosh on 04/01/17
double invQty = 0.0;
try
{
// 06-Dec-16 manoharan moved from inside loop
......@@ -3433,7 +3435,9 @@ public class PostOrderActivity {
{
llSchemeNum = Long.parseLong(lsVarValue);
lbChkNull = false;
for (int llCtrSch = 1; llCtrSch < llSchemeNum; llCtrSch++) // FOR LOOP [1]
//Changed by Santosh on 04/01/17 to change condition in for loop
//for (int llCtrSch = 1; llCtrSch < llSchemeNum; llCtrSch++) // FOR LOOP [1]
for (int llCtrSch = 1; llCtrSch <= llSchemeNum; llCtrSch++) // FOR LOOP [1]
{
lsScheme = "SCHEME_HIST_KEY" + llCtrSch;
lsVarValue = distCommon.getDisparams("999999", lsScheme, conn);
......@@ -3821,10 +3825,18 @@ public class PostOrderActivity {
} else if (lsColnameStr.trim().equalsIgnoreCase("cust_code"))
{
lsDocValue = lsDocValue + ',' + custCode.trim();
} else if (lsColnameStr.trim().equalsIgnoreCase("cust_code__bil"))
}
else if (lsColnameStr.trim().equalsIgnoreCase("cust_code__bil"))
{
lsDocValue = lsDocValue + ',' + custCodeBill.trim();
} else if (lsColnameStr.trim().equalsIgnoreCase("lot_no") || lsColnameStr.trim().equalsIgnoreCase("item_code"))
}
//Added by Santosh on 04/01/17 to add Invoice Id in the doc key [Start]
else if (lsColnameStr.trim().equalsIgnoreCase("invoice_id"))
{
lsDocValue = lsDocValue + ',' + invoiceId.trim();
}
//Added by Santosh on 04/01/17 to add Invoice Id in the doc key [End]
else if (lsColnameStr.trim().equalsIgnoreCase("lot_no") || lsColnameStr.trim().equalsIgnoreCase("item_code"))
{
if ("R".equalsIgnoreCase(tranType))
{
......@@ -3916,7 +3928,9 @@ public class PostOrderActivity {
}
}
}
lsDocValue = lsDocValue + "," + xFldValue;
//Changed by Santosh on 03/01/17 to trim xFldValue
//lsDocValue = lsDocValue + "," + xFldValue;
lsDocValue = lsDocValue + "," + xFldValue.trim();
} else
{
if ("R".equalsIgnoreCase(tranType))
......@@ -4023,6 +4037,27 @@ public class PostOrderActivity {
itemCodeOrd = lsSchemeCode;
}
}
//Added by Santosh on 04/01/17 to get invoice qty from invoice[Start]
sql = "SELECT SUM(QUANTITY) FROM INVDET WHERE INVOICE_ID = ? AND ITEM_CODE = ? GROUP BY ITEM_CODE";
pstmt2 = conn.prepareStatement(sql);
pstmt2.setString(1, invoiceId);
pstmt2.setString(2, itemCode);
rs2 = pstmt2.executeQuery();
if (rs2.next())
{
invQty = rs2.getDouble("QUANTITY");
}
if(pstmt2!=null)
{
pstmt2.close();
pstmt2 = null;
}
if(rs2 != null)
{
rs2.close();
rs2 = null;
}
//Added by Santosh on 04/01/17 to get invoice qty from invoice[End]
if (ldEffCost < rate && ldEffCost != 0)
{
sql = "select count(*) as cnt from min_rate_history where doc_key = ?";
......@@ -4041,8 +4076,8 @@ public class PostOrderActivity {
if (cnt == 0)
{
sql = "insert into min_rate_history (doc_key, eff_cost, scheme_code, invoice_id, invoice_date, cust_code, item_code,"
+ " site_code, lot_no, returnable,reas_code, chg_date, chg_user, chg_term )"
+ " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
+ " site_code, lot_no, returnable,reas_code, chg_date, chg_user, chg_term, quantity, quantity_adj )"
+ " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt2 = conn.prepareStatement(sql);
pstmt2.setString(1, lsDocValue);
pstmt2.setDouble(2, ldEffCost);
......@@ -4058,6 +4093,10 @@ public class PostOrderActivity {
pstmt2.setTimestamp(12, chgDate);
pstmt2.setString(13, logInCode);
pstmt2.setString(14, termId);
//Added by Santosh on 04/01/17 to insert qty and qty_adj [Start]
pstmt2.setDouble(15, invQty);
pstmt2.setDouble(16, 0.0);
//Added by Santosh on 04/01/17 to insert qty and qty_adj End]
cnt = pstmt2.executeUpdate();
pstmt2.close();
......@@ -4117,8 +4156,8 @@ public class PostOrderActivity {
if (ldEffCost != 0)
{
sql = "insert into min_rate_history (doc_key, eff_cost, scheme_code, invoice_id, invoice_date, cust_code,"
+ " item_code, site_code, lot_no, returnable,reas_code, chg_date, chg_user, chg_term )"
+ " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
+ " item_code, site_code, lot_no, returnable,reas_code, chg_date, chg_user, chg_term, quantity, quantity_adj )"
+ " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt2 = conn.prepareStatement(sql);
pstmt2.setString(1, lsDocValue);
pstmt2.setDouble(2, ldEffCost);
......@@ -4134,6 +4173,10 @@ public class PostOrderActivity {
pstmt2.setTimestamp(12, chgDate);
pstmt2.setString(13, logInCode);
pstmt2.setString(14, termId);
//Added by Santosh on 04/01/17 to insert qty and qty_adj [Start]
pstmt2.setDouble(15, invQty);
pstmt2.setDouble(16, 0.0);
//Added by Santosh on 04/01/17 to insert qty and qty_adj End]
cnt = pstmt2.executeUpdate();
pstmt2.close();
......
......@@ -3090,7 +3090,113 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
{
iValStr = iValStr.substring(0,iValStr.indexOf("."));
}
//Added by Santosh on 06/12/2016 to append invoice id to itemChange retStr [Start]
if(invoiceId == null || invoiceId.trim().length() == 0)
{
int noSchemeHist = 0;
String schemeKey = "", disParmVarValue = "", docKey = "", docValue = "";
String sNoSchemeHist = distCommon.getDisparams("999999","SCHEME_HIST_NUM",conn);
System.out.println( "sNoSchemeHist :: " + sNoSchemeHist );
noSchemeHist = Integer.parseInt(sNoSchemeHist);
for (int keyCtr = 1; keyCtr <= noSchemeHist ; keyCtr++)
{
schemeKey = "SCHEME_HIST_KEY" + keyCtr ;
System.out.println(">>>>>>>>>In for loop schemeKey:"+schemeKey);
disParmVarValue = distCommon.getDisparams("999999",schemeKey,conn);
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();
}
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);
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;
}
}
//Added by Santosh on 06/12/2016 to append invoice id to itemChange retStr [End]
infoMap = new HashMap();
iValStr = iValStr == null || iValStr.trim().length() == 0 ? "0" : iValStr.trim();
lineNoInv = Integer.parseInt( getNumString( iValStr ) );
......@@ -7339,6 +7445,91 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
String lcRateStr = genericUtility.getColumnValue( "rate", dom );
lcRate = Double.parseDouble( lcRateStr == null || lcRateStr.trim().length() == 0 ? "0" : lcRateStr.trim() );
String llLineNoInvStr = getNumString( genericUtility.getColumnValue( "line_no__inv", dom ) );
//Added by Santosh on 02/12/2016 to split quantity in multiple line as per min_rate_history[Start]
String[] col = new String[500];
int noSchemeHist = 0;
double invoiceQty = 0.0, qtyAdj = 0.0;
boolean dynamicCol = true, colMatch = false;
String schemeKey = "", varValue = "", currCol = "", docKey = "", docValue = "";
String sNoSchemeHist = distCommon.getDisparams("999999","SCHEME_HIST_NUM",conn);
System.out.println( "sNoSchemeHist :: " + sNoSchemeHist );
noSchemeHist = Integer.parseInt(sNoSchemeHist);
for (int keyCtr = 1; keyCtr <= noSchemeHist ; keyCtr++)
{
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(),dom1).trim();
}
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()))
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),dom).trim();
}
else
{
docValue = genericUtility.getColumnValue(varValueArry[i].trim(),dom1).trim();
}
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);
sql = "SELECT QUANTITY, QUANTITY_ADJ FROM MIN_RATE_HISTORY WHERE DOC_KEY = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, docKey);
rs = pstmt.executeQuery();
if(rs.next())
{
invoiceQty = rs.getDouble("QUANTITY");
qtyAdj = rs.getDouble("QUANTITY_ADJ");
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
if(lcQty > (invoiceQty - qtyAdj))
{
return getError((invoiceQty - qtyAdj), "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)
{
llLineNoInvStr = llLineNoInvStr.substring(0,llLineNoInvStr.indexOf("."));
......@@ -8191,7 +8382,8 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
System.out.println( "invoiceId :: " + invoiceId );
if (invoiceId != null && invoiceId.trim().length() > 0 )
{
return sBuff;
//Commented by Santosh on 06/12/2016 [Start]
//return sBuff;
}
retReplFlag = genericUtility.getColumnValue("ret_rep_flag",dom);
System.out.println( "retReplFlag :: " + retReplFlag );
......@@ -8234,12 +8426,15 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
return sBuff;
}
}
priceList = genericUtility.getColumnValue("price_list",dom1);
itemCode = genericUtility.getColumnValue("item_code",dom);
lotNo = genericUtility.getColumnValue("lot_no",dom);
tranDate = genericUtility.getColumnValue("tran_date",dom1);
qtyStdUom = Double.parseDouble(genericUtility.getColumnValue("quantity__stduom",dom));
//Changed and Added by Santosh on 06/12/2016 for null pointer issue [Start]
//qtyStdUom = Double.parseDouble(genericUtility.getColumnValue("quantity__stduom",dom));
String qtyStdUomStr = genericUtility.getColumnValue("quantity__stduom",dom)== null ? "0.0" :genericUtility.getColumnValue("quantity__stduom",dom);
qtyStdUom = Double.parseDouble(qtyStdUomStr);
////Changed and Added by Santosh on 06/12/2016 for null pointer issue [End]
unitRate = genericUtility.getColumnValue("unit__rate",dom);
unitStd = genericUtility.getColumnValue("unit__std",dom);
......@@ -8311,7 +8506,9 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
}
else
{
docKey = docValue;
//Changed by Santosh on 07/12/2016 to trim
//docKey = docValue;
docKey = docValue.trim();
}
}
System.out.println(">>>>>>>>>>final docKey:"+docKey);
......@@ -8335,7 +8532,7 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
}
System.out.println(">>>>>>>>after for loop minRate:"+minRate);
if (minRate == 0)
{
{
tranDate = tranDate == null ? ( genericUtility.getValidDateString( new Timestamp( System.currentTimeMillis() ).toString(), genericUtility.getDBDateFormat(), genericUtility.getApplDateFormat() ) ).toString() : tranDate;
itemCode = itemCode == null ? "" : itemCode;
lotNo = lotNo == null ? "" : lotNo;
......@@ -9067,6 +9264,32 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
}
return updateStatus;
}
//Added by Santosh on 06/12/2016 to format error string [Start]
private String getError(double validQty, String Code, Connection conn) throws ITMException, Exception
{
String mainStr ="";
try
{
String errString = "";
errString = new ITMDBAccessEJB().getErrorString("",Code,"","",conn);
String begPart = errString.substring(0,errString.indexOf("</description>"));
String endDesc = errString.substring(errString.indexOf("</description>"),errString.length());
mainStr = begPart + " ["+validQty+"]. " + endDesc;
System.out.println("mainStr:::::::::::::::::: "+mainStr);
begPart = null;
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return mainStr;
}
//Added by Santosh on 06/12/2016 to format error string [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