Commit d80f4809 authored by pjain's avatar pjain

changed by sankara on 15/04/14 updated replissconf for wms live


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@94578 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 86e0656a
......@@ -147,7 +147,9 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
//double convQtyStduom = 0;
java.sql.Timestamp dateAlloc = null;
// end 18/09/12 manoharan
double actualAllocQty = 0.0;
boolean isLastCaseUpDFlag = false;
double actualAllocQty = 0.0,lastCaseUpdQty = 0.0;
try
{
......@@ -297,10 +299,18 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
pstmtPick = null;
actualQty = quantity - pickQty;
actualAllocQty = getStockQuantity(itemCode,siteCode,locCode,lotNo,lotSl,0.0,true,conn);
if(actualQty > actualAllocQty)
{
isLastCaseUpDFlag = true;
lastCaseUpdQty = actualQty;
actualQty = 0.0;
}
}
else
{
actualAllocQty = getStockQuantity(itemCode,siteCode,locCode,lotNo,lotSl,0.0,conn);
actualAllocQty = getStockQuantity(itemCode,siteCode,locCode,lotNo,lotSl,0.0,false,conn);
actualQty = quantity - actualAllocQty;
}
//Chnaged by Rohan on 15-02-13 for calculating actual qty from repanishment in case of stock to dock
......@@ -885,10 +895,6 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
pstmtUpd = conn.prepareStatement(updateSql);
pstmtUpd.setString(1, locCodeTo);
pstmtUpd.setString(2, lotSlNew); //added by Kunal on 11/09/12 as per S Manoharan sir intruction
//To Check whether th other saleorder exist with replenishmnet.start
pstmtUpd.setString(3, saleOrder);
pstmtUpd.setString(4, lineNoSord);
//To Check whether th other saleorder exist with replenishmnet.end
pstmtUpd.setString(3, itemCode);
pstmtUpd.setString(4, locCode);
pstmtUpd.setString(5, lotNo);
......@@ -902,6 +908,171 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
pstmtUpd = null;
}
}
else
{
if(isLastCaseUpDFlag)
{
double remainQty = 0.0,spltblQty = 0.0;
String sordUpdNo = "",updLineNo = "";
sql = " SELECT S.SALE_ORDER, S.LINE_NO,S.QTY_ALLOC, S.EXP_LEV, S.ITEM_CODE, S.LOT_NO, S.LOT_SL, S.LOC_CODE, " +
" S.ALLOC_MODE,S.QUANTITY FROM SORDALLOC S " +
" WHERE S.ITEM_CODE = ? AND S.LOT_NO = ? AND S.LOT_SL = ? AND S.LOC_CODE = ? " +
" AND NVL((SELECT COUNT(1) FROM REPL_ORD_DET R WHERE R.SALE_ORDER = S.SALE_ORDER AND R.LINE_NO__SORD = S.LINE_NO ),0) = 0 AND S.QTY_ALLOC >0";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, itemCode);
pstmt1.setString(2, lotNo);
pstmt1.setString(3, lotSl);
pstmt1.setString(4, locCode);
rs1 = pstmt1.executeQuery();
remainQty = lastCaseUpdQty;
while( rs1.next())
{
sordUpdNo = rs1.getString("SALE_ORDER");
updLineNo = rs1.getString("LINE_NO");
spltblQty = rs1.getDouble("QTY_ALLOC");
allocMode = rs1.getString("ALLOC_MODE");
qtyOrd = rs1.getDouble("QUANTITY");
updLineNo = " " + updLineNo;
updLineNo = updLineNo.substring(updLineNo.length()-3);
if(lastCaseUpdQty > 0)
{
if( spltblQty > lastCaseUpdQty)
{
updateSql = "UPDATE SORDALLOC SET QTY_ALLOC = QTY_ALLOC - ?"
+ " WHERE SALE_ORDER = ? AND LINE_NO = ? "
+ " AND EXP_LEV = ? "
+ " AND ITEM_CODE = ? "
+ " AND LOC_CODE = ? "
+ " AND LOT_NO = ? "
+ " AND LOT_SL = ? "
+ " AND QTY_ALLOC > 0";
pstmtUpd = conn.prepareStatement(updateSql);
pstmtUpd.setDouble(1, lastCaseUpdQty);
pstmtUpd.setString(2, sordUpdNo);
pstmtUpd.setString(3, updLineNo);
pstmtUpd.setString(4, expLev);
pstmtUpd.setString(5, itemCode); //pickQty
pstmtUpd.setString(6, locCode);
pstmtUpd.setString(7, lotNo);
pstmtUpd.setString(8, lotSl);
updCnt = pstmtUpd.executeUpdate();
if( updCnt > 0 )
{
System.out.println( " updated successfullt in sordalloc ");
}
else
{
throw new Exception(" Update fail in sordalloc");
}
pstmtUpd.close(); pstmtUpd = null;
updateSql = "insert into sordalloc( SALE_ORDER, LINE_NO, EXP_LEV, ITEM_CODE__ORD, "
+ " ITEM_CODE, LOT_NO, LOT_SL, LOC_CODE, ITEM_REF, QUANTITY, UNIT, "
+ " QTY_ALLOC, DATE_ALLOC, STATUS, ITEM_GRADE, EXP_DATE, ALLOC_MODE, SITE_CODE, "
+ " CONV__QTY_STDUOM, UNIT__STD, QUANTITY__STDUOM, MFG_DATE, SITE_CODE__MFG, "
+ " REAS_CODE, WAVE_FLAG ) VALUES (?, ?, ?, ?, "
+ " ?, ?, ? , ?, ?, ?, ?, "
+ " ?,?, ?, ?, ?, ?, ?, "
+ " ?, ?, ? , ?, ?, ?, ?) ";
pstmtUpd = conn.prepareStatement(updateSql);
pstmtUpd.setString(1, sordUpdNo);
pstmtUpd.setString(2, updLineNo);
pstmtUpd.setString(3, expLev);
pstmtUpd.setString(4, itemCodeOrd);
pstmtUpd.setString(5, itemCode);
pstmtUpd.setString(6, lotNo);
pstmtUpd.setString(7, lotSlNew);
pstmtUpd.setString(8, locCodeTo);
pstmtUpd.setString(9, itemRef);
pstmtUpd.setDouble(10, lastCaseUpdQty);
pstmtUpd.setString(11, unit);
pstmtUpd.setDouble(12, lastCaseUpdQty);
pstmtUpd.setTimestamp(13, dateAlloc);
pstmtUpd.setString(14, status);
pstmtUpd.setString(15, itemGrade);
pstmtUpd.setTimestamp(16, expDate);
pstmtUpd.setString(17, allocMode);
pstmtUpd.setString(18, siteCode);
pstmtUpd.setDouble(19, convQtyStduom );
pstmtUpd.setString(20, unitStd);
pstmtUpd.setDouble(21, lastCaseUpdQty * convQtyStduom);
pstmtUpd.setTimestamp(22, mfgDate );
pstmtUpd.setString(23, siteCodeMfg);
pstmtUpd.setString(24, reasCode);
//changed by sankara on 15/10/13 insert wave_flag
pstmtUpd.setString(25, "N");
updCnt = pstmtUpd.executeUpdate();
if(updCnt > 0 )
{
System.out.println(" insertion done in sordalloc");
lastCaseUpdQty = 0.0;
}
else
{
throw new Exception(" INSERTION FAIL IN SORDALLOC TABLE");
}
pstmtUpd.close(); pstmtUpd = null;
}//if( spltblQty > lastCaseUpdQty)
else
{
updateSql = "UPDATE SORDALLOC SET LOC_CODE = ?,LOT_SL = ?"
+ " WHERE SALE_ORDER = ? AND LINE_NO = ? "
+ " AND EXP_LEV = ? "
+ " AND ITEM_CODE = ? "
+ " AND LOC_CODE = ? "
+ " AND LOT_NO = ? "
+ " AND LOT_SL = ? "
+ " AND QTY_ALLOC > 0";
pstmtUpd = conn.prepareStatement(updateSql);
pstmtUpd.setString(1, locCodeTo);
pstmtUpd.setString(2, lotSlNew);
pstmtUpd.setString(3, sordUpdNo);
pstmtUpd.setString(4, updLineNo);
pstmtUpd.setString(5, expLev);
pstmtUpd.setString(6, itemCode);
pstmtUpd.setString(7, locCode);
pstmtUpd.setString(8, lotNo);
pstmtUpd.setString(9, lotSl);
updCnt = pstmtUpd.executeUpdate();
if( updCnt > 0 )
{
System.out.println( " updated successfullt in sordalloc ");
lastCaseUpdQty = lastCaseUpdQty - spltblQty;
}
else
{
throw new Exception(" Update fail in sordalloc");
}
pstmtUpd.close(); pstmtUpd = null;
}//else
}//if(lastCaseUpdQty > 0)
else
{
System.out.println( " Inside break for no qty avl ");
break;
}
}//while( rs1.next())
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
}
}
// end 18/09/12 manoharan as the lot_sl also changed and allocation may be for case pick as well as active pick
// end 16/10/11 manoharan update sordalloc
......@@ -1745,7 +1916,7 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
return status;
}
//Changed by sumit on 25/03/13 checking whether all repl is confirmed or not end.
public double getStockQuantity(String itemCode,String siteCode,String locCode,String lotNo,String lotSl,double qtyAllocate,Connection conn) throws Exception
public double getStockQuantity(String itemCode,String siteCode,String locCode,String lotNo,String lotSl,double qtyAllocate,boolean isActRepl ,Connection conn) throws Exception
{
PreparedStatement pstmt = null;
......@@ -1816,7 +1987,7 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
System.out.println("sordAllocQty["+sordAllocQty+"]");
finalQty = quantity - (allocQty - sordAllocQty);
System.out.println("finalQty["+finalQty+"]");
if(rs != null)
{
......@@ -1829,6 +2000,12 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
pstmt = null;
}
if(isActRepl)
{
sordAllocQty = quantity - allocQty ;
}
System.out.println("sordAllocQty["+sordAllocQty+"]");
/*sql = "SELECT SUM(D.QUANTITY) AS QUANTITY FROM REPL_ORD_DET D, REPL_ORD_HDR H WHERE D.ITEM_CODE = ? "
+" AND D.SITE_CODE = ? AND D.LOC_CODE = ? AND D.LOT_NO = ? AND D.LOT_SL = ? "
+" AND CASE WHEN CANCEL_MODE IS NULL THEN 'N' ELSE CANCEL_MODE END <> 'Y' "
......
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