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;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.SQLPermission;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import javax.ejb.Stateless;
......@@ -1155,9 +1156,9 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj
if( rs1.next())
{
System.out.println("intered in result set hhho..");
//System.out.println("intered in result set hhho..");
siteDescr= checkNull(rs1.getString("descr"));
System.out.println("intered in rs site descr hhho.."+siteDescr);
System.out.println("item_default::"+siteDescr);
}
rs1.close();
rs1 = null;
......@@ -1225,9 +1226,9 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj
if( rs1.next())
{
System.out.println("intered in result set hhho..");
//System.out.println("intered in result set hhho..");
siteItmDescr= checkNull(rs1.getString("descr"));
System.out.println("intered in rs site descr hhho.."+siteItmDescr);
System.out.println("site_code."+siteItmDescr);
}
rs1.close();
rs1 = null;
......@@ -1245,9 +1246,9 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj
if( rs1.next())
{
System.out.println("intered in result set hhho..");
//System.out.println("intered in result set hhho..");
deptDescr= checkNull(rs1.getString("descr"));
System.out.println("intered in rs dept descr hhho.."+deptDescr);
System.out.println("dept_code"+deptDescr);
}
rs1.close();
rs1 = null;
......@@ -1611,206 +1612,258 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj
itemCodeDom=checkNull(genericUtility.getColumnValue("item_code",dom));
lotNo=checkNull(genericUtility.getColumnValue("lot_no",dom));
packCode=checkNull(genericUtility.getColumnValue("pack_code",dom));
if(!(packCode==null || packCode.trim().length()>0))
{
sqlCapacity="select capacity from packing where pack_code = ? ";
pstmt1=conn.prepareStatement(sqlCapacity);
pstmt1.setString(1,packCode);
rs1 = pstmt1.executeQuery();
if( rs1.next())
{
System.out.println("intered in result set hhho..");
capacity= checkNull(rs1.getString("capacity"));
System.out.println("intered in rs item descr hhho.."+capacity);
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1=null;
if(capacity.trim().length() > 0 )
{
mCapacity=Double.parseDouble(capacity);
}
}
if((packCode!=null && packCode.trim().length()>0) && (capacity !=null && capacity.trim().length()>0))
{
sqlLcMode="SELECT FN_MOD( ? ,? ) AS LC_MODE FROM DUAL ";
pstmt1=conn.prepareStatement(sqlLcMode);
pstmt1.setString(1,qty);
pstmt1.setString(2,capacity);
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 / mCapacity) + 1; //in pb int is used before open brackets
}
else
{
mNoart=(mQty / mCapacity) ; //in pb int is used before open brackets
}
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)
System.out.println("Pavan Rane DOM[ "+genericUtility.serializeDom(dom)+"]\n\n\n");
//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;
sql = "select (case when shipper_size is null then 0 else shipper_size end) as shipper_size, "
+ "(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 ? >= lot_no__from and ? <= lot_no__to";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemCodeDom);
pstmt.setString(2, lotNo);
pstmt.setString(3, lotNo);
rs = pstmt.executeQuery();
if(rs.next())
{
shipperSize = rs.getDouble("shipper_size");
mGrossWeight= rs.getDouble("LC_GROSS_WEIGTH");
mNetWeight= rs.getDouble("LC_NET_WEIGHT");
System.out.println("Pavan R shipperSize["+shipperSize+"] grossWeight [ "+grossWeight+" ] netWeight[ "+netWeight+" ]");
if (shipperSize > 0)
{
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)
{
//mGrosswt = noOfArt * mGrossWeight;
mGrosswt = ((mGrossWeight/shipperSize) * mQty);
//mNetWt = noOfArt * mNetWeight;
mNetWt = ((mNetWeight/shipperSize) * mQty);
System.out.println("Pavan R mGrosswt [ "+mGrosswt+" ]");
if(mGrossWeight > 0)
{
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");
mTareWt=mGrosswt - mNetWt;
System.out.println("Pavan R mGrossWeight > 0 mTareWt [ "+mTareWt+" ]");
valueXmlString.append("<tare_weight ><![CDATA[").append(getRequiredDecimal(mTareWt, 3)).append("]]></tare_weight>\r\n");
}
} //if(noOfArt > 0)
}//if(shipperSize > 0)
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(shipperSize == 0)
{
System.out.println("Pavan Rane After ShipperSize ==0 PackingCode ["+packCode+"]");
//if(!(packCode==null || packCode.trim().length()>0))
//Pavan R end
if(packCode != null && packCode.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);
}
mGrosswt= mNoart * mGrossWeight;
/*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);
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");
valueXmlString.append("<net_weight ><![CDATA[").append(mNetWeight).append("]]></net_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 ";
pstmt1=conn.prepareStatement(sqlLcMode);
pstmt1.setString(1,itemCodeDom);
pstmt1.setString(2,lotNo);
rs1 = pstmt1.executeQuery();
mTareWt=mGrosswt - mNetWeight;
valueXmlString.append("<tare_weight ><![CDATA[").append(mTareWt).append("]]></tare_weight>\r\n");
}
}
}
else
{
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=conn.prepareStatement(sqlNetwtItem);
pstmt1.setString(1,itemCodeDom);
rs1 = pstmt1.executeQuery();
if( rs1.next())
{
System.out.println("intered in result set hhho..");
netWtItem= checkNull(rs1.getString("NET_WT_ITEM"));
integrlQty= checkNull(rs1.getString("INTEGRAL_QTY"));
System.out.println("intered in rs netWtitem hhho.."+netWtItem);
System.out.println("intered in rs integrlQty hhho.."+integrlQty);
}
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);
}
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)
{
if( rs1.next())
{
grossWeight= checkNull(rs1.getString("LC_GROSS_WEIGTH"));
netWeight= checkNull(rs1.getString("LC_NET_WEIGHT"));
System.out.println("Pavan Rane grossWeight ["+grossWeight+"]netWeight["+netWeight+"]");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1=null;
if(grossWeight.trim().length() > 0)
{
mGrossWeight=Double.parseDouble(grossWeight);
}
if(netWeight.trim().length() > 0)
{
mNetWeight=Double.parseDouble(netWeight);
}
mGrosswt = ((mGrossWeight/mCapacity) * mQty);
mNetWt = ((mNetWeight/mCapacity) * mQty);
//mGrosswt= mNoart * mGrossWeight;
System.out.println("Pavan Rane total mGrosswt["+mGrosswt+"] mGrossWeight["+mGrossWeight+"]");
if(mGrossWeight > 0)
{
valueXmlString.append("<gross_weight ><![CDATA[").append(getRequiredDecimal(mGrosswt, 3)).append("]]></gross_weight>\r\n");
//valueXmlString.append("<net_weight ><![CDATA[").append(getRequiredDecimal(mNetWeight, 3)).append("]]></net_weight>\r\n");
valueXmlString.append("<net_weight ><![CDATA[").append(getRequiredDecimal(mNetWt, 3)).append("]]></net_weight>\r\n");
//mTareWt=mGrosswt - mNetWeight;
mTareWt=mGrosswt - mNetWt;
valueXmlString.append("<tare_weight ><![CDATA[").append(getRequiredDecimal(mTareWt, 3)).append("]]></tare_weight>\r\n");
}
}
}
else
else
{
mNetWt=mNetWt * mQty;
if(mIntegrlQty>0)
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=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())
{
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)
}
else
{
mNetWt=mNetWt * mQty;
if(mIntegrlQty>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
{
mNoart=mQty;
}
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");
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));
......@@ -3485,4 +3538,76 @@ public class AdjReceiptIC extends ValidatorEJB implements AdjReceiptICRemote,Adj
}
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