Commit da0c67a2 authored by manohar's avatar manohar

SUN changes merged


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@91747 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 8b27c067
......@@ -102,7 +102,11 @@ public class NearExpirySchedule implements Schedule
String insertSql = "";
String defReasCode = "";
//Changed by sumit sarkar
String dStoreInvstat = "";
String dStoreInvstat ="";
String casePickLoc ="";
String activePickLoc = "";
String siteCodeFromDisPa = "";
int count1 = 0;
int count = 0;
int updCnt = 0;
......@@ -146,9 +150,12 @@ public class NearExpirySchedule implements Schedule
//expLoc = distComm.getDisparams("999999","EXP_LOC",conn);
nexpLoc = distComm.getDisparams("999999","NEAR_EXP_LOCK",conn);
expLoc = distComm.getDisparams("999999","EXP_LOCK",conn);
casePickLoc = distComm.getDisparams("999999","CASE_PICK_INVSTAT",conn);
activePickLoc = distComm.getDisparams("999999","ACTIVE_PICK_INVSTAT",conn);
dStoreInvstat = distComm.getDisparams("999999","DEEP_STORE_INVSTAT",conn);
siteCodeFromDisPa = distComm.getDisparams("999999","FOR_LOGIN_SITE",conn);
System.out.println("nexpLoc ->["+nexpLoc+"] expLoc ->["+expLoc+"]");
//Changed by sumit sarkar on 24/06/12 uncomment below code and change var_name in parameter. start.
//Changed by sumit sarkar on 24/06/12 uncomment below code and change var_name in parameter. end.
/*dataVal1 = genericUtility.getColumnValue("lock_code_exp",hdrDom);
dataVal2 = genericUtility.getColumnValue("lock_code_nexp",hdrDom);
......@@ -181,21 +188,31 @@ public class NearExpirySchedule implements Schedule
"AND D.INV_STAT = ? AND A.SITE_CODE = ? AND A.EXP_DATE IS NOT NULL ";*/
//SQL For expiry process
System.out.println(" Calling expiry process *************$$$$$$$$**********************");
selectSql = "SELECT A.ITEM_CODE, A.SITE_CODE, A.LOC_CODE, A.LOT_NO, A.LOT_SL, A.NO_ART, " +
"C.ITEM_SER, A.QUANTITY, A.UNIT, A.GRADE, A.EXP_DATE, A.LTRAN_DATE,"+
"A.REMARKS, D.INV_STAT, A.PACK_CODE, A.ALLOC_QTY, A.MFG_DATE," +
"A.SITE_CODE__MFG, A.POTENCY_PERC, A.RATE, A.GROSS_RATE, A.RETEST_DATE,"+
"A.CONV__QTY_STDUOM, A.UNIT__ALT, A.BATCH_NO, A.ACCT_CODE__INV,A.CCTR_CODE__INV "+
"FROM STOCK A, INVSTAT B, ITEM C, LOCATION D "+
"WHERE A.LOC_CODE = D.LOC_CODE AND D.INV_STAT = B.INV_STAT "+
"AND A.ITEM_CODE = C.ITEM_CODE AND B.AVAILABLE = 'Y' "+
"AND (CASE WHEN B.STAT_TYPE IS NULL THEN ' ' ELSE B.STAT_TYPE END) <> 'S' " +
//"AND (A.QUANTITY - A.ALLOC_QTY - CASE WHEN A.HOLD_QTY IS NULL THEN 0 ELSE A.HOLD_QTY END) > 0 "+ //Commented by gulzar on 1/12/2012
"AND (CASE WHEN A.QUANTITY IS NULL THEN 0 ELSE A.QUANTITY END) > 0 "+//Changed by gulzar on 1/12/2012
//Changed by sumit sarkar on 24/06/12 putting condition of dStoreInvstat (DSO)
//"AND D.INV_STAT = ? AND A.EXP_DATE IS NOT NULL "+
"AND D.INV_STAT IN (?, ?) AND A.EXP_DATE IS NOT NULL "+
" AND nvl(CHECK_PHYSCAN_VALUE(A.ITEM_CODE, A.SITE_CODE, A.LOC_CODE, A.LOT_NO, A.LOT_SL, ? , ?),0) <> 1";
"C.ITEM_SER, A.QUANTITY, A.UNIT, A.GRADE, A.EXP_DATE, A.LTRAN_DATE,"+
"A.REMARKS, D.INV_STAT, A.PACK_CODE, A.ALLOC_QTY, A.MFG_DATE," +
"A.SITE_CODE__MFG, A.POTENCY_PERC, A.RATE, A.GROSS_RATE, A.RETEST_DATE,"+
"A.CONV__QTY_STDUOM, A.UNIT__ALT, A.BATCH_NO, A.ACCT_CODE__INV,A.CCTR_CODE__INV "+
"FROM STOCK A, INVSTAT B, ITEM C, LOCATION D "+
"WHERE A.LOC_CODE = D.LOC_CODE AND D.INV_STAT = B.INV_STAT "+
"AND A.ITEM_CODE = C.ITEM_CODE AND B.AVAILABLE = 'Y' "+
"AND (CASE WHEN B.STAT_TYPE IS NULL THEN ' ' ELSE B.STAT_TYPE END) <> 'S' " +
//"AND (A.QUANTITY - A.ALLOC_QTY - CASE WHEN A.HOLD_QTY IS NULL THEN 0 ELSE A.HOLD_QTY END) > 0 "+ //Commented by gulzar on 1/12/2012
"AND (CASE WHEN A.QUANTITY IS NULL THEN 0 ELSE A.QUANTITY END) > 0 "+//Changed by gulzar on 1/12/2012
//Changed by sumit sarkar on 24/06/12 putting condition of dStoreInvstat (DSO, pso, active pick, case pick)
//"AND D.INV_STAT = ? AND A.EXP_DATE IS NOT NULL "+
"AND D.INV_STAT IN (?,?,?,?) AND A.EXP_DATE IS NOT NULL "+
//Changed by sumit sarkar on 03/07/12
" AND nvl(CHECK_PHYSCAN_VALUE(A.ITEM_CODE, A.SITE_CODE, A.LOC_CODE, A.LOT_NO, A.LOT_SL, ? , ?),0) <> 1 " +
" AND A.EXP_DATE <= SYSDATE ";
if( "YES".equalsIgnoreCase(siteCodeFromDisPa))
{
//taking site as a login site code
selectSql = selectSql + " AND A.SITE_CODE = '"+siteCode+"'";
}
System.out.println(" selectSql ["+selectSql+"]");
//Changed by sumit sarkar on 21/06/12 insert CHECK_PHYSCAN_VALUE function in sql end.
......@@ -204,8 +221,10 @@ public class NearExpirySchedule implements Schedule
//Changed by sumit sarkar on 22/06/12 to comment bellow parameter and add nexpLoc, expLoc parameter start.
//pstmtStock.setString(2, siteCode);
pstmtStock.setString(2, dStoreInvstat);
pstmtStock.setString(3, expLoc);
pstmtStock.setString(4, nexpLoc);
pstmtStock.setString(3, casePickLoc);
pstmtStock.setString(4, activePickLoc);
pstmtStock.setString(5, expLoc);
pstmtStock.setString(6, nexpLoc);
//Changed by sumit sarkar on 22/06/12 to comment bellow parameter and add nexpLoc, expLoc parameter end.
rsStock = pstmtStock.executeQuery();
......@@ -234,7 +253,7 @@ public class NearExpirySchedule implements Schedule
acctCodeInv = rsStock.getString("ACCT_CODE__INV");
cctrCodeInv = rsStock.getString("CCTR_CODE__INV");
if ( currDate.compareTo(expDateStock) >= 0 )//Check for Expired stock
/*if ( currDate.compareTo(expDateStock) >= 0 )//Check for Expired stock
{
count++;
dataMap.put( "item_code", itemCode );
......@@ -264,6 +283,7 @@ public class NearExpirySchedule implements Schedule
continue;
}
expDateCalc = distComm.CalcExpiry( currDate, minSelfLife );
if ( expDateCalc.compareTo(expDateStock) >= 0 )
{
count++;
......@@ -279,25 +299,134 @@ public class NearExpirySchedule implements Schedule
dataMap.put( "acct_code__inv", acctCodeInv );
dataMap.put( "cctr_code__inv", cctrCodeInv );
stockNexpList.add(dataMap);
System.out.println("**********************"+stockNexpList);
}
}
}*/
count++;
dataMap.put( "item_code", itemCode );
dataMap.put( "site_code", siteCode );
dataMap.put( "loc_code", locCode );
dataMap.put( "lot_no", lotNo );
dataMap.put( "lot_sl", lotSl );
dataMap.put( "loc_code__to", dataVal1 );//expired location to which stock will be transfer
dataMap.put( "quantity", ""+quantity );
dataMap.put( "alloc_qty", ""+allocQty );
dataMap.put( "no_art", ""+noArt );
dataMap.put( "acct_code__inv", acctCodeInv );
dataMap.put( "cctr_code__inv", cctrCodeInv );
stockExpList.add(dataMap);
System.out.println("stockExpList**********************"+stockExpList);
//Changed by sumit sarkar
}
if ( rsStock != null)
{
rsStock.close();
rsStock = null;
}
if ( pstmtStock != null )
{
pstmtStock.close();
pstmtStock = null;
}
//Changed by sumit sarkar on 03/06/12 SQL For near expiry process start.
System.out.println(" Calling near expiry *******************************");
selectSql = "";
selectSql = "SELECT A.ITEM_CODE, A.SITE_CODE, A.LOC_CODE, A.LOT_NO, A.LOT_SL, A.NO_ART, " +
"C.ITEM_SER, A.QUANTITY, A.UNIT, A.GRADE, A.EXP_DATE, A.LTRAN_DATE,"+
"A.REMARKS, D.INV_STAT, A.PACK_CODE, A.ALLOC_QTY, A.MFG_DATE," +
"A.SITE_CODE__MFG, A.POTENCY_PERC, A.RATE, A.GROSS_RATE, A.RETEST_DATE,"+
"A.CONV__QTY_STDUOM, A.UNIT__ALT, A.BATCH_NO, A.ACCT_CODE__INV,A.CCTR_CODE__INV "+
"FROM STOCK A, INVSTAT B, ITEM C, LOCATION D "+
"WHERE A.LOC_CODE = D.LOC_CODE AND D.INV_STAT = B.INV_STAT "+
"AND A.ITEM_CODE = C.ITEM_CODE AND B.AVAILABLE = 'Y' "+
"AND (CASE WHEN B.STAT_TYPE IS NULL THEN ' ' ELSE B.STAT_TYPE END) <> 'S' " +
//"AND (A.QUANTITY - A.ALLOC_QTY - CASE WHEN A.HOLD_QTY IS NULL THEN 0 ELSE A.HOLD_QTY END) > 0 "+ //Commented by gulzar on 1/12/2012
"AND (CASE WHEN A.QUANTITY IS NULL THEN 0 ELSE A.QUANTITY END) > 0 "+//Changed by gulzar on 1/12/2012
//Changed by sumit sarkar on 24/06/12 putting condition of dStoreInvstat (DSO, pso, active pick, case pick)
//"AND D.INV_STAT = ? AND A.EXP_DATE IS NOT NULL "+
"AND D.INV_STAT IN (?,?,?,?) AND A.EXP_DATE IS NOT NULL AND A.EXP_DATE > SYSDATE"+
//Changed by sumit sarkar on 03/07/12 start
" AND nvl(CHECK_PHYSCAN_VALUE(A.ITEM_CODE, A.SITE_CODE, A.LOC_CODE, A.LOT_NO, A.LOT_SL, ? , ?),0) <> 1 " +
" AND A.EXP_DATE <= ADD_MONTHS(SYSDATE,C.MIN_SHELF_LIFE) ";
if( "YES".equalsIgnoreCase(siteCodeFromDisPa))
{
//taking site as a login site code
selectSql = selectSql + " AND A.SITE_CODE = '"+siteCode+"'";
}
// otherwise for all site code.
System.out.println(" selectSql ["+selectSql+"]");
pstmtStock = conn.prepareStatement(selectSql);
pstmtStock.setString(1, reservLoc);
pstmtStock.setString(2, dStoreInvstat);
pstmtStock.setString(3, casePickLoc);
pstmtStock.setString(4, activePickLoc);
pstmtStock.setString(5, expLoc);
pstmtStock.setString(6, nexpLoc);
rsStock = pstmtStock.executeQuery();
while (rsStock.next())
{
HashMap dataMap = new HashMap();
itemCode = rsStock.getString("ITEM_CODE");
siteCode = rsStock.getString("SITE_CODE");
locCode = rsStock.getString("LOC_CODE");
lotNo = rsStock.getString("LOT_NO");
lotSl = rsStock.getString("LOT_SL");
expDateStock = rsStock.getTimestamp("EXP_DATE");
quantity = rsStock.getDouble("QUANTITY");
allocQty = rsStock.getDouble("ALLOC_QTY");
noArt = rsStock.getDouble("NO_ART");
acctCodeInv = rsStock.getString("ACCT_CODE__INV");
cctrCodeInv = rsStock.getString("CCTR_CODE__INV");
count1++;
dataMap.put( "item_code", itemCode );
dataMap.put( "site_code", siteCode );
dataMap.put( "loc_code", locCode );
dataMap.put( "lot_no", lotNo );
dataMap.put( "lot_sl", lotSl );
dataMap.put( "loc_code__to", dataVal2 );//near expiry location to which stock will be transfer
dataMap.put( "quantity", ""+quantity );
dataMap.put( "alloc_qty", ""+allocQty );
dataMap.put( "no_art", ""+noArt );
dataMap.put( "acct_code__inv", acctCodeInv );
dataMap.put( "cctr_code__inv", cctrCodeInv );
stockNexpList.add(dataMap);
System.out.println("stockNexpList **********************"+stockNexpList);
}
if ( rsStock != null)
{
rsStock.close();
rsStock = null;
}
if ( pstmtStock != null )
{
pstmtStock.close();
pstmtStock = null;
}
System.out.println("count = ["+count+"]");
if ( !isError && count > 0 )
if ( !isError )
{
//siteCode = genericUtility.getColumnValue("site_code",hdrDom);
if ( "L".equalsIgnoreCase(lockORTransfer.trim()) ) //For Locking
{
//calling for Expiry lock
if ( stockExpList.size() > 0 )
if ( stockExpList.size() > 0 && count > 0)
{
retString = holdGen.generateHoldTrans( dataVal1, "EXPIRED","EXP", siteCode, stockExpList, "", conn );
System.out.println("Calling EXPIRED-------------------->");
//Changed by Rohan on 3/7/12
//retString = holdGen.generateHoldTrans( dataVal1, "EXPIRED","EXP", siteCode, stockExpList, "", conn );
retString = holdGen.generateHoldTrans( dataVal2, "EXPIRED","EXP", siteCode, stockExpList, "", conn );
}
if ( retString != null && retString.trim().length() > 0 && retString.trim().equalsIgnoreCase("ERROR") )
{
isError = true;
}
else
/*else
{
//calling for Near Expiry lock
if ( stockNexpList.size() > 0 )
......@@ -308,11 +437,25 @@ public class NearExpirySchedule implements Schedule
{
isError = true;
}
}*/
System.out.println("in count1 > 0 if loop");
System.out.println("stockNexpList.size() ["+stockNexpList.size()+"] and count1 -> ["+count1+"]");
if ( stockNexpList.size() > 0 && count1 > 0 )
{
System.out.println("going to insert in inv_hold for NEAREXPIRY----> ");
//Changed by Rohan on 3/7/12
//retString = holdGen.generateHoldTrans( dataVal2, "NEAREXPIRY","NEXP", siteCode, stockNexpList, "", conn );
retString = holdGen.generateHoldTrans( dataVal1, "NEAREXPIRY","NEXP", siteCode, stockNexpList, "", conn );
}
if ( retString != null && retString.trim().length() > 0 && retString.trim().equalsIgnoreCase("ERROR") )
{
isError = true;
}
}
else if ( "T".equalsIgnoreCase(lockORTransfer.trim()) ) //For Transfer
{
if ( stockExpList.size() > 0 )
if ( stockExpList.size() > 0 && count > 0 )
{
retString = inventoryTransfer( stockExpList, "w_stock_transfer", "", conn );
}
......@@ -321,7 +464,7 @@ public class NearExpirySchedule implements Schedule
isError = true;
return retString;
}
if ( stockNexpList.size() > 0 )
if ( stockNexpList.size() > 0 && count1 > 0)
{
retString = inventoryTransfer( stockNexpList, "w_stock_transfer", "", conn );
}
......
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