Commit a7b3ea58 authored by rbhogale's avatar rbhogale

Changed by Rohan on 27-08-13 for min and max self life


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@93542 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 0f6d00e0
......@@ -281,6 +281,7 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
String pickType = "";
String directPickLoc = "";
//Changed by sumit on 20/08/12 to show wave allow end.
//Change by Rohan on 19/07/12 to get transporter Info.start
HashMap getTranInfo = null;
String saleOrderTran = "";
......@@ -293,6 +294,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
//Changed By Pragyan 17/12/12 to get the standard UOM and order UOM.Start
String unit,unitStd,mbaseUnit = "";
String shipType = "";
//Chnaged by Rohan on 21-08-13 for get data for min and max self life.start
int maxSelfLife = 0;
double meffQty = 0,convQtyStduom = 0 ,convFact = 0, quantity = 0.0;
String sqlFnManual = "",sqlTotHoldQty = "",sqlManQty = "";
PreparedStatement pstmt1 = null,pstmtManul = null,pstmtHold = null,pstmtManQty = null;
......@@ -473,7 +476,9 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
+"SORDITEM.SITE_CODE,SORDITEM.EXP_LEV, "
//Changed by sankara on 01/08/13 single_lot also available in sales order
// +"SORDER.PART_QTY AS PART_QTY, CUSTOMER.SINGLE_LOT AS SINGLE_LOT, SORDITEM.MIN_SHELF_LIFE AS MIN_SHELF_LIFE "//Gulzar 5/13/2012
+"SORDER.PART_QTY AS PART_QTY, SORDER.SINGLE_LOT AS SINGLE_LOT, SORDITEM.MIN_SHELF_LIFE AS MIN_SHELF_LIFE "//Gulzar 5/13/2012
//Chnaged by Rohan on 27-08-13 to get Max self life
//+"SORDER.PART_QTY AS PART_QTY, SORDER.SINGLE_LOT AS SINGLE_LOT, SORDITEM.MIN_SHELF_LIFE AS MIN_SHELF_LIFE "//Gulzar 5/13/2012
+"SORDER.PART_QTY AS PART_QTY, SORDER.SINGLE_LOT AS SINGLE_LOT, SORDITEM.MIN_SHELF_LIFE AS MIN_SHELF_LIFE , SORDITEM.MAX_SHELF_LIFE AS MAX_SHELF_LIFE"
+" ,SORDER.ALLOC_FLAG AS ALLOC_FLAG , WAVE_TYPE.MASTER_PACK_ALLOW , WAVE_TYPE.ACTIVE_PICK_ALLOW , WAVE_TYPE.STOCK_TO_DOCK_ALLOW, WAVE_TYPE.PARCELPACK_ALLOW "
+" ,ITEM.UNIT AS UNIT_STD ,SORDDET.UNIT ORDER_UNIT,SORDDET.UNIT__STD AS UNIT__STD, SORDDET.CONV__QTY_STDUOM "
+" , SORDER.CUST_CODE__DLV, C.CUST_NAME AS CUST_DLV_NAME "
......@@ -544,7 +549,9 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
+"AND STOCK.ITEM_CODE = ? "
+"AND STOCK.SITE_CODE = ? "
+"AND (STOCK.QUANTITY - STOCK.ALLOC_QTY - CASE WHEN STOCK.HOLD_QTY IS NULL THEN 0 ELSE STOCK.HOLD_QTY END) > 0 "
+"AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) > ? ) ";
//Changed by Rohan on 27-08-13 for adding condition of min and max self life
//+"AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) > ? ) ";
+" AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) BETWEEN ? AND ? ) ";
sSingleLotSql = "SELECT SUM(STOCK.QUANTITY - STOCK.ALLOC_QTY - (CASE WHEN STOCK.HOLD_QTY IS NULL THEN 0 ELSE STOCK.HOLD_QTY END ) ), "
......@@ -558,7 +565,9 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
+"AND STOCK.SITE_CODE = ? "
+"AND STOCK.LOT_NO IN (SELECT LOT_NO FROM STOCK WHERE ITEM_CODE =? AND SITE_CODE =? "
+"GROUP BY LOT_NO HAVING SUM(QUANTITY - ALLOC_QTY - (CASE WHEN STOCK.HOLD_QTY IS NULL THEN 0 ELSE STOCK.HOLD_QTY END) ) >= ?) "
+"AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) > ? ) ";
//Changed by Rohan on 27-08-13 for adding condition of min and max self life
//+"AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) > ? ) ";
+" AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) BETWEEN ? AND ? ) ";
sqlTran = "SELECT TRAN_NAME FROM TRANSPORTER WHERE TRAN_CODE = ?";
......@@ -585,6 +594,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
do
{
minSelfLife = 0;
//Chnaged by Rohan on 21-08-13 for get data for min and max self life
maxSelfLife = 0;
orderByStkStr = "";
tranName = "";
pickType = "";
......@@ -596,6 +607,11 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
partQty = checkNull(rs.getString("PART_QTY"));
singleLot = checkNull(rs.getString("SINGLE_LOT"));
minSelfLife = rs.getInt("MIN_SHELF_LIFE");
//Chnaged by Rohan on 21-08-13 for get max self life
maxSelfLife = rs.getInt("MAX_SHELF_LIFE");
System.out.println("minSelfLife["+minSelfLife+"]max self life["+maxSelfLife+"]");
masterPackAllow = checkNull(rs.getString("MASTER_PACK_ALLOW"));
activePickAllow =checkNull( rs.getString("ACTIVE_PICK_ALLOW"));
stockToDockAllow = checkNull(rs.getString("STOCK_TO_DOCK_ALLOW"));
......@@ -785,7 +801,14 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
pstmtStock.setString(2,rs.getString(6));
pstmtStock.setString(3,rs.getString(12));
pstmtStock.setInt(4,minSelfLife);
//Chnaged by Rohan on 21-08-13 for get data for min and max self life.start
/*
pstmtStock.setString(5,directPickLoc);
*/
pstmtStock.setInt(5,maxSelfLife);
pstmtStock.setString(6,directPickLoc);
//Chnaged by Rohan on 21-08-13 for get data for min and max self life.end
}
else if ( singleLot.trim().length() > 0 && singleLot.trim().equalsIgnoreCase("Y") )
{
......@@ -798,11 +821,23 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
pstmtStock.setString(5,siteCode);
pstmtStock.setDouble(6,pendingQty);
pstmtStock.setInt(7,minSelfLife);
//Chnaged by Rohan on 21-08-13 for get data for min and max self life.start
/*
pstmtStock.setString(8,resrvLoc);
pstmtStock.setString(9,casePickLoc);
pstmtStock.setString(10,activePickLoc);
pstmtStock.setString(11,deepStoreLoc);
pstmtStock.setString(12,partialResrvLoc);
*/
pstmtStock.setInt(8,maxSelfLife);
pstmtStock.setString(9,resrvLoc);
pstmtStock.setString(10,casePickLoc);
pstmtStock.setString(11,activePickLoc);
pstmtStock.setString(12,deepStoreLoc);
pstmtStock.setString(13,partialResrvLoc);
//Chnaged by Rohan on 21-08-13 for get data for min and max self life.start
}
else
{
......@@ -812,11 +847,24 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
pstmtStock.setString(2,rs.getString(6));
pstmtStock.setString(3,rs.getString(12));
pstmtStock.setInt(4,minSelfLife);//Gulzar on 5/18/2012
//Chnaged by Rohan on 21-08-13 for get data for min and max self life.start
/*
pstmtStock.setString(5,resrvLoc);
pstmtStock.setString(6,casePickLoc);
pstmtStock.setString(7,activePickLoc);
pstmtStock.setString(8,deepStoreLoc);
pstmtStock.setString(9,partialResrvLoc);
*/
pstmtStock.setInt(5,maxSelfLife);
pstmtStock.setString(6,resrvLoc);
pstmtStock.setString(7,casePickLoc);
pstmtStock.setString(8,activePickLoc);
pstmtStock.setString(9,deepStoreLoc);
pstmtStock.setString(10,partialResrvLoc);
//Chnaged by Rohan on 21-08-13 for get data for min and max self life.end
}
rs1 = pstmtStock.executeQuery();
......@@ -4486,6 +4534,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
PreparedStatement pstmtShelf = null;
ResultSet rSetShelf = null;
int minShelfLife = 0;
//Changed by Rohan on 27-08-13 for define variable
int maxShelfLife = 0;
//Change by Rohan on 4/7/12 To add min_shilf_life
Statement st = null;
ResultSet rs = null ;
......@@ -4526,7 +4576,9 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
System.out.println("CASE_PICK_INVSTAT"+casePickLoc+"ACTIVE_PICK_INVSTAT"+activePickLoc+"RESERV_LOCATION"+resrvLoc+"Reserve Location["+partialResrvLoc+"]");
//Changed by Rohan 29-12-11 .end
//Change by Rohan on 4/7/12 To add min_shilf_life.start
minShelf = "SELECT MIN_SHELF_LIFE FROM SORDITEM WHERE SALE_ORDER = ? AND LINE_NO = ? AND EXP_LEV = ?";
//Changed by Rohan on 27-08-13 for adding condition of min and max self life
//minShelf = "SELECT MIN_SHELF_LIFE FROM SORDITEM WHERE SALE_ORDER = ? AND LINE_NO = ? AND EXP_LEV = ?";
minShelf = "SELECT MIN_SHELF_LIFE,MAX_SHELF_LIFE FROM SORDITEM WHERE SALE_ORDER = ? AND LINE_NO = ? AND EXP_LEV = ?";
pstmtShelf = conn.prepareStatement(minShelf);
pstmtShelf.setString(1,saleOrder);
......@@ -4536,7 +4588,9 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
if(rSetShelf.next())
{
minShelfLife = rSetShelf.getInt("MIN_SHELF_LIFE");
System.out.println("minShelfLife======>"+minShelfLife);
//Changed by Rohan on 27-08-13 for get max self life
maxShelfLife = rSetShelf.getInt("MAX_SHELF_LIFE");
System.out.println("minShelfLife======>"+minShelfLife+"[maxShelfLife]"+maxShelfLife+"]");
}
if(rSetShelf != null)
......@@ -4632,7 +4686,9 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
+"AND STOCK.ITEM_CODE = ? AND STOCK.SITE_CODE = ? "
+"AND STOCK.LOT_NO IN (SELECT LOT_NO FROM STOCK WHERE ITEM_CODE =? AND SITE_CODE =? "
+"GROUP BY LOT_NO HAVING SUM(QUANTITY - ALLOC_QTY - (CASE WHEN STOCK.HOLD_QTY IS NULL THEN 0 ELSE STOCK.HOLD_QTY END) ) >= ?) "
+"AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) > ? ) "
//Changed by Rohan on 27-08-13 for adding condition of min and max self life
//+"AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) > ? ) "
+" AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) BETWEEN ? AND ? ) "
+"AND NOT EXISTS (SELECT 1 FROM INV_RESTR I WHERE I.INV_STAT = INVSTAT.INV_STAT AND I.REF_SER = 'S-DSP' ) ";
//+"AND LOCATION.INV_STAT IN(?,?,?,?)";
/* //+"ORDER BY STOCK.EXP_DATE, STOCK.LOC_CODE";
......@@ -4647,7 +4703,11 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
pstmtStock.setString(4,siteCode);
pstmtStock.setDouble(5,pendingQty);
pstmtStock.setInt(6,minShelfLife);
pstmtStock.setString(7,directPickLoc);
//Changed by Rohan on 27-08-13 for adding condition of min and max self life.start
//pstmtStock.setString(7,directPickLoc);
pstmtStock.setInt(7,maxShelfLife);
pstmtStock.setString(8,directPickLoc);
//Changed by Rohan on 27-08-13 for adding condition of min and max self life.end
}
else if ( singleLot.trim().length() > 0 && singleLot.trim().equalsIgnoreCase("Y") )
......@@ -4668,7 +4728,9 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
+"AND STOCK.ITEM_CODE = ? AND STOCK.SITE_CODE = ? "
+"AND STOCK.LOT_NO IN (SELECT LOT_NO FROM STOCK WHERE ITEM_CODE =? AND SITE_CODE =? "
+"GROUP BY LOT_NO HAVING SUM(QUANTITY - ALLOC_QTY - (CASE WHEN STOCK.HOLD_QTY IS NULL THEN 0 ELSE STOCK.HOLD_QTY END) ) >= ?) "
+"AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) > ? ) "
//Changed by Rohan on 27-08-13 for adding condition of min and max self life
//+"AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) > ? ) "
+" AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) BETWEEN ? AND ? ) "
+"AND NOT EXISTS (SELECT 1 FROM INV_RESTR I WHERE I.INV_STAT = INVSTAT.INV_STAT AND I.REF_SER = 'S-DSP' ) ";
//+"AND LOCATION.INV_STAT IN(?,?,?,?)";
/* //+"ORDER BY STOCK.EXP_DATE, STOCK.LOC_CODE";
......@@ -4683,6 +4745,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
pstmtStock.setString(4,siteCode);
pstmtStock.setDouble(5,pendingQty);
pstmtStock.setInt(6,minShelfLife);
//Changed by Rohan on 27-08-13 for adding condition of min and max self life
/*
pstmtStock.setString(7,resrvLoc);
pstmtStock.setString(8,casePickLoc);
//Changed by sumit on 29/12/12 hiding active pick if user no need from active start
......@@ -4702,6 +4766,29 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
{
pstmtStock.setString(11,partialResrvLoc);
}
*/
pstmtStock.setInt(7,maxShelfLife);
pstmtStock.setString(8,resrvLoc);
pstmtStock.setString(9,casePickLoc);
//Changed by sumit on 29/12/12 hiding active pick if user no need from active start
//pstmtStock.setString(9,activePickLoc);
if( "N".equalsIgnoreCase(isActivePickChecked))
{
pstmtStock.setString(10,"");
}
else
{
pstmtStock.setString(10,activePickLoc);
}
//Changed by sumit on 29/12/12 hiding active pick if user no need from active end
pstmtStock.setString(11,deepStoreLoc);
if(isActives)
{
pstmtStock.setString(12,partialResrvLoc);
}
//Changed by Rohan on 27-08-13 for adding condition of min and max self life.end
}
else
{
......@@ -4722,7 +4809,9 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
+"AND INVSTAT.AVAILABLE = 'Y' "
+"AND STOCK.ITEM_CODE = ? AND STOCK.SITE_CODE = ? "
+"AND (STOCK.QUANTITY - STOCK.ALLOC_QTY - CASE WHEN STOCK.HOLD_QTY IS NULL THEN 0 ELSE STOCK.HOLD_QTY END) > 0 " // 25/06/12 manoharan
+"AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) > ? ) " //Change by Rohan on 4/7/12
////Changed by Rohan on 27-08-13 for adding condition of min and max self life
//+"AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) > ? ) " //Change by Rohan on 4/7/12
+" AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) BETWEEN ? AND ? ) "
+"AND NOT EXISTS (SELECT 1 FROM INV_RESTR I WHERE I.INV_STAT = INVSTAT.INV_STAT AND I.REF_SER = 'S-DSP' ) ";
//+"AND LOCATION.INV_STAT IN(?,?,?)"//Changed by Rohan on 29-12-11 to consider only RESERV, CASE PICK AND ACTIVE PICK LOCATIONS
// +"AND LOCATION.INV_STAT IN(?,?,?,?)"//Changed by Rohan on 29-12-11 to consider only RESERV, CASE PICK AND ACTIVE PICK LOCATIONS
......@@ -4736,6 +4825,8 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
pstmtStock.setString(1,itemCode);
pstmtStock.setString(2,siteCode);
pstmtStock.setInt(3,minShelfLife);
//Changed by Rohan on 27-08-13 for adding condition of min and max self life.start
/*
pstmtStock.setString(4,resrvLoc);
pstmtStock.setString(5,casePickLoc);
//Changed by sumit on 29/12/12 hiding active pick if user no need from active start
......@@ -4755,6 +4846,28 @@ public class WaveGenerationPrc extends ProcessEJB implements WaveGenerationPrcLo
{
pstmtStock.setString(8,partialResrvLoc);
}
*/
pstmtStock.setInt(4,maxShelfLife);
pstmtStock.setString(5,resrvLoc);
pstmtStock.setString(6,casePickLoc);
//Changed by sumit on 29/12/12 hiding active pick if user no need from active start
//pstmtStock.setString(6,activePickLoc);
if( "N".equalsIgnoreCase(isActivePickChecked))
{
pstmtStock.setString(7,"");
}
else
{
pstmtStock.setString(7,activePickLoc);
}
//Changed by sumit on 29/12/12 hiding active pick if user no need from active end
pstmtStock.setString(8,deepStoreLoc);
if(isActives)
{
pstmtStock.setString(9,partialResrvLoc);
}
//Changed by Rohan on 27-08-13 for adding condition of min and max self life.end
}
......
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