Commit cf442c1a authored by kmandhre's avatar kmandhre

change in getdata query


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@93891 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 8d3deb62
......@@ -138,7 +138,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
String resrvLoc = "",casePickLoc = "",activePickLoc = "" ,deepStoreLoc = "" ,partialResrvLoc = "";//added by kunal on 15/NOV/13
String orderByStkStr = "" , disOpt = "";
int waveType1 = 0;
double pendingQty = 0;
double pendingQty = 0, minSelfLife = 0;
Connection conn = null;
ResultSet rs = null;
ResultSet rs1 = null;
......@@ -193,7 +193,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
{
partialResrvLoc = "";
}
System.out.println("CASE_PICK_INVSTAT="+casePickLoc+" ACTIVE_PICK_INVSTAT="+activePickLoc+" RESERV_LOCATION="+resrvLoc+" DEEP_STORE_INVSTAT="+deepStoreLoc+" PARTIAL RESERVE LOC="+partialResrvLoc);
if(resrvLoc.trim().length() > 0 || casePickLoc.trim().length() > 0 || activePickLoc.trim().length() > 0 || deepStoreLoc.trim().length() > 0 || partialResrvLoc.trim().length() > 0)
{
......@@ -324,30 +324,30 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
System.out.println("Display option="+disOpt);
getDataSql = "SELECT SORDER.CUST_CODE, CUSTOMER.CUST_NAME,SORDDET.LINE_NO, "
+"SORDER.SALE_ORDER,SORDER.DUE_DATE,SORDITEM.ITEM_CODE,"
+"ITEM.DESCR,SORDITEM.QUANTITY,"
//Changed by Manoj dtd 18/06/2013 to get Pending Quantity in Std Unit
//+"(SORDITEM.QUANTITY*SORDITEM.CONV__QTY_STDUOM) - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC PENDING_QUANTITY,"
//Changed by Manoj dtd 12/11/2013 to get Pending Quantity in Std Unit
+"(SORDITEM.QUANTITY*SORDITEM.CONV__QTY_STDQTY) - (SORDITEM.QTY_DESP*SORDITEM.CONV__QTY_STDQTY) - SORDITEM.QTY_ALLOC PENDING_QUANTITY,"
+"SORDITEM.QTY_ALLOC,SORDDET.PACK_INSTR,"
+"SORDER.SITE_CODE__SHIP,SORDITEM.EXP_LEV , "
+"CASE WHEN SORDDET.HOLD_FLAG IS NULL THEN 'N' ELSE SORDDET.HOLD_FLAG END, "// ADDED BY AKHILESH FOR NEW COLUNM
+" ITEM.GTIN_CASE,ITEM.GTIN_UNIT " //added by Kunal on 22/10/12
+",SORDDET.UNIT,SORDDET.UNIT__STD,SORDDET.CONV__QTY_STDUOM,SORDDET.QUANTITY__STDUOM , "
+" SORDER.PROM_DATE,SORDER.CUST_CODE__DLV,CUSTA.CUST_NAME AS CUST_CODE__DLV_NAME,SORDER.STATE_CODE__DLV, CUSTOMER.GROUP_CODE,CUSTB.CUST_NAME AS PCUST_NAME, " //added by kunal on 02/07/13
+" SORDER.CUST_PORD,SORDER.PORD_DATE " //added by kunal on 02/07/13
+"FROM SORDDET,SORDER,SORDITEM,CUSTOMER,ITEM ,customer custa,customer custb "
+"WHERE ( SORDER.SALE_ORDER = SORDDET.SALE_ORDER ) AND "
+"( SORDITEM.SALE_ORDER = SORDER.SALE_ORDER ) AND "
+"( SORDDET.LINE_NO = SORDITEM.LINE_NO ) AND "
+"( SORDITEM.ITEM_CODE = ITEM.ITEM_CODE ) AND "
+"( SORDER.CUST_CODE = CUSTOMER.CUST_CODE ) "
+" and ( sorder.cust_code__dlv = custa.cust_code ) "
+" and ( customer.group_code = custb.cust_code ) "
+"SORDER.SALE_ORDER,SORDER.DUE_DATE,SORDITEM.ITEM_CODE,"
+"ITEM.DESCR,SORDITEM.QUANTITY,"
//Changed by Manoj dtd 18/06/2013 to get Pending Quantity in Std Unit
//+"(SORDITEM.QUANTITY*SORDITEM.CONV__QTY_STDUOM) - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC PENDING_QUANTITY,"
//Changed by Manoj dtd 12/11/2013 to get Pending Quantity in Std Unit
+"(SORDITEM.QUANTITY*SORDITEM.CONV__QTY_STDQTY) - (SORDITEM.QTY_DESP*SORDITEM.CONV__QTY_STDQTY) - SORDITEM.QTY_ALLOC PENDING_QUANTITY,"
+"SORDITEM.QTY_ALLOC,SORDDET.PACK_INSTR,"
+"SORDER.SITE_CODE__SHIP,SORDITEM.EXP_LEV , "
+"CASE WHEN SORDDET.HOLD_FLAG IS NULL THEN 'N' ELSE SORDDET.HOLD_FLAG END, "// ADDED BY AKHILESH FOR NEW COLUNM
+" ITEM.GTIN_CASE,ITEM.GTIN_UNIT " //added by Kunal on 22/10/12
+",SORDDET.UNIT,SORDDET.UNIT__STD,SORDDET.CONV__QTY_STDUOM,SORDDET.QUANTITY__STDUOM , "
+" SORDER.PROM_DATE,SORDER.CUST_CODE__DLV,CUSTA.CUST_NAME AS CUST_CODE__DLV_NAME,SORDER.STATE_CODE__DLV, CUSTOMER.GROUP_CODE,CUSTB.CUST_NAME AS PCUST_NAME, " //added by kunal on 02/07/13
+" SORDER.CUST_PORD,SORDER.PORD_DATE " //added by kunal on 02/07/13
+"FROM SORDDET,SORDER,SORDITEM,CUSTOMER,ITEM ,customer custa,customer custb "
+"WHERE ( SORDER.SALE_ORDER = SORDDET.SALE_ORDER ) AND "
+"( SORDITEM.SALE_ORDER = SORDER.SALE_ORDER ) AND "
+"( SORDDET.LINE_NO = SORDITEM.LINE_NO ) AND "
+"( SORDITEM.ITEM_CODE = ITEM.ITEM_CODE ) AND "
+"( SORDER.CUST_CODE = CUSTOMER.CUST_CODE ) "
+" and ( sorder.cust_code__dlv = custa.cust_code ) "
+" and ( customer.group_code = custb.cust_code ) "
+"AND ( SORDDET.SITE_CODE = SORDITEM.SITE_CODE ) AND "
+" SORDER.SITE_CODE = ? AND "
+" ITEM.ITEM_SER >=? AND "
+" ITEM.ITEM_SER <=? AND "
......@@ -364,7 +364,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
+"AND (SORDITEM.QUANTITY*SORDITEM.CONV__QTY_STDQTY) - (SORDITEM.QTY_DESP*SORDITEM.CONV__QTY_STDQTY) - SORDITEM.QTY_ALLOC > 0 "
+"AND SORDITEM.LINE_TYPE = 'I' "
+"ORDER BY SORDER.CUST_CODE,SORDER.SALE_ORDER,SORDITEM.ITEM_CODE__ORD";
pstmt = conn.prepareStatement(getDataSql);
pstmt.setString(1,siteCode);
......@@ -383,11 +383,42 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
if(rs.next())
{
do
{
System.out.println("Processing Item ....." + rs.getString(6) );
//added by ritesh 0n 7/8/13 for request DI3ESUN009 START
sql1 = " select wave_type from customer where cust_code = ? ";
pstmt2 = conn.prepareStatement(sql1);
pstmt2.setString(1,rs.getString("CUST_CODE__DLV"));
rs2 = pstmt2.executeQuery();
if(rs2.next())
{
waveType = rs2.getString("wave_type");
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
sql1 = " select case when ACTIVE_PICK_ALLOW is null then 'Y' else ACTIVE_PICK_ALLOW end as ACTIVE_PICK_ALLOW from wave_type where wave_type = ? ";
pstmt2 = conn.prepareStatement(sql1);
pstmt2.setString(1,waveType);
rs2 = pstmt2.executeQuery();
if(rs2.next())
{
activeAllow = rs2.getString("ACTIVE_PICK_ALLOW");
}
else
{
activeAllow = "Y";
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
//added by ritesh 0n 7/8/13 for request DI3ESUN009 END
if(itemCodeMap.containsKey(rs.getString(6)) )
{
balStockQty = Double.parseDouble(itemCodeMap.get(rs.getString(6)).toString());
......@@ -396,43 +427,44 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
}
else
{
if(checkLocation)
{
sql =" SELECT SORDER.CUST_CODE, CUSTOMER.CUST_NAME,SORDDET.LINE_NO, "
+"SORDER.SALE_ORDER,SORDER.DUE_DATE,SORDITEM.ITEM_CODE,"
+"ITEM.DESCR,SORDITEM.QUANTITY,"
+"((SORDITEM.QUANTITY*SORDITEM.CONV__QTY_STDQTY) - (SORDITEM.QTY_DESP*SORDITEM.CONV__QTY_STDQTY) - SORDITEM.QTY_ALLOC) PENDING_QUANTITY,"
+"SORDITEM.QTY_ALLOC,SORDDET.PACK_INSTR,"
+"SORDER.SITE_CODE,SORDITEM.EXP_LEV, "
+"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.ALLOC_FLAG AS ALLOC_FLAG , WAVE_TYPE.MASTER_PACK_ALLOW , WAVE_TYPE.ACTIVE_PICK_ALLOW , WAVE_TYPE.STOCK_TO_DOCK_ALLOW "
+"FROM SORDDET,SORDER,SORDITEM,CUSTOMER,ITEM , WAVE_TYPE "
//Changed by sumit 20/08/12 getting column data end.
+"WHERE ( SORDER.SALE_ORDER = SORDDET.SALE_ORDER ) AND "
+"( SORDITEM.SALE_ORDER = SORDER.SALE_ORDER ) AND "
+"( SORDDET.LINE_NO = SORDITEM.LINE_NO ) AND "
+"( SORDITEM.ITEM_CODE = ITEM.ITEM_CODE ) AND "
+"( SORDER.CUST_CODE = CUSTOMER.CUST_CODE ) AND "
+"( SORDDET.SITE_CODE = SORDITEM.SITE_CODE ) AND "
//Changed by sumit on 20/08/12 join customer with wave_type
+"( CUSTOMER.WAVE_TYPE = WAVE_TYPE.WAVE_TYPE(+)) AND "
//+" SORDER.SITE_CODE = ? AND "
+" SORDER.SALE_ORDER = ? "
+" AND SORDITEM.LINE_NO = ? "
+"AND CASE WHEN SORDDET.STATUS IS NULL THEN 'P' ELSE SORDDET.STATUS end <> 'C' "
+"AND CASE WHEN SORDER.STATUS IS NULL THEN 'P' ELSE SORDER.STATUS end = 'P' "
//Changed by sumit on 12/09/12 considering hold_flag from sorddet
+" AND CASE WHEN SORDDET.HOLD_FLAG IS NULL THEN 'N' ELSE SORDDET.HOLD_FLAG end <> 'Y'"
//Chnaged by Rohan on 11/07/12 revert Changes of Manual Stock Allocation
//Changed by Rohan on 22/06/12
//+"AND SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC > 0 "
//+"AND (SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC > 0 OR SORDER.ALLOC_FLAG='M' )"
//Changed by sumit on 13/08/12 as per manual stock allocation start.
//+"AND SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC > 0 "
+" AND (((SORDITEM.QUANTITY*SORDITEM.CONV__QTY_STDQTY) - (SORDITEM.QTY_DESP*SORDITEM.CONV__QTY_STDQTY) - SORDITEM.QTY_ALLOC > 0 ) "
+" OR (FN_CHECK_MANUAL_STOCK_ALLOC(SORDER.SALE_ORDER, SORDDET.LINE_NO) = 0 ) )"
+"AND SORDITEM.LINE_TYPE = 'I'";
+"SORDER.SALE_ORDER,SORDER.DUE_DATE,SORDITEM.ITEM_CODE,"
+"ITEM.DESCR,SORDITEM.QUANTITY,"
+"((SORDITEM.QUANTITY*SORDITEM.CONV__QTY_STDQTY) - (SORDITEM.QTY_DESP*SORDITEM.CONV__QTY_STDQTY) - SORDITEM.QTY_ALLOC) PENDING_QUANTITY,"
+"SORDITEM.QTY_ALLOC,SORDDET.PACK_INSTR,"
+"SORDER.SITE_CODE,SORDITEM.EXP_LEV, "
+"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.ALLOC_FLAG AS ALLOC_FLAG , WAVE_TYPE.MASTER_PACK_ALLOW , WAVE_TYPE.ACTIVE_PICK_ALLOW , WAVE_TYPE.STOCK_TO_DOCK_ALLOW "
+"FROM SORDDET,SORDER,SORDITEM,CUSTOMER,ITEM , WAVE_TYPE "
//Changed by sumit 20/08/12 getting column data end.
+"WHERE ( SORDER.SALE_ORDER = SORDDET.SALE_ORDER ) AND "
+"( SORDITEM.SALE_ORDER = SORDER.SALE_ORDER ) AND "
+"( SORDDET.LINE_NO = SORDITEM.LINE_NO ) AND "
+"( SORDITEM.ITEM_CODE = ITEM.ITEM_CODE ) AND "
+"( SORDER.CUST_CODE = CUSTOMER.CUST_CODE ) AND "
+"( SORDDET.SITE_CODE = SORDITEM.SITE_CODE ) AND "
//Changed by sumit on 20/08/12 join customer with wave_type
+"( CUSTOMER.WAVE_TYPE = WAVE_TYPE.WAVE_TYPE(+)) AND "
//+" SORDER.SITE_CODE = ? AND "
+" SORDER.SALE_ORDER = ? "
+" AND SORDITEM.LINE_NO = ? "
+"AND CASE WHEN SORDDET.STATUS IS NULL THEN 'P' ELSE SORDDET.STATUS end <> 'C' "
+"AND CASE WHEN SORDER.STATUS IS NULL THEN 'P' ELSE SORDER.STATUS end = 'P' "
//Changed by sumit on 12/09/12 considering hold_flag from sorddet
+" AND CASE WHEN SORDDET.HOLD_FLAG IS NULL THEN 'N' ELSE SORDDET.HOLD_FLAG end <> 'Y'"
//Chnaged by Rohan on 11/07/12 revert Changes of Manual Stock Allocation
//Changed by Rohan on 22/06/12
//+"AND SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC > 0 "
//+"AND (SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC > 0 OR SORDER.ALLOC_FLAG='M' )"
//Changed by sumit on 13/08/12 as per manual stock allocation start.
//+"AND SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC > 0 "
+" AND (((SORDITEM.QUANTITY*SORDITEM.CONV__QTY_STDQTY) - (SORDITEM.QTY_DESP*SORDITEM.CONV__QTY_STDQTY) - SORDITEM.QTY_ALLOC > 0 ) "
+" OR (FN_CHECK_MANUAL_STOCK_ALLOC(SORDER.SALE_ORDER, SORDDET.LINE_NO) = 0 ) )"
+"AND SORDITEM.LINE_TYPE = 'I'";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1,rs.getString(4));
pstmt1.setString(2, rs.getString(3));
......@@ -445,34 +477,59 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
rs1 = null;
pstmt1.close();
pstmt1 = null;
HashMap itemVolMap = getItemVoumeMap( rs.getString(6), "", conn);
double packSize = (Double)itemVolMap.get("PACK_SIZE");
System.out.println(" pendingQty = "+pendingQty+" packSize ="+packSize);
if((pendingQty % packSize) > 0)
{
double packSize = (Double)itemVolMap.get("PACK_SIZE");
System.out.println(" pendingQty = "+pendingQty+" packSize ="+packSize);
if((pendingQty % packSize) > 0)
{
isActives = true;
orderByStkStr = " AND LOCATION.INV_STAT IN(?,?,?,?,?) ";
}
else
{
}
else
{
isActives = false;
orderByStkStr = " AND LOCATION.INV_STAT IN(?,?,?,?) ";
}
}
}
minSelfLife = 0;
sql =" SELECT MIN_SHELF_LIFE FROM SORDITEM WHERE SALE_ORDER = ? AND LINE_NO = ? AND EXP_LEV = ? ";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1,rs.getString(4));
pstmt1.setString(2, rs.getString(3));
pstmt1.setString(3, rs.getString(13));
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
minSelfLife= rs1.getDouble("MIN_SHELF_LIFE");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
sql1 ="SELECT SUM(STOCK.QUANTITY - case when STOCK.ALLOC_QTY is null then 0 else STOCK.ALLOC_QTY end - case when STOCK.HOLD_QTY is null then 0 else STOCK.HOLD_QTY end ),SUM(case when STOCK.HOLD_QTY is null then 0 else STOCK.HOLD_QTY end ) "
+"FROM STOCK,ITEM,LOCATION,INVSTAT "
+"WHERE (ITEM.ITEM_CODE = STOCK.ITEM_CODE) "
+"AND (LOCATION.LOC_CODE = STOCK.LOC_CODE ) "
+"AND (LOCATION.INV_STAT = INVSTAT.INV_STAT) "
+"AND INVSTAT.AVAILABLE = 'Y' "
+"AND STOCK.ITEM_CODE = ? "
+"AND STOCK.SITE_CODE = ? "
+"AND (STOCK.QUANTITY - case when STOCK.ALLOC_QTY is null then 0 else STOCK.ALLOC_QTY end - case when STOCK.HOLD_QTY is null then 0 else STOCK.HOLD_QTY end ) > 0 ";
+"FROM STOCK,ITEM,LOCATION,INVSTAT "
+"WHERE (ITEM.ITEM_CODE = STOCK.ITEM_CODE) "
+"AND (LOCATION.LOC_CODE = STOCK.LOC_CODE ) "
+"AND (LOCATION.INV_STAT = INVSTAT.INV_STAT) "
+"AND INVSTAT.AVAILABLE = 'Y' "
+"AND STOCK.ITEM_CODE = ? "
+"AND STOCK.SITE_CODE = ? "
+"AND (STOCK.QUANTITY - case when STOCK.ALLOC_QTY is null then 0 else STOCK.ALLOC_QTY end - case when STOCK.HOLD_QTY is null then 0 else STOCK.HOLD_QTY end ) > 0 "
+"AND NOT EXISTS (SELECT 1 FROM INV_RESTR I WHERE I.INV_STAT = INVSTAT.INV_STAT AND I.REF_SER = 'S-DSP' ) "; //added by kunal on 20/NOV/13 SAME COND. FOR GETDATA AND PROCESS
if("N".equalsIgnoreCase(activeAllow))//added by kunal on 20/NOV/13 SAME COND. FOR GETDATA AND PROCESS
{
sql1 = sql1.concat(" AND LOCATION.INV_STAT NOT IN(?,?) ");
}
//Added by manoj dtd 09/08/2013 to implement FEFO concept
sql1= sql1+" AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) > ? ) ";
// 01/11/12 manoharan preparedstatement used instead of statement
//rs1 = st.executeQuery(sql);
if(checkLocation) //added by kunal on 15/NOV/13 DI3ESUN009
{
sql1=sql1+orderByStkStr;
......@@ -480,16 +537,38 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1,rs.getString(6) );
pstmt1.setString(2,rs.getString(12));
if(checkLocation) //added by kunal on 15/NOV/13 DI3ESUN009
pstmt1.setDouble(3,minSelfLife);
if("N".equalsIgnoreCase(activeAllow))
{
pstmt1.setString(3,activePickLoc);
pstmt1.setString(4,partialResrvLoc);
pstmt1.setDouble(5,minSelfLife);
if(checkLocation) //added by kunal on 15/NOV/13 DI3ESUN009
{
pstmt1.setString(6,resrvLoc);
pstmt1.setString(7,casePickLoc);
pstmt1.setString(8,activePickLoc);
pstmt1.setString(9,deepStoreLoc);
if(isActives)
{
pstmt1.setString(10,partialResrvLoc);
}
}
}
else
{
pstmt1.setString(3,resrvLoc);
pstmt1.setString(4,casePickLoc);
pstmt1.setString(5,activePickLoc);
pstmt1.setString(6,deepStoreLoc);
if(isActives)
if(checkLocation) //added by kunal on 15/NOV/13 DI3ESUN009
{
pstmt1.setString(7,partialResrvLoc);
pstmt1.setString(4,resrvLoc);
pstmt1.setString(5,casePickLoc);
pstmt1.setString(6,activePickLoc);
pstmt1.setString(7,deepStoreLoc);
if(isActives)
{
pstmt1.setString(8,partialResrvLoc);
}
}
}
rs1 = pstmt1.executeQuery();
......@@ -504,10 +583,10 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
}
else
{
if ("A".equalsIgnoreCase(disOpt))// To display all records, added by Kunal on 18/NOV/13
{
itemCodeMap.put(rs.getString(6),new Double(rs1.getDouble(1)));
}
if ("A".equalsIgnoreCase(disOpt))// To display all records, added by Kunal on 18/NOV/13
{
itemCodeMap.put(rs.getString(6),new Double(rs1.getDouble(1)));
}
}
System.out.println("Bal stk qty for item ....." + rs.getString(6) + " is " + balStockQty+" hold qty="+holdQty);
}
......@@ -522,7 +601,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
{
retTabSepStrBuff.append("<Detail2>");
//DUE_DATE
//retTabSepStrBuff.append(rs.getTimestamp(5)).append("\t");
if(rs.getTimestamp(5) != null)
......@@ -534,7 +613,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
retTabSepStrBuff.append("<due_date>").append("<![CDATA[]]>").append("</due_date>");
}
dueDate = rs.getTimestamp(5);
//PROM_DATE
if(rs.getTimestamp("PROM_DATE") != null)
{
......@@ -544,23 +623,23 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
{
retTabSepStrBuff.append("<prom_date>").append("<![CDATA[]]>").append("</prom_date>");
}
//DLV CUST_CODE
retTabSepStrBuff.append("<cust_code__dlv>").append("<![CDATA[" + checkNull(rs.getString("CUST_CODE__DLV")) +"]]>").append("</cust_code__dlv>");
//DLV CUST_CODE NAME
retTabSepStrBuff.append("<cust_name>").append("<![CDATA[" + checkNull(rs.getString("CUST_CODE__DLV_NAME")) +"]]>").append("</cust_name>");
//DLV CUST_CODE STATE
retTabSepStrBuff.append("<state_code__dlv>").append("<![CDATA[" + checkNull(rs.getString("STATE_CODE__DLV")) +"]]>").append("</state_code__dlv>");
//SALE_ORDER
//retTabSepStrBuff.append(rs.getString(4)).append("\t");
retTabSepStrBuff.append("<sale_order>").append("<![CDATA[" + rs.getString(4) +"]]>").append("</sale_order>");
//LINE_NO
//retTabSepStrBuff.append(rs.getString(3)).append("\t");
retTabSepStrBuff.append("<line_no>").append("<![CDATA[" + rs.getString(3) +"]]>").append("</line_no>");
//ITEM_CODE
//retTabSepStrBuff.append(rs.getString(6)).append("\t");
......@@ -568,7 +647,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
//DESCR
//retTabSepStrBuff.append(rs.getString(7)).append("\t");
retTabSepStrBuff.append("<item_descr>").append("<![CDATA[" + rs.getString(7) +"]]>").append("</item_descr>");
//QUANTITY
//retTabSepStrBuff.append(rs.getDouble(8)).append("\t");
retTabSepStrBuff.append("<quantity>").append("<![CDATA[" + rs.getDouble(8) +"]]>").append("</quantity>");
......@@ -590,14 +669,14 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
//retTabSepStrBuff.append("<pending_quantity>").append("<![CDATA[" + rs.getDouble(9) +"]]>").append("</pending_quantity>");
//Manoj dtd 18/06/2013 Pending Quantity in standard unit
retTabSepStrBuff.append("<pending_quantity>").append("<![CDATA[" + (rs.getDouble(9)) +"]]>").append("</pending_quantity>");
//STOCK_QUANTITY
pendQty = rs.getDouble(9);
//***** check itemhashmap wheather current item_code already exists
// if not add to itemhashmap and get the stock as follows and set in
// tabdelimited string else nothing is to be done just consider the stock as 0
///////////////////////////////////////////////////////////////////////////////////
......@@ -627,48 +706,22 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
//retTabSepStrBuff.append("0").append("\t");
retTabSepStrBuff.append("<qty_alloc>").append("<![CDATA[" + 0 +"]]>").append("</qty_alloc>");
}
//added by ritesh 0n 7/8/13 for request DI3ESUN009 START
sql1 = " select wave_type from customer where cust_code = ? ";
pstmt2 = conn.prepareStatement(sql1);
pstmt2.setString(1,rs.getString("CUST_CODE__DLV"));
rs2 = pstmt2.executeQuery();
if(rs2.next())
{
waveType = rs2.getString("wave_type");
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
sql1 = " select case when ACTIVE_PICK_ALLOW is null then 'Y' else ACTIVE_PICK_ALLOW end as ACTIVE_PICK_ALLOW from wave_type where wave_type = ? ";
pstmt2 = conn.prepareStatement(sql1);
pstmt2.setString(1,waveType);
rs2 = pstmt2.executeQuery();
if(rs2.next())
{
retTabSepStrBuff.append("<active_pick_allow>").append("<![CDATA[" + rs2.getString("ACTIVE_PICK_ALLOW") +"]]>").append("</active_pick_allow>");
}
else
{
retTabSepStrBuff.append("<active_pick_allow>").append("<![CDATA[Y]]>").append("</active_pick_allow>");
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
//added by ritesh 0n 7/8/13 for request DI3ESUN009 END
//active_pick_allow
retTabSepStrBuff.append("<active_pick_allow>").append("<![CDATA[" + activeAllow +"]]>").append("</active_pick_allow>");
//qty allocated
//retTabSepStrBuff.append(rs.getDouble(10)).append("\t");// ADDED BY AKHILESH
retTabSepStrBuff.append("<qty_allocated>").append("<![CDATA[" + (rs.getDouble(10)) +"]]>").append("</qty_allocated>");
//PARENT CUST_CODE
retTabSepStrBuff.append("<group_code>").append("<![CDATA[" + checkNull(rs.getString("GROUP_CODE")) +"]]>").append("</group_code>");
//PARENT CUST_CODE NAME
retTabSepStrBuff.append("<cust_name_1>").append("<![CDATA[" + checkNull(rs.getString("PCUST_NAME")) +"]]>").append("</cust_name_1>");
//PARENT CUST_CODE NAME
retTabSepStrBuff.append("<cust_pord>").append("<![CDATA[" + checkNull(rs.getString("CUST_PORD")) +"]]>").append("</cust_pord>");
//PO DATE
if(rs.getTimestamp("PORD_DATE") != null)
{
......@@ -678,7 +731,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
{
retTabSepStrBuff.append("<pord_date>").append("<![CDATA[]]>").append("</pord_date>");
}
//CUST_CODE
//retTabSepStrBuff.append(rs.getString(1)).append("\t");
retTabSepStrBuff.append("<cust_code>").append("<![CDATA[" + rs.getString(1) +"]]>").append("</cust_code>");
......@@ -688,15 +741,15 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
//Hold Flag
//retTabSepStrBuff.append(rs.getString(14) == null?"N":rs.getString(14)).append("\t");// ADDED BY AKHILESH
retTabSepStrBuff.append("<hold_flag>").append("<![CDATA[" + (rs.getString(14) == null? " ":rs.getString(14)) +"]]>").append("</hold_flag>");
//Gtin Case
//retTabSepStrBuff.append(rs.getString(15)== null?" ":rs.getString(15)).append("\t");// added by Kunal on 22/10/12
retTabSepStrBuff.append("<gtin_case>").append("<![CDATA[" + (rs.getString(15) == null? " ":rs.getString(15)) +"]]>").append("</gtin_case>");
//Gtin Unit
//retTabSepStrBuff.append(rs.getString(16) == null?" ":rs.getString(16)).append("\t");// added by Kunal on 25/10/12
retTabSepStrBuff.append("<gtin_unit>").append("<![CDATA[" + (rs.getString(16) == null? " ":rs.getString(16)) +"]]>").append("</gtin_unit>");
// this line has to be commented later
// as this will be a input from the user
itemCodeMap.put(rs.getString(6), new Double(balStockQty));
......@@ -711,8 +764,8 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
//retTabSepStrBuff.append(rs.getString(13) == null?" " :rs.getString(13) ).append("\t");
retTabSepStrBuff.append("<exp_lev>").append("<![CDATA[" + (rs.getString(13) == null? " ":rs.getString(13)) +"]]>").append("</exp_lev>");
/*if (bappend == true)
{
//retTabSepStrBuff.append(balStockQty).append("\t");
......@@ -723,13 +776,13 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
//retTabSepStrBuff.append("0").append("\t");
retTabSepStrBuff.append("<stock_quantity>").append("<![CDATA[" + 0 +"]]>").append("</stock_quantity>");
}*/
retTabSepStrBuff.append("</Detail2>");
//retTabSepStrBuff.append("\n");
}
}while(rs.next());
retTabSepStrBuff.append("</Header0>");
......@@ -862,7 +915,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
int updCnt = 0;
int parentNodeListLength = 0;
int childNodeListLength = 0;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
......@@ -930,16 +983,16 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
{
holdFlag = childNode.getFirstChild().getNodeValue();
}
//added by ritesh on 7/8/13 for request DI3ESUN009 START
//added by ritesh on 7/8/13 for request DI3ESUN009 START
if (childNodeName.equals("active_pick_allow"))
{
if(childNode.getFirstChild() != null)
{
activeAllow = childNode.getFirstChild().getNodeValue();
activeAllow = childNode.getFirstChild().getNodeValue();
}
} //added by ritesh 0n 7/8/13 for request DI3ESUN009 END
}//inner for loop
if(!"Y".equalsIgnoreCase(activeAllow) )
{
......@@ -952,44 +1005,44 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
} //added by ritesh on 07/10/13 for request DI3ESUN009
if("N".equalsIgnoreCase(activeAllow))
{
String sql1 = "";
double shipperSize = 0;
sql1 = "select shipper_size from item_lot_packsize where item_code = ? ";
pstmt = conn.prepareStatement(sql1);
pstmt.setString(1,itemCode);
rs = pstmt.executeQuery();
if(rs.next())
{
shipperSize = rs.getDouble(1);
}
pstmt.close();pstmt = null;
rs.close();rs = null;
try{
if(allocQty % shipperSize != 0)
{
System.out.println("==activeAllow validate 4 N ==");
flag = true;
errString = "VTACTALW2";
errString = itmDBAccessEJB.getErrorString("",errString,"","",conn);
}
}
catch(ArithmeticException ex)
{
System.out.println("==ArithmeticException==");
String sql1 = "";
double shipperSize = 0;
sql1 = "select shipper_size from item_lot_packsize where item_code = ? ";
pstmt = conn.prepareStatement(sql1);
pstmt.setString(1,itemCode);
rs = pstmt.executeQuery();
if(rs.next())
{
shipperSize = rs.getDouble(1);
}
pstmt.close();pstmt = null;
rs.close();rs = null;
try{
if(allocQty % shipperSize != 0)
{
System.out.println("==activeAllow validate 4 N ==");
flag = true;
errString = "VTACTALW3";
errString = "VTACTALW2";
errString = itmDBAccessEJB.getErrorString("",errString,"","",conn);
}
if( errString != null && errString.trim().length() > 0 && flag == true)
{
isFlag = false;
list.add(saleOrder);
list.add(lineNo);
list.add(itemCode);
list.add(allocQty);
elements ++;
}
}
catch(ArithmeticException ex)
{
System.out.println("==ArithmeticException==");
flag = true;
errString = "VTACTALW3";
errString = itmDBAccessEJB.getErrorString("",errString,"","",conn);
}
if( errString != null && errString.trim().length() > 0 && flag == true)
{
isFlag = false;
list.add(saleOrder);
list.add(lineNo);
list.add(itemCode);
list.add(allocQty);
elements ++;
}
} //added by ritesh on 07/10/13 for request DI3ESUN009 END
if(allocQty > 0 && flag == false)
{
......@@ -1006,8 +1059,8 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
}else if(allocQty == 0) //added by kunal on 27/12/12 as per manoj instruction
{
updateSql = "UPDATE SORDDET SET HOLD_FLAG ='"+holdFlag+"'"
+ " WHERE SALE_ORDER = '" + saleOrder + " ' "
+ " AND LINE_NO = '" + lineNo + "' ";
+ " WHERE SALE_ORDER = '" + saleOrder + " ' "
+ " AND LINE_NO = '" + lineNo + "' ";
System.out.println("updateSql::"+ updateSql);
pstmt = conn.prepareStatement(updateSql);
......@@ -1036,7 +1089,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
i -= 1;
}
mainStr = mainStr +
"sale order :"+list.get(i++)+ ",line no :"+ list.get(i++) + ",item code :"+list.get(i++)+",quantity :"+list.get(i++)+"\n" ;
"sale order :"+list.get(i++)+ ",line no :"+ list.get(i++) + ",item code :"+list.get(i++)+",quantity :"+list.get(i++)+"\n" ;
}
mainStr = mainStr + endPart;
errString = mainStr;
......@@ -1044,10 +1097,10 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
endPart =null;
mainStr =null;
return errString;
}
//added by ritesh on 07/10/13 for request DI3ESUN009 end
/*Commented By Manoj Sharma dtd 29/032012 Not required as discussed with Manohar Sir
if(postOrderFg.equals("Y"))
{
......@@ -1075,7 +1128,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
}
//added by kunal on 27/12/12
}//try end
catch(Exception e)
{
......@@ -1228,128 +1281,128 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
+" FROM SORDITEM WHERE SALE_ORDER = '" + saleOrder + "' "
+" AND LINE_NO = '" + lineNo + "' "
+" AND EXP_LEV = '" + expLev + "' ";
System.out.println("sorditemSql:::"+sorditemSql);
st = conn.createStatement();
rsSItem = st.executeQuery(sorditemSql);
if (rsSItem.next())
{
//ITEM_CODE
itemCode = rsSItem.getString(1);
System.out.println("itemCode::::"+ itemCode);
//ITEM_CODE__ORD
itemCodeOrd = rsSItem.getString(2);
//UNIT
unitStd = rsSItem.getString(3);
//QTY_DESP
qtyDesp = 0;
//ITEM_REF
itemRef = rsSItem.getString(5);
//PENDING_QUANTITY
pendingQuantity = rsSItem.getDouble(6);
minSelfLife= rsSItem.getDouble("MIN_SHELF_LIFE");
}
rsSItem.close();
st.close();
//added by kunal on 14/NOV/13 DI3ESUN009
resrvLoc = checkNull(dComm.getDisparams("999999","RESERV_LOCATION",conn));
casePickLoc = checkNull(dComm.getDisparams("999999","CASE_PICK_INVSTAT",conn));
activePickLoc = checkNull(dComm.getDisparams("999999","ACTIVE_PICK_INVSTAT",conn));
deepStoreLoc = checkNull(dComm.getDisparams("999999","DEEP_STORE_INVSTAT",conn));
partialResrvLoc = checkNull(dComm.getDisparams("999999","PRSRV_INVSTAT",conn));
if(resrvLoc.trim().length() == 0 || resrvLoc.trim().equalsIgnoreCase("NULLFOUND"))
{
resrvLoc = "";
}
if(casePickLoc.trim().length() == 0 || casePickLoc.trim().equalsIgnoreCase("NULLFOUND"))
{
casePickLoc = "";
}
if(activePickLoc.trim().length() == 0 || activePickLoc.trim().equalsIgnoreCase("NULLFOUND"))
{
activePickLoc = "";
}
if(deepStoreLoc.trim().length() == 0 || deepStoreLoc.trim().equalsIgnoreCase("NULLFOUND"))
{
deepStoreLoc = "";
}
if(partialResrvLoc.trim().length() == 0 || partialResrvLoc.trim().equalsIgnoreCase("NULLFOUND"))
System.out.println("sorditemSql:::"+sorditemSql);
st = conn.createStatement();
rsSItem = st.executeQuery(sorditemSql);
if (rsSItem.next())
{
//ITEM_CODE
itemCode = rsSItem.getString(1);
System.out.println("itemCode::::"+ itemCode);
//ITEM_CODE__ORD
itemCodeOrd = rsSItem.getString(2);
//UNIT
unitStd = rsSItem.getString(3);
//QTY_DESP
qtyDesp = 0;
//ITEM_REF
itemRef = rsSItem.getString(5);
//PENDING_QUANTITY
pendingQuantity = rsSItem.getDouble(6);
minSelfLife= rsSItem.getDouble("MIN_SHELF_LIFE");
}
rsSItem.close();
st.close();
//added by kunal on 14/NOV/13 DI3ESUN009
resrvLoc = checkNull(dComm.getDisparams("999999","RESERV_LOCATION",conn));
casePickLoc = checkNull(dComm.getDisparams("999999","CASE_PICK_INVSTAT",conn));
activePickLoc = checkNull(dComm.getDisparams("999999","ACTIVE_PICK_INVSTAT",conn));
deepStoreLoc = checkNull(dComm.getDisparams("999999","DEEP_STORE_INVSTAT",conn));
partialResrvLoc = checkNull(dComm.getDisparams("999999","PRSRV_INVSTAT",conn));
if(resrvLoc.trim().length() == 0 || resrvLoc.trim().equalsIgnoreCase("NULLFOUND"))
{
resrvLoc = "";
}
if(casePickLoc.trim().length() == 0 || casePickLoc.trim().equalsIgnoreCase("NULLFOUND"))
{
casePickLoc = "";
}
if(activePickLoc.trim().length() == 0 || activePickLoc.trim().equalsIgnoreCase("NULLFOUND"))
{
activePickLoc = "";
}
if(deepStoreLoc.trim().length() == 0 || deepStoreLoc.trim().equalsIgnoreCase("NULLFOUND"))
{
deepStoreLoc = "";
}
if(partialResrvLoc.trim().length() == 0 || partialResrvLoc.trim().equalsIgnoreCase("NULLFOUND"))
{
partialResrvLoc = "";
}
System.out.println("CASE_PICK_INVSTAT="+casePickLoc+" ACTIVE_PICK_INVSTAT="+activePickLoc+" RESERV_LOCATION="+resrvLoc+" DEEP_STORE_INVSTAT="+deepStoreLoc+" PARTIAL RESERVE LOC="+partialResrvLoc);
if(resrvLoc.trim().length() > 0 || casePickLoc.trim().length() > 0 || activePickLoc.trim().length() > 0 || deepStoreLoc.trim().length() > 0 || partialResrvLoc.trim().length() > 0)
{
checkLocation = true;
}
if(checkLocation)
{
sql =" SELECT SORDER.CUST_CODE, CUSTOMER.CUST_NAME,SORDDET.LINE_NO, "
+"SORDER.SALE_ORDER,SORDER.DUE_DATE,SORDITEM.ITEM_CODE,"
+"ITEM.DESCR,SORDITEM.QUANTITY,"
+"((SORDITEM.QUANTITY*SORDITEM.CONV__QTY_STDQTY) - (SORDITEM.QTY_DESP*SORDITEM.CONV__QTY_STDQTY) - SORDITEM.QTY_ALLOC) PENDING_QUANTITY,"
+"SORDITEM.QTY_ALLOC,SORDDET.PACK_INSTR,"
+"SORDER.SITE_CODE,SORDITEM.EXP_LEV, "
+"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.ALLOC_FLAG AS ALLOC_FLAG , WAVE_TYPE.MASTER_PACK_ALLOW , WAVE_TYPE.ACTIVE_PICK_ALLOW , WAVE_TYPE.STOCK_TO_DOCK_ALLOW "
+"FROM SORDDET,SORDER,SORDITEM,CUSTOMER,ITEM , WAVE_TYPE "
//Changed by sumit 20/08/12 getting column data end.
+"WHERE ( SORDER.SALE_ORDER = SORDDET.SALE_ORDER ) AND "
+"( SORDITEM.SALE_ORDER = SORDER.SALE_ORDER ) AND "
+"( SORDDET.LINE_NO = SORDITEM.LINE_NO ) AND "
+"( SORDITEM.ITEM_CODE = ITEM.ITEM_CODE ) AND "
+"( SORDER.CUST_CODE = CUSTOMER.CUST_CODE ) AND "
+"( SORDDET.SITE_CODE = SORDITEM.SITE_CODE ) AND "
//Changed by sumit on 20/08/12 join customer with wave_type
+"( CUSTOMER.WAVE_TYPE = WAVE_TYPE.WAVE_TYPE(+)) AND "
//+" SORDER.SITE_CODE = ? AND "
+" SORDER.SALE_ORDER = ? "
+" AND SORDITEM.LINE_NO = ? "
+"AND CASE WHEN SORDDET.STATUS IS NULL THEN 'P' ELSE SORDDET.STATUS end <> 'C' "
+"AND CASE WHEN SORDER.STATUS IS NULL THEN 'P' ELSE SORDER.STATUS end = 'P' "
//Changed by sumit on 12/09/12 considering hold_flag from sorddet
+" AND CASE WHEN SORDDET.HOLD_FLAG IS NULL THEN 'N' ELSE SORDDET.HOLD_FLAG end <> 'Y'"
//Chnaged by Rohan on 11/07/12 revert Changes of Manual Stock Allocation
//Changed by Rohan on 22/06/12
//+"AND SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC > 0 "
//+"AND (SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC > 0 OR SORDER.ALLOC_FLAG='M' )"
//Changed by sumit on 13/08/12 as per manual stock allocation start.
//+"AND SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC > 0 "
+" AND (((SORDITEM.QUANTITY*SORDITEM.CONV__QTY_STDQTY) - (SORDITEM.QTY_DESP*SORDITEM.CONV__QTY_STDQTY) - SORDITEM.QTY_ALLOC > 0 ) "
+" OR (FN_CHECK_MANUAL_STOCK_ALLOC(SORDER.SALE_ORDER, SORDDET.LINE_NO) = 0 ) )"
+"AND SORDITEM.LINE_TYPE = 'I'";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1,saleOrder);
pstmt1.setString(2,lineNo);
rs = pstmt1.executeQuery();
if(rs.next())
{
partialResrvLoc = "";
pendingQty = rs.getInt("PENDING_QUANTITY");
}
System.out.println("CASE_PICK_INVSTAT="+casePickLoc+" ACTIVE_PICK_INVSTAT="+activePickLoc+" RESERV_LOCATION="+resrvLoc+" DEEP_STORE_INVSTAT="+deepStoreLoc+" PARTIAL RESERVE LOC="+partialResrvLoc);
if(resrvLoc.trim().length() > 0 || casePickLoc.trim().length() > 0 || activePickLoc.trim().length() > 0 || deepStoreLoc.trim().length() > 0 || partialResrvLoc.trim().length() > 0)
rs.close();
rs = null;
pstmt1.close();
pstmt1 = null;
HashMap itemVolMap = getItemVoumeMap(itemCode, "", conn);
double packSize = (Double)itemVolMap.get("PACK_SIZE");
System.out.println(" pendingQty = "+pendingQty+" packSize ="+packSize);
if((pendingQty % packSize) > 0)
{
checkLocation = true;
isActives = true;
orderByStkStr = " AND LOCATION.INV_STAT IN(?,?,?,?,?) ";
}
if(checkLocation)
else
{
sql =" SELECT SORDER.CUST_CODE, CUSTOMER.CUST_NAME,SORDDET.LINE_NO, "
+"SORDER.SALE_ORDER,SORDER.DUE_DATE,SORDITEM.ITEM_CODE,"
+"ITEM.DESCR,SORDITEM.QUANTITY,"
+"((SORDITEM.QUANTITY*SORDITEM.CONV__QTY_STDQTY) - (SORDITEM.QTY_DESP*SORDITEM.CONV__QTY_STDQTY) - SORDITEM.QTY_ALLOC) PENDING_QUANTITY,"
+"SORDITEM.QTY_ALLOC,SORDDET.PACK_INSTR,"
+"SORDER.SITE_CODE,SORDITEM.EXP_LEV, "
+"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.ALLOC_FLAG AS ALLOC_FLAG , WAVE_TYPE.MASTER_PACK_ALLOW , WAVE_TYPE.ACTIVE_PICK_ALLOW , WAVE_TYPE.STOCK_TO_DOCK_ALLOW "
+"FROM SORDDET,SORDER,SORDITEM,CUSTOMER,ITEM , WAVE_TYPE "
//Changed by sumit 20/08/12 getting column data end.
+"WHERE ( SORDER.SALE_ORDER = SORDDET.SALE_ORDER ) AND "
+"( SORDITEM.SALE_ORDER = SORDER.SALE_ORDER ) AND "
+"( SORDDET.LINE_NO = SORDITEM.LINE_NO ) AND "
+"( SORDITEM.ITEM_CODE = ITEM.ITEM_CODE ) AND "
+"( SORDER.CUST_CODE = CUSTOMER.CUST_CODE ) AND "
+"( SORDDET.SITE_CODE = SORDITEM.SITE_CODE ) AND "
//Changed by sumit on 20/08/12 join customer with wave_type
+"( CUSTOMER.WAVE_TYPE = WAVE_TYPE.WAVE_TYPE(+)) AND "
//+" SORDER.SITE_CODE = ? AND "
+" SORDER.SALE_ORDER = ? "
+" AND SORDITEM.LINE_NO = ? "
+"AND CASE WHEN SORDDET.STATUS IS NULL THEN 'P' ELSE SORDDET.STATUS end <> 'C' "
+"AND CASE WHEN SORDER.STATUS IS NULL THEN 'P' ELSE SORDER.STATUS end = 'P' "
//Changed by sumit on 12/09/12 considering hold_flag from sorddet
+" AND CASE WHEN SORDDET.HOLD_FLAG IS NULL THEN 'N' ELSE SORDDET.HOLD_FLAG end <> 'Y'"
//Chnaged by Rohan on 11/07/12 revert Changes of Manual Stock Allocation
//Changed by Rohan on 22/06/12
//+"AND SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC > 0 "
//+"AND (SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC > 0 OR SORDER.ALLOC_FLAG='M' )"
//Changed by sumit on 13/08/12 as per manual stock allocation start.
//+"AND SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC > 0 "
+" AND (((SORDITEM.QUANTITY*SORDITEM.CONV__QTY_STDQTY) - (SORDITEM.QTY_DESP*SORDITEM.CONV__QTY_STDQTY) - SORDITEM.QTY_ALLOC > 0 ) "
+" OR (FN_CHECK_MANUAL_STOCK_ALLOC(SORDER.SALE_ORDER, SORDDET.LINE_NO) = 0 ) )"
+"AND SORDITEM.LINE_TYPE = 'I'";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1,saleOrder);
pstmt1.setString(2,lineNo);
rs = pstmt1.executeQuery();
if(rs.next())
{
pendingQty = rs.getInt("PENDING_QUANTITY");
}
rs.close();
rs = null;
pstmt1.close();
pstmt1 = null;
HashMap itemVolMap = getItemVoumeMap(itemCode, "", conn);
double packSize = (Double)itemVolMap.get("PACK_SIZE");
System.out.println(" pendingQty = "+pendingQty+" packSize ="+packSize);
if((pendingQty % packSize) > 0)
{
isActives = true;
orderByStkStr = " AND LOCATION.INV_STAT IN(?,?,?,?,?) ";
}
else
{
isActives = false;
orderByStkStr = " AND LOCATION.INV_STAT IN(?,?,?,?) ";
}
isActives = false;
orderByStkStr = " AND LOCATION.INV_STAT IN(?,?,?,?) ";
}
//added by kunal on 14/NOV/13 DI3ESUN009 END
}
//added by kunal on 14/NOV/13 DI3ESUN009 END
getDataSql = "SELECT STOCK.LOT_NO,STOCK.LOT_SL,"
+"STOCK.LOC_CODE, "
......@@ -1365,26 +1418,26 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
+"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 NOT EXISTS (SELECT 1 FROM INV_RESTR I WHERE I.INV_STAT = INVSTAT.INV_STAT AND I.REF_SER = 'S-DSP' )";
if("N".equalsIgnoreCase(activeAllow))
{
getDataSql = getDataSql.concat(" AND LOCATION.INV_STAT NOT IN(?,?)");
getDataSql = getDataSql.concat(" AND LOCATION.INV_STAT NOT IN(?,?) ");
}
//Added by manoj dtd 09/08/2013 to implement FEFO concept
getDataSql=getDataSql+"AND (MONTHS_BETWEEN(TO_DATE(STOCK.EXP_DATE),SYSDATE) > ? ) ";
if(checkLocation) //added by kunal on 14/NOV/13 DI3ESUN009
{
getDataSql=getDataSql+orderByStkStr;
}
getDataSql=getDataSql+" ORDER BY CASE WHEN STOCK.EXP_DATE IS NULL THEN STOCK.CREA_DATE ELSE STOCK.EXP_DATE END,INVSTAT.ALLOC_PREF, STOCK.LOC_CODE ";
pstmtStock = conn.prepareStatement(getDataSql);
pstmtStock.setString(1,itemCode);
pstmtStock.setString(2,siteCode);
pstmtStock.setDouble(3,minSelfLife);
//added by ritesh 0n 7/8/13 for request DI3ESUN009 START
//added by ritesh 0n 7/8/13 for request DI3ESUN009 START
if("N".equalsIgnoreCase(activeAllow))
{
varValue1 = dComm.getDisparams("999999","ACTIVE_PICK_INVSTAT", conn);
......@@ -1419,8 +1472,8 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
}
}
//added by ritesh 0n 7/8/13 for request DI3ESUN009 START
rs = pstmtStock.executeQuery();
System.out.println("siteCode------"+ siteCode);
System.out.println("itemCode------"+ itemCode);
......@@ -1464,7 +1517,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
String sqls = "";
double shipperSize = 0;
lotQtyToBeAllocated = 0;
//added by ritesh on 07/10/13 for request DI3ESUN009 start
if(!"N".equalsIgnoreCase(activeAllow))
{
......@@ -1485,72 +1538,72 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
rs1 = pstmt.executeQuery();
if(rs1.next())
{
shipperSize = rs1.getDouble(1);
shipperSize = rs1.getDouble(1);
}
pstmt.close();pstmt = null;
rs1.close();rs1 = null;
System.out.print(":: qtyAvailAlloc ::"+qtyAvailAlloc);
System.out.print(":: shipperSize ::"+shipperSize);
if(qtyAvailAlloc >= shipperSize )
{
int div = 0;
if(shipperSize > 0)
{
div = (int) (allocQty / shipperSize);
lotQtyToBeAllocated=div*shipperSize;
if(lotQtyToBeAllocated > qtyAvailAlloc)
{
lotQtyToBeAllocated = 0;
System.out.println("::::::uncommon");
}
}
System.out.println("::lotQtyToBeAllocated::"+lotQtyToBeAllocated);
}
else
if(qtyAvailAlloc >= shipperSize )
{
int div = 0;
if(shipperSize > 0)
{
continue;
div = (int) (allocQty / shipperSize);
lotQtyToBeAllocated=div*shipperSize;
if(lotQtyToBeAllocated > qtyAvailAlloc)
{
lotQtyToBeAllocated = 0;
System.out.println("::::::uncommon");
}
}
System.out.println("::lotQtyToBeAllocated::"+lotQtyToBeAllocated);
}
//added by ritesh on 07/10/13 for request DI3ESUN009 end
invallocTrace.setAllocQty(lotQtyToBeAllocated);
//
allocQty -= lotQtyToBeAllocated ;
System.out.print("AllocQty = " + lotQtyToBeAllocated);
if (lotQtyToBeAllocated > 0)
else
{
invallocTrace.setChgUser(chgUser);
invallocTrace.setChgTerm(chgTerm);
invallocTrace.setChgWin("W_SORDALLOC" );
errString = updateInvallocTrace(invallocTrace, conn);
if (errString != null && errString.trim().length() > 0)
{
System.out.println("manohar connection rolledback errString :::"+ errString );
conn.rollback();
return errString;
}
if (!saleOrderArr.contains(saleOrder))
{
saleOrderArr.add(saleOrderArr.size() , saleOrder);
}
updateSorditem ="UPDATE SORDITEM SET QTY_ALLOC = CASE WHEN QTY_ALLOC IS NULL THEN 0 ELSE QTY_ALLOC END + " + new Double(lotQtyToBeAllocated).toString()
+" WHERE SALE_ORDER = '" + saleOrder + "' "
+" AND LINE_NO = '" + lineNo + "' "
+" AND EXP_LEV = '" + expLev + "' ";
System.out.println("updateSql------->"+updateSorditem);
st = conn.createStatement();
st.executeUpdate(updateSorditem);
System.out.println("UPDATE SUCCESS FOR SORDITEM....>>>>>>>>");
sorditemSql = "SELECT COUNT(1) FROM SORDALLOC "
continue;
}
}
//added by ritesh on 07/10/13 for request DI3ESUN009 end
invallocTrace.setAllocQty(lotQtyToBeAllocated);
//
allocQty -= lotQtyToBeAllocated ;
System.out.print("AllocQty = " + lotQtyToBeAllocated);
if (lotQtyToBeAllocated > 0)
{
invallocTrace.setChgUser(chgUser);
invallocTrace.setChgTerm(chgTerm);
invallocTrace.setChgWin("W_SORDALLOC" );
errString = updateInvallocTrace(invallocTrace, conn);
if (errString != null && errString.trim().length() > 0)
{
System.out.println("manohar connection rolledback errString :::"+ errString );
conn.rollback();
return errString;
}
if (!saleOrderArr.contains(saleOrder))
{
saleOrderArr.add(saleOrderArr.size() , saleOrder);
}
updateSorditem ="UPDATE SORDITEM SET QTY_ALLOC = CASE WHEN QTY_ALLOC IS NULL THEN 0 ELSE QTY_ALLOC END + " + new Double(lotQtyToBeAllocated).toString()
+" WHERE SALE_ORDER = '" + saleOrder + "' "
+" AND LINE_NO = '" + lineNo + "' "
+" AND EXP_LEV = '" + expLev + "' ";
System.out.println("updateSql------->"+updateSorditem);
st = conn.createStatement();
st.executeUpdate(updateSorditem);
System.out.println("UPDATE SUCCESS FOR SORDITEM....>>>>>>>>");
sorditemSql = "SELECT COUNT(1) FROM SORDALLOC "
+ " WHERE SALE_ORDER = '" + saleOrder + "' "
+ " AND LINE_NO = '" + lineNo + "' "
+ " AND EXP_LEV = '" + expLev + "' "
......@@ -1559,142 +1612,142 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
+ " AND LOT_NO = '" + lotNo + "' "
+ " AND LOT_SL = '" + lotSl + "' "
+ " AND LOC_CODE = '" + locCode + "' " ;
rsSItem = st.executeQuery(sorditemSql);
int count = 0 ;
if (rsSItem.next())
{
count = rsSItem.getInt(1);
}
rsSItem.close();
rsSItem=null;
rsSItem = st.executeQuery(sorditemSql);
int count = 0 ;
if (rsSItem.next())
{
count = rsSItem.getInt(1);
}
rsSItem.close();
rsSItem=null;
st.close();
st=null;
if (count > 0 )
{
updateSql = "UPDATE SORDALLOC SET QTY_ALLOC = QTY_ALLOC + " + new Double(lotQtyToBeAllocated).toString()
+ " WHERE SALE_ORDER = '" + saleOrder + " ' "
+ " AND LINE_NO = '" + lineNo + "' "
+ " AND EXP_LEV = '" + expLev + "' "
+ " AND ITEM_CODE__ORD = '" + itemCodeOrd + "' "
+ " AND ITEM_CODE = '" + itemCode + "' "
+ " AND LOT_NO = '" + lotNo + "' "
+ " AND LOT_SL = '" + lotSl + "' "
+ " AND LOC_CODE = '" + locCode + "' " ;
System.out.println("updateSql:::>>>>"+ updateSql);
st = conn.createStatement();
st.executeUpdate(updateSql);
st.close();
st=null;
if (count > 0 )
{
updateSql = "UPDATE SORDALLOC SET QTY_ALLOC = QTY_ALLOC + " + new Double(lotQtyToBeAllocated).toString()
+ " WHERE SALE_ORDER = '" + saleOrder + " ' "
+ " AND LINE_NO = '" + lineNo + "' "
+ " AND EXP_LEV = '" + expLev + "' "
+ " AND ITEM_CODE__ORD = '" + itemCodeOrd + "' "
+ " AND ITEM_CODE = '" + itemCode + "' "
+ " AND LOT_NO = '" + lotNo + "' "
+ " AND LOT_SL = '" + lotSl + "' "
+ " AND LOC_CODE = '" + locCode + "' " ;
System.out.println("updateSql:::>>>>"+ updateSql);
st = conn.createStatement();
st.executeUpdate(updateSql);
st.close();
st=null;
System.out.println("UPDATE SUCCESS FOR SORDALLOC....");
}
else
{
insertSql ="INSERT INTO SORDALLOC (SALE_ORDER,LINE_NO,EXP_LEV,ITEM_CODE__ORD,SITE_CODE ,"
System.out.println("UPDATE SUCCESS FOR SORDALLOC....");
}
else
{
insertSql ="INSERT INTO SORDALLOC (SALE_ORDER,LINE_NO,EXP_LEV,ITEM_CODE__ORD,SITE_CODE ,"
+"ITEM_CODE,QUANTITY ,LOT_NO, LOT_SL, LOC_CODE, UNIT, QTY_ALLOC,"
+"ITEM_REF, DATE_ALLOC, STATUS,ITEM_GRADE, EXP_DATE, ALLOC_MODE, "
+" CONV__QTY_STDUOM, UNIT__STD, QUANTITY__STDUOM, "
+"MFG_DATE, SITE_CODE__MFG ) "
+"VALUES ( ?, ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,"
+" ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) " ;
pstmtStockInsertSordAlloc = conn.prepareStatement(insertSql);
System.out.println("Insert Sql :"+ insertSql );
//SALE_ORDER
pstmtStockInsertSordAlloc.setString(1, saleOrder);
System.out.println("saleOrder------->"+saleOrder);
//LINE_NO
pstmtStockInsertSordAlloc.setString(2, lineNo);
System.out.println("lineNo------->"+lineNo);
//EXP_LEV
pstmtStockInsertSordAlloc.setString(3, expLev);
System.out.println("EXP_LEV------->"+expLev);
//ITEM_CODE__ORD
pstmtStockInsertSordAlloc.setString(4, itemCodeOrd);
System.out.println("itemCode------->"+itemCodeOrd);
//SITE_CODE
pstmtStockInsertSordAlloc.setString(5, siteCode);
System.out.println("siteCode------->"+siteCode);
//ITEM_CODE
pstmtStockInsertSordAlloc.setString(6, itemCode);
System.out.println("itemCode------->"+itemCode);
//QUANTITY***** set pending qty
pstmtStockInsertSordAlloc.setDouble(7, pendingQuantity);
System.out.println("pendingQuantity------->"+pendingQuantity);
//LOT_NO
pstmtStockInsertSordAlloc.setString(8, lotNo);
System.out.println("lotNo------->"+lotNo);
//LOT_SL
pstmtStockInsertSordAlloc.setString(9, lotSl);
System.out.println("lotSl------->"+lotSl);
//LOC_CODE
pstmtStockInsertSordAlloc.setString(10, locCode);
System.out.println("locCode------->"+locCode);
//UNIT
pstmtStockInsertSordAlloc.setString(11, unit);
System.out.println("unit------->"+unit);
//QTY_ALLOC
pstmtStockInsertSordAlloc.setDouble(12, lotQtyToBeAllocated);
System.out.println("lotQtyToBeAllocated------->"+lotQtyToBeAllocated);
//ITEM_REF
pstmtStockInsertSordAlloc.setString(13,itemRef);
System.out.println("itemRef------->"+itemRef);
//DATE_ALLOC
pstmtStockInsertSordAlloc.setDate(14,dateAlloc);
System.out.println("dateAlloc------->"+dateAlloc);
//STATUS
pstmtStockInsertSordAlloc.setString(15,"P");
System.out.println("status------->P");
//ITEM_GRADE
pstmtStockInsertSordAlloc.setString(16,grade);
System.out.println("grade------->"+grade);
//EXP_DATE
pstmtStockInsertSordAlloc.setDate(17,expDate);
System.out.println("expDate------->"+expDate);
//ALLOC_MODE
pstmtStockInsertSordAlloc.setString(18,"M");
//CONV__QTY_STDUOM
pstmtStockInsertSordAlloc.setDouble(19,convQtyStduom);
System.out.println("convQtyStduom------->"+convQtyStduom);
//UNIT__STD
pstmtStockInsertSordAlloc.setString(20,unitStd);
System.out.println("unitStd------->"+unitStd);
quantityStduom = convQtyStduom * lotQtyToBeAllocated ;
//QUANTITY__STDUOM
pstmtStockInsertSordAlloc.setDouble(21,quantityStduom);
System.out.println("quantityStduom------->"+quantityStduom);
//MFG_DATE
pstmtStockInsertSordAlloc.setDate(22,mfgDate);
System.out.println("mfgDate------->"+mfgDate);
//SITE_CODE__MFG
pstmtStockInsertSordAlloc.setString(23,siteCodeMfg);
System.out.println("siteCodeMfg------->"+siteCodeMfg);
//QTY_DESP
intCnt = pstmtStockInsertSordAlloc.executeUpdate();
System.out.println("insertion success ...............>>>>>>>>");
pstmtStockInsertSordAlloc.close();
}//end else
//st.close();
//added by akhilesh to update hold_flag
updateSql = "UPDATE SORDDET SET HOLD_FLAG ='"+holdFlag+"'"
+ " WHERE SALE_ORDER = '" + saleOrder + " ' "
+ " AND LINE_NO = '" + lineNo + "' ";
System.out.println("updateSql::>>>>"+ updateSql);
st = conn.createStatement();
st.executeUpdate(updateSql);
st.close();
st=null;
System.out.println("UPDATE SUCCESS FOR SORDDET....");
//ended by akhilesh
}//end of if(lotQtyToBeAllocated > 0)
}//end of while
pstmtStockInsertSordAlloc = conn.prepareStatement(insertSql);
System.out.println("Insert Sql :"+ insertSql );
//SALE_ORDER
pstmtStockInsertSordAlloc.setString(1, saleOrder);
System.out.println("saleOrder------->"+saleOrder);
//LINE_NO
pstmtStockInsertSordAlloc.setString(2, lineNo);
System.out.println("lineNo------->"+lineNo);
//EXP_LEV
pstmtStockInsertSordAlloc.setString(3, expLev);
System.out.println("EXP_LEV------->"+expLev);
//ITEM_CODE__ORD
pstmtStockInsertSordAlloc.setString(4, itemCodeOrd);
System.out.println("itemCode------->"+itemCodeOrd);
//SITE_CODE
pstmtStockInsertSordAlloc.setString(5, siteCode);
System.out.println("siteCode------->"+siteCode);
//ITEM_CODE
pstmtStockInsertSordAlloc.setString(6, itemCode);
System.out.println("itemCode------->"+itemCode);
//QUANTITY***** set pending qty
pstmtStockInsertSordAlloc.setDouble(7, pendingQuantity);
System.out.println("pendingQuantity------->"+pendingQuantity);
//LOT_NO
pstmtStockInsertSordAlloc.setString(8, lotNo);
System.out.println("lotNo------->"+lotNo);
//LOT_SL
pstmtStockInsertSordAlloc.setString(9, lotSl);
System.out.println("lotSl------->"+lotSl);
//LOC_CODE
pstmtStockInsertSordAlloc.setString(10, locCode);
System.out.println("locCode------->"+locCode);
//UNIT
pstmtStockInsertSordAlloc.setString(11, unit);
System.out.println("unit------->"+unit);
//QTY_ALLOC
pstmtStockInsertSordAlloc.setDouble(12, lotQtyToBeAllocated);
System.out.println("lotQtyToBeAllocated------->"+lotQtyToBeAllocated);
//ITEM_REF
pstmtStockInsertSordAlloc.setString(13,itemRef);
System.out.println("itemRef------->"+itemRef);
//DATE_ALLOC
pstmtStockInsertSordAlloc.setDate(14,dateAlloc);
System.out.println("dateAlloc------->"+dateAlloc);
//STATUS
pstmtStockInsertSordAlloc.setString(15,"P");
System.out.println("status------->P");
//ITEM_GRADE
pstmtStockInsertSordAlloc.setString(16,grade);
System.out.println("grade------->"+grade);
//EXP_DATE
pstmtStockInsertSordAlloc.setDate(17,expDate);
System.out.println("expDate------->"+expDate);
//ALLOC_MODE
pstmtStockInsertSordAlloc.setString(18,"M");
//CONV__QTY_STDUOM
pstmtStockInsertSordAlloc.setDouble(19,convQtyStduom);
System.out.println("convQtyStduom------->"+convQtyStduom);
//UNIT__STD
pstmtStockInsertSordAlloc.setString(20,unitStd);
System.out.println("unitStd------->"+unitStd);
quantityStduom = convQtyStduom * lotQtyToBeAllocated ;
//QUANTITY__STDUOM
pstmtStockInsertSordAlloc.setDouble(21,quantityStduom);
System.out.println("quantityStduom------->"+quantityStduom);
//MFG_DATE
pstmtStockInsertSordAlloc.setDate(22,mfgDate);
System.out.println("mfgDate------->"+mfgDate);
//SITE_CODE__MFG
pstmtStockInsertSordAlloc.setString(23,siteCodeMfg);
System.out.println("siteCodeMfg------->"+siteCodeMfg);
//QTY_DESP
intCnt = pstmtStockInsertSordAlloc.executeUpdate();
System.out.println("insertion success ...............>>>>>>>>");
pstmtStockInsertSordAlloc.close();
}//end else
//st.close();
//added by akhilesh to update hold_flag
updateSql = "UPDATE SORDDET SET HOLD_FLAG ='"+holdFlag+"'"
+ " WHERE SALE_ORDER = '" + saleOrder + " ' "
+ " AND LINE_NO = '" + lineNo + "' ";
System.out.println("updateSql::>>>>"+ updateSql);
st = conn.createStatement();
st.executeUpdate(updateSql);
st.close();
st=null;
System.out.println("UPDATE SUCCESS FOR SORDDET....");
//ended by akhilesh
}//end of if(lotQtyToBeAllocated > 0)
}//end of while
rs.close();
pstmtStock.clearParameters();
pstmtStock.close();
......@@ -1848,8 +1901,8 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
System.out.println("tranId :"+tranId);
sql = "INSERT INTO INVALLOC_TRACE (TRAN_ID, TRAN_DATE, REF_SER, REF_ID,"
+"REF_LINE,ITEM_CODE, SITE_CODE, LOC_CODE,LOT_NO, LOT_SL, ALLOC_QTY, CHG_WIN,"
+"CHG_USER, CHG_TERM, CHG_DATE )VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
+"REF_LINE,ITEM_CODE, SITE_CODE, LOC_CODE,LOT_NO, LOT_SL, ALLOC_QTY, CHG_WIN,"
+"CHG_USER, CHG_TERM, CHG_DATE )VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
......@@ -1892,7 +1945,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
{
sqlUpdate = "UPDATE STOCK SET ALLOC_QTY =(CASE WHEN ALLOC_QTY IS NULL THEN 0 ELSE ALLOC_QTY END) + ? "
+"WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?";
+"WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?";
pstmt = conn.prepareStatement(sqlUpdate);
pstmt.setDouble(1,allocQty);
pstmt.setString(2,itemCode);
......@@ -2140,17 +2193,17 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
ResultSet rs = null;
double itmLen = 0,itmWidth = 0,itmHeight = 0,itemWeight = 0,lotLen = 0 ,lotHeight = 0,lotWidth = 0,lotWeight = 0;
HashMap dataVolumeMap = new HashMap();
try {
sql = "SELECT I.LENGTH ITEM_LEN,I.WIDTH ITEM_WID,I.HEIGHT ITEM_HEIGHT,I.GROSS_WEIGHT ITEM_WEIGHT,"
+" L.LENGTH LITEM_LEN,L.WIDTH LITEM_WID,L.HEIGHT LITEM_HEIGHT,L.SHIPPER_SIZE SHIPSIZE,L.GROSS_WEIGHT LOT_WEIGHT FROM"
+" ITEM I,ITEM_LOT_PACKSIZE L"
+" WHERE I.ITEM_CODE = L.ITEM_CODE"
+" AND L.LOT_NO__FROM <= ? AND L.LOT_NO__TO >= ?"
+" AND I.ITEM_CODE = ?";
+" L.LENGTH LITEM_LEN,L.WIDTH LITEM_WID,L.HEIGHT LITEM_HEIGHT,L.SHIPPER_SIZE SHIPSIZE,L.GROSS_WEIGHT LOT_WEIGHT FROM"
+" ITEM I,ITEM_LOT_PACKSIZE L"
+" WHERE I.ITEM_CODE = L.ITEM_CODE"
+" AND L.LOT_NO__FROM <= ? AND L.LOT_NO__TO >= ?"
+" AND I.ITEM_CODE = ?";
pstmt = con.prepareStatement(sql);
if(lotNo != null && lotNo.length() > 0)
{
......@@ -2164,7 +2217,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
}
pstmt.setString(3, itemCode);
rs = pstmt.executeQuery();
if(rs.next())
{
itmLen = rs.getDouble("ITEM_LEN");
......@@ -2177,34 +2230,34 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
packSize = rs.getDouble("SHIPSIZE");
lotWeight = rs.getDouble("LOT_WEIGHT");
}
//packSize = (lotHeight * lotWidth * lotLen)/(itmLen * itmWidth * itmHeight);
/*itemSize = Math.floor(itmLen * itmWidth * itmHeight);
lotSize = Math.floor((lotHeight * lotWidth * lotLen));*/
itemSize = itmLen * itmWidth * itmHeight;
lotSize = lotHeight * lotWidth * lotLen;
dataVolumeMap.put("PACK_SIZE", packSize);
dataVolumeMap.put("ITEM_SIZE", itemSize);
dataVolumeMap.put("LOT_SIZE", lotSize);
dataVolumeMap.put("ITEM_WEIGHT", itemWeight);
dataVolumeMap.put("PACK_WEIGHT", lotWeight);
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
} catch (Exception e) {
// TODO: handle exception
......@@ -2216,16 +2269,16 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
return dataVolumeMap;
}
......
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