Commit 18876915 authored by ngadkari's avatar ngadkari

Change in validation tran id consideration in sql and removed edit flag condition

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@204140 ce508802-f39f-4f6c-b175-0d175dae99d5
parent ecd09c25
......@@ -396,7 +396,7 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
int cntItemLotInfo=0;
double qutyAdj=0.0;
//Added by Santosh on 27/04/2017 to get available invoice Id [Start]
String invoiceQty = "", adjQty = "";
String invoiceQty = "";// adjQty = "";
HashMap<String, String> curFormItemLotHMap = new HashMap<String, String>();
HashMap<String, String> curRecordItemLotHMap = new HashMap<String, String>();
String sreturnAdjOpt = "", orderByStr = "";
......@@ -411,6 +411,7 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
ArrayList<String> dokkeyList=null; // Added by Nandkumar Gadkari on 14/09/18
String expDateStrg="",mfgDateStrg="";// added by nandkumar gadkari on 28/01/19
boolean cpFlag = false;
double srDQuantity =0,adjQty=0,domTotalQty=0;
try
{
// Changed by Sneha on 22-07-2016 for exchange rate [Start]
......@@ -2521,7 +2522,7 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
varValue = "0";
}
convFact = Double.parseDouble(varValue);
if ( unit != null && !unit.trim().equals( unitStd.trim() ) )
if ( unit != null && unitStd != null && !unit.trim().equals( unitStd.trim() ) )// condition added by nandkumar gadkari on 26/06/19
{
convAr = distCommon.getConvQuantityFact(unit, unitStd, itemCode, quantity, convFact, conn);
convFact = Double.parseDouble( convAr.get(0).toString() );
......@@ -3327,6 +3328,7 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
retReplFlag = genericUtility.getColumnValue("ret_rep_flag", dom);
String iValStr = genericUtility.getColumnValue("line_no__inv", dom);
sQuantity=checkDoubleNull(genericUtility.getColumnValue("quantity__stduom", dom));//added by nandkumar gadkari on 18/07/19
tranId = genericUtility.getColumnValue("tran_id", dom);
if (iValStr != null && iValStr.indexOf(".") > 0)
{
iValStr = iValStr.substring(0,iValStr.indexOf("."));
......@@ -3514,7 +3516,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"));
//adjQty = checkNull(rs.getString("QTY_ADJ"));
adjQty =rs.getDouble("QTY_ADJ");
//Added by Santosh on 16/05/2017
rate = rs.getDouble("EFF_COST");
......@@ -3559,36 +3562,87 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
System.out.println( "cnt :: " + cnt );
if(cnt ==5)
{
sql1 = "SELECT COUNT(*) FROM MIN_RATE_HISTORY WHERE DOC_KEY =? AND QUANTITY - CASE WHEN QUANTITY_ADJ IS NULL THEN 0 ELSE QUANTITY_ADJ END > 0 ";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1, minRateDocKey);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
cnt = rs1.getInt(1);
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(cnt > 0)
{
invoiceId = getAvailableInvId(dom,dom2, curFormItemLotHMap, curRecordItemLotHMap, invoiceId, minRateDocKey, adjQty);// current dom added to parameters by Nandkumar Gadkari on 14/09/18
//}
tempInvoiceId=invoiceId;
if( invoiceId != null && invoiceId.trim().length() > 0)
//ADDED BY NANDKUMAR GADKARI ON 26/07/19--------------start---------------
domTotalQty=0;
slineNo = genericUtility.getColumnValue( "line_no", dom );
lineNo= slineNo == null || slineNo.trim().length() == 0 ? 0 : Integer.parseInt(slineNo.trim());
adjQty =rs.getDouble("QTY_ADJ");
curFormItemLotHMap.put("doc_key", minRateDocKey);
curFormItemLotHMap.put("line_no", slineNo);
sql1 = " SELECT SDET.INVOICE_ID, SUM(SDET.QUANTITY) AS QTY_ADJ"
+ " FROM SRETURN SRET, SRETURNDET SDET"
+ " WHERE SRET.TRAN_ID = SDET.TRAN_ID"
+ " AND SRET.CONFIRMED = 'N'"
+ " AND SDET.DOC_KEY = ?"
+ " AND SDET.ITEM_CODE = ?"
+ " AND SDET.LOT_NO = ?"
+ " AND SRET.SITE_CODE = ?"
+ " AND SRET.CUST_CODE = ?"
+" AND SDET.TRAN_ID <> ?"
+ " GROUP BY SDET.INVOICE_ID";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1, minRateDocKey);
pstmt1.setString(2, itemCode);
pstmt1.setString(3, lotNo);
pstmt1.setString(4, siteCode);
pstmt1.setString(5, custCode);
tranId = tranId == null || tranId.trim().length() == 0 ? " " : tranId;
pstmt1.setString(6, tranId);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
break;
srDQuantity = rs1.getDouble(2);
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
domTotalQty = getDomQuantityUsed(dom2, curFormItemLotHMap);
System.out.println("domTotalQty : " +domTotalQty);
adjQty=adjQty+srDQuantity+domTotalQty;
//ADDED BY NANDKUMAR GADKARI ON 26/07/19------------end
//sql1 = "SELECT COUNT(*) FROM MIN_RATE_HISTORY WHERE DOC_KEY =? AND QUANTITY - CASE WHEN QUANTITY_ADJ IS NULL THEN 0 ELSE QUANTITY_ADJ END > 0 "; commented and sql changed by nandkumar gadkari on 26/07/19
sql1 = "SELECT COUNT(*) FROM MIN_RATE_HISTORY WHERE DOC_KEY =? AND QUANTITY - (CASE WHEN QUANTITY_ADJ IS NULL THEN 0 ELSE QUANTITY_ADJ END + ? ) > 0 ";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1, minRateDocKey);
pstmt1.setDouble(2, srDQuantity);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
cnt = rs1.getInt(1);
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(cnt > 0)
{
invoiceId = getAvailableInvId(dom,dom2, curFormItemLotHMap, curRecordItemLotHMap, invoiceId, minRateDocKey, adjQty);// current dom added to parameters by Nandkumar Gadkari on 14/09/18
//}
tempInvoiceId=invoiceId;
if( invoiceId != null && invoiceId.trim().length() > 0)
{
break;
}
}
}
}
}
if (tempInvoiceId != null && tempInvoiceId.trim().length() > 0)
......@@ -3863,7 +3917,8 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
rs = pstmt.executeQuery();
while (rs.next()) {
invoiceQty = checkNull(rs.getString("QUANTITY"));
adjQty = checkNull(rs.getString("QTY_ADJ"));
//adjQty = checkNull(rs.getString("QTY_ADJ"));
adjQty = rs.getDouble("QTY_ADJ");
rate = rs.getDouble("EFF_COST");
curRecordItemLotHMap.put("cust_code", checkNull(rs.getString("CUST_CODE")));
curRecordItemLotHMap.put("item_code", checkNull(rs.getString("ITEM_CODE")));
......@@ -6255,7 +6310,8 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
rs = pstmt.executeQuery();
while (rs.next()) {
invoiceQty = checkNull(rs.getString("QUANTITY"));
adjQty = checkNull(rs.getString("QTY_ADJ"));
//adjQty = checkNull(rs.getString("QTY_ADJ"));
adjQty = rs.getDouble("QTY_ADJ");
rate = rs.getDouble("EFF_COST");
curRecordItemLotHMap.put("cust_code", checkNull(rs.getString("CUST_CODE")));
curRecordItemLotHMap.put("item_code", checkNull(rs.getString("ITEM_CODE")));
......@@ -9456,15 +9512,17 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
+ " AND SDET.LOT_NO = ?"
+ " AND SRET.SITE_CODE = ?"
+ " AND SRET.CUST_CODE = ?";
if(editFlag != null && "E".equalsIgnoreCase(editFlag))
/*if(editFlag != null && "E".equalsIgnoreCase(editFlag))
{
sql = sql +" AND SDET.TRAN_ID <> ?" ;
//Added by Santosh on 20/09/2017 for bug fix split qty validatoin in edit mode
sql = sql +" AND SDET.LINE_NO <> ?" ;
}
}*/ // commented by nandkumar gadkari on 27/07/19
sql = sql +" AND SDET.TRAN_ID <> ?" ;// added by nandkumar gadkari on 27/07/19
sql = sql + " GROUP BY SDET.INVOICE_ID";
pstmt = conn.prepareStatement(sql);
//Changed by Santosh on 16/05/2017
//pstmt.setString(1, lsInvoiceId);
pstmt.setString(1, docKey);
......@@ -9472,13 +9530,14 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
pstmt.setString(3, lsLotNo);
pstmt.setString(4, siteCode);
pstmt.setString(5, custCode);
if(editFlag != null && "E".equalsIgnoreCase(editFlag))
/*if(editFlag != null && "E".equalsIgnoreCase(editFlag))
{
pstmt.setString(6, tranId);
//Added by Santosh on 20/09/2017 for bug fix split qty validatoin in edit mode
pstmt.setString(7, lineNo);
}
}*/// commented by nandkumar gadkari on 27/07/19
tranId = tranId == null || tranId.trim().length() == 0 ? " " : tranId;// added by nandkumar gadkari on 27/07/19
pstmt.setString(6, tranId);// added by nandkumar gadkari on 27/07/19
rs = pstmt.executeQuery();
if(rs.next())
......@@ -11480,7 +11539,7 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
//Added by Santosh on 27/04/2017 to get next available invoide id [Start]
//Changed by Santosh on 16/05/2017
//private String getAvailableInvId(Document allDom, HashMap<String, String> curFormItemLotHMap, HashMap<String, String> curRecordItemLotHMap, String invoiceId, String minRateDocKey, String adjQty)
private String getAvailableInvId(Document dom,Document allDom, HashMap<String, String> curFormItemLotHMap, HashMap<String, String> curRecordItemLotHMap, String invoiceId, String domDocKey, String adjQty)
private String getAvailableInvId(Document dom,Document allDom, HashMap<String, String> curFormItemLotHMap, HashMap<String, String> curRecordItemLotHMap, String invoiceId, String domDocKey, double dQtyAdj) // AdjQty change string to double by nandkumar gadkari on 26/07/19
{
String retInvoiceId = "";
NodeList detail1NList = null;
......@@ -11489,7 +11548,7 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
String curFormCustCode = "", curFormItemCode = "", curFormLotNo = "", curFormSiteCode = "", curFormQuantity = "";
String domCustCode = "", domItemCode = "", domLotNo = "", domSiteCode = "", domQuantity = "", domInvoiceId = "";
String curRecCustCode = "", curRecItemCode = "", curRecLotNo = "", curRecSiteCode = "", curRecInvQuantity = "", curRecInvoiceId = "";
double dQtyAdj = 0.0, dCurRecInvQty = 0.0, dDomQty = 0.0, dTotalDomQty = 0.0;
double dCurRecInvQty = 0.0, dDomQty = 0.0, dTotalDomQty = 0.0;
boolean isCurFormDataInDom = false;
//Added by Santosh on 16/05/2017
// String domDocKey = "";
......@@ -11510,9 +11569,9 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
curRecSiteCode = curRecordItemLotHMap.get("site_code").trim();
curRecInvQuantity = curRecordItemLotHMap.get("quantity").trim();
System.out.println("adjQty["+adjQty+"] curRecQuantity["+curRecInvQuantity+"]");
System.out.println("adjQty["+dQtyAdj+"] curRecQuantity["+curRecInvQuantity+"]");
invoiceId=invoiceId.trim();// trim() by Nandkumar Gadkari on 25/10/18
dQtyAdj = adjQty == null || adjQty.trim().length()== 0 ? 0 :Double.parseDouble(adjQty);
//dQtyAdj = adjQty == null || adjQty.trim().length()== 0 ? 0 :Double.parseDouble(adjQty); commented by nandkumar on 26/07/19
dCurRecInvQty = curRecInvQuantity == null || curRecInvQuantity.trim().length()== 0 ? 0 : Double.parseDouble(curRecInvQuantity);
System.out.println("dQtyAdj["+dQtyAdj+"] dCurRecInvQty["+dCurRecInvQty+"]");
......@@ -11615,12 +11674,12 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
curDomDocKey = curDomDataHMap.get("doc_key").trim();
//Added by Santosh on 20/09/2017 for bug fix split qty validatoin in edit mode
curDomLineNo = curDomDataHMap.get("line_no").trim();
detail1NList = allDom.getElementsByTagName("Detail1");
detail1Node = detail1NList.item(0);
detail2NList = allDom.getElementsByTagName("Detail2");
for(int i=0; i<= detail2NList.getLength()-1; i++)
{
Node eachDetail2Node = detail2NList.item(i);
domCustCode = genericUtility.getColumnValueFromNode("cust_code", detail1Node).trim();
domItemCode = genericUtility.getColumnValueFromNode("item_code", eachDetail2Node).trim();
......@@ -11639,7 +11698,7 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
System.out.println("curDomLotNo["+curDomLotNo+"] domLotNo ["+domLotNo+"]");
System.out.println("curDomSiteCode["+curDomSiteCode+"] domSiteCode ["+domSiteCode+"]");
System.out.println("curDomLineNo["+curDomLineNo+"] domLineNo ["+domLineNo+"]");
System.out.println("retDomQty["+retDomQty+"] domQuantity ["+domQuantity+"]");
dDomQty = Double.parseDouble(domQuantity);
//Commented and changed by Santosh on 16/05/2017
......@@ -11842,6 +11901,76 @@ public class SalesReturn extends ValidatorEJB implements SalesReturnLocal, Sales
}
return valueXmlString;
}
private double getDomQuantityUsed(Document allDom, HashMap<String, String> curDomDataHMap)
{
double retDomQty = 0.0, dDomQty = 0.0;
String curDomCustCode = "", curDomItemCode = "", curDomLotNo = "", curDomSiteCode = "", curDomInvoiceId = "";
String domCustCode = "", domItemCode = "", domLotNo = "", domSiteCode = "", domQuantity = "", domInvoiceId = "";
NodeList detail1NList = null, detail2NList = null;
Node detail1Node = null;
String curDomDocKey = "", domDocKey = "";
String domLineNo = "", curDomLineNo = "";
Node eachDetail2Node = null;
try
{
//curDomCustCode = (curDomDataHMap.get("cust_code"));
curDomItemCode = checkNullandTrim(curDomDataHMap.get("item_code"));
curDomLotNo = checkNullandTrim(curDomDataHMap.get("lot_no"));
//curDomSiteCode = (curDomDataHMap.get("site_code").trim();
curDomDocKey = checkNullandTrim(curDomDataHMap.get("doc_key"));
curDomLineNo = checkNullandTrim(curDomDataHMap.get("line_no"));
detail1NList = allDom.getElementsByTagName("Detail1");
detail1Node = detail1NList.item(0);
detail2NList = allDom.getElementsByTagName("Detail2");
int noOfDetails = detail2NList.getLength();
System.out.println("inside side loop:"+noOfDetails);
for(int i=0; i< noOfDetails; i++)
{
System.out.println("inside side loop");
eachDetail2Node = detail2NList.item(i);
System.out.println("inside side 223");
//domCustCode = genericUtility.getColumnValueFromNode("cust_code", detail1Node).trim();
domItemCode = checkNullandTrim(genericUtility.getColumnValueFromNode("item_code", eachDetail2Node));
domLotNo = checkNullandTrim(genericUtility.getColumnValueFromNode("lot_no", eachDetail2Node));
//domSiteCode = genericUtility.getColumnValueFromNode("site_code", detail1Node).trim();
domQuantity =(genericUtility.getColumnValueFromNode("quantity", eachDetail2Node));
domDocKey = checkNullandTrim(genericUtility.getColumnValueFromNode("doc_key", eachDetail2Node));
domLineNo = checkNullandTrim(genericUtility.getColumnValueFromNode("line_no", eachDetail2Node));
System.out.println("curDomDocKey["+curDomDocKey+"] domDocKey ["+domDocKey+"]");
System.out.println("curDomCustCode["+curDomCustCode+"] domCustCode ["+domCustCode+"]");
System.out.println("curDomItemCode["+curDomItemCode+"] domItemCode ["+domItemCode+"]");
System.out.println("curDomLotNo["+curDomLotNo+"] domLotNo ["+domLotNo+"]");
System.out.println("curDomSiteCode["+curDomSiteCode+"] domSiteCode ["+domSiteCode+"]");
System.out.println("curDomLineNo["+curDomLineNo+"] domLineNo ["+domLineNo+"]");
System.out.println("retDomQty["+retDomQty+"] domQuantity ["+domQuantity+"]");
dDomQty =domQuantity == null || domQuantity.trim().length() == 0 ? 0 : Double.parseDouble(domQuantity.trim());
if( curDomDocKey.equalsIgnoreCase(domDocKey) &&
//curDomCustCode.equalsIgnoreCase(domCustCode) &&
curDomItemCode.equalsIgnoreCase(domItemCode) &&
curDomLotNo.equalsIgnoreCase(domLotNo) &&
// curDomSiteCode.equalsIgnoreCase(domSiteCode) &&
!curDomLineNo.equalsIgnoreCase(domLineNo))
{
retDomQty += dDomQty;
}
}
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("SalesReturn.getDomQuantityUsed()["+e.getMessage()+"]");
}
return retDomQty;
}
private String checkNullandTrim(String input) {
if (input == null)
{
input = "";
}
return input.trim();
}
// added by Nandkumar Gadkari on 16/11/18 ------------------end----------------------------------
//Pavan Rane 11jun19 start [to validate Channel Partner customer]
private boolean isChannelPartnerCust(String custCode, String siteCode, Connection conn) throws ITMException
......
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