Commit a0470ddb authored by ssalve's avatar ssalve

changes made for Replenishment issue confirmation


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@43871 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 4c7feb4b
......@@ -130,7 +130,8 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
double shipperSize = 0,itemGrossWeight = 0, caseGrossWeight = 0, itemNetWeight = 0, caseNetWeight = 0;
int updCnt = 0, lineNo = 0 , lineNoPick = 0 ;
// added by sarita 22.05.2017
int updCnt1 = 0;
HashMap updateRowMap = null;
HashMap strAllocate = null;
HashMap itmVolumeMap = null;
......@@ -142,9 +143,13 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
PreparedStatement pstmt = null;
PreparedStatement pstmtStock = null;
PreparedStatement pstmtUpd = null, pstmt1 = null,pstmtPick = null;
// Added by sarita 22.05.2017
PreparedStatement pstmt3=null;
PreparedStatement pstmtReplUpd = null;
ResultSet rsStock = null,rsPick = null;
ResultSet rs = null, rs1 = null;
// Added by sarita 22.05.2017
ResultSet rs3=null;
boolean isError = false;
E12GenericUtility genericUtility = new E12GenericUtility();
......@@ -167,6 +172,8 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
double holdQuantity =0.0;
//Changed by Dhanraj 22/JUL/14 to get actual rate and set in map for update.
double actualRate =0.0;
// Added by sarita 22.05.2017
int cnt = 0;
try
{
......@@ -1166,19 +1173,33 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
//changed by manish on 18/09/15 for Ms sql server database [start]
if("mssql".equalsIgnoreCase(DB))
{
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, " +
//Commented and Changes by Santosh on 18/05/2017 [Start]
/*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 CASE WHEN WAVE_FLAG IS NULL THEN 'N' ELSE WAVE_FLAG END <> 'Y' " +
" AND isnull((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 ORDER BY QTY_ALLOC ";
" AND S.QTY_ALLOC >0 ORDER BY QTY_ALLOC ";*/
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 CASE WHEN WAVE_FLAG IS NULL THEN 'N' ELSE WAVE_FLAG END <> 'Y' " +
" AND isnull((SELECT COUNT(1) FROM REPL_ORD_DET R WHERE R.SALE_ORDER = S.SALE_ORDER AND R.LINE_NO__SORD = S.LINE_NO AND CASE WHEN CANCEL_MODE IS NULL THEN 'N' ELSE CANCEL_MODE END <> 'Y'),0) = 0 " +
" AND S.QTY_ALLOC >0 ORDER BY QTY_ALLOC ";
//Commented and Changes by Santosh on 18/05/2017 [End]
}
else
{
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, " +
//Commented and Changes by Santosh on 18/05/2017 [Start]
/*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 CASE WHEN WAVE_FLAG IS NULL THEN 'N' ELSE WAVE_FLAG END <> 'Y' " +
" 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 ORDER BY QTY_ALLOC ";*/
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 CASE WHEN WAVE_FLAG IS NULL THEN 'N' ELSE WAVE_FLAG END <> 'Y' " +
" 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 AND CASE WHEN CANCEL_MODE IS NULL THEN 'N' ELSE CANCEL_MODE END <> 'Y'),0) = 0 " +
" AND S.QTY_ALLOC >0 ORDER BY QTY_ALLOC ";
//Commented and Changes by Santosh on 18/05/2017 [End]
}
//changed by manish on 18/09/15 for Ms sql server database[end]
......@@ -1200,134 +1221,307 @@ public class ReplIssConf extends ActionHandlerEJB implements ReplIssConfRemote,
updLineNo = " " + updLineNo;
updLineNo = updLineNo.substring(updLineNo.length()-3);
if(lastCaseUpdQty > 0)
if(lastCaseUpdQty > 0)
{
if( spltblQty > lastCaseUpdQty)
{
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 )
{
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
{
//Changed by Pragyan on 27/06/14 to check isError true
isError = true;
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( " updated successfull in sordalloc ");
}
else
{
//Changed by Pragyan on 27/06/14 to check isError true
isError = true;
throw new Exception(" Update fail in sordalloc");
}
if(pstmtUpd != null)
{
pstmtUpd.close();
pstmtUpd = null;
}
// changed by sarita on 19/05/2017
sql = "select count(*) as cnt from SORDALLOC where SALE_ORDER=? " +
"AND LINE_NO=? " +
"AND EXP_LEV=? " +
"AND ITEM_CODE__ORD=? " +
"AND ITEM_CODE=? " +
"AND LOT_NO=? " +
"AND LOT_SL=? " +
"AND LOC_CODE=?";
pstmtUpd = conn.prepareStatement(sql);
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);
rs1 = pstmtUpd.executeQuery();
if(rs1.next())
{
cnt = rs.getInt("cnt");
}
if(pstmtUpd != null)
{
pstmtUpd.close();
pstmtUpd = null;
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(cnt > 0)
{
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
{
//Changed by Pragyan on 27/06/14 to check isError true
isError = true;
throw new Exception(" INSERTION FAIL IN SORDALLOC TABLE");
lastCaseUpdQty = 0.0;
}
else
{
//Changed by Pragyan on 27/06/14 to check isError true
isError = true;
throw new Exception(" INSERTION FAIL IN SORDALLOC TABLE");
}
if(pstmtUpd != null)
{
pstmtUpd.close();
pstmtUpd = null;
}
}
pstmtUpd.close(); pstmtUpd = null;
}//if( spltblQty > lastCaseUpdQty)
else
{
updateSql = "UPDATE SORDALLOC SET LOC_CODE = ?,LOT_SL = ?"
+ " WHERE SALE_ORDER = ? AND LINE_NO = ? "
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 successfull in sordalloc ");
lastCaseUpdQty = lastCaseUpdQty - spltblQty;
}
else
{
//Changed by Pragyan on 27/06/14 to check isError true
isError = true;
throw new Exception(" Update fail in sordalloc");
}
if(pstmtUpd != null)
{
pstmtUpd.close();
pstmtUpd = null;
}
}
}
else
{
System.out.println("===MANISH111111111=========");
sql = "SELECT COUNT(*) AS CNT FROM SORDALLOC 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 )
+ " AND LOT_SL = ? ";
pstmt3 = conn.prepareStatement(sql);
pstmt3.setString(1, sordUpdNo);
pstmt3.setString(2, updLineNo);
pstmt3.setString(3, expLev);
pstmt3.setString(4, itemCode);
pstmt3.setString(5, locCodeTo);
pstmt3.setString(6, lotNo);
pstmt3.setString(7, lotSlNew);
rs3 = pstmt3.executeQuery();
if(rs3.next())
{
System.out.println( " updated successfullt in sordalloc ");
lastCaseUpdQty = lastCaseUpdQty - spltblQty;
cnt = rs3.getInt("CNT");
}
if(cnt>0)
{
System.out.println( "==== count in sordalloc for new location ===");
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 = ? ";
pstmtUpd = conn.prepareStatement(updateSql);
pstmtUpd.setDouble(1, spltblQty);
pstmtUpd.setString(2, sordUpdNo);
pstmtUpd.setString(3, updLineNo);
pstmtUpd.setString(4, expLev);
pstmtUpd.setString(5, itemCode);
pstmtUpd.setString(6, locCode);
pstmtUpd.setString(7, lotNo);
pstmtUpd.setString(8, lotSl);
updCnt = pstmtUpd.executeUpdate();
if(pstmtUpd != null)
{
pstmtUpd.close();
pstmtUpd = null;
}
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, spltblQty);
pstmtUpd.setString(2, sordUpdNo);
pstmtUpd.setString(3, updLineNo);
pstmtUpd.setString(4, expLev);
pstmtUpd.setString(5, itemCode);
pstmtUpd.setString(6, locCodeTo);
pstmtUpd.setString(7, lotNo);
pstmtUpd.setString(8, lotSlNew);
updCnt1 = pstmtUpd.executeUpdate();
if( updCnt1 > 0 )
{
System.out.println( " updated successfull in sordalloc ");
}
else
{
isError = true;
throw new Exception(" Update fail in sordalloc");
}
if(pstmtUpd != null)
{
pstmtUpd.close();
pstmtUpd = null;
}
}
else
{
//Changed by Pragyan on 27/06/14 to check isError true
isError = true;
throw new Exception(" Update fail in sordalloc");
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 successfull in sordalloc ");
lastCaseUpdQty = lastCaseUpdQty - spltblQty;
}
else
{
//Changed by Pragyan on 27/06/14 to check isError true
isError = true;
throw new Exception(" Update fail in sordalloc");
}
if(pstmtUpd != null)
{
pstmtUpd.close();
pstmtUpd = null;
}
}
pstmtUpd.close(); pstmtUpd = null;
}//else
}//else
}//if(lastCaseUpdQty > 0)
else
{
......
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