Commit 47860d2c authored by dpawar's avatar dpawar

optimise sql in getAvailableLocation ,getAvailableLocationList and populateReplHistory method


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@98401 ce508802-f39f-4f6c-b175-0d175dae99d5
parent d7908f13
......@@ -9579,6 +9579,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
adsiShippingURL = discommon.getDisparams("999999","WMS_ADSI_SOAP_URL",conn);
locator = new ADSIShippingLocator();
soap = locator.getADSIShippingSoap(new URL(adsiShippingURL));
System.out.println( "adsiShippingURL Inside ... ["+adsiShippingURL+"]" );
}
long timeAfter = System.currentTimeMillis();
String defPh="";
......@@ -17856,8 +17857,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
try
{
sql ="SELECT A.LOC_CODE AS LOC_CODE,A.SINGLE_LOT_SL AS SINGLE_LOT_SL,A.ITEM_LOT_OPT AS ITEM_LOT_OPT"
//Changed and commented by Dadaso pawar 18/07/15 (As per Pragyan for optimize sql query) [Start]
/*@@sql ="SELECT A.LOC_CODE AS LOC_CODE,A.SINGLE_LOT_SL AS SINGLE_LOT_SL,A.ITEM_LOT_OPT AS ITEM_LOT_OPT"
+ " FROM LOCATION A, INVSTAT B WHERE A.INV_STAT = B.INV_STAT AND B.AVAILABLE = 'Y' "
+ " AND (CASE WHEN B.STAT_TYPE IS NULL THEN ' ' ELSE B.STAT_TYPE END) <> 'S' "
//Changed By Sankara 08/04/12 To pass the argument items Location Type.
......@@ -17877,15 +17878,26 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
//sqlItemLotOpt0 = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE ITEM_CODE <> ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO <> ?";
sqlItemLotOpt0 = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE (ITEM_CODE <> ? OR LOT_NO <> ?) AND SITE_CODE = ? AND LOC_CODE = ? AND QUANTITY > 0"; //AND LOT_NO <> ?"
//sqlItemLotOpt1 = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE ITEM_CODE <> ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? ";
sqlItemLotOpt1 = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE ITEM_CODE <> ? AND SITE_CODE = ? AND LOC_CODE = ? AND QUANTITY > 0";
sqlItemLotOpt1 = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE ITEM_CODE <> ? AND SITE_CODE = ? AND LOC_CODE = ? AND QUANTITY > 0";@@*/
//orderSql = "SELECT COUNT(*) AS COUNT FROM REPL_ORD_DET WHERE LOC_CODE__TO = ?";
//Changed by Rohan on 19-02-13 free location form cancle Repanishment
//orderSql = "SELECT COUNT(*) AS COUNT FROM REPL_ORD_DET O WHERE O.LOC_CODE__TO = ? AND NOT EXISTS (SELECT 1 FROM REPL_ISS_HDR I WHERE I.REPL_ORDER = O.REPL_ORDER AND I.CONFIRMED = 'Y') "; //changes done by Ashish Sonawane on 10-jul-12
orderSql = "SELECT COUNT(*) AS COUNT FROM REPL_ORD_DET O WHERE O.LOC_CODE__TO = ? "
sql = "SELECT A.SINGLE_LOT_SL,A.LOC_CODE, A.LOC_ZONE, A.LOC_TYPE FROM LOCATION A ,INVSTAT B ,SITE S "
+ "WHERE A.INV_STAT = B.INV_STAT AND B.AVAILABLE = 'Y' AND A.LOC_TYPE = 'N' AND S.SITE_CODE = ? "
+ "AND (S.FACILITY_CODE = A.FACILITY_CODE or nvl(s.facility_code ,'N') = 'N') "
+ "AND A.INV_STAT IN (?) AND (CASE WHEN B.STAT_TYPE IS NULL THEN ' ' ELSE B.STAT_TYPE END) <> 'S' and nvl((SELECT sum(quantity) "
+ "FROM STOCK WHERE SITE_CODE = ? AND stock.loc_code = a.loc_code and a.SINGLE_LOT_SL ='Y'),0) = 0 "
+ "and nvl((SELECT sum(quantity) FROM STOCK WHERE (ITEM_CODE <> ? OR LOT_NO <> ?) " //5
+ "and SITE_CODE = ? AND stock.loc_code = a.loc_code and a.ITEM_LOT_OPT =0),0) = 0 "
+ "and nvl((SELECT sum(quantity) FROM STOCK WHERE ITEM_CODE <> ? and SITE_CODE = ? "
+ "AND stock.loc_code = a.loc_code and a.ITEM_LOT_OPT =0),0) = 0 ";
/*@@orderSql = "SELECT COUNT(*) AS COUNT FROM REPL_ORD_DET O WHERE O.LOC_CODE__TO = ? "
+" AND CASE WHEN CANCEL_MODE IS NULL THEN 'N' ELSE CANCEL_MODE END <> 'Y' "
+" AND NOT EXISTS (SELECT 1 FROM REPL_ISS_HDR I WHERE I.REPL_ORDER = O.REPL_ORDER AND I.CONFIRMED = 'Y') ";
+" AND NOT EXISTS (SELECT 1 FROM REPL_ISS_HDR I WHERE I.REPL_ORDER = O.REPL_ORDER AND I.CONFIRMED = 'Y') ";@@*/
if ( "A".equalsIgnoreCase(pickType.trim()) )//Active pick
{
......@@ -17899,38 +17911,64 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
{
invStatDisparmVar = "PND_INVSTAT";
//Changed by sumit on 06/08/12 getting pnd location of loc_code from location start.
sql = "SELECT A.LOC_CODE AS LOC_CODE,A.SINGLE_LOT_SL AS SINGLE_LOT_SL,A.ITEM_LOT_OPT AS ITEM_LOT_OPT"
/*@@sql = "SELECT A.LOC_CODE AS LOC_CODE,A.SINGLE_LOT_SL AS SINGLE_LOT_SL,A.ITEM_LOT_OPT AS ITEM_LOT_OPT"
+ " FROM LOCATION A, INVSTAT B WHERE A.INV_STAT = B.INV_STAT AND B.AVAILABLE = 'Y' "
+ " AND (CASE WHEN B.STAT_TYPE IS NULL THEN ' ' ELSE B.STAT_TYPE END) <> 'S' "
//Changed By Sankara 08/04/12 To pass the argument items Location Type.
//+ " AND A.INV_STAT = ? ORDER BY LOC_CODE ";
//+ " AND A.INV_STAT = ? AND A.LOC_TYPE = ? AND A.LOC_GROUP = (SELECT DROP_GROUP FROM LOCATION WHERE LOC_CODE = ? )"
+ " AND A.INV_STAT = ? AND A.LOC_TYPE = ? AND A.LOC_GROUP = (SELECT DROP_GROUP FROM LOCATION WHERE LOC_CODE = ? )"
+ " ORDER BY ABS( A.LOC_ZONE - ?) ,A.LOC_CODE ";
+ " ORDER BY ABS( A.LOC_ZONE - ?) ,A.LOC_CODE ";@@*/
sql = sql + "AND A.LOC_GROUP = (SELECT DROP_GROUP FROM LOCATION WHERE LOC_CODE = ? ) ";
System.out.println(" pnd sql -> ["+sql+"]");
//Changed by sumit on 06/08/12 getting pnd location of loc_code from location end.
}
sql = sql + " ORDER BY ABS(A.LOC_ZONE - ? ),A.LOC_CODE ";
invStat = discommon.getDisparams("999999",invStatDisparmVar,conn);
pstmtStock = conn.prepareStatement(stockSql);
//@@pstmtStock = conn.prepareStatement(stockSql);
pstmt = conn.prepareStatement(sql);
pstmtOrder = conn.prepareStatement(orderSql);
pstmtItemLotOpt0 = conn.prepareStatement( sqlItemLotOpt0 );
pstmtItemLotOpt1 = conn.prepareStatement( sqlItemLotOpt1);
//pstmtOrder = conn.prepareStatement(orderSql);
//pstmtItemLotOpt0 = conn.prepareStatement( sqlItemLotOpt0 );
//pstmtItemLotOpt1 = conn.prepareStatement( sqlItemLotOpt1);@@/
//Changed by sumit on 06/08/12 commented bellow setString and apply 3 parameter in case of pnd location start.
/*pstmt.setString(1, invStat);
//Changed By Sankara 08/04/12 To pass the argument items Location Type.
pstmt.setString(2, itemLocType);*/
pstmt.setString(1, siteCode);
pstmt.setString(2, invStat);
pstmt.setString(3, siteCode);
pstmt.setString(4, itemCode);
pstmt.setString(5, lotNo);
pstmt.setString(6, siteCode);
pstmt.setString(7, itemCode);
pstmt.setString(8, siteCode);
//pstmt.setInt(9, locPrefZone);
if("N".equalsIgnoreCase(pickType.trim()))
{
pstmt.setString(9, locCode);
pstmt.setInt(10, locPrefZone);
}
else
{
pstmt.setInt(9, locPrefZone);
}
/*@@if("N".equalsIgnoreCase(pickType.trim()))
{
pstmt.setString(1, invStat);
//Changed By Sankara 08/04/12 To pass the argument items Location Type.
pstmt.setString(2, itemLocType);
pstmt.setString(3, locCode);
pstmt.setInt(4, locPrefZone);
pstmt.setInt(4, locPrefZone);@@*/
}
//pstmt.setString(10, locCode);
/*@@}
else
{
pstmt.setString(1, invStat);
......@@ -17938,7 +17976,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
pstmt.setString(2, itemLocType);
pstmt.setInt(3, locPrefZone);
}
}@@*/
//Changed by sumit on 06/08/12 apply 3 parameter in case of pnd location end.
rs = pstmt.executeQuery();
......@@ -17946,7 +17984,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
while (rs.next())
{
suggLocCode = checkNull(rs.getString("LOC_CODE") );
singleLotSl = checkNull(rs.getString("SINGLE_LOT_SL") );
/*@@singleLotSl = checkNull(rs.getString("SINGLE_LOT_SL") );
itemLotOpt = checkNull(rs.getString("ITEM_LOT_OPT") );
quantity = 0;
......@@ -17961,7 +17999,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
}
//Changed By Pragyan 11-AUG-14 To check and Facility Master implementation.end
/*pstmtOrder.setString(1, suggLocCode);
pstmtOrder.setString(1, suggLocCode);
rsOrder = pstmtOrder.executeQuery();
if(rsOrder.next())
......@@ -17992,7 +18030,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
return suggLocCode;
}
pstmtStock.clearParameters();
rsStock.close(); rsStock = null;*/
rsStock.close(); rsStock = null;
if( singleLotSl.trim().equalsIgnoreCase("Y") )
......@@ -18013,8 +18051,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
}
rs1.close();
rs1 = null;
/*pstmt.close();
pstmt = null;*/
pstmt.close();
pstmt = null;
//pstmtOrder = conn.prepareStatement(orderSql);
pstmtOrder.setString(1, suggLocCode);
......@@ -18025,8 +18063,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
if( quantity != 0 )
{
suggLocCode = "";
/*errList.add( "VTLOCCODE1" );
errFields.add( childNodeName.toLowerCase() );*/
errList.add( "VTLOCCODE1" );
errFields.add( childNodeName.toLowerCase() );
continue;
}
......@@ -18044,11 +18082,11 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
rsOrder.close();
rsOrder = null;
}
/*if(pstmtOrder != null)
if(pstmtOrder != null)
{
pstmtOrder.close();
pstmtOrder = null;
}*/
}
if(count > 0)
{
suggLocCode = "";
......@@ -18063,8 +18101,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
{
if( itemLotOpt.trim().equals("0") )
{
/*sql = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE (ITEM_CODE <> ? OR LOT_NO <> ?) AND SITE_CODE = ? AND LOC_CODE = ? and Quantity > 0 //AND LOT_NO <> ?";
pstmtItemLotOpt1 = conn.prepareStatement( sql );*/
sql = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE (ITEM_CODE <> ? OR LOT_NO <> ?) AND SITE_CODE = ? AND LOC_CODE = ? and Quantity > 0 //AND LOT_NO <> ?";
pstmtItemLotOpt1 = conn.prepareStatement( sql );
pstmtItemLotOpt0.setString( 1, itemCode );
//pstmtItemLotOpt0.setString( 2, siteCode );
pstmtItemLotOpt0.setString( 2, lotNo );
......@@ -18124,8 +18162,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
}
else if( itemLotOpt.trim().equals("1") ) //Validation for single item_code multiple lot_no
{
/*sql = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE ITEM_CODE <> ? AND SITE_CODE = ? AND LOC_CODE = ?// AND LOT_NO = ? ";
pstmt = conn.prepareStatement( sql );*/
sql = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE ITEM_CODE <> ? AND SITE_CODE = ? AND LOC_CODE = ?// AND LOT_NO = ? ";
pstmt = conn.prepareStatement( sql );
pstmtItemLotOpt1.setString( 1, itemCode );
pstmtItemLotOpt1.setString( 2, siteCode );
pstmtItemLotOpt1.setString( 3, suggLocCode );
......@@ -18137,8 +18175,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
}
rs2.close();
rs2 = null;
/*pstmt.close();
pstmt = null;*/
pstmt.close();
pstmt = null;
if( count > 0 )
{
continue;
......@@ -18199,10 +18237,23 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
}
//Changed by sumit on 11/12/12 suggesting active pick location end
}
}
}@@*/ //Changed and commented by Dadaso pawar 18/07/15 (As per Pragyan for optimize sql query) [End]
System.out.println("suggested location11-------->>["+suggLocCode+"]");
if("A".equalsIgnoreCase(pickType.trim()) || "T".equalsIgnoreCase(pickType.trim()))
{
//Changed by sumit on 09/02/13 changing parameter as per method
//return getPickLocForSameItemLotNo(invStat,pickType.trim(),itemCode,lotNo, lpnNo, suggLocCode, conn);
String retLoc = getPickLocForSameItemLotNo(invStat,pickType.trim(),itemCode,lotNo, lpnNo, suggLocCode,siteCode, conn);
System.out.println("Suggested location getPickLocForSameItemLotNo--->>["+retLoc+"]");
return retLoc;
}
else
{
return suggLocCode;
}
}
} //end while
if( rs != null )
{
......@@ -18327,7 +18378,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
System.out.println("Return Suggested Location will throw error == >["+suggLocCode+"]");
long endTime17 = System.currentTimeMillis();
System.out.println("DIFFERANCE IN TIME FOR getAvilablePickLocation IN SECONDS:::["+(endTime17-startTime17)/1000+"]");
System.out.println("DIFFERANCE IN TIME FOR getAvilablePickLocation@@ IN SECONDS:::["+(endTime17-startTime17)/1000+"]");
return suggLocCode;
}
......@@ -18335,6 +18386,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
//private String getAvilablePickLocation(String pickType,Connection conn,String itemLocType) throws ITMException
private ArrayList getAvilableCasePickLocationList(String pickType,Connection conn,String itemLocType,int locPrefZone, String locCode,String itemCode,String siteCode,String lotNo,String lpnNo) throws ITMException
{
System.out.println("-----------in getAvilableCasePickLocationList----------- "+pickType);
long startTime18 = System.currentTimeMillis();
String sql = "";
String stockSql = "";
......@@ -18360,13 +18412,12 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
String invStatDisparmVar = "";
double quantity = 0;
int count = 0;
ArrayList suggestedLocList = new ArrayList();
ArrayList suggestedLocList = new ArrayList();
try
{
sql ="SELECT A.LOC_CODE AS LOC_CODE,A.SINGLE_LOT_SL AS SINGLE_LOT_SL,A.ITEM_LOT_OPT AS ITEM_LOT_OPT"
//Changed and commented by Dadaso pawar 18/07/15 (As per Pragyan for optimize sql query) [Start]
/*@@sql ="SELECT A.LOC_CODE AS LOC_CODE,A.SINGLE_LOT_SL AS SINGLE_LOT_SL,A.ITEM_LOT_OPT AS ITEM_LOT_OPT"
+ " FROM LOCATION A, INVSTAT B WHERE A.INV_STAT = B.INV_STAT AND B.AVAILABLE = 'Y' "
+ " AND (CASE WHEN B.STAT_TYPE IS NULL THEN ' ' ELSE B.STAT_TYPE END) <> 'S' "
+ " AND A.INV_STAT = ? AND A.LOC_TYPE = ? ORDER BY ABS( A.LOC_ZONE - ?), A.LOC_CODE ";
......@@ -18382,7 +18433,17 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
//orderSql = "SELECT COUNT(*) AS COUNT FROM REPL_ORD_DET O WHERE O.LOC_CODE__TO = ? AND NOT EXISTS (SELECT 1 FROM REPL_ISS_HDR I WHERE I.REPL_ORDER = O.REPL_ORDER AND I.CONFIRMED = 'Y') "; //changes done by Ashish Sonawane on 10-jul-12
orderSql = "SELECT COUNT(*) AS COUNT FROM REPL_ORD_DET O WHERE O.LOC_CODE__TO = ? "
+" AND CASE WHEN CANCEL_MODE IS NULL THEN 'N' ELSE CANCEL_MODE END <> 'Y' "
+" AND NOT EXISTS (SELECT 1 FROM REPL_ISS_HDR I WHERE I.REPL_ORDER = O.REPL_ORDER AND I.CONFIRMED = 'Y') ";
+" AND NOT EXISTS (SELECT 1 FROM REPL_ISS_HDR I WHERE I.REPL_ORDER = O.REPL_ORDER AND I.CONFIRMED = 'Y') ";@@*/
sql = "SELECT A.SINGLE_LOT_SL,A.LOC_CODE, A.LOC_ZONE, A.LOC_TYPE FROM LOCATION A ,INVSTAT B ,SITE S "
+ "WHERE A.INV_STAT = B.INV_STAT AND B.AVAILABLE = 'Y' AND A.LOC_TYPE = 'N' AND S.SITE_CODE = ? "
+ "AND (S.FACILITY_CODE = A.FACILITY_CODE or nvl(s.facility_code ,'N') = 'N') "
+ "AND A.INV_STAT IN (?) AND (CASE WHEN B.STAT_TYPE IS NULL THEN ' ' ELSE B.STAT_TYPE END) <> 'S' and nvl((SELECT sum(quantity) "
+ "FROM STOCK WHERE SITE_CODE = ? AND stock.loc_code = a.loc_code and a.SINGLE_LOT_SL ='Y'),0) = 0 "
+ "and nvl((SELECT sum(quantity) FROM STOCK WHERE (ITEM_CODE <> ? OR LOT_NO <> ?) " //5
+ "and SITE_CODE = ? AND stock.loc_code = a.loc_code and a.ITEM_LOT_OPT =0),0) = 0 "
+ "and nvl((SELECT sum(quantity) FROM STOCK WHERE ITEM_CODE <> ? and SITE_CODE = ? "//8
+ "AND stock.loc_code = a.loc_code and a.ITEM_LOT_OPT =0),0) = 0 ";
// ORDER BY ABS(A.LOC_ZONE - ? ),A.LOC_CODE";
if ( "A".equalsIgnoreCase(pickType.trim()) )
{
......@@ -18396,37 +18457,55 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
{
invStatDisparmVar = "PND_INVSTAT";
sql = "SELECT A.LOC_CODE AS LOC_CODE,A.SINGLE_LOT_SL AS SINGLE_LOT_SL,A.ITEM_LOT_OPT AS ITEM_LOT_OPT"
/*sql = "SELECT A.LOC_CODE AS LOC_CODE,A.SINGLE_LOT_SL AS SINGLE_LOT_SL,A.ITEM_LOT_OPT AS ITEM_LOT_OPT"
+ " FROM LOCATION A, INVSTAT B WHERE A.INV_STAT = B.INV_STAT AND B.AVAILABLE = 'Y' "
+ " AND (CASE WHEN B.STAT_TYPE IS NULL THEN ' ' ELSE B.STAT_TYPE END) <> 'S' "
+ " AND A.INV_STAT = ? AND A.LOC_TYPE = ? AND A.LOC_GROUP = (SELECT DROP_GROUP FROM LOCATION WHERE LOC_CODE = ? )"
+ " ORDER BY ABS( A.LOC_ZONE - ?) ,A.LOC_CODE ";
+ " ORDER BY ABS( A.LOC_ZONE - ?) ,A.LOC_CODE ";*/
sql = sql + "AND A.LOC_GROUP = (SELECT DROP_GROUP FROM LOCATION WHERE LOC_CODE = ? ) ";
System.out.println(" pnd sql -> ["+sql+"]");
}
sql = sql + " ORDER BY ABS(A.LOC_ZONE - ? ),A.LOC_CODE";
invStat = discommon.getDisparams("999999",invStatDisparmVar,conn);
pstmtStock = conn.prepareStatement(stockSql);
//@@pstmtStock = conn.prepareStatement(stockSql);
pstmt = conn.prepareStatement(sql);
pstmtOrder = conn.prepareStatement(orderSql);
/*@@pstmtOrder = conn.prepareStatement(orderSql);
pstmtItemLotOpt0 = conn.prepareStatement( sqlItemLotOpt0 );
pstmtItemLotOpt1 = conn.prepareStatement( sqlItemLotOpt1);
pstmtItemLotOpt1 = conn.prepareStatement( sqlItemLotOpt1);@@*/
/*@@pstmt.setString(1, invStat);
pstmt.setString(2, itemLocType);
pstmt.setString(3, locCode);
pstmt.setInt(4, locPrefZone);@@*/
/*pstmt.setString(1, invStat);
pstmt.setString(2, itemLocType);
pstmt.setInt(3, locPrefZone);*/
pstmt.setString(1, siteCode);
pstmt.setString(2, invStat);
pstmt.setString(3, siteCode);
pstmt.setString(4, itemCode);
pstmt.setString(5, lotNo);
pstmt.setString(6, siteCode);
pstmt.setString(7, itemCode);
pstmt.setString(8, siteCode);
//pstmt.setInt(9, locPrefZone);
if("N".equalsIgnoreCase(pickType.trim()))
{
pstmt.setString(1, invStat);
pstmt.setString(2, itemLocType);
pstmt.setString(3, locCode);
pstmt.setInt(4, locPrefZone);
{
pstmt.setString(9, locCode);
pstmt.setInt(10, locPrefZone);
}
else
{
pstmt.setString(1, invStat);
pstmt.setString(2, itemLocType);
pstmt.setInt(3, locPrefZone);
pstmt.setInt(9, locPrefZone);
}
rs = pstmt.executeQuery();
......@@ -18434,14 +18513,14 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
while (rs.next())
{
suggLocCode = checkNull(rs.getString("LOC_CODE") );
singleLotSl = checkNull(rs.getString("SINGLE_LOT_SL") );
itemLotOpt = checkNull(rs.getString("ITEM_LOT_OPT") );
/*singleLotSl = checkNull(rs.getString("SINGLE_LOT_SL") );
itemLotOpt = checkNull(rs.getString("ITEM_LOT_OPT") );*/
quantity = 0;
count = 0;
//Changed By Pragyan 11-AUG-14 To check and Facility Master implementation.start
if(!commonWmsUtility.isValFacLocation(suggLocCode, siteCode, conn))
/*@@if(!commonWmsUtility.isValFacLocation(suggLocCode, siteCode, conn))
{
//Changed by Dhanraj on 13-AUG-14 In suggLocCode var store last location
suggLocCode="";
......@@ -18624,9 +18703,21 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
suggestedLocList.add(suggLocCode) ;
}
}
}
}@@*/ //Changed and commented by Dadaso pawar 18/07/15 (As per Pragyan for optimize sql query) [End]
}//END WHILE
if("A".equalsIgnoreCase(pickType.trim()) || "T".equalsIgnoreCase(pickType.trim()))
{
//Changed by sumit on 09/02/13 change as per method
//suggLocCode = getPickLocForSameItemLotNo(invStat,pickType.trim(),itemCode,lotNo, lpnNo, suggLocCode, conn);
suggLocCode = getPickLocForSameItemLotNo(invStat,pickType.trim(),itemCode,lotNo, lpnNo, suggLocCode,siteCode, conn);
suggestedLocList.add(suggLocCode) ;
}
else
{
suggestedLocList.add(suggLocCode) ;
}
if( rs != null )
......@@ -21538,7 +21629,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
*/
//Changed by Rohan on 07-02-13 not consider pnd repanishment in case of active repanishment
sqlReplHistory = "SELECT D.LOC_CODE,D.REPL_ORDER,D.QUANTITY,D.ACTUAL_QTY,D.LOC_CODE__TO,D.LINE_NO,D.PICK_ORDER,"
//Changed by Dadaso pawar on 24/07/15 as per Pragyan for optimize sql query [Start]
/*@@sqlReplHistory = "SELECT D.LOC_CODE,D.REPL_ORDER,D.QUANTITY,D.ACTUAL_QTY,D.LOC_CODE__TO,D.LINE_NO,D.PICK_ORDER,"
//Changed By Pragyan 24-feb-14 ^^^^^
+ " D.LINE_NO__PICK,S.QUANTITY AS STK_QTY FROM REPL_ORD_DET D,STOCK S ,LOCATION L,REPL_ORD_HDR H WHERE D.ITEM_CODE = ? AND "
//+ " D.LINE_NO__PICK,S.QUANTITY AS STK_QTY,REPL_QTY AS REPL_QTY FROM REPL_ORD_DET D,STOCK S ,LOCATION L,REPL_ORD_HDR H WHERE D.ITEM_CODE = ? AND "
......@@ -21552,8 +21644,18 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
+" AND CASE WHEN CANCEL_MODE IS NULL THEN 'N' ELSE CANCEL_MODE END <> 'Y' "
//Changed By Pragyan 01/07/15
//+" AND H.REPL_ORDER = D.REPL_ORDER AND H.ORDER_TYPE NOT IN('Q','T','P','E','I') AND D.ACTUAL_QTY > 0 AND S.QUANTITY > 0 ";
+" AND H.REPL_ORDER = D.REPL_ORDER AND H.ORDER_TYPE NOT IN('Q','T','P','E','I','U','V') AND D.ACTUAL_QTY > 0 AND S.QUANTITY > 0 ";
+" AND H.REPL_ORDER = D.REPL_ORDER AND H.ORDER_TYPE NOT IN('Q','T','P','E','I','U','V') AND D.ACTUAL_QTY > 0 AND S.QUANTITY > 0 ";@@*/
sqlReplHistory = "SELECT D.LOC_CODE,D.REPL_ORDER,D.QUANTITY,D.ACTUAL_QTY,D.LOC_CODE__TO,D.LINE_NO,"
+ "D.PICK_ORDER, D.LINE_NO__PICK,S.QUANTITY AS STK_QTY FROM REPL_ORD_DET D,STOCK S ,LOCATION L,"
+ "REPL_ORD_HDR H WHERE D.ITEM_CODE = ? AND D.SITE_CODE = ? AND D.LOT_NO = ? "
+ "AND D.LOT_SL = ? AND D.ITEM_CODE = S.ITEM_CODE AND D.SITE_CODE = S.SITE_CODE "
+ "AND D.LOT_NO = S.LOT_NO AND D.LOT_SL = S.LOT_SL AND D.LOC_CODE = S.LOC_CODE "
+ "AND S.LOC_CODE = L.LOC_CODE AND D.LOC_CODE = L.LOC_CODE AND D.LOC_CODE__TO = L.LOC_CODE "
+ "AND L.INV_STAT IN(?,? ) AND CASE WHEN CANCEL_MODE IS NULL THEN 'N' ELSE CANCEL_MODE END <> 'Y' "
+ "AND H.REPL_ORDER = D.REPL_ORDER AND H.ORDER_TYPE NOT IN('Q','T','P','E','I','U','V') "
+ " AND D.ACTUAL_QTY > 0 AND S.QUANTITY > 0";
//Changed by Dadaso pawar on 24/07/15 as per Pragyan for optimize sql query [End]
//Changed by Rohan on 06-02-13 to retrive only case Repalnishment.end
pstmtReplHistory =conn.prepareStatement(sqlReplHistory);
......@@ -25519,4 +25621,4 @@ private java.sql.Timestamp getCurrtDate() throws RemoteException,ITMException
return (currDate);
}
//Added by Dadaso pawar on 06/04/15 [End]
}
\ 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