Commit fd30b106 authored by prane's avatar prane

Adjustment receipt - no_art calculation to consider item_lot_packsize,...

Adjustment receipt - no_art calculation to consider item_lot_packsize, quantity / shipper_size to be considered, if not defined to take from packing last to be shipper_size from item


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@200624 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 35c92fda
...@@ -20,6 +20,7 @@ import java.sql.PreparedStatement; ...@@ -20,6 +20,7 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.SQLPermission; import java.sql.SQLPermission;
import java.text.NumberFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import javax.ejb.Stateless; import javax.ejb.Stateless;
...@@ -1155,9 +1156,9 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj ...@@ -1155,9 +1156,9 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj
if( rs1.next()) if( rs1.next())
{ {
System.out.println("intered in result set hhho.."); //System.out.println("intered in result set hhho..");
siteDescr= checkNull(rs1.getString("descr")); siteDescr= checkNull(rs1.getString("descr"));
System.out.println("intered in rs site descr hhho.."+siteDescr); System.out.println("item_default::"+siteDescr);
} }
rs1.close(); rs1.close();
rs1 = null; rs1 = null;
...@@ -1225,9 +1226,9 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj ...@@ -1225,9 +1226,9 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj
if( rs1.next()) if( rs1.next())
{ {
System.out.println("intered in result set hhho.."); //System.out.println("intered in result set hhho..");
siteItmDescr= checkNull(rs1.getString("descr")); siteItmDescr= checkNull(rs1.getString("descr"));
System.out.println("intered in rs site descr hhho.."+siteItmDescr); System.out.println("site_code."+siteItmDescr);
} }
rs1.close(); rs1.close();
rs1 = null; rs1 = null;
...@@ -1245,9 +1246,9 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj ...@@ -1245,9 +1246,9 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj
if( rs1.next()) if( rs1.next())
{ {
System.out.println("intered in result set hhho.."); //System.out.println("intered in result set hhho..");
deptDescr= checkNull(rs1.getString("descr")); deptDescr= checkNull(rs1.getString("descr"));
System.out.println("intered in rs dept descr hhho.."+deptDescr); System.out.println("dept_code"+deptDescr);
} }
rs1.close(); rs1.close();
rs1 = null; rs1 = null;
...@@ -1611,206 +1612,258 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj ...@@ -1611,206 +1612,258 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj
itemCodeDom=checkNull(genericUtility.getColumnValue("item_code",dom)); itemCodeDom=checkNull(genericUtility.getColumnValue("item_code",dom));
lotNo=checkNull(genericUtility.getColumnValue("lot_no",dom)); lotNo=checkNull(genericUtility.getColumnValue("lot_no",dom));
packCode=checkNull(genericUtility.getColumnValue("pack_code",dom)); packCode=checkNull(genericUtility.getColumnValue("pack_code",dom));
System.out.println("Pavan Rane DOM[ "+genericUtility.serializeDom(dom)+"]\n\n\n");
if(!(packCode==null || packCode.trim().length()>0)) //Pavan R on may19[no of art to consider from item_lot_packsize, item and if not found then packing master]
{ double noOfArt = 0d, shipperSize = 0d;
sqlCapacity="select capacity from packing where pack_code = ? "; sql = "select (case when shipper_size is null then 0 else shipper_size end) as shipper_size, "
pstmt1=conn.prepareStatement(sqlCapacity); + "(case when gross_weight is null then 0 else gross_weight end) as lc_gross_weigth, "
pstmt1.setString(1,packCode); + "(case when net_weight is null then 0 else net_weight end) as lc_net_weight "
rs1 = pstmt1.executeQuery(); + "from item_lot_packsize where item_code = ? "
+ "and ? >= lot_no__from and ? <= lot_no__to";
if( rs1.next()) pstmt = conn.prepareStatement(sql);
{ pstmt.setString(1, itemCodeDom);
System.out.println("intered in result set hhho.."); pstmt.setString(2, lotNo);
capacity= checkNull(rs1.getString("capacity")); pstmt.setString(3, lotNo);
System.out.println("intered in rs item descr hhho.."+capacity); rs = pstmt.executeQuery();
} if(rs.next())
rs1.close(); {
rs1 = null; shipperSize = rs.getDouble("shipper_size");
pstmt1.close(); mGrossWeight= rs.getDouble("LC_GROSS_WEIGTH");
pstmt1=null; mNetWeight= rs.getDouble("LC_NET_WEIGHT");
if(capacity.trim().length() > 0 ) System.out.println("Pavan R shipperSize["+shipperSize+"] grossWeight [ "+grossWeight+" ] netWeight[ "+netWeight+" ]");
{ if (shipperSize > 0)
mCapacity=Double.parseDouble(capacity); {
} double mod = mQty/shipperSize;
noOfArt = getRndamt(mod , "X", 1);
System.out.println("Pavan R noOfArt["+noOfArt+"]");
valueXmlString.append("<no_art><![CDATA[").append(noOfArt).append("]]></no_art>\r\n");
} if(noOfArt > 0)
if((packCode!=null && packCode.trim().length()>0) && (capacity !=null && capacity.trim().length()>0)) {
{ //mGrosswt = noOfArt * mGrossWeight;
sqlLcMode="SELECT FN_MOD( ? ,? ) AS LC_MODE FROM DUAL "; mGrosswt = ((mGrossWeight/shipperSize) * mQty);
pstmt1=conn.prepareStatement(sqlLcMode); //mNetWt = noOfArt * mNetWeight;
pstmt1.setString(1,qty); mNetWt = ((mNetWeight/shipperSize) * mQty);
pstmt1.setString(2,capacity); System.out.println("Pavan R mGrosswt [ "+mGrosswt+" ]");
rs1 = pstmt1.executeQuery(); if(mGrossWeight > 0)
{
if( rs1.next()) valueXmlString.append("<gross_weight ><![CDATA[").append(getRequiredDecimal(mGrosswt,3)).append("]]></gross_weight>\r\n");
{ valueXmlString.append("<net_weight ><![CDATA[").append(getRequiredDecimal(mNetWt,3)).append("]]></net_weight>\r\n");
System.out.println("intered in result set hhho.."); mTareWt=mGrosswt - mNetWt;
lcMode= checkNull(rs1.getString("LC_MODE")); System.out.println("Pavan R mGrossWeight > 0 mTareWt [ "+mTareWt+" ]");
System.out.println("intered in rs item descr hhho.."+lcMode); valueXmlString.append("<tare_weight ><![CDATA[").append(getRequiredDecimal(mTareWt, 3)).append("]]></tare_weight>\r\n");
} }
rs1.close(); } //if(noOfArt > 0)
rs1 = null; }//if(shipperSize > 0)
pstmt1.close(); }
pstmt1=null; rs.close();
rs = null;
if(lcMode.length()>0) pstmt.close();
{ pstmt = null;
mNoart=(mQty / mCapacity) + 1; //in pb int is used before open brackets if(shipperSize == 0)
} {
else System.out.println("Pavan Rane After ShipperSize ==0 PackingCode ["+packCode+"]");
{ //if(!(packCode==null || packCode.trim().length()>0))
mNoart=(mQty / mCapacity) ; //in pb int is used before open brackets //Pavan R end
} if(packCode != null && packCode.trim().length()>0)
valueXmlString.append("<no_art ><![CDATA[").append(mNoart).append("]]></no_art>\r\n");
if(( mNoart > 0))
{
sqlLcMode="SELECT (CASE WHEN GROSS_WEIGHT IS NULL THEN 0 ELSE GROSS_WEIGHT END) AS LC_GROSS_WEIGTH, (CASE WHEN NET_WEIGHT IS NULL THEN 0 ELSE NET_WEIGHT END) AS LC_NET_WEIGHT FROM ITEM_LOT_PACKSIZE WHERE ITEM_CODE = ? AND ? BETWEEN LOT_NO__FROM AND LOT_NO__TO ";
pstmt1=conn.prepareStatement(sqlLcMode);
pstmt1.setString(1,itemCodeDom);
pstmt1.setString(2,lotNo);
rs1 = pstmt1.executeQuery();
if( rs1.next())
{
System.out.println("intered in result set hhho..");
grossWeight= checkNull(rs1.getString("LC_GROSS_WEIGTH"));
netWeight= checkNull(rs1.getString("LC_NET_WEIGHT"));
System.out.println("intered in rs grossWeight hhho.."+grossWeight);
System.out.println("intered in rs netWeight hhho.."+netWeight);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1=null;
if(grossWeight.trim().length() > 0)
{ {
mGrossWeight=Double.parseDouble(grossWeight); double mlcMode = 0d;
sqlCapacity="select capacity from packing where pack_code = ? ";
pstmt1=conn.prepareStatement(sqlCapacity);
pstmt1.setString(1,packCode);
rs1 = pstmt1.executeQuery();
if( rs1.next())
{
//capacity= checkNull(rs1.getString("capacity"));
mCapacity= rs1.getDouble("capacity");
System.out.println("Pavan R Capacity::["+mCapacity+"]");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1=null;
/*if(capacity.trim().length() > 0 )
{
mCapacity=Double.parseDouble(capacity);
}*/
} }
if(netWeight.trim().length() > 0) //if((packCode!=null && packCode.trim().length()>0) && (capacity !=null && capacity.trim().length()>0))
if((packCode!=null && packCode.trim().length()>0) && (mCapacity > 0))
{ {
mNetWeight=Double.parseDouble(netWeight); /*sqlLcMode="SELECT FN_MOD( ? ,? ) AS LC_MODE FROM DUAL ";
} pstmt1=conn.prepareStatement(sqlLcMode);
pstmt1.setDouble(1,mQty);//pstmt1.setString(1,qty);
pstmt1.setDouble(2, mCapacity);//pstmt1.setString(2,capacity);
mGrosswt= mNoart * mGrossWeight; rs1 = pstmt1.executeQuery();
if( rs1.next())
{
//lcMode= checkNull(rs1.getString("LC_MODE"));
lcMode= checkNull(rs1.getString("LC_MODE"));
System.out.println("Pavan Rane FN_MOD for qty["+qty+"] capacity["+capacity+"] = "+lcMode+"]");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1=null;*/
double mod = mQty/mCapacity;
mNoart = getRndamt(mod, "X", 1);
System.out.println("Pavan R mNoart["+mNoart+"]");
/*if(lcMode.length()>0)
{
mNoart=(mQty / mCapacity) + 1; //in pb int is used before open brackets
//mNoart=(getRndamt(mQty, "X", 1));//
System.out.println("Pavan Rane Mod>0 mNoart["+mNoart+"]");
}
else
{
mNoart=(mQty / mCapacity) ; //in pb int is used before open brackets
System.out.println("Pavan Rane Mod<0 less mNoart["+mNoart+"]");
}*/
if(mGrossWeight > 0) valueXmlString.append("<no_art ><![CDATA[").append(mNoart).append("]]></no_art>\r\n");
if(( mNoart > 0))
{ {
valueXmlString.append("<gross_weight ><![CDATA[").append(mGrosswt).append("]]></gross_weight>\r\n"); sqlLcMode="SELECT (CASE WHEN GROSS_WEIGHT IS NULL THEN 0 ELSE GROSS_WEIGHT END) AS LC_GROSS_WEIGTH, (CASE WHEN NET_WEIGHT IS NULL THEN 0 ELSE NET_WEIGHT END) AS LC_NET_WEIGHT FROM ITEM_LOT_PACKSIZE WHERE ITEM_CODE = ? AND ? BETWEEN LOT_NO__FROM AND LOT_NO__TO ";
valueXmlString.append("<net_weight ><![CDATA[").append(mNetWeight).append("]]></net_weight>\r\n"); pstmt1=conn.prepareStatement(sqlLcMode);
pstmt1.setString(1,itemCodeDom);
pstmt1.setString(2,lotNo);
rs1 = pstmt1.executeQuery();
mTareWt=mGrosswt - mNetWeight; if( rs1.next())
valueXmlString.append("<tare_weight ><![CDATA[").append(mTareWt).append("]]></tare_weight>\r\n"); {
} grossWeight= checkNull(rs1.getString("LC_GROSS_WEIGTH"));
netWeight= checkNull(rs1.getString("LC_NET_WEIGHT"));
} System.out.println("Pavan Rane grossWeight ["+grossWeight+"]netWeight["+netWeight+"]");
} }
else rs1.close();
{ rs1 = null;
sqlNetwtItem="SELECT (CASE WHEN NET_WEIGHT IS NULL THEN 0 ELSE NET_WEIGHT END) AS NET_WT_ITEM, INTEGRAL_QTY FROM ITEM WHERE ITEM_CODE = ? "; pstmt1.close();
pstmt1=conn.prepareStatement(sqlNetwtItem); pstmt1=null;
pstmt1.setString(1,itemCodeDom); if(grossWeight.trim().length() > 0)
rs1 = pstmt1.executeQuery(); {
mGrossWeight=Double.parseDouble(grossWeight);
if( rs1.next()) }
{ if(netWeight.trim().length() > 0)
System.out.println("intered in result set hhho.."); {
netWtItem= checkNull(rs1.getString("NET_WT_ITEM")); mNetWeight=Double.parseDouble(netWeight);
integrlQty= checkNull(rs1.getString("INTEGRAL_QTY")); }
System.out.println("intered in rs netWtitem hhho.."+netWtItem);
System.out.println("intered in rs integrlQty hhho.."+integrlQty); mGrosswt = ((mGrossWeight/mCapacity) * mQty);
} mNetWt = ((mNetWeight/mCapacity) * mQty);
rs1.close();
rs1 = null; //mGrosswt= mNoart * mGrossWeight;
pstmt1.close(); System.out.println("Pavan Rane total mGrosswt["+mGrosswt+"] mGrossWeight["+mGrossWeight+"]");
pstmt1=null; if(mGrossWeight > 0)
{
sqlNetwt="SELECT (CASE WHEN NET_WEIGHT IS NULL THEN 0 ELSE NET_WEIGHT END) AS NET_WT FROM ITEM_LOT_PACKSIZE WHERE ITEM_CODE = ? AND ? BETWEEN LOT_NO__FROM AND LOT_NO__TO "; valueXmlString.append("<gross_weight ><![CDATA[").append(getRequiredDecimal(mGrosswt, 3)).append("]]></gross_weight>\r\n");
pstmt1=conn.prepareStatement(sqlNetwt); //valueXmlString.append("<net_weight ><![CDATA[").append(getRequiredDecimal(mNetWeight, 3)).append("]]></net_weight>\r\n");
pstmt1.setString(1,itemCodeDom); valueXmlString.append("<net_weight ><![CDATA[").append(getRequiredDecimal(mNetWt, 3)).append("]]></net_weight>\r\n");
pstmt1.setString(2,lotNo); //mTareWt=mGrosswt - mNetWeight;
rs1 = pstmt1.executeQuery(); mTareWt=mGrosswt - mNetWt;
valueXmlString.append("<tare_weight ><![CDATA[").append(getRequiredDecimal(mTareWt, 3)).append("]]></tare_weight>\r\n");
if( rs1.next()) }
{
System.out.println("intered in result set hhho..");
netWt= checkNull(rs1.getString("NET_WT"));
System.out.println("intered in rs netWt hhho.."+netWt);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1=null;
if(netWtItem.trim().length() > 0)
{
mNetWtItem=Double.parseDouble(netWtItem);
}
if(netWt.trim().length() > 0)
{
mNetWt=Double.parseDouble(netWt);
}
if(integrlQty.trim().length()>0)
{
mIntegrlQty=Double.parseDouble(integrlQty);
}
if(mNetWt==0)
{
mNetWt=mNetWtItem;
}
if(mNetWt==0)
{
}
} }
else else
{ {
mNetWt=mNetWt * mQty; sqlNetwtItem="SELECT (CASE WHEN NET_WEIGHT IS NULL THEN 0 ELSE NET_WEIGHT END) AS NET_WT_ITEM, INTEGRAL_QTY FROM ITEM WHERE ITEM_CODE = ? ";
if(mIntegrlQty>0) pstmt1=conn.prepareStatement(sqlNetwtItem);
pstmt1.setString(1,itemCodeDom);
rs1 = pstmt1.executeQuery();
if( rs1.next())
{
netWtItem= checkNull(rs1.getString("NET_WT_ITEM"));
netWtItem= checkNull(rs1.getString("INTEGRAL_QTY"));
System.out.println("Pavan Rane else netWtItem["+netWtItem+"] netWtItem["+netWtItem+"]");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1=null;
sqlNetwt="SELECT (CASE WHEN NET_WEIGHT IS NULL THEN 0 ELSE NET_WEIGHT END) AS NET_WT FROM ITEM_LOT_PACKSIZE WHERE ITEM_CODE = ? AND ? BETWEEN LOT_NO__FROM AND LOT_NO__TO ";
pstmt1=conn.prepareStatement(sqlNetwt);
pstmt1.setString(1,itemCodeDom);
pstmt1.setString(2,lotNo);
rs1 = pstmt1.executeQuery();
if( rs1.next())
{
// System.out.println("intered in result set hhho..");
netWt= checkNull(rs1.getString("NET_WT"));
//System.out.println("intered in rs netWt hhho.."+netWt);
System.out.println("Pavan Rane netWt["+netWt+"]");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1=null;
if(netWtItem.trim().length() > 0)
{
mNetWtItem=Double.parseDouble(netWtItem);
}
if(netWt.trim().length() > 0)
{
mNetWt=Double.parseDouble(netWt);
}
if(integrlQty.trim().length()>0)
{
mIntegrlQty=Double.parseDouble(integrlQty);
}
if(mNetWt==0)
{
mNetWt=mNetWtItem;
}
if(mNetWt==0)
{ {
sqlLcMode="SELECT FN_MOD( ? ,? ) AS LC_MODE FROM DUAL ";
pstmt1=conn.prepareStatement(sqlLcMode);
pstmt1.setString(1,qty);
pstmt1.setString(2,integrlQty);
rs1 = pstmt1.executeQuery();
if( rs1.next()) }
{ else
System.out.println("intered in result set hhho.."); {
lcMode= checkNull(rs1.getString("LC_MODE")); mNetWt=mNetWt * mQty;
System.out.println("intered in rs item descr hhho.."+lcMode); if(mIntegrlQty>0)
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1=null;
if(lcMode.length()>0)
{ {
mNoart=(mQty / mIntegrlQty) + 1; //in pb int is used before open brackets sqlLcMode="SELECT FN_MOD( ? ,? ) AS LC_MODE FROM DUAL ";
pstmt1=conn.prepareStatement(sqlLcMode);
pstmt1.setString(1,qty);
pstmt1.setString(2,integrlQty);
rs1 = pstmt1.executeQuery();
if( rs1.next())
{
System.out.println("intered in result set hhho..");
lcMode= checkNull(rs1.getString("LC_MODE"));
System.out.println("intered in rs item descr hhho.."+lcMode);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1=null;
if(lcMode.length()>0)
{
mNoart=(mQty / mIntegrlQty) + 1; //in pb int is used before open brackets
}
else
{
mNoart=(mQty / mIntegrlQty) ; //in pb int is used before open brackets
}
} }
else else
{ {
mNoart=(mQty / mIntegrlQty) ; //in pb int is used before open brackets mNoart=mQty;
} }
} }
else valueXmlString.append("<gross_weight ><![CDATA[").append(getRequiredDecimal(mNetWt, 3)).append("]]></gross_weight>\r\n");
{ valueXmlString.append("<net_weight ><![CDATA[").append(getRequiredDecimal(mNetWt, 3)).append("]]></net_weight>\r\n");
mNoart=mQty; valueXmlString.append("<tare_weight ><![CDATA[").append("0").append("]]></tare_weight>\r\n");
} valueXmlString.append("<no_art ><![CDATA[").append(mNoart).append("]]></no_art>\r\n");
} }
valueXmlString.append("<gross_weight ><![CDATA[").append(mNetWt).append("]]></gross_weight>\r\n");
valueXmlString.append("<net_weight ><![CDATA[").append(mNetWt).append("]]></net_weight>\r\n");
valueXmlString.append("<tare_weight ><![CDATA[").append("0").append("]]></tare_weight>\r\n");
valueXmlString.append("<no_art ><![CDATA[").append(mNoart).append("]]></no_art>\r\n");
} }
itemCodeDom=checkNull(genericUtility.getColumnValue("item_code",dom)); itemCodeDom=checkNull(genericUtility.getColumnValue("item_code",dom));
...@@ -3485,4 +3538,76 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj ...@@ -3485,4 +3538,76 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj
} }
return errorCode; return errorCode;
} }
public double getRndamt(double newQty, String round, double roundTo) {
System.out.println(newQty+"~~~"+round+"~~~"+roundTo);
double lcMultiply = 1;
try {
round = round.toUpperCase();
if (newQty < 0) {
lcMultiply = -1;
newQty = Math.abs(newQty);
} else if (newQty == 0) {
return newQty;
} else if (round.trim().equals("N")) {
return newQty;
} else if (roundTo == 0) {
return newQty;
}
if (round.trim().equals("X")) {
if(newQty == (newQty - (newQty % roundTo)))
{
return newQty;
}
else
{
newQty = ((newQty - (newQty % roundTo)) + roundTo);
}
}
if (round.trim().equals("P")) {
newQty = (newQty - (newQty % roundTo));
}
if (round.trim().equals("R")) {
if ((newQty % roundTo) < (roundTo / 2)) {
newQty = (newQty - (newQty % roundTo));
} else {
newQty = (newQty - (newQty % roundTo) + roundTo);
}
}
System.out.println("newQty[" + newQty + "]");
System.out.println("lcMultiply[" + lcMultiply + "]");
newQty = newQty * lcMultiply;
System.out.println("newQty * lcMultiply[" + newQty + "]");
return newQty;
} catch (Exception e) {
System.out.println("Exception :Conversion Qty ::" + e.getMessage()
+ ":");
}
if (roundTo == 1) {
newQty = getRequiredDecimal(newQty, 0);
} else if (roundTo == .1) {
newQty = getRequiredDecimal(newQty, 1);
} else if (roundTo == .01) {
newQty = getRequiredDecimal(newQty, 2);
} else if (roundTo == .001) {
newQty = getRequiredDecimal(newQty, 3);
} else if (roundTo == .0001) {
newQty = getRequiredDecimal(newQty, 4);
}
return newQty;
}
public double getRequiredDecimal(double actVal, int prec) {
NumberFormat numberFormat = NumberFormat.getIntegerInstance();
Double DoubleValue = new Double(actVal);
numberFormat.setMaximumFractionDigits(3);
String strValue = numberFormat.format(DoubleValue);
strValue = strValue.replaceAll(",", "");
double reqVal = Double.parseDouble(strValue);
return reqVal;
}
} }
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