Commit bbd90a4c authored by wansari's avatar wansari

W16KKAT001 updated source for Dijkstra Algorithm Active Picking location wise map


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@104841 ce508802-f39f-4f6c-b175-0d175dae99d5
parent f1f2bc55
...@@ -7,10 +7,14 @@ ...@@ -7,10 +7,14 @@
package ibase.webitm.ejb.wms; package ibase.webitm.ejb.wms;
import ibase.system.config.*; import ibase.system.config.*;
import ibase.webitm.bean.wms.Graph;
import ibase.webitm.ejb.*; import ibase.webitm.ejb.*;
import ibase.webitm.ejb.dis.DistCommon; import ibase.webitm.ejb.dis.DistCommon;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.wms.DijkstraAlgorithm;
import ibase.webitm.utility.wms.DijkstraPickPath;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import java.sql.*; import java.sql.*;
import java.text.DateFormat; import java.text.DateFormat;
...@@ -3350,7 +3354,17 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC ...@@ -3350,7 +3354,17 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC
String objName = checkNullAndTrim(getObjNameFromDom( currFormDataDom, "objName", objContext )); String objName = checkNullAndTrim(getObjNameFromDom( currFormDataDom, "objName", objContext ));
valueXmlString = new StringBuffer("<?xml version=\"1.0\"?>\r\n<Root>\r\n<Header>\r\n<editFlag>").append( editFlag ); valueXmlString = new StringBuffer("<?xml version=\"1.0\"?>\r\n<Root>\r\n<Header>\r\n<editFlag>").append( editFlag );
//Changed by wasim for ware house Map changes [START]
String locWiseMapStr = "";
String locPhyRow = "",locPhyCol = "",locStr = "",pickPath = "",toolTipData = "";
String fromPickLoc = "",toPickLoc = "";
int locCnt = 0;
int rows = 0;int cols = 0;
DijkstraPickPath algObj = new DijkstraPickPath();
DijkstraAlgorithm dijkstra = null;
//Changed by wasim for ware house Map changes [END]
try try
{ {
DateFormat dtFormat = new SimpleDateFormat(genericUtility.getApplDateFormat()); DateFormat dtFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
...@@ -3401,6 +3415,9 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC ...@@ -3401,6 +3415,9 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC
String loginCode = checkNull(genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginCode" )); String loginCode = checkNull(genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginCode" ));
String chgTerm = checkNull(genericUtility.getValueFromXTRA_PARAMS( xtraParams, "chgTerm" )); String chgTerm = checkNull(genericUtility.getValueFromXTRA_PARAMS( xtraParams, "chgTerm" ));
siteCode = checkNull(genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginSiteCode" )); siteCode = checkNull(genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginSiteCode" ));
//Changed by wasim on 22-02-2017 for taking only pallet no from header [START]
/*
//Changes by Manish on 28/12/15 for DDUK [Start] //Changes by Manish on 28/12/15 for DDUK [Start]
if("DDUK".equalsIgnoreCase(projectCode)) if("DDUK".equalsIgnoreCase(projectCode))
{ {
...@@ -3411,14 +3428,19 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC ...@@ -3411,14 +3428,19 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC
palletNo = genericUtility.getColumnValue( "pallet_no", hdrDataDom ); palletNo = genericUtility.getColumnValue( "pallet_no", hdrDataDom );
} }
//Changes by Manish on 28/12/15 for DDUK [end] //Changes by Manish on 28/12/15 for DDUK [end]
*/
palletNo = genericUtility.getColumnValue( "pallet_no", hdrDataDom );
//Changed by wasim on 22-02-2017 for taking only pallet no from header [END]
if ( siteCode.trim().length() == 0 || "INVALID_SITE".equalsIgnoreCase(siteCode.trim()) ) if ( siteCode.trim().length() == 0 || "INVALID_SITE".equalsIgnoreCase(siteCode.trim()) )
{ {
siteCode = getSiteCode( xtraParams, conn ); siteCode = getSiteCode( xtraParams, conn );
} }
System.out.println("siteCode = ["+siteCode+"]"); System.out.println("siteCode = ["+siteCode+"]");
//Changed by wasim on 22-02-2017 for taking only pallet no from header [START]
//Changes by Manish on 28/12/15 for DDUK [Start] //Changes by Manish on 28/12/15 for DDUK [Start]
if("DDUK".equalsIgnoreCase(projectCode)) /*if("DDUK".equalsIgnoreCase(projectCode))
{ {
sql = "SELECT TRAN_ID, TRAN_DATE, PICK_ORDER, SITE_CODE, PICK_TYPE, PTCN FROM PICK_ISS_HDR WHERE PICK_ORDER = ? AND PTCN = ? AND CHG_USER = ? AND case when confirmed is null then 'N' else confirmed end = 'N'"; sql = "SELECT TRAN_ID, TRAN_DATE, PICK_ORDER, SITE_CODE, PICK_TYPE, PTCN FROM PICK_ISS_HDR WHERE PICK_ORDER = ? AND PTCN = ? AND CHG_USER = ? AND case when confirmed is null then 'N' else confirmed end = 'N'";
pstmt = conn.prepareStatement( sql ); pstmt = conn.prepareStatement( sql );
...@@ -3481,7 +3503,60 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC ...@@ -3481,7 +3503,60 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC
} }
rs.close();rs = null; rs.close();rs = null;
pstmt.close();pstmt = null; pstmt.close();pstmt = null;
}*/
sql = "SELECT TRAN_ID, TRAN_DATE, PICK_ORDER, SITE_CODE, PICK_TYPE, PALLET_NO FROM PICK_ISS_HDR WHERE PICK_ORDER = ? AND PALLET_NO = ? AND CHG_USER = ? AND case when confirmed is null then 'N' else confirmed end = 'N'";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, pickOrder );
pstmt.setString( 2, palletNo );
pstmt.setString( 3, loginCode );
rs = pstmt.executeQuery();
if( rs.next() )
{
tranID = rs.getString("TRAN_ID");
tranDateDb = rs.getDate("TRAN_DATE");
siteCode = rs.getString("SITE_CODE");
pickType = checkNull(rs.getString("PICK_TYPE"));
palletNo = rs.getString("PALLET_NO");
valueXmlString.append("<Detail2 domID='1' selected=\"Y\">\r\n");
valueXmlString.append("<attribute selected=\"Y\" updateFlag=\"E\" status=\"O\" pkNames=\"\" />\r\n");
valueXmlString.append( "<tran_id><![CDATA[" ).append( checkNull( tranID )).append( "]]></tran_id>\r\n" );
}
else
{
tranID = genericUtility.getColumnValue( "tran_id", currFormDataDom );
palletNo = genericUtility.getColumnValue( "pallet_no", hdrDataDom );
valueXmlString.append("<Detail2 domID='1' selected=\"N\">\r\n");
valueXmlString.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\" />\r\n");
valueXmlString.append( "<tran_id><![CDATA[" ).append( checkNull( tranID )).append( "]]></tran_id>\r\n" );
}
if(rs!=null)
{
rs.close();rs = null;
}
if(pstmt!=null)
{
pstmt.close();pstmt = null;
}
sql = " SELECT PTCN FROM WAVE_TASK_DET WHERE REF_ID = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, pickOrder );
rs = pstmt.executeQuery();
if( rs.next() )
{
PTCN = checkNull(rs.getString("PTCN"));
}
if(rs!=null)
{
rs.close();rs = null;
}
if(pstmt!=null)
{
pstmt.close();pstmt = null;
} }
//Changed by wasim on 22-02-2017 for taking only pallet no from header [END]
/* /*
if ( tranID == null || tranID.trim().length() == 0 ) //commented by Ashish Sonawane on 11-sep-12 if ( tranID == null || tranID.trim().length() == 0 ) //commented by Ashish Sonawane on 11-sep-12
{ */ { */
...@@ -3505,6 +3580,9 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC ...@@ -3505,6 +3580,9 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC
} }
valueXmlString.append( "<tran_date protect ='1'><![CDATA[" ).append( checkNull( tranDate )).append( "]]></tran_date>\r\n" ); valueXmlString.append( "<tran_date protect ='1'><![CDATA[" ).append( checkNull( tranDate )).append( "]]></tran_date>\r\n" );
valueXmlString.append( "<pick_type protect ='1'><![CDATA[" ).append( checkNull( pickType )).append( "]]></pick_type>\r\n" ); valueXmlString.append( "<pick_type protect ='1'><![CDATA[" ).append( checkNull( pickType )).append( "]]></pick_type>\r\n" );
//Changed by wasim on 22-02-2017 for taking only pallet no from header changes [START]
/*
//Changes by Manish on 28/12/15 for DDUK [Start] //Changes by Manish on 28/12/15 for DDUK [Start]
if("DDUK".equalsIgnoreCase(projectCode)) if("DDUK".equalsIgnoreCase(projectCode))
{ {
...@@ -3515,6 +3593,12 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC ...@@ -3515,6 +3593,12 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC
valueXmlString.append( "<pallet_no><![CDATA[" ).append( checkNull( palletNo )).append( "]]></pallet_no>\r\n" ); valueXmlString.append( "<pallet_no><![CDATA[" ).append( checkNull( palletNo )).append( "]]></pallet_no>\r\n" );
} }
//Changes by Manish on 28/12/15 for DDUK [End] //Changes by Manish on 28/12/15 for DDUK [End]
*/
valueXmlString.append( "<ptcn><![CDATA[" ).append( checkNull( PTCN )).append( "]]></ptcn>\r\n" );
valueXmlString.append( "<pallet_no><![CDATA[" ).append( checkNull( palletNo )).append( "]]></pallet_no>\r\n" );
//Changed by wasim on 22-02-2017 for taking only pallet no from header changes [END]
valueXmlString.append( "<pick_order><![CDATA[" ).append( checkNull( pickOrder )).append( "]]></pick_order>\r\n" ); valueXmlString.append( "<pick_order><![CDATA[" ).append( checkNull( pickOrder )).append( "]]></pick_order>\r\n" );
valueXmlString.append( "<site_code><![CDATA[" ).append( checkNull( siteCode )).append( "]]></site_code>\r\n" ); valueXmlString.append( "<site_code><![CDATA[" ).append( checkNull( siteCode )).append( "]]></site_code>\r\n" );
...@@ -3528,7 +3612,122 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC ...@@ -3528,7 +3612,122 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC
} }
rs.close();rs = null; rs.close();rs = null;
pstmt.close();pstmt = null; pstmt.close();pstmt = null;
//Changed by wasim on 15-02-2017 for showing location wise map [START]
System.out.println("Inside item change Pick Issue--[pick_order]"+pickOrder);
//sql = " SELECT MAX(LOC_PHY_ROW) AS MAXROWS,MAX(LOC_PHY_COL) AS MAXCOLS FROM LOCATION WHERE LOC_CODE IN (SELECT LOC_CODE FROM PICK_ORD_DET WHERE PICK_ORDER = ?) ";
//sql = " SELECT MAX(TO_NUMBER(LOC_PHY_ROW)) AS MAXROWS ,MAX(TO_NUMBER(LOC_PHY_COL)) AS MAXCOLS FROM LOCATION WHERE INV_STAT = 'ACTPK' ";
/*sql = " SELECT MAX(TO_NUMBER(CASE WHEN is_number(LOC_PHY_ROW) <> '1' THEN '0' ELSE LOC_PHY_ROW END)) AS MAXROWS, "
+" MAX(TO_NUMBER(CASE WHEN is_number(LOC_PHY_COL) <> '1' THEN '0' ELSE LOC_PHY_COL END)) AS MAXCOLS FROM LOCATION WHERE INV_STAT = 'ACTPK' ";*/
sql = " SELECT COUNT(DISTINCT LOC_PHY_ROW) AS MAXROWS,COUNT(DISTINCT LOC_PHY_COL) AS MAXCOLS FROM LOCATION WHERE INV_STAT = 'ACTPK' ";
pstmt = conn.prepareStatement( sql );
//pstmt.setString( 1, pickOrder );
rs = pstmt.executeQuery();
if( rs.next() )
{
rows = rs.getInt("MAXROWS");
cols = rs.getInt("MAXCOLS");
}
if(rs!=null)
{
rs.close();rs = null;
}
if(pstmt!=null)
{
pstmt.close();pstmt = null;
}
System.out.println("MaxRows["+rows+"] MaxCols["+cols+"]");
algObj.getLocationPickPath(rows, cols);
/*locWiseMapStr = locWiseMapStr + "{ "
+ "\"rows\" : "+rows+","
+ "\"cols\" : "+cols+",";*/
locWiseMapStr = locWiseMapStr + "{ "
+ "\"ROWS\" : "+rows+","
+ "\"COLS\" : "+cols+","
+ "\"LOCATION_INFO\" : [";
/*sql = " SELECT D.LOC_CODE,L.LOC_PHY_ROW,L.LOC_PHY_COL FROM PICK_ORD_HDR H, PICK_ORD_DET D, LOCATION L "
+ " WHERE H.PICK_ORDER = D.PICK_ORDER AND L.LOC_CODE = D.LOC_CODE AND H.PICK_ORDER = ? ORDER BY D.LOC_CODE";*/
/*sql = " SELECT D.LOC_CODE,L.LOC_PHY_ROW,L.LOC_PHY_COL FROM PICK_ORD_HDR H, PICK_ORD_DET D, LOCATION L "
+ " WHERE H.PICK_ORDER = D.PICK_ORDER AND L.LOC_CODE = D.LOC_CODE AND H.PICK_ORDER = ? ORDER BY L.LOC_PHY_COL ";*/
sql = " SELECT D.LOC_CODE,L.LOC_PHY_ROW,L.LOC_PHY_COL,I.ITEM_CODE,I.DESCR,SUM(D.QUANTITY) AS QUANTITY"
+ " FROM PICK_ORD_HDR H, PICK_ORD_DET D, LOCATION L, ITEM I "
+" WHERE H.PICK_ORDER = D.PICK_ORDER AND L.LOC_CODE = D.LOC_CODE AND I.ITEM_CODE = D.ITEM_CODE AND H.PICK_ORDER = ? "
+" GROUP BY D.LOC_CODE,L.LOC_PHY_ROW,L.LOC_PHY_COL,I.ITEM_CODE,I.DESCR ORDER BY L.LOC_PHY_COL ";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, pickOrder );
rs = pstmt.executeQuery();
while( rs.next() )
{
locCnt++;
locCode = checkNullAndTrim(rs.getString("LOC_CODE"));
locPhyRow = checkNullAndTrim(rs.getString("LOC_PHY_ROW"));
locPhyCol = checkNullAndTrim(rs.getString("LOC_PHY_COL"));
itemCode = checkNullAndTrim(rs.getString("ITEM_CODE"));
itemDescr = checkNullAndTrim(rs.getString("DESCR"));
quantity = rs.getDouble("QUANTITY");
toolTipData = "<span>Location Code: <i>"+locCode+"</i></span>"
+"<br></br>"
+"<span>Item Code: <i>"+itemCode+"</i></span>"
+"<br></br>"
+"<span>Item Descr: <i>"+itemDescr+"</i></span>"
+"<br></br>"
+"<span>Quantity: <i>"+quantity+"</i></span>";
//locWiseMapStr = locWiseMapStr + "\"Zone_"+locCnt+"\" : ["+locPhyRow+", "+locPhyCol+"],";
//locStr = locStr + locCode +"("+locPhyRow+","+locPhyCol+")-";
//locStr = locStr + locCode +","+itemCode+"["+itemDescr+"]"+",Qty["+quantity+"],"+"("+locPhyRow+","+locPhyCol+")-";
if(fromPickLoc == null || fromPickLoc.trim().length() == 0)
{
fromPickLoc = "00";
}
toPickLoc = locPhyRow + locPhyCol;
System.out.println("FromPickLoc["+fromPickLoc+"] and ToPickLoc["+toPickLoc+"]");
//pickPath = algObj.getPickPathStr(graph,fromPickLoc,toPickLoc);
pickPath = algObj.getPickPathStr(fromPickLoc,toPickLoc);
System.out.println("After getting pickPathStr="+pickPath);
locStr = locStr + "{"+
"\"TOOLTIP_DATA\":\""+toolTipData+"\","
+"\"LOC_ID\":\""+locPhyRow+","+locPhyCol+"\","
+"\"FLOW_PATH\":"+pickPath+""
+"},";
fromPickLoc = toPickLoc;
}
if(rs!=null)
{
rs.close();rs = null;
}
if(pstmt!=null)
{
pstmt.close();pstmt = null;
}
System.out.println("Loc count="+locCnt);
if(locCnt > 0)
{
locStr = locStr.substring(0, locStr.length() -1);
}
/*locWiseMapStr = locWiseMapStr +"\"paths\" : \""+locStr+"\""
+"}";*/
locWiseMapStr = locWiseMapStr + locStr +"]}";
System.out.println("@@Finally Location wise map str ["+locWiseMapStr+"])");
valueXmlString.append("<loc_wise_pickmap><![CDATA[" ).append(locWiseMapStr).append( "]]></loc_wise_pickmap>\r\n" );
//Changed by wasim on 15-02-2017 for showing location wise map [END]
valueXmlString.append( "<site_descr><![CDATA[").append( checkNull( siteDescr )).append( "]]></site_descr>\r\n" ); valueXmlString.append( "<site_descr><![CDATA[").append( checkNull( siteDescr )).append( "]]></site_descr>\r\n" );
valueXmlString.append( "<confirmed><![CDATA[").append("N").append( "]]></confirmed>\r\n" ); valueXmlString.append( "<confirmed><![CDATA[").append("N").append( "]]></confirmed>\r\n" );
valueXmlString.append( "<chg_user><![CDATA[").append( loginCode ).append( "]]></chg_user>\r\n" ); valueXmlString.append( "<chg_user><![CDATA[").append( loginCode ).append( "]]></chg_user>\r\n" );
...@@ -4389,7 +4588,7 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC ...@@ -4389,7 +4588,7 @@ public class PickIssIC extends ValidatorEJB implements PickIssICLocal, PickIssIC
throw new ITMException(e); throw new ITMException(e);
} }
} }
System.out.println( "valueXmlString.toString()>>>>>>>::"+valueXmlString.toString()); System.out.println( "Return from itemChange valueXmlString.toString()>>>>>>>::"+valueXmlString.toString());
return valueXmlString.toString(); return valueXmlString.toString();
} }
......
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