Commit 3d528031 authored by rbhogale's avatar rbhogale

Changed by Rohan on 23-10-12 for change in wave cancle source


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@92037 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 5f0974ba
/** /**
* PURPOSE : To cancle wave task. s* PURPOSE : To cancle wave task.
* AUTHOR : Changed by Rohan * AUTHOR : Changed by Rohan
*/ */
package ibase.webitm.ejb.wms; package ibase.webitm.ejb.wms;
import ibase.utility.EMail; import ibase.system.config.AppConnectParm;
import ibase.utility.CommonConstants; import ibase.system.config.ConnDriver;
import ibase.webitm.utility.*; import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.*; import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.dis.DistCommon; import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.dis.DistStkUpdLocal; import ibase.webitm.ejb.dis.DistStkUpdLocal;
import ibase.system.config.*; import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
import java.io.*;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import java.sql.*; import java.sql.Connection;
import java.util.*; import java.sql.PreparedStatement;
import java.text.*; import java.sql.ResultSet;
import javax.ejb.*; import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import javax.ejb.Stateless;
import javax.naming.InitialContext; import javax.naming.InitialContext;
import javax.ejb.Stateless;
import org.w3c.dom.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.StreamSource;
import javax.xml.parsers.*;
@Stateless @Stateless
public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLocal, WaveCancelEJBRemote public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLocal, WaveCancelEJBRemote
{ {
/** /**
* The public method is used for confirming the service complaint transaction * The public method is used for confirming the service complaint transaction
* Returns confirmation message on successfull confirm otherwise returns error message * Returns confirmation message on successfull confirm otherwise returns error message
...@@ -66,6 +64,7 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca ...@@ -66,6 +64,7 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca
//Changed by Rohan on 21-09-12 for wave generation reversal.start //Changed by Rohan on 21-09-12 for wave generation reversal.start
String refId = ""; String refId = "";
String refSer = "";
String pickDet = ""; String pickDet = "";
String itemCode = ""; String itemCode = "";
String lineNo = ""; String lineNo = "";
...@@ -110,9 +109,9 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca ...@@ -110,9 +109,9 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca
ResultSet rsWave = null; ResultSet rsWave = null;
String status = ""; String status = "";
PreparedStatement pstmtRepl = null; //PreparedStatement pstmtRepl = null;
ResultSet rsRepl = null; //ResultSet rsRepl = null;
String sqlReplOrd = ""; //String sqlReplOrd = "";
String replOrder = ""; String replOrder = "";
String replLineNo = ""; String replLineNo = "";
String waveCancel = ""; String waveCancel = "";
...@@ -123,16 +122,58 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca ...@@ -123,16 +122,58 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca
String locCodeTo = ""; String locCodeTo = "";
String locCode1 = ""; String locCode1 = "";
String dockLoc = ""; String dockLoc = "";
String sqlreplDet = ""; //String sqlreplDet = "";
//Changed by Rohan on 21-09-12 for wave generation reversal.end //Changed by Rohan on 21-09-12 for wave generation reversal.end
//Changed by Rohan 10-04-12 to define variables.start //Changed by Rohan 10-04-12 to define variables.start
String invState = ""; String invState = "";
String pickOrd = ""; String pickOrd = "";
String lineNoPick = ""; String lineNoPick = "";
String stagingLocMpick = "";
//Changed by Rohan on 10-04-12 to define variables.end //Changed by Rohan on 10-04-12 to define variables.end
//Changed by Rohan on 05-10-12 to define variable.start
String confirm = "";
String transferStatus = "";
String stagingLoc = "";
String replPickOrder = "";
String replPickLineNo = "";
String locCodeRepl = "";
String confirmRepl = "";
String lotSlNew = "";
String waveId = "";
String ptcn = "";
String sqlDesp = "";
String replDet = "";
String dsoInvstat = "";
int cnt = 0;
int updateRecord = 0;
String sqlInv = "";
String replOrderDso = "";
String replLineNoDso = "";
String replOrderAct = "";
String replPickLineNoAct = "";
String pickOrdRepl = "";
String lineNoRepl = "";
String sqlWave = "";
String refSeries = "";
PreparedStatement pstmtTask = null;
ResultSet rsTask = null;
PreparedStatement pstmtInv = null;
ResultSet rsInv = null;
PreparedStatement pstmtDesp = null;
PreparedStatement pstmtReplDet = null;
PreparedStatement pstmtPickIss = null;
ResultSet rsPickIss = null;
ResultSet rsDesp = null;
boolean isDespatch = true;
//Changed by Rohan on 10-05-12 to define variable.end
boolean isError = false; boolean isError = false;
boolean scanStart = false;
int updCnt = 0; int updCnt = 0;
PreparedStatement pstmtUpd = null; PreparedStatement pstmtUpd = null;
PreparedStatement pstmtSql = null; PreparedStatement pstmtSql = null;
...@@ -153,8 +194,14 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca ...@@ -153,8 +194,14 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca
connStatus = true; connStatus = true;
} }
dockLoc = discommon.getDisparams("999999","DOCKLOC_INVSTAT",conn); dockLoc = discommon.getDisparams("999999","DOCKLOC_INVSTAT",conn);
//Changed by Rohan on 10-05-12 to get disparm variable
stagingLoc = discommon.getDisparams( "999999", "STAGING_LOC", conn );
stagingLocMpick = discommon.getDisparams( "999999", "STAGING_LOC_MPK", conn );
dsoInvstat = discommon.getDisparams( "999999", "DEEP_STORE_INVSTAT", conn );
System.out.println("dockLoc----->"+dockLoc); System.out.println("dockLoc----->"+dockLoc);
GenericUtility genericUtility = GenericUtility.getInstance(); GenericUtility genericUtility = GenericUtility.getInstance();
...@@ -164,32 +211,13 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca ...@@ -164,32 +211,13 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca
//Changed by Rohan on 21-09-12 for wave generation reversal.start //Changed by Rohan on 21-09-12 for wave generation reversal.start
siteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginSiteCode"); siteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginSiteCode");
tranDate = new java.sql.Date(System.currentTimeMillis()); tranDate = new java.sql.Date(System.currentTimeMillis());
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
//sql = "SELECT H.CANCEL,D.STATUS FROM WAVE_TASK H,WAVE_TASK_DET D"
// + " WHERE D.WAVE_ID = ? AND H.WAVE_ID = D.WAVE_ID ";
sql = "SELECT CANCEL FROM WAVE_TASK " sql = "SELECT CANCEL FROM WAVE_TASK "
+ " WHERE WAVE_ID = ? "; + " WHERE WAVE_ID = ? ";
pstmtSql = conn.prepareStatement(sql); pstmtSql = conn.prepareStatement(sql);
pstmtSql.setString(1, waveID); pstmtSql.setString(1, waveID);
rs = pstmtSql.executeQuery(); rs = pstmtSql.executeQuery();
/*
while( rs.next() )
{
status = checkNull( rs.getString("STATUS") );
waveCancel = checkNull( rs.getString("CANCEL") );
if(waveCancel.equalsIgnoreCase("Y"))
{
retString = itmDBAccess.getErrorString("","WAVECANCEL","");
break;
}
if(status.equalsIgnoreCase("Y"))
{
scanStart = true;
break;
}
}
*/
if( rs.next() ) if( rs.next() )
{ {
...@@ -207,420 +235,468 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca ...@@ -207,420 +235,468 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca
pstmtSql.close(); pstmtSql.close();
pstmtSql = null; pstmtSql = null;
System.out.println("Stattuuuu"+status);
if(!scanStart) sqlDesp = "SELECT COUNT(*) AS COUNT FROM DESPATCHDET WHERE DESP_ID IN(SELECT REF_ID FROM WAVE_TASK_DET WHERE WAVE_ID = ? AND REF_SER = ?)";
{
sql = "SELECT REF_ID FROM WAVE_TASK_DET WHERE WAVE_ID = ?"; sql = "SELECT REF_SER,REF_ID,PTCN,WAVE_ID FROM WAVE_TASK_DET WHERE WAVE_ID = ?";
pstmtWave = conn.prepareStatement(sql); pstmtWave = conn.prepareStatement(sql);
pstmtWave.setString(1, waveID); pstmtWave.setString(1, waveID);
rsWave = pstmtWave.executeQuery();
while( rsWave.next() ) rsWave = pstmtWave.executeQuery();
while( rsWave.next() )
{
//if despachdet generate then not allow to cancle wave.start
waveId = checkNull(rsWave.getString("WAVE_ID"));
if(isDespatch)
{
pstmtDesp = conn.prepareStatement(sqlDesp);
pstmtDesp.setString(1,waveId);
pstmtDesp.setString(2,"S-DSP");
rsDesp = pstmtDesp.executeQuery();
if(rsDesp.next())
{
cnt = rsDesp.getInt("COUNT");
}
if(cnt > 0)
{
retString = itmDBAccess.getErrorString("","NTWAVECAN","");
return retString;
}
else
{
isDespatch = false;
}
if(pstmtDesp != null)
{
pstmtDesp.close();
pstmtDesp = null;
}
if(rsDesp != null)
{
rsDesp.close();
rsDesp = null;
}
}
//if despachdet generate then not allow to cancle wave.start
refSer = checkNull( rsWave.getString("REF_SER".trim()));
refId = checkNull( rsWave.getString("REF_ID") );
System.out.println("Curren refser====>"+refSer+"REF_ID"+refId);
if(refSer.equalsIgnoreCase("C-PICK") || refSer.equalsIgnoreCase("M-PICK") || refSer.equalsIgnoreCase("A-PICK") || refSer.trim().equalsIgnoreCase("S-DOC") || refSer.equalsIgnoreCase("RP-PND") || refSer.equalsIgnoreCase("RP-PSO"))
{ {
refId = checkNull( rsWave.getString("REF_ID") ); if(refSer.trim().equalsIgnoreCase("S-DOC") || refSer.equalsIgnoreCase("RP-PND") || refSer.equalsIgnoreCase("RP-PSO"))
System.out.println("REFID===&&&&&&&&&&&&==>"+refId);
if(refId.startsWith("PT"))
{ {
//if(locCode.equalsIgnoreCase("")) //for stock to dock
//{ replDet ="SELECT ITEM_CODE,LINE_NO,LOC_CODE,LOT_NO,LOT_SL,QUANTITY,"
+" EXP_LEV,SALE_ORDER,LINE_NO__SORD,LOC_CODE__TO,REPL_ORDER,LINE_NO "
+" FROM REPL_ORD_DET WHERE REPL_ORDER = ?";
pstmtSql = conn.prepareStatement(replDet);
}
else
{
//for active,master,case picking
pickDet ="SELECT ITEM_CODE,LINE_NO,LOC_CODE,LOT_NO,LOT_SL,QUANTITY," + pickDet ="SELECT ITEM_CODE,LINE_NO,LOC_CODE,LOT_NO,LOT_SL,QUANTITY," +
"EXP_LEV,SALE_ORDER,LINE_NO__SORD,REPL_ORDER,LINE_NO__REPL,PICK_ORDER,LINE_NO FROM PICK_ORD_DET WHERE PICK_ORDER = ? "; "EXP_LEV,SALE_ORDER,LINE_NO__SORD,REPL_ORDER,LINE_NO__REPL,PICK_ORDER,LINE_NO FROM PICK_ORD_DET WHERE PICK_ORDER = ? ";
pstmtSql = conn.prepareStatement(pickDet); pstmtSql = conn.prepareStatement(pickDet);
pstmtSql.setString(1, refId); }
rsPick = pstmtSql.executeQuery();
while( rsPick.next() ) pstmtSql.setString(1, refId);
{ rsPick = pstmtSql.executeQuery();
while( rsPick.next() )
itemCode = checkNull( rsPick.getString("ITEM_CODE") ); {
lineNo = checkNull( rsPick.getString("LINE_NO") );
locCode = checkNull( rsPick.getString("LOC_CODE") ); boolean isPickConf = true;
replPickOrder = "";
replPickLineNo = "";
itemCode = checkNull( rsPick.getString("ITEM_CODE") );
lineNo = checkNull( rsPick.getString("LINE_NO") );
locCode = checkNull( rsPick.getString("LOC_CODE") );
lotNo = checkNull( rsPick.getString("LOT_NO") );
lotSl = checkNull( rsPick.getString("LOT_SL") );
quantity = rsPick.getDouble("QUANTITY");
expLev = checkNull( rsPick.getString("EXP_LEV") );
saleOrder = checkNull( rsPick.getString("SALE_ORDER") );
lineNoSord = checkNull( rsPick.getString("LINE_NO__SORD") );
if(!refSer.trim().equalsIgnoreCase("S-DOC") && !refSer.equalsIgnoreCase("RP-PND") && !refSer.equalsIgnoreCase("RP-PSO"))
{
replOrder = checkNull( rsPick.getString("REPL_ORDER") ); replOrder = checkNull( rsPick.getString("REPL_ORDER") );
replLineNo = checkNull( rsPick.getString("LINE_NO__REPL") ); replLineNo = checkNull( rsPick.getString("LINE_NO__REPL") );
pickOrder = checkNull( rsPick.getString("PICK_ORDER") ); pickOrder = checkNull( rsPick.getString("PICK_ORDER") );
pickLineNo = checkNull( rsPick.getString("LINE_NO") ); pickLineNo = checkNull( rsPick.getString("LINE_NO") );
}
else
{
replOrder = checkNull( rsPick.getString("REPL_ORDER") );
replLineNo = checkNull( rsPick.getString("LINE_NO") );
}
System.out.println("LOCCode***"+locCode);
qtyStduom = quantity;
do
{
//to check pick issue confirm.start
confirm = "";
locCodeTo = "";
transferStatus = "";
lotNo = checkNull( rsPick.getString("LOT_NO") ); if(!refSer.trim().equalsIgnoreCase("S-DOC") && !refSer.equalsIgnoreCase("RP-PND") && !refSer.equalsIgnoreCase("RP-PSO") && isPickConf)
lotSl = checkNull( rsPick.getString("LOT_SL") ); {
quantity = rsPick.getDouble("QUANTITY"); ArrayList tempPickConfirm = isPickConfirm(pickOrder,pickLineNo,conn);
expLev = checkNull( rsPick.getString("EXP_LEV") );
saleOrder = checkNull( rsPick.getString("SALE_ORDER") ); locCodeTo = (String) tempPickConfirm.get(0);
lineNoSord = checkNull( rsPick.getString("LINE_NO__SORD") ); confirm = (String) tempPickConfirm.get(1);
System.out.println("LOCCode***"+locCode); transferStatus = (String) tempPickConfirm.get(2);
qtyStduom = quantity; System.out.println("locCodeTo**PICK***"+locCodeTo+"confirm**PICK***"+confirm+"transferStatus**PICK***"+transferStatus);
//pick sacn complete.start
sqlpickDet = "SELECT LOC_CODE,LOC_CODE__TO FROM PICK_ISS_DET WHERE PICK_ORDER = ? AND LINE_NO__ORD = ?";
pstmtRepl = conn.prepareStatement(sqlpickDet);
pstmtRepl.setString(1,pickOrder);
pstmtRepl.setString(2,pickLineNo);
rsRepl = pstmtRepl.executeQuery();
if(rsRepl.next())
{
locCodeTo = checkNull( rsRepl.getString("LOC_CODE__TO") );
//locCode1 = checkNull( rsRepl.getString("LOC_CODE") );
//System.out.println("LOCCode***####*****"+locCode);
//replOrder = checkNull( rsRepl.getString("REPL_ORDER") );
//replLineNo = checkNull( rsRepl.getString("LINE_NO") );
System.out.println("LOCCode***####*****"+locCode+"replOrder"+replOrder+"replLineNo"+replLineNo);
}
//if(!locCodeTo.equalsIgnoreCase(dockLoc.trim()) && locCode.equalsIgnoreCase(""))
if(!locCodeTo.equalsIgnoreCase(""))
{
locCode = locCodeTo;
System.out.println("Pick perfom loc code---->"+locCode);
}
/*
else if(locCodeTo.equalsIgnoreCase(dockLoc.trim()))
{
retString = itmDBAccess.getErrorString("","WAVEDOCK","");
}
*/
if(rsRepl != null)
{
rsRepl.close();
rsRepl = null;
} }
if("Y".equalsIgnoreCase(confirm))
if(pstmtRepl != null)
{ {
pstmtRepl.close(); //to update actual quantity in replanishment
pstmtRepl = null; updateRecord = updateReplanishment(replOrder,replLineNo,pickOrder,pickLineNo,quantity,true,conn);//test1sucess
}
//pick scan complete.end
if(!replOrder.equalsIgnoreCase("") && !locCode.equalsIgnoreCase(locCodeTo))
{
//locCode = "";
//repl sacn complete.start
String locCodeRepl = "";
sqlreplDet = "SELECT LOC_CODE__TO FROM REPL_ISS_DET WHERE REPL_ORDER = ? AND LINE_NO__ORD = ?"; if(updateRecord > 0)
pstmtRepl = conn.prepareStatement(sqlreplDet);
pstmtRepl.setString(1,replOrder);
pstmtRepl.setString(2,replLineNo);
rsRepl = pstmtRepl.executeQuery();
if(rsRepl.next())
{ {
System.out.println("Replenishment updated with actual quantity "+quantity+" For replenishment oder :"+replOrder +" and line no :"+replLineNo);
//locCodeTo = checkNull( rsRepl.getString("LOC_CODE__TO") );
locCodeRepl = checkNull( rsRepl.getString("LOC_CODE__TO") );
//System.out.println("LOCCode***####*****"+locCode);
//replOrder = checkNull( rsRepl.getString("REPL_ORDER") );
//replLineNo = checkNull( rsRepl.getString("LINE_NO") );
System.out.println("locCodeRepl***####*****"+locCodeRepl);
} }
if(rsRepl != null) //to check pick type
if(refSer.equalsIgnoreCase("C-PICK"))
{ {
rsRepl.close(); locCode = locCodeTo;
rsRepl = null; System.out.println("Caspick loc code"+locCode);
break;
} }
else if(refSer.equalsIgnoreCase("M-PICK") || refSer.equalsIgnoreCase("A-PICK"))
{
//to check transfer status
if("Y".equalsIgnoreCase(transferStatus))
{
locCode = locCodeTo;
System.out.println("Transfer staus Y loc code"+locCode);
break;
}
else
{
//stock allocate from staging location
if(refSer.equalsIgnoreCase("M-PICK"))
{
locCode = stagingLocMpick;
System.out.println("Master pack staging lacation"+stagingLocMpick);
break;
}
else
{
locCode = stagingLoc;
System.out.println("Active pick staging lacation"+stagingLoc);
break;
}
}
}
}
else//pick iss confirm else
{
isPickConf = false;
//To check previous replanishment task confirm.start
locCodeRepl = "";
confirmRepl = "";
if(pstmtRepl != null) if(!"".equalsIgnoreCase(replPickOrder))
{ {
pstmtRepl.close(); replOrder = replPickOrder;
pstmtRepl = null; replLineNo = replPickLineNo;
} }
if(!locCodeRepl.equalsIgnoreCase("")) System.out.println(" New replOrder order"+replOrder+"replLineNo"+replLineNo);
ArrayList tempPrvReplConfirm = isReplinshmentConfirm(replOrder, replLineNo, conn);
locCodeRepl =(String) tempPrvReplConfirm.get(0);
confirmRepl = (String) tempPrvReplConfirm.get(1);
System.out.println("locCodeRepl***"+locCodeRepl+"confirmRepl***"+confirmRepl);
//replanishment issue is confirm
if("Y".equalsIgnoreCase(confirmRepl))
{ {
locCode = locCodeRepl; locCode = locCodeRepl;
} //RD-DSA Repanishment dso active is present
//repl scan complete.end
else sqlWave = "SELECT REF_SER FROM WAVE_TASK_DET WHERE REF_ID = ?";
{ pstmtTask = conn.prepareStatement(sqlWave);
//sqlReplOrd= "SELECT REPL_ORDER,LINE_NO,LOC_CODE FROM REPL_ORD_DET WHERE REPL_ORDER = ? AND LINE_NO = ?"; pstmtTask.setString(1,replOrder);
sqlReplOrd= "SELECT PICK_ORDER,LINE_NO__PICK,LOC_CODE FROM REPL_ORD_DET WHERE REPL_ORDER = ? AND LINE_NO = ?"; rsTask = pstmtTask.executeQuery();
pstmtRepl = conn.prepareStatement(sqlReplOrd); if(rsTask.next())
pstmtRepl.setString(1, replOrder);
pstmtRepl.setString(2, replLineNo);
rsRepl = pstmtRepl.executeQuery();
if(rsRepl.next())
{ {
locCode = checkNull( rsRepl.getString("LOC_CODE") ); refSeries = rsTask.getString("REF_SER") == null?"":rsTask.getString("REF_SER");
replOrder = checkNull( rsRepl.getString("PICK_ORDER") );
replLineNo = checkNull( rsRepl.getString("LINE_NO__PICK") );
System.out.println("LOCCode***####**old11"+locCode+"replOrderPick"+replOrder+"replLineNoPickLine"+replLineNo);
} }
if(rsRepl != null) if(pstmtTask != null)
{ {
rsRepl.close(); pstmtTask.close();
rsRepl = null; pstmtTask = null;
} }
if(rsTask != null)
if(pstmtRepl != null)
{ {
pstmtRepl.close(); rsTask.close();
pstmtRepl = null; rsTask = null;
} }
if("RD-DSA".equalsIgnoreCase(refSeries))
//pstmtRepl.clearParameters();
//sqlReplOrd1= "SELECT LOC_CODE FROM REPL_ORD_DET WHERE PICK_ORDER = ? AND LINE_NO__PICK = ?";
//checking second task.start
locCodeRepl = "";
sqlreplDet = "SELECT LOC_CODE__TO FROM REPL_ISS_DET WHERE REPL_ORDER = ? AND LINE_NO__ORD = ?";
pstmtRepl = conn.prepareStatement(sqlreplDet);
pstmtRepl.setString(1,replOrder);
pstmtRepl.setString(2,replLineNo);
rsRepl = pstmtRepl.executeQuery();
if(rsRepl.next())
{ {
lotSl = (String) tempPrvReplConfirm.get(2);
//locCodeTo = checkNull( rsRepl.getString("LOC_CODE__TO") ); System.out.println("New lot sl"+lotSl);
locCodeRepl = checkNull( rsRepl.getString("LOC_CODE__TO") );
//System.out.println("LOCCode***####*****"+locCode);
//replOrder = checkNull( rsRepl.getString("REPL_ORDER") );
//replLineNo = checkNull( rsRepl.getString("LINE_NO") );
System.out.println("LOCCode***####****$$$$$$$$$$*"+locCode);
} }
if(rsRepl != null) //to update actual quantity in replanishment
//Test
updateRecord = updateReplanishment(replOrder,replLineNo,pickOrder,pickLineNo,quantity,true,conn);//test1sucess
if(updateRecord > 0)
{ {
rsRepl.close(); System.out.println("Replenishment updated with actual quantity "+quantity+" For replenishment oder :"+replOrder +" and line no :"+replLineNo);
rsRepl = null;
} }
System.out.println("Replanishment iss confirm loc code"+locCode);
break;
}
else
{
locCode = "";
replPickOrder = "";
replPickLineNo = "";
//to get previous repanishment task
ArrayList tempRepl = getpreviousReplTask(replOrder, replLineNo, conn);
if(pstmtRepl != null) locCode =(String) tempRepl.get(0);
{ replPickOrder = (String) tempRepl.get(1);
pstmtRepl.close(); replPickLineNo = (String) tempRepl.get(2);
pstmtRepl = null;
}
if(!locCodeRepl.equalsIgnoreCase(""))
{
locCode = locCodeRepl;
}
else
{
//Changed by rohan on 10-04-12 to getstock location System.out.println("locCode--"+locCode+"replPickOrder"+replPickOrder+"replPickLineNo"+replPickLineNo);
//sqlReplOrd1= "SELECT LOC_CODE FROM REPL_ORD_DET WHERE REPL_ORDER = ? AND LINE_NO = ?"; //update actual quantity in repl_order_det.start
sqlReplOrd1= "SELECT R.LOC_CODE AS LOC_CODE ,I.INV_STAT AS INV_STAT,R.PICK_ORDER AS PICK_ORDER,R.LINE_NO__PICK AS LINE_NO" + if("".equalsIgnoreCase(replPickOrder))
" FROM REPL_ORD_DET R,LOCATION I"+ { //to update actual quantity in repanishment
" WHERE R.REPL_ORDER = ? AND R.LINE_NO = ? AND R.LOC_CODE = I.LOC_CODE"; updateRecord = updateReplanishment(replOrder,replLineNo,pickOrder,pickLineNo,quantity,false,conn);//test1sucess
if(updateRecord > 0)
pstmtRepl = conn.prepareStatement(sqlReplOrd1);
pstmtRepl.setString(1, replOrder);
pstmtRepl.setString(2, replLineNo);
rsRepl = pstmtRepl.executeQuery();
if(rsRepl.next())
{
locCode = checkNull( rsRepl.getString("LOC_CODE") );
//Changed by Rohan on 13-10-12 to get stock location.start
invState = checkNull( rsRepl.getString("INV_STAT") );
pickOrd = checkNull( rsRepl.getString("PICK_ORDER") );
lineNoPick = checkNull( rsRepl.getString("LINE_NO") );
//Changed by Rohan on 13-10-12 to get stock location.end
//System.out.println("LOCCode***####*****"+locCode);
//replOrder = checkNull( rsRepl.getString("REPL_ORDER") );
//replLineNo = checkNull( rsRepl.getString("LINE_NO") );
}
if(rsRepl != null)
{
rsRepl.close();
rsRepl = null;
}
//Changed by Rohan on 10-04-12 to get loc code.start
if(invState.startsWith("PND"))
{
pstmtRepl.clearParameters();
pstmtRepl.setString(1, pickOrd);
pstmtRepl.setString(2, lineNoPick);
rsRepl = pstmtRepl.executeQuery();
if(rsRepl.next())
{
locCode = checkNull( rsRepl.getString("LOC_CODE") );
}
}
if(rsRepl != null)
{ {
rsRepl.close(); System.out.println("Replenishment updated with actual quantity "+quantity+" For replenishment oder :"+replOrder +" and line no :"+replLineNo);
rsRepl = null;
} }
System.out.println("Replanishment iss confirm loc code"+locCode);
//Changed by Rohan on 10-04-12 to get loc code.end break;
if(pstmtRepl != null) }
{ //update actual quantity in repl_order_det.end
pstmtRepl.close();
pstmtRepl = null; }
} //To check previous repalnishment task confirm.end
}
}//repl Scan else //if case to active replanishment present which depend upon dso-pnd,pnd-case pick replanishment
sqlInv = "SELECT INV_STAT FROM LOCATION WHERE LOC_CODE = ?";
pstmtInv = conn.prepareStatement(sqlInv);
pstmtInv.setString(1,locCode);
rsInv = pstmtInv.executeQuery();
if(rsInv.next())
{
invState = checkNull(rsInv.getString("INV_STAT"));
System.out.println("invState"+invState);
}
if(rsInv != null)
{
rsInv.close();
rsInv = null;
}
if(pstmtInv != null)
{
pstmtInv.close();
pstmtInv = null;
}
if(dsoInvstat.trim().equalsIgnoreCase(invState.trim()))
{
//to update actual quantity in replanishment
updateRecord = updateReplanishment(replPickOrder,replPickLineNo,pickOrder,pickLineNo,quantity,false,conn);
if(updateRecord > 0)
{
System.out.println("Replenishment updated with actual quantity "+quantity+" For replenishment oder :"+replPickOrder +" and line no :"+replPickLineNo);
}
System.out.println("Replanishment iss confirm loc code"+locCode);
break;
}
} }
}
while(!"".equalsIgnoreCase(replPickOrder) && !"".equalsIgnoreCase(replPickLineNo));
System.out.println("Final location code*****"+locCode+"LoT Sl***"+lotSl);
lineNoSord = " " + lineNoSord;
lineNoSord = " " + lineNoSord; sql = "SELECT QTY_ALLOC AS COUNT 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 = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,saleOrder);
pstmt.setString(2, lineNoSord);
pstmt.setString(3,expLev);
pstmt.setString(4,itemCode);
pstmt.setString(5,itemCode);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,locCode);
rs = pstmt.executeQuery();
if(rs.next())
{
sql = "SELECT QTY_ALLOC AS COUNT FROM SORDALLOC " qtyAlloc = rs.getDouble(1);
+"WHERE SALE_ORDER = ? " System.out.println("Quantity Alloactes"+qtyAlloc);
+"AND LINE_NO = ? " }
+"AND EXP_LEV = ? " else
+"AND ITEM_CODE__ORD = ? "
+"AND ITEM_CODE = ? " rs.close();
+"AND LOT_NO = ? " rs = null;
+"AND LOT_SL = ? " pstmt.close();
+"AND LOC_CODE = ? "; pstmt = null;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,saleOrder); // 22/02/10 manoharan if allocation found in sordalloc then deallocate
pstmt.setString(2, lineNoSord); //if (count > 0 ) // 04/04/12 manoharan
pstmt.setString(3,expLev); if (qtyAlloc > 0) // 04/04/12 manoharan
pstmt.setString(4,itemCode); {
pstmt.setString(5,itemCode); if (qtyAlloc - qtyStduom <= 0)
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,locCode);
rs = pstmt.executeQuery();
if(rs.next())
{ {
sqlSord = "DELETE FROM SORDALLOC WHERE SALE_ORDER = ? "
qtyAlloc = rs.getDouble(1); +"AND LINE_NO = ? "
System.out.println("Quantity Alloactes"+qtyAlloc); +"AND EXP_LEV = ? "
+"AND ITEM_CODE__ORD = ? "
+"AND ITEM_CODE = ? "
+"AND LOT_NO = ? "
+"AND LOT_SL = ? "
+"AND LOC_CODE = ? ";
System.out.println("Delete sql sqlSord :"+sqlSord);
pstmt = conn.prepareStatement(sqlSord);
pstmt.setString(1,saleOrder);
pstmt.setString(2,lineNoSord);
pstmt.setString(3,expLev);
pstmt.setString(4,itemCode);
pstmt.setString(5,itemCode);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,locCode);
updateCnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
System.out.println("Deleted the no of records are : updateCnt :"+updateCnt);
} }
else else
rs.close();
rs = null;
pstmt.close();
pstmt = null;
// 22/02/10 manoharan if allocation found in sordalloc then deallocate
//if (count > 0 ) // 04/04/12 manoharan
if (qtyAlloc > 0) // 04/04/12 manoharan
{ {
if (qtyAlloc - qtyStduom <= 0) sqlSord = "UPDATE SORDALLOC SET QTY_ALLOC = QTY_ALLOC - ? "
{ +"WHERE SALE_ORDER = ? "
sqlSord = "DELETE FROM SORDALLOC WHERE SALE_ORDER = ? " +"AND LINE_NO = ? "
+"AND LINE_NO = ? " +"AND EXP_LEV = ? "
+"AND EXP_LEV = ? " +"AND ITEM_CODE__ORD = ? "
+"AND ITEM_CODE__ORD = ? " +"AND ITEM_CODE = ? "
+"AND ITEM_CODE = ? " +"AND LOT_NO = ? "
+"AND LOT_NO = ? " +"AND LOT_SL = ? "
+"AND LOT_SL = ? " +"AND LOC_CODE = ? ";
+"AND LOC_CODE = ? "; System.out.println("Update sql sqlSord :"+sqlSord);
System.out.println("Delete sql sqlSord :"+sqlSord); pstmt = conn.prepareStatement(sqlSord);
pstmt = conn.prepareStatement(sqlSord);
pstmt.setString(1,saleOrder);
pstmt.setString(2,lineNoSord);
pstmt.setString(3,expLev);
pstmt.setString(4,itemCode);
pstmt.setString(5,itemCode);
pstmt.setString(6,lotNo);
pstmt.setString(7,lotSl);
pstmt.setString(8,locCode);
updateCnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
System.out.println("Deleted the no of records are : updateCnt :"+updateCnt);
}
else
{
sqlSord = "UPDATE SORDALLOC SET QTY_ALLOC = QTY_ALLOC - ? "
+"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 = ? ";
System.out.println("Update sql sqlSord :"+sqlSord);
pstmt = conn.prepareStatement(sqlSord);
pstmt.setDouble(1,qtyStduom);
pstmt.setString(2,saleOrder);
pstmt.setString(3,lineNoSord);
pstmt.setString(4,expLev);
pstmt.setString(5,itemCode);
pstmt.setString(6,itemCode);
pstmt.setString(7,lotNo);
pstmt.setString(8,lotSl);
pstmt.setString(9,locCode);
updateCnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
System.out.println("Updated the no of records are : updateCnt :"+updateCnt);
}
sqlSordItem = "UPDATE SORDITEM SET QTY_ALLOC = QTY_ALLOC - ? "
+"WHERE SALE_ORDER = ? "
+"AND LINE_NO = ? "
+"AND EXP_LEV = ? ";
System.out.println("Update sql sqlSordItem :"+sqlSordItem);
pstmt = conn.prepareStatement(sqlSordItem);
pstmt.setDouble(1,qtyStduom); pstmt.setDouble(1,qtyStduom);
pstmt.setString(2,saleOrder); pstmt.setString(2,saleOrder);
pstmt.setString(3,lineNoSord); pstmt.setString(3,lineNoSord);
pstmt.setString(4,expLev); pstmt.setString(4,expLev);
pstmt.setString(5,itemCode);
pstmt.setString(6,itemCode);
pstmt.setString(7,lotNo);
pstmt.setString(8,lotSl);
pstmt.setString(9,locCode);
updateCnt = pstmt.executeUpdate(); updateCnt = pstmt.executeUpdate();
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
System.out.println("Updated the no of records : updateCnt :"+updateCnt); System.out.println("Updated the no of records are : updateCnt :"+updateCnt);
}
line = " " + lineNo; sqlSordItem = "UPDATE SORDITEM SET QTY_ALLOC = QTY_ALLOC - ? "
System.out.println("line :"+line); +"WHERE SALE_ORDER = ? "
+"AND LINE_NO = ? "
+"AND EXP_LEV = ? ";
System.out.println("Update sql sqlSordItem :"+sqlSordItem);
pstmt = conn.prepareStatement(sqlSordItem);
pstmt.setDouble(1,qtyStduom);
pstmt.setString(2,saleOrder);
pstmt.setString(3,lineNoSord);
pstmt.setString(4,expLev);
updateCnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
System.out.println("Updated the no of records : updateCnt :"+updateCnt);
line = " " + lineNo;
System.out.println("line :"+line);
//Changed by Rohan on 10/8/12 to give proper loc code.start
//Changed by Rohan on 10/8/12 to give proper loc code.end
strAllocate.put("tran_date",tranDate);
strAllocate.put("ref_ser","P-TASK");
//strAllocate.put("ref_id",tranId);
strAllocate.put("ref_id",refId);
strAllocate.put("ref_line",line.substring(line.length()-3));
strAllocate.put("site_code",siteCode);
strAllocate.put("item_code",itemCode);
System.out.println("Updated loc code*********************************************"+locCode);
strAllocate.put("loc_code",locCode);
strAllocate.put("lot_no",lotNo);
strAllocate.put("lot_sl",lotSl);
strAllocate.put("alloc_qty",new Double(-1*qtyStduom));
strAllocate.put("chg_user",genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode"));
strAllocate.put("chg_term",genericUtility.getValueFromXTRA_PARAMS(xtraParams,"termId"));
strAllocate.put("chg_win","W_PICK_ORD");
//Calling DistStkUpdEJB
System.out.println("Calling DistStkUpdEJB.....");
if (distStkUpd.updAllocTrace(strAllocate, conn) > 0)
{
System.out.println("distStkUpd.UpdAllocTrace(hashMap) : Sucessuful!");
}
sqlUpdate = "UPDATE WAVE_TASK SET CANCEL ='Y' WHERE WAVE_ID = ?" ;
pstmtUpd = conn.prepareStatement(sqlUpdate);
pstmtUpd.setString(1, waveID);
updCnt = pstmtUpd.executeUpdate();
if( updCnt > 0 )
{
retString = itmDBAccess.getErrorString("","WAVEREV","");
}
else
{
retString = itmDBAccess.getErrorString("","NTWAVEREV","");
}
if(pstmtUpd != null)
{
pstmtUpd.close();
pstmtUpd = null;
}
//Changed by Rohan on 10/8/12 to give proper loc code.start }//qty allocate > 0
}
}
}//while close
//Changed by Rohan on 10/8/12 to give proper loc code.end
strAllocate.put("tran_date",tranDate);
strAllocate.put("ref_ser","P-TASK");
//strAllocate.put("ref_id",tranId);
strAllocate.put("ref_id",refId);
strAllocate.put("ref_line",line.substring(line.length()-3));
strAllocate.put("site_code",siteCode);
strAllocate.put("item_code",itemCode);
System.out.println("Updated loc code*********************************************"+locCode);
strAllocate.put("loc_code",locCode);
strAllocate.put("lot_no",lotNo);
strAllocate.put("lot_sl",lotSl);
strAllocate.put("alloc_qty",new Double(-1*qtyStduom));
strAllocate.put("chg_user",genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode"));
strAllocate.put("chg_term",genericUtility.getValueFromXTRA_PARAMS(xtraParams,"termId"));
strAllocate.put("chg_win","W_PICK_ORD");
//Calling DistStkUpdEJB
System.out.println("Calling DistStkUpdEJB.....");
if (distStkUpd.updAllocTrace(strAllocate, conn) > 0)
{
System.out.println("distStkUpd.UpdAllocTrace(hashMap) : Sucessuful!");
}
sqlUpdate = "UPDATE WAVE_TASK SET CANCEL ='Y' WHERE WAVE_ID = ?" ;
pstmtUpd = conn.prepareStatement(sqlUpdate);
pstmtUpd.setString(1, waveID);
updCnt = pstmtUpd.executeUpdate();
if( updCnt > 0 )
{
retString = itmDBAccess.getErrorString("","WAVEREV","");
}
else
{
retString = itmDBAccess.getErrorString("","NTWAVEREV","");
}
if(pstmtUpd != null)
{
pstmtUpd.close();
pstmtUpd = null;
}
}//qty allocate > 0
}//while close
}
}
}
} }
catch(Exception e) catch(Exception e)
{ {
...@@ -644,6 +720,12 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca ...@@ -644,6 +720,12 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca
{ {
conn.commit(); conn.commit();
if(pstmtReplDet != null)
{
pstmtReplDet.close();
pstmtReplDet = null;
}
if("Y".equalsIgnoreCase(status)) if("Y".equalsIgnoreCase(status))
{ {
retString = itmDBAccess.getErrorString("","WAVENTREV",""); retString = itmDBAccess.getErrorString("","WAVENTREV","");
...@@ -716,4 +798,660 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca ...@@ -716,4 +798,660 @@ public class WaveCancelEJB extends ActionHandlerEJB implements WaveCancelEJBLoca
} }
return comp; return comp;
} }
private ArrayList isReplinshmentConfirm(String replOrder ,String replLineNo,Connection conn) throws Exception
{
PreparedStatement pstmtReplDet = null;
ResultSet rsRepl = null;
//String LocCodeTo = "";
String lotSlNew = "";
String confirmRepl = "";
String locCodeRepl = "";
String sqlreplDet = "";
String pickOrder = "";
String lineNoPick = "";
ArrayList tempList = new ArrayList();
try
{
sqlreplDet = "SELECT D.LOC_CODE__TO AS LOC_CODE__TO,D.LOT_SL__NEW AS LOT_SL__NEW,H.CONFIRMED AS CONFIRMED FROM REPL_ISS_DET D,REPL_ISS_HDR H "
+" WHERE D.REPL_ORDER = ? AND D.LINE_NO__ORD = ?"
+" AND D.TRAN_ID = H.TRAN_ID";
pstmtReplDet = conn.prepareStatement(sqlreplDet);
pstmtReplDet.setString(1,replOrder);
pstmtReplDet.setString(2,replLineNo);
rsRepl = pstmtReplDet.executeQuery();
if(rsRepl.next())
{
locCodeRepl = checkNull( rsRepl.getString("LOC_CODE__TO") );
confirmRepl = checkNull( rsRepl.getString("CONFIRMED") );
lotSlNew = checkNull( rsRepl.getString("LOT_SL__NEW") );
System.out.println("LOCCode***####****$$$$$$$$$$*"+locCodeRepl+"confirmRepl"+confirmRepl);
}
tempList.add(locCodeRepl);
tempList.add(confirmRepl);
tempList.add(lotSlNew);
tempList.add(pickOrder);
tempList.add(lineNoPick);
}
catch(Exception e)
{
throw new ITMException(e);
}
finally
{
if(rsRepl != null)
{
rsRepl.close();
rsRepl = null;
}
if(pstmtReplDet != null)
{
pstmtReplDet.close();
pstmtReplDet = null;
}
}
return tempList;
}
private ArrayList isPickConfirm(String pickOrder ,String pickLineNo,Connection conn) throws Exception
{
PreparedStatement pstmtPickIss = null;
ResultSet rsPickIss = null;
String confirm = "";
String locCodeTo = "";
String transferStatus = "";
String sqlpickDet = "";
ArrayList tempPickList = new ArrayList();
try
{
//To check pick is confirm or not.start
locCodeTo = "";
confirm = "";
transferStatus = "";
System.out.println("Enter in A-PICK,M-PICK,A-PICK**************************************");
sqlpickDet = "SELECT D.LOC_CODE__TO AS LOC_CODE__TO,H.CONFIRMED AS CONFIRMED,H.TRF_STATUS AS TRF_STATUS FROM PICK_ISS_DET D,PICK_ISS_HDR H "
+" WHERE D.PICK_ORDER = ? AND D.LINE_NO__ORD = ? "
+" AND D.TRAN_ID = H.TRAN_ID";
pstmtPickIss = conn.prepareStatement(sqlpickDet);
pstmtPickIss.setString(1,pickOrder);
pstmtPickIss.setString(2,pickLineNo);
rsPickIss = pstmtPickIss.executeQuery();
if(rsPickIss.next())
{
locCodeTo = checkNull( rsPickIss.getString("LOC_CODE__TO") );
confirm = checkNull( rsPickIss.getString("CONFIRMED") );
transferStatus = checkNull( rsPickIss.getString("TRF_STATUS") );
System.out.println("locCodeTo"+locCodeTo+"confirm"+confirm+"transferStatus"+transferStatus);
}
if(rsPickIss != null)
{
rsPickIss.close();
rsPickIss = null;
}
if(pstmtPickIss != null)
{
pstmtPickIss.close();
pstmtPickIss = null;
}
tempPickList.add(locCodeTo);
tempPickList.add(confirm);
tempPickList.add(transferStatus);
//Pick issue confirm
}
catch(Exception e)
{
throw new ITMException(e);
}
finally
{
if(rsPickIss != null)
{
rsPickIss.close();
rsPickIss = null;
}
if(pstmtPickIss != null)
{
pstmtPickIss.close();
pstmtPickIss = null;
}
}
return tempPickList;
}
private ArrayList getpreviousReplTask(String replOrder ,String replLineNo,Connection conn) throws Exception
{
PreparedStatement pstmtRepl = null;
ResultSet rsReplDet = null;
String replPickLineNo = "";
String replPickOrder = "";
String locCode = "";
String sqlReplOrd = "";
ArrayList tempList = new ArrayList();
try
{
sqlReplOrd= "SELECT PICK_ORDER,LINE_NO__PICK,LOC_CODE FROM REPL_ORD_DET WHERE REPL_ORDER = ? AND LINE_NO = ?";
pstmtRepl = conn.prepareStatement(sqlReplOrd);
pstmtRepl.clearParameters();
pstmtRepl.setString(1, replOrder);
pstmtRepl.setString(2, replLineNo);
rsReplDet = pstmtRepl.executeQuery();
if(rsReplDet.next())
{
locCode = checkNull( rsReplDet.getString("LOC_CODE") );
replPickOrder = checkNull( rsReplDet.getString("PICK_ORDER") );
replPickLineNo = checkNull( rsReplDet.getString("LINE_NO__PICK") );
}
tempList.add(locCode);
tempList.add(replPickOrder);
tempList.add(replPickLineNo);
}
catch(Exception e)
{
throw new ITMException(e);
}
finally
{
if(rsReplDet != null)
{
rsReplDet.close();
rsReplDet = null;
}
if(pstmtRepl != null)
{
pstmtRepl.close();
pstmtRepl = null;
}
}
return tempList;
}
public int updateReplanishment(String replOrder,String lineNo,String pickOrder,String lineNoPick,double quantity,boolean confirm,Connection conn)throws Exception
{
PreparedStatement pstmt = null;
PreparedStatement pstmt1 = null;
PreparedStatement pstmtRepl = null;
ResultSet rs = null;
ResultSet rs1 = null;
String sql = "";
String getRepl = "";
String orderType = "";
String getActualQty,updateSql,replOrd,lineNoRepl,sqlOrderType,ordType ="";
String locCode,repl,lineRepl,sqlPickOrder,invStat,invstatChk = "";
String pick = "";
String sqlRepl="";
String replOrderCopy = "";
String lineNoPk = "";
String replOrdList = "";
String replLineNoList = "";
DistCommon discommon = new DistCommon();
String casePickLoc = discommon.getDisparams("999999","CASE_PICK_INVSTAT",conn);
String activePickLoc = discommon.getDisparams("999999","ACTIVE_PICK_INVSTAT",conn);
String deepStoreLoc = discommon.getDisparams("999999","DEEP_STORE_INVSTAT",conn);
String psoLoc = discommon.getDisparams("999999","RESERV_LOCATION",conn);
double actQty = 0d;
int count = 0;
try
{
if(confirm)
{
//if(!"C".equalsIgnoreCase(orderType))
//{
getRepl = "SELECT D.PICK_ORDER,D.LINE_NO__PICK,H.ORDER_TYPE FROM REPL_ORD_DET D,"
+" REPL_ORD_HDR H WHERE D.REPL_ORDER = ? AND D.LINE_NO = ? AND H.REPL_ORDER = D.REPL_ORDER";
pstmtRepl = conn.prepareStatement(getRepl);
pstmtRepl.setString(1, replOrder);
pstmtRepl.setString(2, lineNo);
rs = pstmtRepl.executeQuery();
if(rs.next())
{
orderType = rs.getString("ORDER_TYPE");
System.out.println("Order type___@@@@@_____"+orderType);
if(!"C".equalsIgnoreCase(orderType) && !"K".equalsIgnoreCase(orderType.trim()) && !"J".equalsIgnoreCase(orderType.trim()) && !"M".equalsIgnoreCase(orderType.trim()))
{
if(!"Q".equalsIgnoreCase(orderType))
{ //rsitem.getString("PTCN") == null?"":rsitem.getString("PTCN");
System.out.println("Enter hereeeeeeee===>");
replOrderCopy = checkNull(rs.getString("PICK_ORDER"));
if(!"".equalsIgnoreCase(replOrderCopy))
{
System.out.println("Enterwqqqqqq===>");
replOrder = replOrderCopy;
lineNo = rs.getString("LINE_NO__PICK");
}
}
else
{
System.out.println("Order TYpe Q check"+orderType);
//to reverse actual_qty in case repanishment
getActualQty ="SELECT ACTUAL_QTY FROM REPL_ORD_DET WHERE REPL_ORDER = ? AND LINE_NO = ?" ;
pstmt1 = conn.prepareStatement(getActualQty);
pstmt1.setString(1, replOrder);
pstmt1.setString(2, lineNo);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
actQty = rs1.getDouble("ACTUAL_QTY");
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
replOrd = checkNull(rs.getString("PICK_ORDER"));
lineNoRepl = rs.getString("LINE_NO__PICK");
if(!"".equalsIgnoreCase(replOrd))
{
System.out.println("REPL ORDER"+replOrd);
sqlOrderType = "SELECT ORDER_TYPE FROM REPL_ORD_HDR WHERE REPL_ORDER = ? ";
pstmt1 = conn.prepareStatement(sqlOrderType);
pstmt1.setString(1, replOrd);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
ordType = rs1.getString("ORDER_TYPE");
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if("J".equalsIgnoreCase(ordType))
{
updateSql= " UPDATE REPL_ORD_DET SET ACTUAL_QTY = ACTUAL_QTY - ?"
+" WHERE (REPL_ORDER,LINE_NO) IN(SELECT PICK_ORDER,LINE_NO__PICK FROM REPL_ORD_DET"
+" WHERE REPL_ORDER = ? AND LINE_NO = ?)";
}
else //if("C".equalsIgnoreCase(ordType))
{
updateSql= " UPDATE REPL_ORD_DET SET ACTUAL_QTY = ACTUAL_QTY - ?"
+" WHERE REPL_ORDER = ? AND LINE_NO = ? ";
}
pstmt1 = conn.prepareStatement(updateSql);
pstmt1.setDouble(1, actQty);
pstmt1.setString(2, replOrd);
pstmt1.setString(3, lineNoRepl);
pstmt1.executeUpdate();
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
}
}
}
else if("K".equalsIgnoreCase(orderType.trim()) || "J".equalsIgnoreCase(orderType.trim()) || "M".equalsIgnoreCase(orderType.trim()))
{
ArrayList ReplActQty = updateReplActQty(pickOrder,lineNoPick,conn);
System.out.println("ReplActQty-Size"+ReplActQty.size());
System.out.println("ReplActQty-Size"+ReplActQty.toString());
if(ReplActQty.size() > 0)
{
System.out.println("ttttt");
replOrdList = checkNull((String)ReplActQty.get(0));
replLineNoList = checkNull((String)ReplActQty.get(1));
}
if(!"".equalsIgnoreCase(replOrdList))
{
System.out.println("ZZZZZZ");
replOrder = replOrdList;
lineNo = replLineNoList;
}
}
}
}//confirm
else
{
ArrayList ReplActQty = updateReplActQty(pickOrder,lineNoPick,conn);
System.out.println("ReplActQty11-Size"+ReplActQty.size());
System.out.println("ReplActQty11-Size"+ReplActQty.toString());
if(ReplActQty.size() > 0)
{
System.out.println("WWWWWWW");
replOrdList = checkNull((String)ReplActQty.get(0));
replLineNoList = checkNull((String)ReplActQty.get(1));
}
if(!"".equalsIgnoreCase(replOrdList))
{
System.out.println("PPPPPPPPPP");
replOrder = replOrdList;
lineNo = replLineNoList;
}
}
sql= "UPDATE REPL_ORD_DET SET ACTUAL_QTY = ACTUAL_QTY + ?" +
" WHERE REPL_ORDER = ? AND LINE_NO = ?" ;
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1, quantity);
pstmt.setString(2, replOrder);
pstmt.setString(3, lineNo);
count = pstmt.executeUpdate();
}
catch(Exception e)
{
throw new ITMException(e) ;
}
finally
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(pstmtRepl != null)
{
pstmtRepl.close();
pstmtRepl = null;
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
}
return count;
}
//updateReplActQty(pickOrder,lineNoPick,conn);
public ArrayList updateReplActQty(String pickOrder,String lineNoPick,Connection conn) throws Exception
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "";
PreparedStatement pstmt1 = null;
PreparedStatement pstmtRepl = null;
ResultSet rs1 = null;
String getRepl = "";
String orderType = "";
String getActualQty,updateSql,replOrd,lineNoRepl,sqlOrderType,ordType ="";
String locCode,repl,lineRepl,sqlPickOrder,invStat,invstatChk = "";
String pick = "";
String sqlRepl="";
String replOrderCopy = "";
String lineNoPk = "";
DistCommon discommon = new DistCommon();
String casePickLoc = discommon.getDisparams("999999","CASE_PICK_INVSTAT",conn);
String activePickLoc = discommon.getDisparams("999999","ACTIVE_PICK_INVSTAT",conn);
String deepStoreLoc = discommon.getDisparams("999999","DEEP_STORE_INVSTAT",conn);
String psoLoc = discommon.getDisparams("999999","RESERV_LOCATION",conn);
double actQty = 0d;
ArrayList tempReplList = new ArrayList();
try
{
replOrd = "";
lineNoRepl = "";
repl = "";
lineRepl = "";
invStat = "";
sqlPickOrder = "SELECT P.REPL_ORDER,P.LINE_NO__REPL,L.INV_STAT "
+" FROM PICK_ORD_DET P,LOCATION L "
+" WHERE PICK_ORDER = ? AND LINE_NO = ? AND P.LOC_CODE = L.LOC_CODE";
pstmt1 = conn.prepareStatement(sqlPickOrder);
pstmt1.setString(1, pickOrder);
pstmt1.setString(2, lineNoPick);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
//locCode = rs1.getString("LOC_CODE");
repl = rs1.getString("REPL_ORDER");
lineRepl = rs1.getString("LINE_NO__REPL");
invStat = rs1.getString("INV_STAT");
}
System.out.println("repl"+repl+"lineRepl"+lineRepl+"invStat"+invStat);
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
System.out.println("invStat LOCATION_______"+invStat);
if(invStat.trim().equalsIgnoreCase(activePickLoc))
{
sqlRepl = " SELECT H.ORDER_TYPE,D.ACTUAL_QTY,D.PICK_ORDER FROM REPL_ORD_HDR H,REPL_ORD_DET D"
+ " WHERE D.REPL_ORDER = ? AND LINE_NO = ? "
+" AND H.REPL_ORDER = D.REPL_ORDER ";
pstmt1 = conn.prepareStatement(sqlRepl);
pstmt1.setString(1, repl);
pstmt1.setString(2, lineRepl);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
orderType = rs1.getString("ORDER_TYPE");
actQty = rs1.getDouble("ACTUAL_QTY");
pick = checkNull(rs1.getString("PICK_ORDER"));
}
System.out.println("orderType--"+orderType+"actQty))"+actQty+"pick^^^^"+pick);
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
System.out.println("Oredr type"+orderType);
if("Q".equalsIgnoreCase(orderType.trim()))
{
sqlOrderType = "SELECT L.INV_STAT FROM REPL_ORD_DET D,LOCATION L "
+" WHERE (REPL_ORDER,LINE_NO) IN (SELECT PICK_ORDER,LINE_NO__PICK "
+" FROM REPL_ORD_DET WHERE REPL_ORDER = ? AND LINE_NO = ?) "
+ " AND D.LOC_CODE = L.LOC_CODE";
pstmt1 = conn.prepareStatement(sqlOrderType);
pstmt1.setString(1, repl);
pstmt1.setString(2, lineRepl);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
invstatChk = checkNull(rs1.getString("INV_STAT"));
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
System.out.println("INVSTART"+invstatChk);
//if("".equalsIgnoreCase(pick) && "".equalsIgnoreCase(invstatChk.trim()))
if(!"".equalsIgnoreCase(pick) && !"".equalsIgnoreCase(invstatChk.trim()))
{
if(invstatChk.trim().equalsIgnoreCase(psoLoc))
{
updateSql= " UPDATE REPL_ORD_DET SET ACTUAL_QTY = ACTUAL_QTY - ?"
+" WHERE (REPL_ORDER,LINE_NO) IN(SELECT PICK_ORDER,LINE_NO__PICK "
+" FROM REPL_ORD_DET WHERE REPL_ORDER = ? AND LINE_NO = ? ) ";
}
else
{
updateSql= " UPDATE REPL_ORD_DET SET ACTUAL_QTY = ACTUAL_QTY - ?"
+" WHERE (REPL_ORDER,LINE_NO) IN(SELECT PICK_ORDER,LINE_NO__PICK "
+" FROM REPL_ORD_DET WHERE (REPL_ORDER,LINE_NO) " +
" IN (SELECT PICK_ORDER,LINE_NO__PICK FROM REPL_ORD_DET WHERE REPL_ORDER = ? AND LINE_NO = ?)) ";
}
pstmt1 = conn.prepareStatement(updateSql);
pstmt1.setDouble(1, actQty);
pstmt1.setString(2, repl);
//pstmt1.setString(3, lineNo);
pstmt1.setString(3, lineRepl);
pstmt1.executeUpdate();
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
}
/*
replOrder = repl;
lineNo = lineRepl;
*/
tempReplList.add(repl);
tempReplList.add(lineRepl);
}
}
else if(invStat.trim().equalsIgnoreCase(casePickLoc))
{
sqlRepl = "SELECT PICK_ORDER,LINE_NO__PICK FROM REPL_ORD_DET WHERE REPL_ORDER = ? AND LINE_NO__PICK = ? ";
pstmt1 = conn.prepareStatement(sqlRepl);
pstmt1.setString(1, repl);
pstmt1.setString(2, lineRepl);
rs1 = pstmt1.executeQuery();
if(rs1.next())
{
pick = checkNull(rs1.getString("PICK_ORDER"));
lineNoPk = checkNull(rs1.getString("LINE_NO__PICK"));
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
System.out.println("pick))))))))"+pick);
if(!"".equalsIgnoreCase(pick))
{
System.out.println("adding to templist");
tempReplList.add(pick);
tempReplList.add(lineNoPk);
}
}
}
catch(Exception e)
{
throw e;
}
finally
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
System.out.println("Return templist"+tempReplList.toString());
return tempReplList;
}
} }
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