libero: minor improvements:

* fix identation
* use getSQLValue*Ex instead of getSQLValue - better exception handling
* refactor debugging messages
This commit is contained in:
teo_sarca 2008-12-08 16:17:37 +00:00
parent 34f8c8ba7c
commit e0558c54a6
4 changed files with 54 additions and 46 deletions

View File

@ -180,7 +180,9 @@ public class MPPMRP extends X_PP_MRP
if(MDocType.DOCSUBTYPESO_StandardOrder.equals(DocSubTypeSO) || !o.isSOTrx())
{
if((o.getDocStatus().equals(MOrder.DOCSTATUS_InProgress) || o.getDocStatus().equals(MOrder.DOCSTATUS_Completed)) || !o.isSOTrx())
if((o.getDocStatus().equals(MOrder.DOCSTATUS_InProgress)
|| o.getDocStatus().equals(MOrder.DOCSTATUS_Completed))
|| !o.isSOTrx())
{
for(MOrderLine line : o.getLines())
{
@ -580,7 +582,7 @@ public class MPPMRP extends X_PP_MRP
{
final String sql = "SELECT SUM(bomQtyOnHand (M_Product_ID,?,0)) AS OnHand FROM M_Product"
+" WHERE AD_Client_ID=? AND M_Product_ID=?";
BigDecimal QtyOnHand = DB.getSQLValueBD(trxName, sql, new Object[]{M_Warehouse_ID,Env.getAD_Client_ID(ctx),M_Product_ID});
BigDecimal QtyOnHand = DB.getSQLValueBDEx(trxName, sql, new Object[]{M_Warehouse_ID,Env.getAD_Client_ID(ctx),M_Product_ID});
if (QtyOnHand == null)
QtyOnHand = Env.ZERO;
return QtyOnHand;
@ -599,7 +601,7 @@ public class MPPMRP extends X_PP_MRP
{
StringBuffer sql = new StringBuffer("SELECT SUM(Qty) FROM PP_MRP WHERE TypeMRP=? AND DocStatus IN ('IN','CO')");
sql.append(" AND OrderType IN ('SOO','MOP','DOO') AND AD_Client_ID= ? AND DatePromised <=? AND M_Warehouse_ID =? AND M_Product_ID=?");
BigDecimal qty = DB.getSQLValueBD(trxName, sql.toString(), new Object[]{MPPMRP.TYPEMRP_Demand,Env.getAD_Client_ID(ctx), To , M_Warehouse_ID, M_Product_ID});
BigDecimal qty = DB.getSQLValueBDEx(trxName, sql.toString(), new Object[]{MPPMRP.TYPEMRP_Demand,Env.getAD_Client_ID(ctx), To , M_Warehouse_ID, M_Product_ID});
// SQL may return no rows or null
if (qty == null)
return Env.ZERO;
@ -633,7 +635,7 @@ public class MPPMRP extends X_PP_MRP
{
StringBuffer sql = new StringBuffer("SELECT SUM(Qty) FROM PP_MRP WHERE TypeMRP='S' AND DocStatus IN ('IN','CO')");
sql.append(" AND OrderType IN ('POO','MOP','DOO') AND AD_Client_ID= ? AND DatePromised <=? AND M_Warehouse_ID =? AND M_Product_ID=?");
BigDecimal qty = DB.getSQLValueBD(trxName, sql.toString(), new Object[]{Env.getAD_Client_ID(ctx), To , M_Warehouse_ID, M_Product_ID});
BigDecimal qty = DB.getSQLValueBDEx(trxName, sql.toString(), new Object[]{Env.getAD_Client_ID(ctx), To , M_Warehouse_ID, M_Product_ID});
// SQL may return no rows or null
if (qty == null)
return Env.ZERO;
@ -667,7 +669,7 @@ public class MPPMRP extends X_PP_MRP
//
final String sql = "SELECT MAX("+MProduct.COLUMNNAME_LowLevel+") FROM M_Product"
+" WHERE AD_Client_ID=? AND "+MProduct.COLUMNNAME_LowLevel+" IS NOT NULL";
int LowLevel = DB.getSQLValue(trxName, sql, AD_Client_ID);
int LowLevel = DB.getSQLValueEx(trxName, sql, AD_Client_ID);
return LowLevel + 1;
}

View File

@ -300,30 +300,30 @@ public class MPPOrder extends X_PP_Order implements DocAction
if( is_ValueChanged(MPPOrder.COLUMNNAME_QtyEntered) &&
getDocStatus().equals(MPPOrder.DOCSTATUS_Drafted))
{
for(MPPOrderBOMLine line : getLines())
{
line.deleteEx(true);
}
MPPOrderBOM bom = getMPPOrderBOM();
if(bom != null)
bom.deleteEx(true, get_TrxName());
MPPOrderWorkflow PP_Order_Workflow = getMPPOrderWorkflow();
if (PP_Order_Workflow != null)
for(MPPOrderBOMLine line : getLines())
{
line.deleteEx(true);
}
MPPOrderBOM bom = getMPPOrderBOM();
if(bom != null)
bom.deleteEx(true, get_TrxName());
MPPOrderWorkflow PP_Order_Workflow = getMPPOrderWorkflow();
if (PP_Order_Workflow != null)
{
PP_Order_Workflow.setPP_Order_Node_ID(0);
PP_Order_Workflow.saveEx();
for(MPPOrderNode node : PP_Order_Workflow.getNodes(true, getAD_Client_ID()))
{
PP_Order_Workflow.setPP_Order_Node_ID(0);
PP_Order_Workflow.saveEx();
for(MPPOrderNode node : PP_Order_Workflow.getNodes(true, getAD_Client_ID()))
{
for(MPPOrderNodeNext next : node.getTransitions(getAD_Client_ID()))
{
next.deleteEx(true);
}
node.deleteEx(true);
}
PP_Order_Workflow.deleteEx(true);
}
explotion();
for(MPPOrderNodeNext next : node.getTransitions(getAD_Client_ID()))
{
next.deleteEx(true);
}
node.deleteEx(true);
}
PP_Order_Workflow.deleteEx(true);
}
explotion();
}
if( is_ValueChanged(MPPOrder.COLUMNNAME_QtyEntered) && !getDocStatus().equals(MPPOrder.DOCSTATUS_Drafted))
{

View File

@ -176,13 +176,14 @@ public class MPPProductPlanning extends X_PP_Product_Planning
if (!CLogMgt.isLevelInfo())
return;
log.info("------------ Planning Data --------------");
log.info(" Create Plan: " + isCreatePlan());
log.info(" Resource: " + getS_Resource_ID());
log.info(" M_Product_ID: " + getM_Product_ID());
log.info(" BOM: " + getPP_Product_BOM_ID());
log.info(" Network Distribution: " + getDD_NetworkDistribution_ID());
log.info(" Workflow: " + getAD_Workflow_ID());
log.info(" Network Distribution: " + getDD_NetworkDistribution_ID());
log.info("Delivery Time Promised: " + getDeliveryTime_Promised());
log.info(" TransfertTime: " + getTransfertTime ());
log.info(" Create Plan: " + isCreatePlan());
log.info(" Max Order: " + getOrder_Max());
log.info(" Min Order: " + getOrder_Min());
log.info(" Pack Order: " + getOrder_Pack());
@ -191,7 +192,6 @@ public class MPPProductPlanning extends X_PP_Product_Planning
log.info(" Order Policy: " + getOrder_Policy());
log.info(" Warehouse: " + getM_Warehouse_ID());
log.info(" Planner: " + getPlanner_ID());
log.info(" PP_Product_BOM_ID: " + getPP_Product_BOM_ID());
}
} // Product Data Planning

View File

@ -99,8 +99,8 @@ public class MRP extends SvrProcess
private int DocTypeMO = 0;
private int DocTypeDO = 0;
private static CCache<String ,Integer > dd_order_id_cache = new CCache<String,Integer>(MDDOrder.COLUMNNAME_DD_Order_ID, 50);
private static CCache<Integer,MBPartner > partner_cache = new CCache<Integer,MBPartner>(MBPartner.Table_Name, 50);
private static CCache<String ,Integer> dd_order_id_cache = new CCache<String,Integer>(MDDOrder.COLUMNNAME_DD_Order_ID, 50);
private static CCache<Integer,MBPartner> partner_cache = new CCache<Integer,MBPartner>(MBPartner.Table_Name, 50);
@ -583,7 +583,7 @@ public class MRP extends SvrProcess
AD_Client_ID, AD_Org_ID,
m_product_planning.getM_Warehouse_ID()
};
QtyScheduledReceipts = DB.getSQLValueBD(null, "SELECT COALESCE(SUM(Qty),0) FROM PP_MRP WHERE "+whereClause, params);
QtyScheduledReceipts = DB.getSQLValueBDEx(null, "SELECT COALESCE(SUM(Qty),0) FROM PP_MRP WHERE "+whereClause, params);
DB.executeUpdateEx("UPDATE PP_MRP SET IsAvailable = 'N' WHERE "+whereClause, params, get_TrxName());
log.info("QtyScheduledReceipts :" + QtyScheduledReceipts);
@ -615,10 +615,11 @@ public class MRP extends SvrProcess
QtyNetReqs = ((QtyScheduledReceipts).add(QtyProjectOnHand)).subtract(QtyGrossReqs);
log.info(" Planning Data :" + product.getName() + " Create Plan:" + m_product_planning.isCreatePlan() + " OrderPlan:" + QtyPlanned);
m_product_planning.dump();
log.info(" Product:" + product.getName());
log.info(" Demand Date Start Schedule:" + DemandDateStartSchedule);
log.info(" Delivery Time Promised:" + m_product_planning.getDeliveryTime_Promised());
log.info(" DatePromisedFrom:" + DatePromisedFrom + " DatePromisedTo:" + DatePromisedTo);
log.info(" Qty Planned:" + QtyPlanned);
log.info(" Qty Scheduled Receipts:" + QtyScheduledReceipts);
log.info(" QtyProjectOnHand:" + QtyProjectOnHand);
log.info(" QtyGrossReqs:" + QtyGrossReqs);
@ -697,6 +698,10 @@ public class MRP extends SvrProcess
{
createPPOrder(AD_Org_ID,PP_MPR_ID, product, DemandDateStartSchedule);
}
else
{
// TODO: throw error ?
}
} // end for oqf
}
else
@ -970,16 +975,17 @@ public class MRP extends SvrProcess
String key = AD_Org_ID+"#"+M_Warehouse_ID+"#"+M_Shipper_ID+"#"+C_BPartner_ID+"#"+DatePromised+"DR";
Integer order_id = dd_order_id_cache.get(key.toString());
if ( order_id == null)
{
order_id = DB.getSQLValue(get_TrxName(), "SELECT DD_Order_ID FROM DD_Order WHERE AD_Org_ID=? AND M_Warehouse_ID=? AND M_Shipper_ID = ? AND C_BPartner_ID=? AND DatePromised=? AND DocStatus=?",
new Object[]{ AD_Org_ID,
M_Warehouse_ID,
M_Shipper_ID,
C_BPartner_ID,
DatePromised,
"DR"});
if(order_id > 0)
dd_order_id_cache.put(key,order_id);
{
String sql = "SELECT DD_Order_ID FROM DD_Order WHERE AD_Org_ID=? AND M_Warehouse_ID=? AND M_Shipper_ID = ? AND C_BPartner_ID=? AND DatePromised=? AND DocStatus=?";
order_id = DB.getSQLValueEx(get_TrxName(), sql,
new Object[]{ AD_Org_ID,
M_Warehouse_ID,
M_Shipper_ID,
C_BPartner_ID,
DatePromised,
MDDOrder.DOCSTATUS_Drafted });
if(order_id > 0)
dd_order_id_cache.put(key,order_id);
}
return order_id;
}