Commit a65f4387 authored by dpawar's avatar dpawar

Merge DDUK code


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@99124 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 1e9a1ebb
......@@ -17,6 +17,7 @@ import java.util.Date;
import javax.ejb.*;
import javax.naming.InitialContext;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import ibase.ejb.*;
......@@ -28,6 +29,7 @@ import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.wms.CommonWmsUtil;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.TransformerFactory;
......@@ -36,7 +38,9 @@ import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerConfigurationException;
import org.xml.sax.InputSource;
import java.net.InetAddress;
@javax.ejb.Stateless
......@@ -154,10 +158,16 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
NodeList parentList = null;
NodeList childList = null;
String resrvLocInvstat = "";
String casePickInvstat = "",deepStoreLoc = "";
String casePickInvstat = "",deepStoreLoc = "",activePickInvstat = "";
java.util.Date tranDateDt = null;
String prdCode = "";
double qtyDiffItem = 0;
double stockQuantity = 0;
double stockWeigth = 0;
double stockVolume = 0;
StringBuffer errStringXml = new StringBuffer("<?xml version=\"1.0\"?>\r\n<Root><Errors>");
String errorType = "", errCode = "";
ArrayList errList = new ArrayList();
......@@ -172,7 +182,13 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
String lpnNoto=""; //Added By Ashish on 24/Aug/12 for partial Grl Location. [WM2ESUN009]
PreparedStatement pstmtQtyVal =null; //Added By Ashish on 01/Sep/12 for partial Grl Location. [WM2ESUN009]
ResultSet rsQtyVal = null; //Added By Ashish on 01/Sep/12 for partial Grl Location. [WM2ESUN009]
String locCodefr = "";
// Changed by Jagruti, on 18-08-2015, Request ID: D15EKAT001
ArrayList<String> invstatOverrideList = new ArrayList<String>();
String invstatOverride = "";
// End by Jagruti, on 18-08-2015, Request ID: D15EKAT001
try
{
......@@ -186,10 +202,9 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
{
currentFormNo = Integer.parseInt( objContext );
}
parentList = currDom.getElementsByTagName( "Detail" + currentFormNo );
childList = null;
noOfParent = parentList.getLength();
noOfParent = parentList.getLength();
switch(currentFormNo)
{
......@@ -365,6 +380,129 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
// Added by Manish on 05/11/15 for DDWMS merging
projectName = distCommon.getDisparams("999999","PROJECT",conn);
if("DDUK".equalsIgnoreCase(projectName))
{
if( "item_code".equalsIgnoreCase( childNodeName ) )
{
itemCode = genericUtility.getColumnValue("item_code", allDom, "2" );
System.out.println("LPN Number=====>"+lpnNo);
// added by cpatil on 14-08-12 start
if(itemCode == null || itemCode.trim().length() == 0)
{
//changes by Dadaso pawar on 13/02/15 [Start]
//errList.add( "NULLLPNNO" );
errList.add( "VTITMNULL" );//Item code can not be null , Please specify appropriate Item code
//changes by Dadaso pawar on 13/02/15 [End]
errFields.add( childNodeName.toLowerCase() );
}
else
{
siteCode = genericUtility.getColumnValue("site_code", hdrDom );
System.out.println("siteCode Number=====>"+siteCode);
//Changed by Rohan on 21/07/12 for check stock that present only on grl location
//sql = "SELECT QUANTITY FROM STOCK WHERE SITE_CODE = ? AND LOT_SL = ? ";
sql = "SELECT QUANTITY FROM STOCK WHERE SITE_CODE = ? AND item_code = ? AND LOC_CODE in (select loc_code from location where inv_stat = ? ) and quantity > 0";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, siteCode );
pstmt.setString( 2, itemCode );
//Changed by Rohan on 21/07/12 for check stock that present only on grl location
pstmt.setString(3, grlLoc );
rs = pstmt.executeQuery();
if( rs.next() )
{
quantity = rs.getDouble(1);
}
else
{
//Changed by Rohan on 21/07/12 to change messages type
//errList.add( "VTSTK2" );
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial grl location [WM2ESUN009][START]*/
String sqlPartial ="SELECT QUANTITY FROM STOCK WHERE SITE_CODE = ? AND item_code = ? AND LOC_CODE in (select loc_code from location where inv_stat = ? ) and quantity > 0";
pstmtPgrl = conn.prepareStatement( sqlPartial );
pstmtPgrl.setString( 1, siteCode );
pstmtPgrl.setString( 2, itemCode );
pstmtPgrl.setString(3, partialGrlLoc);
rsPgrl = pstmtPgrl.executeQuery();
if(rsPgrl.next())
{
quantity = rsPgrl.getDouble(1);
}
else
{
//changes by Dadaso pawar on 13/02/15 [Start]
//errList.add( "VTLPNNTVAL" );
errList.add( "VTITNGRL" );//Item code not exist in general receiving location
//changes by Dadaso pawar on 13/02/15 [End]
errFields.add( childNodeName.toLowerCase() );
}
rsPgrl.close(); rsPgrl = null;
pstmtPgrl.close(); pstmtPgrl = null;
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial grl location [WM2ESUN009][END]*/
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
if( quantity == 0 )
{
errList.add( "VTSTK2" );
errFields.add( childNodeName.toLowerCase() );
}
//End changed by Gulzar on 5/12/2012
}// end of else
}
//changed by wasim to validate scanned location in form 2 on 18-05-2015 [START].
else if( "loc_code".equalsIgnoreCase( childNodeName ) )
{
locCodefr = genericUtility.getColumnValue("loc_code", allDom, "2" );
itemCode = genericUtility.getColumnValue("item_code", allDom, "2" );
//changed by wasim on 01-05-2015 to check if location code is null [START]
if( locCodefr == null || locCodefr.trim().length() == 0 )
{
System.out.println("Location not entered");
errList.add( "NULLLOCCD" );
errFields.add( childNodeName.toLowerCase() );
}
//changed by wasim on 01-05-2015 to check if location code is null [END]
else if(locCodefr.equals("GRL") || locCodefr.equals("PGRL"))
{
System.out.println("Location code scanned is"+locCodefr);
}
else
{
System.out.println("Wrong location code is scanned"+locCodefr);
errList.add( "VTGRLPGRL" );
errFields.add( childNodeName.toLowerCase() );
}
//sql = "select * from stock WHERE LOC_CODE = ? and item_code = ?";
sql = "select * from stock WHERE LOC_CODE = ? and item_code = ? and quantity > 0 ";// this is to check if quantity is 0 for item at that location.
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, locCodefr );
pstmt.setString( 2, itemCode );
rs = pstmt.executeQuery();
if( rs.next() )
{
System.out.println("Item exist in"+locCode);
}
else
{
System.out.println("item does not exist in"+locCode);
errList.add( "VTWRGLOC" );
errFields.add( childNodeName.toLowerCase() );
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
}
}
if( "lpn_no".equalsIgnoreCase( childNodeName ) && !"DDUK".equalsIgnoreCase(projectName) )
{
lpnNo = genericUtility.getColumnValue("lpn_no", allDom, "2" );
......@@ -454,6 +592,16 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
String isPartial="";
String scannedQuantity="";
double scannedQuantityD= 0.0;
//changed by Wasim on 14-04-2015 start.
double locWeigth = 0d;
double locVolume = 0d;
double itemVolume = 0d;
double itemWeight = 0d;
double totalItemWeigth = 0d;
double totalItemVolume = 0d;
//Added by Jagruti on 19-8-2015
String overrideInvst = "";
//changed by Wasim on 14-04-2015 end.'
childList = parentList.item( 0 ).getChildNodes();
noOfChilds = childList.getLength();
for ( int ctr = 0; ctr < noOfChilds; ctr++ ) //Loop for each node of current detail
......@@ -481,7 +629,7 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
partialGrlLoc = discommon.getDisparams("999999","PGRL_INVSTAT",conn);
partialResrvLoc = discommon.getDisparams("999999","PRSRV_INVSTAT",conn);
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial grl location [WM2ESUN009][END]*/
projectName = distCommon.getDisparams("999999","PROJECT",conn);
itemCode = genericUtility.getColumnValue("item_code", allDom, "3" );
locCode = genericUtility.getColumnValue("loc_code__fr", allDom, "3" );
siteCode = genericUtility.getColumnValue("site_code", hdrDom );
......@@ -523,7 +671,17 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
if("DDUK".equalsIgnoreCase(projectName))
{
//changes by Dadaso pawar on 13/02/15 [Start]
if(locCodeTo == null || locCodeTo.length() == 0)
{
errList.add( "VMLOCCNULL" ); //Location code to can not be null
errFields.add( childNodeName.toLowerCase() );
break;
}
}
//changes by Dadaso pawar on 13/02/15 [End]
if( !locTypeLocation.equalsIgnoreCase(locTypeItem) )
{
errList.add( "VMLOCTYP1" );
......@@ -541,244 +699,420 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
break;
}
//Changed By Pragyan 11-AUG-14 To check and Facility Master implementation.end
sql = "SELECT HOLD_QTY FROM STOCK WHERE ITEM_CODE = ? AND SITE_CODE = ?"
+ " AND LOC_CODE = ? AND lOT_NO = ? AND LOT_SL = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, itemCode );
pstmt.setString( 2, siteCode );
pstmt.setString( 3, locCode );
pstmt.setString( 4, lotNo );
pstmt.setString( 5, lpnNo );
rs = pstmt.executeQuery();
if( rs.next() )
//DD@@
if("DDUK".equalsIgnoreCase(projectName))
{
holdQty = rs.getDouble("HOLD_QTY");
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
// Changed by Jagruti, to bypass the weight & volume on 18-08-2015, Request ID: D15EKAT001
if(holdQty == 0)
{
invStatList.add(casePickInvstat);
}
invStatList.add(resrvLocInvstat);
invStatList.add(deepStoreLoc);
//Ended By Mahesh Patidar
overrideInvst = checkNullAndTrim(distCommon.getDisparams("999999","OVERRIDE_INVSTAT",conn));
System.out.println("overrideInvst------->>["+overrideInvst+"]");
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial grl location [WM2ESUN009][START]*/
if("Y".equalsIgnoreCase(isPartial))
{
invStatList.add(partialGrlLoc);
}
if(locCode.trim().equalsIgnoreCase(partialGrlLoc.trim()))
{
invStatList.add(partialResrvLoc);
}
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial grl location [WM2ESUN009][END]*/
String [] arrayInvstat = overrideInvst.split(",");
for(int i=0;i < arrayInvstat.length;i++)
{
invstatOverrideList.add(arrayInvstat[i]);
System.out.println("invstatOverrideList in array after spliting :::::: " +invstatOverrideList.add(arrayInvstat[i]));
}
sql = "SELECT INV_STAT FROM LOCATION WHERE LOC_CODE = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, locCodeTo);
rs = pstmt.executeQuery();
if(rs.next())
{
invstatOverride = checkNull(rs.getString("INV_STAT"));
}
if (pstmt != null){pstmt.close();pstmt = null;}
if (rs != null){rs.close();rs = null;}
if(invstatOverrideList.contains(invstatOverride))
{
System.out.println("locCodeTo is same as that of OVERRIDE_INVSTAT variable ::::::: ");
}
else
{
// End by Jagruti, to bypass the weight & volume on 18-08-2015, Request ID: D15EKAT001
sql = "SELECT SUM(QUANTITY) FROM STOCK WHERE ITEM_CODE <> ? AND SITE_CODE = ?"
+ " AND LOC_CODE = ? ";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, itemCode );
pstmt.setString( 2, siteCode );
pstmt.setString( 3, locCodeTo );
rs = pstmt.executeQuery();
if( rs.next() )
{
qtyDiffItem = rs.getDouble(1);
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
if(qtyDiffItem > 0)
{
errList.add( "INVLOCCODE" );
errFields.add( childNodeName.toLowerCase() );
break;
}
//changed by wasim to check GRL/PGRL location on 18-05-2015 [START]
if(checkNullAndTrim(locCode).equals("GRL"))
{
invStatList.add(casePickInvstat);
invStatList.add(resrvLocInvstat);
invStatList.add(deepStoreLoc);
}
else if(checkNullAndTrim(locCode).equals("PGRL"))
{
invStatList.add(activePickInvstat);
invStatList.add(partialResrvLoc);
}
//invStatList.add(casePickInvstat);
//invStatList.add(activePickInvstat);
//changed by wasim to check GRL/PGRL location on 18-05-2015 [END]
sql = "SELECT SINGLE_LOT_SL, ITEM_LOT_OPT, INV_STAT FROM LOCATION WHERE LOC_CODE = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, locCodeTo );
rs = pstmt.executeQuery();
if( rs.next() )
{
singleLotSl = checkNull(rs.getString("SINGLE_LOT_SL"));
itemLotOpt = checkNull(rs.getString("ITEM_LOT_OPT"));
invStat = checkNull(rs.getString("INV_STAT"));
}
else
{
errList.add( "INVLOCCODE" );
errFields.add( childNodeName.toLowerCase() );
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
System.out.println("@@invStatLIst="+invStatList);
System.out.println("@@invStat="+invStat);
if(!(invStatList.contains(invStat.trim())))
{
errList.add( "VTLOCCODE8" );
errFields.add( childNodeName.toLowerCase() );
}
//changed by Wasim on 14-04-2015 for checking weight and volume of item w.r.t suggested location start.
sql = "SELECT QUANTITY FROM STOCK WHERE ITEM_CODE = ? AND LOC_CODE = ? AND QUANTITY > 0";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, itemCode );
pstmt.setString( 2, locCodeTo );
rs = pstmt.executeQuery();
if( rs.next() )
{
stockQuantity = rs.getInt("QUANTITY");
HashMap itemVolMap = getItemVoumeMap(itemCode, "", conn);
itemVolume = (Double)itemVolMap.get("ITEM_SIZE");
itemWeight = (Double)itemVolMap.get("ITEM_WEIGHT");
HashMap locMap = new HashMap();
locMap = getLocationCapacity(locCodeTo,siteCode,conn);
locVolume = (Double)locMap.get("VOLUME");
locWeigth = (Double)locMap.get("MAX_WEIGHT");
totalItemWeigth = scannedQuantityD * itemWeight;
totalItemVolume = scannedQuantityD * itemVolume;
stockWeigth = stockQuantity * itemWeight;
stockVolume = stockQuantity * itemVolume;
System.out.println("In wfvaldata........");
System.out.println("Item Code is="+itemCode);
System.out.println("Single Item Weight="+itemWeight);
System.out.println("Single Item Volume="+itemVolume);
System.out.println("Total Item Weigth="+totalItemWeigth);
System.out.println("Total Item Volume="+totalItemVolume);
System.out.println("Stock Weigth="+stockWeigth);
System.out.println("Stock Volume="+stockVolume);
System.out.println("Suggested Location Weigth="+locWeigth);
System.out.println("Suggested Location Volume="+locVolume);
if((stockWeigth+totalItemWeigth) < locWeigth && (stockVolume+totalItemVolume) < locVolume)
{
System.out.println("Location is available"+locCodeTo);
}
else
{
System.out.println("Weigth and volume should be less than suggested location weight and volume.");
//changed by wasim on 01-06-2015 to insert data if location scanned in PGRL [START]
if(checkNullAndTrim(locCode).equals("GRL"))
{
System.out.println("Location code scanned is="+locCode);
errList.add( "VTWTVLM" );
errFields.add( childNodeName.toLowerCase() );
}
else
{
System.out.println("Location code scanned is="+locCode);
errList.add( "VTPGRLWT" );
errFields.add( childNodeName.toLowerCase() );
}
//changed by wasim on 01-06-2015 to insert data if location scanned in PGRL [START]
}
}
else
{
System.out.println("Record Not Found");
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
//changed by Wasim on 14-04-2015 for checking weight and volume of item w.r.t suggested location end.
} // Changed by Jagruti, to bypass the weight & volume on 18-08-2015, Request ID: D15EKAT001
sql = "SELECT SINGLE_LOT_SL, ITEM_LOT_OPT, INV_STAT FROM LOCATION WHERE LOC_CODE = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, locCodeTo );
rs = pstmt.executeQuery();
if( rs.next() )
{
singleLotSl = checkNull(rs.getString("SINGLE_LOT_SL"));
itemLotOpt = checkNull(rs.getString("ITEM_LOT_OPT"));
invStat = checkNull(rs.getString("INV_STAT"));
}
else
{
errList.add( "INVLOCCODE" );
errFields.add( childNodeName.toLowerCase() );
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
{
sql = "SELECT HOLD_QTY FROM STOCK WHERE ITEM_CODE = ? AND SITE_CODE = ?"
+ " AND LOC_CODE = ? AND lOT_NO = ? AND LOT_SL = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, itemCode );
pstmt.setString( 2, siteCode );
pstmt.setString( 3, locCode );
pstmt.setString( 4, lotNo );
pstmt.setString( 5, lpnNo );
rs = pstmt.executeQuery();
if( rs.next() )
{
holdQty = rs.getDouble("HOLD_QTY");
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
// if ( !invStat.trim().equalsIgnoreCase(resrvLocInvstat.trim()) )
if(!(invStatList.contains(invStat.trim())))//Changed By Mahesh Patidar on 23/06/12
{
errList.add( "VTLOCCODE8" );
errFields.add( childNodeName.toLowerCase() );
}
//Added By Mahesh Patidar on 29/06/12
System.out.println("casepickinvstat["+casePickInvstat+"] inv stat["+invStat+"]");
if(casePickInvstat.trim().equals(invStat.trim()) && holdQty > 0)
{
System.out.println("Case Pick Inv stat is equal to inv stat");
errList.add( "VTLOCCOD10" );
errFields.add( childNodeName.toLowerCase() );
}
//Ended By Mahesh Patidar
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial grl location [WM2ESUN009][START]*/
if("Y".equalsIgnoreCase(isPartial))
{
System.out.println("@@@@isPartial:["+isPartial+"]");
if(!(partialGrlLoc.trim().equals(invStat.trim())))
if(holdQty == 0)
{
System.out.println("@@@@partialGrlLoc: ["+partialGrlLoc+"] invStat: ["+invStat+"]");
errList.add( "VTLOCCOD11" );
errFields.add( childNodeName.toLowerCase() );
invStatList.add(casePickInvstat);
}
}
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial grl location [WM2ESUN009][END]*/
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial reserve location [WM2ESUN009][END]*/
if(locCode.trim().equalsIgnoreCase(partialGrlLoc.trim()))
{
if(!(partialResrvLoc.trim().equals(invStat.trim())))
invStatList.add(resrvLocInvstat);
invStatList.add(deepStoreLoc);
//Ended By Mahesh Patidar
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial grl location [WM2ESUN009][START]*/
if("Y".equalsIgnoreCase(isPartial))
{
System.out.println("@@@@partialGrlLoc: ["+partialResrvLoc+"] invStat: ["+invStat+"]");
errList.add( "VTLOCCOD12" );
invStatList.add(partialGrlLoc);
}
if(locCode.trim().equalsIgnoreCase(partialGrlLoc.trim()))
{
invStatList.add(partialResrvLoc);
}
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial grl location [WM2ESUN009][END]*/
sql = "SELECT SINGLE_LOT_SL, ITEM_LOT_OPT, INV_STAT FROM LOCATION WHERE LOC_CODE = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, locCodeTo );
rs = pstmt.executeQuery();
if( rs.next() )
{
singleLotSl = checkNull(rs.getString("SINGLE_LOT_SL"));
itemLotOpt = checkNull(rs.getString("ITEM_LOT_OPT"));
invStat = checkNull(rs.getString("INV_STAT"));
}
else
{
errList.add( "INVLOCCODE" );
errFields.add( childNodeName.toLowerCase() );
}
}
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial reserve location [WM2ESUN009][END]*/
/*Added by Ashish Sonawane on 24/Aug/12 for validating scanned lpn number for partial quantity [WM2ESUN009][START]*/
if("Y".equalsIgnoreCase(isPartial))
{
if(lpnNoto == null || lpnNoto.trim().length()==0)
rs.close(); rs = null;
pstmt.close(); pstmt = null;
// if ( !invStat.trim().equalsIgnoreCase(resrvLocInvstat.trim()) )
if(!(invStatList.contains(invStat.trim())))//Changed By Mahesh Patidar on 23/06/12
{
errList.add("NULLLPNNO");
errList.add( "VTLOCCODE8" );
errFields.add( childNodeName.toLowerCase() );
}
else if(lpnNo.trim().equalsIgnoreCase(lpnNoto.trim()))
//Added By Mahesh Patidar on 29/06/12
System.out.println("casepickinvstat["+casePickInvstat+"] inv stat["+invStat+"]");
if(casePickInvstat.trim().equals(invStat.trim()) && holdQty > 0)
{
errList.add( "DUPLPNNO" );
System.out.println("Case Pick Inv stat is equal to inv stat");
errList.add( "VTLOCCOD10" );
errFields.add( childNodeName.toLowerCase() );
}
String sqlQtyVal = "SELECT A.QUANTITY, A.ITEM_CODE, A.LOT_NO " +
" 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 ((CASE WHEN A.QUANTITY IS NULL THEN 0 ELSE A.QUANTITY END) - (CASE WHEN A.ALLOC_QTY IS NULL THEN 0 ELSE A.ALLOC_QTY END)) > 0 "+//Changed by gulzar on 1/12/2012
" AND A.lot_sl = ? ";
pstmtQtyVal = conn.prepareStatement(sqlQtyVal);
pstmtQtyVal.setString(1, lpnNo);//grlInvstat);
rsQtyVal = pstmtQtyVal.executeQuery();
if(rsQtyVal.next())
//Ended By Mahesh Patidar
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial grl location [WM2ESUN009][START]*/
if("Y".equalsIgnoreCase(isPartial))
{
quantity = rsQtyVal.getDouble("QUANTITY");
itemCode = rsQtyVal.getString("ITEM_CODE");
lotNo = rsQtyVal.getString("LOT_NO");
double packSize = getPackSize(itemCode,lotNo,conn);
if(packSize != 0.0)
{
if(( quantity % packSize ) != scannedQuantityD )
{
System.out.println("@@@@ Error Partial quantity : ["+( quantity % packSize )+" and scanned quantity : ["+scannedQuantityD+"]");
errList.add( "QTYMSMTCH" );
errFields.add( childNodeName.toLowerCase() );
}
else
{
System.out.println("@@@@ partial quantity:["+( quantity % packSize )+"] and scanned quantity : ["+scannedQuantityD+"]");
}
System.out.println("@@@@isPartial:["+isPartial+"]");
if(!(partialGrlLoc.trim().equals(invStat.trim())))
{
System.out.println("@@@@partialGrlLoc: ["+partialGrlLoc+"] invStat: ["+invStat+"]");
errList.add( "VTLOCCOD11" );
errFields.add( childNodeName.toLowerCase() );
}
}
else
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial grl location [WM2ESUN009][END]*/
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial reserve location [WM2ESUN009][END]*/
if(locCode.trim().equalsIgnoreCase(partialGrlLoc.trim()))
{
System.out.println("What is this??......No record for LPN in stock");
if(!(partialResrvLoc.trim().equals(invStat.trim())))
{
System.out.println("@@@@partialGrlLoc: ["+partialResrvLoc+"] invStat: ["+invStat+"]");
errList.add( "VTLOCCOD12" );
errFields.add( childNodeName.toLowerCase() );
}
}
rsQtyVal.close(); rsQtyVal = null;
pstmtQtyVal.close(); pstmtQtyVal = null;
/*Added by Ashish Sonawane on 23/Aug/12 for allowing partial reserve location [WM2ESUN009][END]*/
/*Added by Ashish Sonawane on 24/Aug/12 for validating scanned lpn number for partial quantity [WM2ESUN009][START]*/
if("Y".equalsIgnoreCase(isPartial))
{
if(lpnNoto == null || lpnNoto.trim().length()==0)
{
errList.add("NULLLPNNO");
errFields.add( childNodeName.toLowerCase() );
}
else if(lpnNo.trim().equalsIgnoreCase(lpnNoto.trim()))
{
errList.add( "DUPLPNNO" );
errFields.add( childNodeName.toLowerCase() );
}
}
/*Added by Ashish Sonawane on 24/Aug/12 for validating scanned lpn number for partial quantity [WM2ESUN009][END]*/
if( singleLotSl.trim().equalsIgnoreCase("Y") )
{
//Change by Rohan on 19/07/12 for bug Fixing
/*
String sqlQtyVal = "SELECT A.QUANTITY, A.ITEM_CODE, A.LOT_NO " +
" 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 ((CASE WHEN A.QUANTITY IS NULL THEN 0 ELSE A.QUANTITY END) - (CASE WHEN A.ALLOC_QTY IS NULL THEN 0 ELSE A.ALLOC_QTY END)) > 0 "+//Changed by gulzar on 1/12/2012
" AND A.lot_sl = ? ";
pstmtQtyVal = conn.prepareStatement(sqlQtyVal);
pstmtQtyVal.setString(1, lpnNo);//grlInvstat);
rsQtyVal = pstmtQtyVal.executeQuery();
if(rsQtyVal.next())
{
quantity = rsQtyVal.getDouble("QUANTITY");
itemCode = rsQtyVal.getString("ITEM_CODE");
lotNo = rsQtyVal.getString("LOT_NO");
double packSize = getPackSize(itemCode,lotNo,conn);
if(packSize != 0.0)
{
if(( quantity % packSize ) != scannedQuantityD )
{
System.out.println("@@@@ Error Partial quantity : ["+( quantity % packSize )+" and scanned quantity : ["+scannedQuantityD+"]");
errList.add( "QTYMSMTCH" );
errFields.add( childNodeName.toLowerCase() );
}
else
{
System.out.println("@@@@ partial quantity:["+( quantity % packSize )+"] and scanned quantity : ["+scannedQuantityD+"]");
}
}
}
else
{
System.out.println("What is this??......No record for LPN in stock");
}
rsQtyVal.close(); rsQtyVal = null;
pstmtQtyVal.close(); pstmtQtyVal = null;
}
/*Added by Ashish Sonawane on 24/Aug/12 for validating scanned lpn number for partial quantity [WM2ESUN009][END]*/
if( singleLotSl.trim().equalsIgnoreCase("Y") )
{
//Change by Rohan on 19/07/12 for bug Fixing
/*
sql = "SELECT QUANTITY FROM STOCK WHERE ITEM_CODE = ? AND SITE_CODE = ?"
+ " AND LOC_CODE = ? AND lOT_NO = ? AND LOT_SL = ?";
*/
//sql = "SELECT QUANTITY FROM STOCK WHERE ITEM_CODE = ? AND SITE_CODE = ?"
// + " AND LOC_CODE = ? AND lOT_NO = ? AND LOT_SL = ?";
*/
//sql = "SELECT QUANTITY FROM STOCK WHERE ITEM_CODE = ? AND SITE_CODE = ?"
// + " AND LOC_CODE = ? AND lOT_NO = ? AND LOT_SL = ?";
sql = "SELECT QUANTITY FROM STOCK WHERE SITE_CODE = ?"
+ " AND LOC_CODE = ? ORDER BY QUANTITY DESC";
sql = "SELECT QUANTITY FROM STOCK WHERE SITE_CODE = ?"
+ " AND LOC_CODE = ? ORDER BY QUANTITY DESC";
pstmt = conn.prepareStatement( sql );
//Change by Rohan on 19/07/12 for bug Fixing.start
/*
pstmt = conn.prepareStatement( sql );
//Change by Rohan on 19/07/12 for bug Fixing.start
/*
pstmt.setString( 1, itemCode );
pstmt.setString( 2, siteCode );
pstmt.setString( 3, locCodeTo );
pstmt.setString( 4, lotNo );
pstmt.setString( 5, lpnNo );
*/
pstmt.setString( 1, siteCode );
pstmt.setString( 2, locCodeTo );
//Change by Rohan on 19/07/12 for bug Fixing.end
*/
pstmt.setString( 1, siteCode );
pstmt.setString( 2, locCodeTo );
//Change by Rohan on 19/07/12 for bug Fixing.end
rs = pstmt.executeQuery();
if( rs.next() )
{
quantity = rs.getDouble("QUANTITY");
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
if( quantity != 0 )
{
errList.add( "VTLOCCODE1" );
errFields.add( childNodeName.toLowerCase() );
}
//Changed by Gulzar on 5/12/2012
String locCodeExist = "";
NodeList locCodeNodeList = null;
ArrayList dupLocCodeList = new ArrayList();
rs = pstmt.executeQuery();
if( rs.next() )
{
quantity = rs.getDouble("QUANTITY");
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
if( quantity != 0 )
{
errList.add( "VTLOCCODE1" );
errFields.add( childNodeName.toLowerCase() );
}
//Changed by Gulzar on 5/12/2012
String locCodeExist = "";
NodeList locCodeNodeList = null;
ArrayList dupLocCodeList = new ArrayList();
int noOfLocCode = 0;
int listLen = 0;
recCnt = 0;
int locCodeCntDb = 0;
int noOfLocCode = 0;
int listLen = 0;
recCnt = 0;
int locCodeCntDb = 0;
locCodeNodeList = allDom.getElementsByTagName("loc_code__to");
noOfLocCode = locCodeNodeList.getLength();
locCodeNodeList = allDom.getElementsByTagName("loc_code__to");
noOfLocCode = locCodeNodeList.getLength();
for( int idx = 0; idx < noOfLocCode; idx++ )
{
if ( locCodeNodeList.item( idx ).getFirstChild() != null )
for( int idx = 0; idx < noOfLocCode; idx++ )
{
dupLocCodeList.add((String)( locCodeNodeList.item( idx ).getFirstChild() ).getNodeValue());
if ( locCodeNodeList.item( idx ).getFirstChild() != null )
{
dupLocCodeList.add((String)( locCodeNodeList.item( idx ).getFirstChild() ).getNodeValue());
}
}
}
listLen = dupLocCodeList.size();
if ( listLen > 0 )
{
recCnt = 1;
for( int i = 0; i < listLen - 1; i++ )
listLen = dupLocCodeList.size();
if ( listLen > 0 )
{
for ( int j = i+1; j < listLen; j++ )
recCnt = 1;
for( int i = 0; i < listLen - 1; i++ )
{
if ( ((String)dupLocCodeList.get(i)).equalsIgnoreCase((String)dupLocCodeList.get(j)) )
for ( int j = i+1; j < listLen; j++ )
{
if ( ((String)dupLocCodeList.get(i)).equalsIgnoreCase((String)dupLocCodeList.get(j)) )
{
recCnt++;
break;
}
}
if( recCnt > 1 )
{
recCnt++;
break;
}
}
if( recCnt > 1 )
{
break;
}
}
}
System.out.println("recCnt = ["+recCnt+"]");
System.out.println("recCnt = ["+recCnt+"]");
if( recCnt > 1 )
{
errList.add( "DUPLOCCODE" );
errFields.add( childNodeName.toLowerCase() );
if( recCnt > 1 )
{
errList.add( "DUPLOCCODE" );
errFields.add( childNodeName.toLowerCase() );
}
//End changed by Gulzar on 5/12/2012
}
//End changed by Gulzar on 5/12/2012
}
else
{
if( itemLotOpt.trim().equals("0") ) // Validation for single item_code and single lot_no
else
{
/*--Commented by gulzar as it is not valid for single item and single lot
if( itemLotOpt.trim().equals("0") ) // Validation for single item_code and single lot_no
{
/*--Commented by gulzar as it is not valid for single item and single lot
sql = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO <> ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, itemCode );
......@@ -800,54 +1134,57 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
errList.add( "VTLOCCODE3" );
errFields.add( childNodeName.toLowerCase() );
}
*/
//Chnaged by Rohan on 21/07/12 for bug fixing
//sql = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE ITEM_CODE <> ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO <> ?";
sql = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO <> ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, itemCode );
pstmt.setString( 2, siteCode );
pstmt.setString( 3, locCodeTo );
pstmt.setString( 4, lotNo );
rs = pstmt.executeQuery();
if( rs.next() )
{
count = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
*/
//Chnaged by Rohan on 21/07/12 for bug fixing
//sql = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE ITEM_CODE <> ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO <> ?";
sql = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO <> ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, itemCode );
pstmt.setString( 2, siteCode );
pstmt.setString( 3, locCodeTo );
pstmt.setString( 4, lotNo );
rs = pstmt.executeQuery();
if( rs.next() )
{
count = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if( count > 0 )
{
errList.add( "VTLOCCODE2" );
errFields.add( childNodeName.toLowerCase() );
if( count > 0 )
{
errList.add( "VTLOCCODE2" );
errFields.add( childNodeName.toLowerCase() );
}
}
}
else if( itemLotOpt.trim().equals("1") ) //Validation for single item_code and multiple lot_no
{
sql = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE ITEM_CODE <> ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? ";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, itemCode );
pstmt.setString( 2, siteCode );
pstmt.setString( 3, locCodeTo );
pstmt.setString( 4, lotNo );
rs = pstmt.executeQuery();
if( rs.next() )
else if( itemLotOpt.trim().equals("1") ) //Validation for single item_code and multiple lot_no
{
count = rs.getInt("COUNT");
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
sql = "SELECT COUNT(*) AS COUNT FROM STOCK WHERE ITEM_CODE <> ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? ";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, itemCode );
pstmt.setString( 2, siteCode );
pstmt.setString( 3, locCodeTo );
pstmt.setString( 4, lotNo );
rs = pstmt.executeQuery();
if( rs.next() )
{
count = rs.getInt("COUNT");
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
if( count > 0 )
{
errList.add( "VTLOCCODE4" );
errFields.add( childNodeName.toLowerCase() );
}
}//end of itemLotOpt == "1"
}//else of singleLotSl =="Y"
if( count > 0 )
{
errList.add( "VTLOCCODE4" );
errFields.add( childNodeName.toLowerCase() );
}
}//end of itemLotOpt == "1"
}//else of singleLotSl =="Y"
}// end project code condition
}//End of case "loc_code__to"
}//End of for loop
}//case 2 end
......@@ -1079,6 +1416,7 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
//Changed by Ameya on 06/09/2012 for declare locType & locCode for Reserve location End
//ArrayList reservLocList = null;
String grlInvstat = "";
String pgrlInvstat = "";
String resrvLocInvstat = "";
String resvLocCode = "";
String stockSql = "",deepStoreLoc = "", casePickInvstat ="";
......@@ -1105,7 +1443,7 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
String defReasCode = null;
String loginCode = "";
String chgTerm = "";
ArrayList<String> invStatList = new ArrayList<String>();
ArrayList<String> invStatList = new ArrayList<String>();
try
{
String userId = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginCode" );
......@@ -1121,7 +1459,7 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
conn = connDriver.getConnectDB("DriverITM");
DistCommon distCommon = new DistCommon();
projectName = distCommon.getDisparams("999999","PROJECT",conn);
if( objContext != null && objContext.trim().length() > 0 )
{
currentFormNo = Integer.parseInt( objContext );
......@@ -1187,6 +1525,9 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
//changed by sankara on 10/09/2012 to assign deep storage,case pick location [Start]
deepStoreLoc = distCommon.getDisparams("999999","DEEP_STORE_INVSTAT",conn);
casePickInvstat = distCommon.getDisparams("999999","CASE_PICK_INVSTAT",conn);
//changed by wasim to get PGRL inventory status on 16-05-2015 [START].
pgrlInvstat = distCommon.getDisparams("999999","PGRL_INVSTAT",conn);
//changed by wasim to get PGRL inventory status on 16-05-2015 [END].
//Changed by Ameya on 14/09/2012
//invStatList.add(casePickInvstat);
invStatList.add(resrvLocInvstat);
......@@ -1282,18 +1623,38 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
//"AND (CASE WHEN B.STAT_TYPE IS NULL THEN ' ' ELSE B.STAT_TYPE END) <> 'S' " +
"AND (CASE WHEN B.STAT_TYPE IS NULL THEN ' ' ELSE B.STAT_TYPE END) <> ? " +
//"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) - (CASE WHEN A.ALLOC_QTY IS NULL THEN 0 ELSE A.ALLOC_QTY END)) > 0 "+//Changed by gulzar on 1/12/2012
"AND ((CASE WHEN A.QUANTITY IS NULL THEN 0 ELSE A.QUANTITY END) - (CASE WHEN A.ALLOC_QTY IS NULL THEN 0 ELSE A.ALLOC_QTY END)) > 0 ";//Changed by gulzar on 1/12/2012
//changed by sankara on 05/04/14 added login site code
//"AND D.INV_STAT = ? ";
" AND D.INV_STAT = ? AND A.SITE_CODE = ? ";
if("DDUK".equalsIgnoreCase(projectName))
{
sql = sql + " AND D.INV_STAT IN (?,?) AND A.SITE_CODE = ? ";
}
else
{
sql = sql + " AND D.INV_STAT = ? AND A.SITE_CODE = ? ";
}
pstmt = conn.prepareStatement(sql);
//changed by sankara on 05/04/14 added login site code and using preparestatement statrt.
//pstmt.setString(1, grlInvstat);
pstmt.setString(1, "Y");
pstmt.setString(2, "S");
pstmt.setString(3, grlInvstat);
pstmt.setString(4, siteCode);
if("DDUK".equalsIgnoreCase(projectName))
{
pstmt.setString(3, grlInvstat);
pstmt.setString(4, pgrlInvstat);
pstmt.setString(5, siteCode);
}
else
{
pstmt.setString(3, grlInvstat);
pstmt.setString(4, siteCode);
}
//changed by sankara on 05/04/14 added login site code and using preparestatement end.
rs = pstmt.executeQuery();
while (rs.next())
......@@ -1321,37 +1682,71 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
valueXmlString.append( "<Detail2 domID='"+ domID +"' selected=\"N\">\r\n" );
valueXmlString.append("<tran_id/>\r\n");
valueXmlString.append("<line_no><![CDATA[").append(domID).append("]]></line_no>\r\n");
valueXmlString.append("<line_no><![CDATA[").append(domID).append("]]></line_no>\r\n");
valueXmlString.append("<item_code><![CDATA[").append(checkNull(itemCode)).append("]]></item_code>\r\n");
valueXmlString.append("<item_descr><![CDATA[").append(checkNull(itemDescr)).append("]]></item_descr>\r\n");
valueXmlString.append("<loc_code__fr><![CDATA[").append(checkNull(locCode)).append("]]></loc_code__fr>\r\n");
valueXmlString.append("<loc_descr__fr><![CDATA[").append(checkNull(locDescr)).append("]]></loc_descr__fr>\r\n");
//commented and changed by chaitali 18/11/11 to set the available grl location to system suggested location
//valueXmlString.append("<loc_code__to><![CDATA[").append( reservLocList.get(count) ).append("]]></loc_code__to>\r\n");
//Commented By Mahesh Patidar on 23/06/12
//if ( locListSize > 0 && count < locListSize )
//{
//Changed by Ameya on 07/09/2012 setting resvLocCode
//valueXmlString.append("<loc_code__sys><![CDATA[").append(resvLocCode).append("]]></loc_code__sys>\r\n");
valueXmlString.append("<loc_code__sys><![CDATA[").append(locCodeNew).append("]]></loc_code__sys>\r\n");
//count++;
//}
//Ended By Mahesh Patidar
//End changes by chaitali on 18/11/11
valueXmlString.append("<loc_code__to><![CDATA[").append( "" ).append("]]></loc_code__to>\r\n");
valueXmlString.append("<lot_no__fr><![CDATA[").append(checkNull(lotNo)).append("]]></lot_no__fr>\r\n");
valueXmlString.append("<lot_no__to><![CDATA[").append(checkNull(lotNo)).append("]]></lot_no__to>\r\n");
valueXmlString.append("<lot_sl__fr><![CDATA[").append(checkNullAndTrim(lotSl)).append("]]></lot_sl__fr>\r\n");
valueXmlString.append("<lot_sl__to><![CDATA[").append(checkNullAndTrim(lotSl)).append("]]></lot_sl__to>\r\n");
valueXmlString.append("<quantity><![CDATA[").append(quantity).append("]]></quantity>\r\n");
valueXmlString.append("<unit><![CDATA[").append(unit).append("]]></unit>\r\n");
valueXmlString.append("<no_art><![CDATA[").append(noArt).append("]]></no_art>\r\n");
valueXmlString.append("<acct_code__cr><![CDATA[").append(checkNull(acctCode)).append("]]></acct_code__cr>\r\n");
valueXmlString.append("<cctr_code__cr><![CDATA[").append(checkNull(cctrCode)).append("]]></cctr_code__cr>\r\n");
valueXmlString.append("<acct_code__dr><![CDATA[").append(checkNull(acctCode)).append("]]></acct_code__dr>\r\n");
valueXmlString.append("<cctr_code__dr><![CDATA[").append(checkNull(cctrCode)).append("]]></cctr_code__dr>\r\n");
valueXmlString.append("<remarks/>\r\n");
valueXmlString.append("</Detail2>\r\n");
if("DDUK".equalsIgnoreCase(projectName))
{
valueXmlString.append("<loc_code><![CDATA[]]></loc_code>\r\n");
//changed by wasim to scan location code in 2nd screen on 18-05-2015 [START].
valueXmlString.append("<loc_code__fr><![CDATA[").append("").append("]]></loc_code__fr>\r\n");
//valueXmlString.append("<loc_code__fr><![CDATA[").append(checkNull(locCode)).append("]]></loc_code__fr>\r\n");
//changed by wasim to scan location code in 2nd screen on 18-05-2015 [END].
valueXmlString.append("<loc_descr__fr><![CDATA[").append(checkNull(locDescr)).append("]]></loc_descr__fr>\r\n");
valueXmlString.append("<loc_code__sys><![CDATA[").append(locCodeNew).append("]]></loc_code__sys>\r\n");
valueXmlString.append("<loc_code__to><![CDATA[").append( "" ).append("]]></loc_code__to>\r\n");
valueXmlString.append("<lot_no__fr><![CDATA[").append(" ").append("]]></lot_no__fr>\r\n");
valueXmlString.append("<lot_no__to><![CDATA[").append(" ").append("]]></lot_no__to>\r\n");
valueXmlString.append("<lot_sl__fr><![CDATA[").append(" ").append("]]></lot_sl__fr>\r\n");
valueXmlString.append("<lot_sl__to><![CDATA[").append(" ").append("]]></lot_sl__to>\r\n");
valueXmlString.append("<quantity><![CDATA[").append(quantity).append("]]></quantity>\r\n");
valueXmlString.append("<unit><![CDATA[").append(unit).append("]]></unit>\r\n");
valueXmlString.append("<no_art><![CDATA[").append(noArt).append("]]></no_art>\r\n");
valueXmlString.append("<acct_code__cr><![CDATA[").append(checkNull(acctCode)).append("]]></acct_code__cr>\r\n");
valueXmlString.append("<cctr_code__cr><![CDATA[").append(checkNull(cctrCode)).append("]]></cctr_code__cr>\r\n");
valueXmlString.append("<acct_code__dr><![CDATA[").append(checkNull(acctCode)).append("]]></acct_code__dr>\r\n");
valueXmlString.append("<cctr_code__dr><![CDATA[").append(checkNull(cctrCode)).append("]]></cctr_code__dr>\r\n");
valueXmlString.append("<remarks/>\r\n");
valueXmlString.append("</Detail2>\r\n");
}
else
{
//changed by wasim to scan location code in 2nd screen on 18-05-2015 [START].
valueXmlString.append("<loc_code__fr><![CDATA[").append("").append("]]></loc_code__fr>\r\n");
//valueXmlString.append("<loc_code__fr><![CDATA[").append(checkNull(locCode)).append("]]></loc_code__fr>\r\n");
//changed by wasim to scan location code in 2nd screen on 18-05-2015 [END].
//valueXmlString.append("<loc_code__fr><![CDATA[").append(checkNull(locCode)).append("]]></loc_code__fr>\r\n");
//commented and changed by chaitali 18/11/11 to set the available grl location to system suggested location
//valueXmlString.append("<loc_code__to><![CDATA[").append( reservLocList.get(count) ).append("]]></loc_code__to>\r\n");
//Commented By Mahesh Patidar on 23/06/12
//if ( locListSize > 0 && count < locListSize )
//{
//Changed by Ameya on 07/09/2012 setting resvLocCode
//valueXmlString.append("<loc_code__sys><![CDATA[").append(resvLocCode).append("]]></loc_code__sys>\r\n");
valueXmlString.append("<loc_code__sys><![CDATA[").append(locCodeNew).append("]]></loc_code__sys>\r\n");
//count++;
//}
//Ended By Mahesh Patidar
//End changes by chaitali on 18/11/11
valueXmlString.append("<loc_code__to><![CDATA[").append( "" ).append("]]></loc_code__to>\r\n");
valueXmlString.append("<lot_no__fr><![CDATA[").append(checkNull(lotNo)).append("]]></lot_no__fr>\r\n");
valueXmlString.append("<lot_no__to><![CDATA[").append(checkNull(lotNo)).append("]]></lot_no__to>\r\n");
valueXmlString.append("<lot_sl__fr><![CDATA[").append(checkNullAndTrim(lotSl)).append("]]></lot_sl__fr>\r\n");
valueXmlString.append("<lot_sl__to><![CDATA[").append(checkNullAndTrim(lotSl)).append("]]></lot_sl__to>\r\n");
valueXmlString.append("<quantity><![CDATA[").append(quantity).append("]]></quantity>\r\n");
valueXmlString.append("<unit><![CDATA[").append(unit).append("]]></unit>\r\n");
valueXmlString.append("<no_art><![CDATA[").append(noArt).append("]]></no_art>\r\n");
valueXmlString.append("<acct_code__cr><![CDATA[").append(checkNull(acctCode)).append("]]></acct_code__cr>\r\n");
valueXmlString.append("<cctr_code__cr><![CDATA[").append(checkNull(cctrCode)).append("]]></cctr_code__cr>\r\n");
valueXmlString.append("<acct_code__dr><![CDATA[").append(checkNull(acctCode)).append("]]></acct_code__dr>\r\n");
valueXmlString.append("<cctr_code__dr><![CDATA[").append(checkNull(cctrCode)).append("]]></cctr_code__dr>\r\n");
valueXmlString.append("<remarks/>\r\n");
valueXmlString.append("</Detail2>\r\n");
}
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
......@@ -1375,6 +1770,8 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
}// case 2
case 3:
{
// Changed by Manish on 05/11/15 for DDWMS merging [start]
projectName = distCommon.getDisparams("999999","PROJECT",conn);
if( currentColumn.trim().equalsIgnoreCase( "itm_default" ) )
{
// reservLocList = new ArrayList(); //Commented By Mahesh Patidar on 23/06/12
......@@ -1394,13 +1791,14 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
}
System.out.println("in case 3:::::"+siteCode);
//end Changed by Dhanraj on 20-SEP-14 get site_code and set sql.
itemCode = checkNull(genericUtility.getColumnValue("item_code", allDom, "2" ));
String locCodeScanned = genericUtility.getColumnValue("loc_code", allDom,"2");
lotSl = checkNull(genericUtility.getColumnValue("lpn_no", allDom, "2" ));
//invStatList.add(casePickInvstat); // 13/09/12 manoharan
invStatList.add(resrvLocInvstat);
invStatList.add(deepStoreLoc);
System.out.println("manohar 24/06/12 LPN No [ "+lotSl + "]");
//Commented and changes below by gulzar on 12/23/2011
/*
......@@ -1506,13 +1904,28 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
"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) - (CASE WHEN A.ALLOC_QTY IS NULL THEN 0 ELSE A.ALLOC_QTY END)) > 0 "+//Changed by gulzar on 1/12/2012
"AND A.lot_sl = ? " +
//Changed by Dharnaj on 20-SEP-14
"AND A.SITE_CODE = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lotSl);//grlInvstat);
pstmt.setString(2, siteCode);
"AND ((CASE WHEN A.QUANTITY IS NULL THEN 0 ELSE A.QUANTITY END) - (CASE WHEN A.ALLOC_QTY IS NULL THEN 0 ELSE A.ALLOC_QTY END)) > 0 ";//Changed by gulzar on 1/12/2012
if("DDUK".equalsIgnoreCase(projectName))
{
sql = sql + "AND A.item_code = ? " +
" AND A.SITE_CODE = ? " +
" AND A.LOC_CODE = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemCode);//grlInvstat);
pstmt.setString(2, siteCode);
pstmt.setString(3, locCodeScanned);
}
else
{
sql = sql + " AND A.lot_sl = ? " +
//Changed by Dharnaj on 20-SEP-14
" AND A.SITE_CODE = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lotSl);//grlInvstat);
pstmt.setString(2, siteCode);
}
rs = pstmt.executeQuery();
while (rs.next())
{
......@@ -1537,6 +1950,8 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
/*Added by Ashish Sonawane on 23/Aug/12 for checking partial quantity [WM2ESUN009][START] */
String isPartial = "";
System.out.println("@@@@locCode:["+locCode+"] partialGrlLoc:["+partialGrlLoc+"] , loc");
if(!"DDUK".equalsIgnoreCase(projectName))
{
//if(!(locCode.trim().equalsIgnoreCase(partialGrlLoc.trim())))
if(!(locInvStat.trim().equalsIgnoreCase(partialGrlLoc.trim())))
{
......@@ -1563,6 +1978,7 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
{
isPartial="N";
}
}
/*Added by Ashish Sonawane on 23/Aug/12 for checking partial quantity [WM2ESUN009][END] */
//Changed by Ameya on 06/09/2012 setting resrvLoc
......@@ -1572,72 +1988,98 @@ public class StockTransferGrlIC extends ValidatorEJB implements StockTransferGrl
//locCodeNew = getLocCode( invStatList, locType, locPrveZone, conn)
//locCodeNew = getLocCode(locInvStat, invStatList, locType, locPrveZone, conn);
// Changed by Manish on 05/11/15 for DDWMS merging [start]
projectName = distCommon.getDisparams("999999","PROJECT",conn);
if("DDUK".equalsIgnoreCase(projectName))
{
domID++;
locCodeNew = getLocCodeForDDUK(locInvStat, invStatList, locType, locPrveZone,siteCode,itemCode,quantity,noArt,conn);
valueXmlString.append( "<Detail3 domID='"+ domID +"' selected=\"N\">\r\n" );
valueXmlString.append("<tran_id/>\r\n");
valueXmlString.append("<line_no><![CDATA[").append(domID).append("]]></line_no>\r\n");
valueXmlString.append("<item_code><![CDATA[").append(checkNull(itemCode)).append("]]></item_code>\r\n");
valueXmlString.append("<item_descr><![CDATA[").append(checkNull(itemDescr)).append("]]></item_descr>\r\n");
valueXmlString.append("<loc_code__fr><![CDATA[").append(checkNull(locCode)).append("]]></loc_code__fr>\r\n");
valueXmlString.append("<loc_descr__fr><![CDATA[").append(checkNull(locDescr)).append("]]></loc_descr__fr>\r\n");
valueXmlString.append("<loc_code__sys><![CDATA[").append(checkNullAndTrim(locCodeNew)).append("]]></loc_code__sys>\r\n");
valueXmlString.append("<loc_code__to><![CDATA[").append( checkNullAndTrim(locCodeNew)).append("]]></loc_code__to>\r\n");
valueXmlString.append("<lot_no__fr><![CDATA[").append(" ").append("]]></lot_no__fr>\r\n");
valueXmlString.append("<lot_no__to><![CDATA[").append(" ").append("]]></lot_no__to>\r\n");
valueXmlString.append("<lot_sl__fr><![CDATA[").append(" ").append("]]></lot_sl__fr>\r\n");
valueXmlString.append("<lot_sl__to><![CDATA[").append(" ").append("]]></lot_sl__to>\r\n");
valueXmlString.append("<quantity><![CDATA[").append(quantity).append("]]></quantity>\r\n");
valueXmlString.append("<unit><![CDATA[").append(unit).append("]]></unit>\r\n");
valueXmlString.append("<no_art><![CDATA[").append(1).append("]]></no_art>\r\n");
valueXmlString.append("<acct_code__cr><![CDATA[").append(checkNull(acctCode)).append("]]></acct_code__cr>\r\n");
valueXmlString.append("<cctr_code__cr><![CDATA[").append(checkNull(cctrCode)).append("]]></cctr_code__cr>\r\n");
valueXmlString.append("<acct_code__dr><![CDATA[").append(checkNull(acctCode)).append("]]></acct_code__dr>\r\n");
valueXmlString.append("<cctr_code__dr><![CDATA[").append(checkNull(cctrCode)).append("]]></cctr_code__dr>\r\n");
valueXmlString.append("<remarks/>\r\n");
valueXmlString.append("<ispartial><![CDATA[").append(isPartial).append("]]></ispartial>\r\n");
valueXmlString.append("</Detail3>\r\n");
}
else
{
locCodeNew = getLocCode(locInvStat, invStatList, locType, locPrveZone,siteCode, conn);
domID++;
valueXmlString.append( "<Detail3 domID='"+ domID +"' selected=\"N\">\r\n" );
valueXmlString.append("<tran_id/>\r\n");
valueXmlString.append("<line_no><![CDATA[").append(domID).append("]]></line_no>\r\n");
valueXmlString.append("<item_code><![CDATA[").append(checkNull(itemCode)).append("]]></item_code>\r\n");
valueXmlString.append("<item_descr><![CDATA[").append(checkNull(itemDescr)).append("]]></item_descr>\r\n");
valueXmlString.append("<loc_code__fr><![CDATA[").append(checkNull(locCode)).append("]]></loc_code__fr>\r\n");
valueXmlString.append("<loc_descr__fr><![CDATA[").append(checkNull(locDescr)).append("]]></loc_descr__fr>\r\n");
//commented and changed by chaitali 18/11/11 to set the available grl location to system suggested location
//valueXmlString.append("<loc_code__to><![CDATA[").append( reservLocList.get(count) ).append("]]></loc_code__to>\r\n");
//Commented By Mahesh Patidar on 23/06/12
//if ( locListSize > 0 && count < locListSize )
//{
//valueXmlString.append("<loc_code__sys><![CDATA[").append(resvLocCode).append("]]></loc_code__sys>\r\n"); //Commented By Ashish Sonawane on 23/Aug/12 for partial GRL [WM2ESUN009]
//count++;
/* Added by Ashish Sonawane on 23/Aug/12 for partial GRL location ,suggesting partial GRL location [WM2ESUN009][START]*/
// if("Y".equalsIgnoreCase(isPartial))
//{
//valueXmlString.append("<loc_code__sys><![CDATA[").append(partialGrlLoc).append("]]></loc_code__sys>\r\n");
//}
//else
//{
//Changed by Ameya on 07/09/2012 setting resvLocCode
//valueXmlString.append("<loc_code__sys><![CDATA[").append(resvLocCode).append("]]></loc_code__sys>\r\n");
valueXmlString.append("<loc_code__sys><![CDATA[").append(locCodeNew).append("]]></loc_code__sys>\r\n");
// }
/* Added by Ashish Sonawane on 23/Aug/12 for partial GRL location ,suggesting partial GRL location [WM2ESUN009][END]*/
//}
//Ended By Mahesh Patidar
//End changes by chaitali on 18/11/11
valueXmlString.append("<loc_code__to><![CDATA[").append( "" ).append("]]></loc_code__to>\r\n");
valueXmlString.append("<lot_no__fr><![CDATA[").append(checkNull(lotNo)).append("]]></lot_no__fr>\r\n");
valueXmlString.append("<lot_no__to><![CDATA[").append(checkNull(lotNo)).append("]]></lot_no__to>\r\n");
valueXmlString.append("<lot_sl__fr><![CDATA[").append(checkNullAndTrim(lotSl)).append("]]></lot_sl__fr>\r\n");
valueXmlString.append("<lot_sl__to><![CDATA[").append(checkNullAndTrim(lotSl)).append("]]></lot_sl__to>\r\n");
valueXmlString.append("<quantity><![CDATA[").append(quantity).append("]]></quantity>\r\n");
valueXmlString.append("<unit><![CDATA[").append(unit).append("]]></unit>\r\n");
/* Added by Ashish Sonawane on 07-sep-12 as per Manoharan Sir in case of partial GRL no_art to be set as quantity [START] */
if("Y".equalsIgnoreCase(isPartial))
{
valueXmlString.append("<no_art><![CDATA[").append(quantity).append("]]></no_art>\r\n");
}
else
{
valueXmlString.append("<no_art><![CDATA[").append(noArt).append("]]></no_art>\r\n");
}
/* Added by Ashish Sonawane on 07-sep-12 as per Manoharan Sir in case of partial GRL no_art to be set as quantity [END] */
valueXmlString.append("<acct_code__cr><![CDATA[").append(checkNull(acctCode)).append("]]></acct_code__cr>\r\n");
valueXmlString.append("<cctr_code__cr><![CDATA[").append(checkNull(cctrCode)).append("]]></cctr_code__cr>\r\n");
valueXmlString.append("<acct_code__dr><![CDATA[").append(checkNull(acctCode)).append("]]></acct_code__dr>\r\n");
valueXmlString.append("<cctr_code__dr><![CDATA[").append(checkNull(cctrCode)).append("]]></cctr_code__dr>\r\n");
valueXmlString.append("<remarks/>\r\n");
valueXmlString.append("<ispartial><![CDATA[").append(isPartial).append("]]></ispartial>\r\n");
valueXmlString.append("</Detail3>\r\n");
}
// Changed by Manish on 05/11/15 for DDWMS merging [end]
domID++;
valueXmlString.append( "<Detail3 domID='"+ domID +"' selected=\"N\">\r\n" );
valueXmlString.append("<tran_id/>\r\n");
valueXmlString.append("<line_no><![CDATA[").append(domID).append("]]></line_no>\r\n");
valueXmlString.append("<item_code><![CDATA[").append(checkNull(itemCode)).append("]]></item_code>\r\n");
valueXmlString.append("<item_descr><![CDATA[").append(checkNull(itemDescr)).append("]]></item_descr>\r\n");
valueXmlString.append("<loc_code__fr><![CDATA[").append(checkNull(locCode)).append("]]></loc_code__fr>\r\n");
valueXmlString.append("<loc_descr__fr><![CDATA[").append(checkNull(locDescr)).append("]]></loc_descr__fr>\r\n");
//commented and changed by chaitali 18/11/11 to set the available grl location to system suggested location
//valueXmlString.append("<loc_code__to><![CDATA[").append( reservLocList.get(count) ).append("]]></loc_code__to>\r\n");
//Commented By Mahesh Patidar on 23/06/12
//if ( locListSize > 0 && count < locListSize )
//{
//valueXmlString.append("<loc_code__sys><![CDATA[").append(resvLocCode).append("]]></loc_code__sys>\r\n"); //Commented By Ashish Sonawane on 23/Aug/12 for partial GRL [WM2ESUN009]
//count++;
/* Added by Ashish Sonawane on 23/Aug/12 for partial GRL location ,suggesting partial GRL location [WM2ESUN009][START]*/
// if("Y".equalsIgnoreCase(isPartial))
//{
//valueXmlString.append("<loc_code__sys><![CDATA[").append(partialGrlLoc).append("]]></loc_code__sys>\r\n");
//}
//else
//{
//Changed by Ameya on 07/09/2012 setting resvLocCode
//valueXmlString.append("<loc_code__sys><![CDATA[").append(resvLocCode).append("]]></loc_code__sys>\r\n");
valueXmlString.append("<loc_code__sys><![CDATA[").append(locCodeNew).append("]]></loc_code__sys>\r\n");
// }
/* Added by Ashish Sonawane on 23/Aug/12 for partial GRL location ,suggesting partial GRL location [WM2ESUN009][END]*/
//}
//Ended By Mahesh Patidar
//End changes by chaitali on 18/11/11
valueXmlString.append("<loc_code__to><![CDATA[").append( "" ).append("]]></loc_code__to>\r\n");
valueXmlString.append("<lot_no__fr><![CDATA[").append(checkNull(lotNo)).append("]]></lot_no__fr>\r\n");
valueXmlString.append("<lot_no__to><![CDATA[").append(checkNull(lotNo)).append("]]></lot_no__to>\r\n");
valueXmlString.append("<lot_sl__fr><![CDATA[").append(checkNullAndTrim(lotSl)).append("]]></lot_sl__fr>\r\n");
valueXmlString.append("<lot_sl__to><![CDATA[").append(checkNullAndTrim(lotSl)).append("]]></lot_sl__to>\r\n");
valueXmlString.append("<quantity><![CDATA[").append(quantity).append("]]></quantity>\r\n");
valueXmlString.append("<unit><![CDATA[").append(unit).append("]]></unit>\r\n");
/* Added by Ashish Sonawane on 07-sep-12 as per Manoharan Sir in case of partial GRL no_art to be set as quantity [START] */
if("Y".equalsIgnoreCase(isPartial))
{
valueXmlString.append("<no_art><![CDATA[").append(quantity).append("]]></no_art>\r\n");
}
else
{
valueXmlString.append("<no_art><![CDATA[").append(noArt).append("]]></no_art>\r\n");
}
/* Added by Ashish Sonawane on 07-sep-12 as per Manoharan Sir in case of partial GRL no_art to be set as quantity [END] */
valueXmlString.append("<acct_code__cr><![CDATA[").append(checkNull(acctCode)).append("]]></acct_code__cr>\r\n");
valueXmlString.append("<cctr_code__cr><![CDATA[").append(checkNull(cctrCode)).append("]]></cctr_code__cr>\r\n");
valueXmlString.append("<acct_code__dr><![CDATA[").append(checkNull(acctCode)).append("]]></acct_code__dr>\r\n");
valueXmlString.append("<cctr_code__dr><![CDATA[").append(checkNull(cctrCode)).append("]]></cctr_code__dr>\r\n");
valueXmlString.append("<remarks/>\r\n");
valueXmlString.append("<ispartial><![CDATA[").append(isPartial).append("]]></ispartial>\r\n");
valueXmlString.append("</Detail3>\r\n");
}
rs.close(); rs = null;
pstmt.close(); pstmt = null;
......
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