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(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()) 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" final String sql = "SELECT SUM(bomQtyOnHand (M_Product_ID,?,0)) AS OnHand FROM M_Product"
+" WHERE AD_Client_ID=? AND M_Product_ID=?"; +" 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) if (QtyOnHand == null)
QtyOnHand = Env.ZERO; QtyOnHand = Env.ZERO;
return QtyOnHand; 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')"); 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=?"); 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 // SQL may return no rows or null
if (qty == null) if (qty == null)
return Env.ZERO; 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')"); 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=?"); 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 // SQL may return no rows or null
if (qty == null) if (qty == null)
return Env.ZERO; 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" final String sql = "SELECT MAX("+MProduct.COLUMNNAME_LowLevel+") FROM M_Product"
+" WHERE AD_Client_ID=? AND "+MProduct.COLUMNNAME_LowLevel+" IS NOT NULL"; +" 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; return LowLevel + 1;
} }

View File

@ -300,30 +300,30 @@ public class MPPOrder extends X_PP_Order implements DocAction
if( is_ValueChanged(MPPOrder.COLUMNNAME_QtyEntered) && if( is_ValueChanged(MPPOrder.COLUMNNAME_QtyEntered) &&
getDocStatus().equals(MPPOrder.DOCSTATUS_Drafted)) getDocStatus().equals(MPPOrder.DOCSTATUS_Drafted))
{ {
for(MPPOrderBOMLine line : getLines()) for(MPPOrderBOMLine line : getLines())
{ {
line.deleteEx(true); line.deleteEx(true);
} }
MPPOrderBOM bom = getMPPOrderBOM(); MPPOrderBOM bom = getMPPOrderBOM();
if(bom != null) if(bom != null)
bom.deleteEx(true, get_TrxName()); bom.deleteEx(true, get_TrxName());
MPPOrderWorkflow PP_Order_Workflow = getMPPOrderWorkflow(); MPPOrderWorkflow PP_Order_Workflow = getMPPOrderWorkflow();
if (PP_Order_Workflow != null) 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); for(MPPOrderNodeNext next : node.getTransitions(getAD_Client_ID()))
PP_Order_Workflow.saveEx(); {
for(MPPOrderNode node : PP_Order_Workflow.getNodes(true, getAD_Client_ID())) next.deleteEx(true);
{ }
for(MPPOrderNodeNext next : node.getTransitions(getAD_Client_ID())) node.deleteEx(true);
{ }
next.deleteEx(true); PP_Order_Workflow.deleteEx(true);
} }
node.deleteEx(true); explotion();
}
PP_Order_Workflow.deleteEx(true);
}
explotion();
} }
if( is_ValueChanged(MPPOrder.COLUMNNAME_QtyEntered) && !getDocStatus().equals(MPPOrder.DOCSTATUS_Drafted)) 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()) if (!CLogMgt.isLevelInfo())
return; return;
log.info("------------ Planning Data --------------"); log.info("------------ Planning Data --------------");
log.info(" Create Plan: " + isCreatePlan());
log.info(" Resource: " + getS_Resource_ID()); log.info(" Resource: " + getS_Resource_ID());
log.info(" M_Product_ID: " + getM_Product_ID());
log.info(" BOM: " + getPP_Product_BOM_ID()); log.info(" BOM: " + getPP_Product_BOM_ID());
log.info(" Network Distribution: " + getDD_NetworkDistribution_ID());
log.info(" Workflow: " + getAD_Workflow_ID()); log.info(" Workflow: " + getAD_Workflow_ID());
log.info(" Network Distribution: " + getDD_NetworkDistribution_ID());
log.info("Delivery Time Promised: " + getDeliveryTime_Promised()); log.info("Delivery Time Promised: " + getDeliveryTime_Promised());
log.info(" TransfertTime: " + getTransfertTime ()); log.info(" TransfertTime: " + getTransfertTime ());
log.info(" Create Plan: " + isCreatePlan());
log.info(" Max Order: " + getOrder_Max()); log.info(" Max Order: " + getOrder_Max());
log.info(" Min Order: " + getOrder_Min()); log.info(" Min Order: " + getOrder_Min());
log.info(" Pack Order: " + getOrder_Pack()); 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(" Order Policy: " + getOrder_Policy());
log.info(" Warehouse: " + getM_Warehouse_ID()); log.info(" Warehouse: " + getM_Warehouse_ID());
log.info(" Planner: " + getPlanner_ID()); log.info(" Planner: " + getPlanner_ID());
log.info(" PP_Product_BOM_ID: " + getPP_Product_BOM_ID());
} }
} // Product Data Planning } // Product Data Planning

View File

@ -99,8 +99,8 @@ public class MRP extends SvrProcess
private int DocTypeMO = 0; private int DocTypeMO = 0;
private int DocTypeDO = 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<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<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, AD_Client_ID, AD_Org_ID,
m_product_planning.getM_Warehouse_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()); DB.executeUpdateEx("UPDATE PP_MRP SET IsAvailable = 'N' WHERE "+whereClause, params, get_TrxName());
log.info("QtyScheduledReceipts :" + QtyScheduledReceipts); log.info("QtyScheduledReceipts :" + QtyScheduledReceipts);
@ -615,10 +615,11 @@ public class MRP extends SvrProcess
QtyNetReqs = ((QtyScheduledReceipts).add(QtyProjectOnHand)).subtract(QtyGrossReqs); 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(" Demand Date Start Schedule:" + DemandDateStartSchedule);
log.info(" Delivery Time Promised:" + m_product_planning.getDeliveryTime_Promised());
log.info(" DatePromisedFrom:" + DatePromisedFrom + " DatePromisedTo:" + DatePromisedTo); log.info(" DatePromisedFrom:" + DatePromisedFrom + " DatePromisedTo:" + DatePromisedTo);
log.info(" Qty Planned:" + QtyPlanned);
log.info(" Qty Scheduled Receipts:" + QtyScheduledReceipts); log.info(" Qty Scheduled Receipts:" + QtyScheduledReceipts);
log.info(" QtyProjectOnHand:" + QtyProjectOnHand); log.info(" QtyProjectOnHand:" + QtyProjectOnHand);
log.info(" QtyGrossReqs:" + QtyGrossReqs); log.info(" QtyGrossReqs:" + QtyGrossReqs);
@ -697,6 +698,10 @@ public class MRP extends SvrProcess
{ {
createPPOrder(AD_Org_ID,PP_MPR_ID, product, DemandDateStartSchedule); createPPOrder(AD_Org_ID,PP_MPR_ID, product, DemandDateStartSchedule);
} }
else
{
// TODO: throw error ?
}
} // end for oqf } // end for oqf
} }
else 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"; 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()); Integer order_id = dd_order_id_cache.get(key.toString());
if ( order_id == null) 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=?", 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=?";
new Object[]{ AD_Org_ID, order_id = DB.getSQLValueEx(get_TrxName(), sql,
M_Warehouse_ID, new Object[]{ AD_Org_ID,
M_Shipper_ID, M_Warehouse_ID,
C_BPartner_ID, M_Shipper_ID,
DatePromised, C_BPartner_ID,
"DR"}); DatePromised,
if(order_id > 0) MDDOrder.DOCSTATUS_Drafted });
dd_order_id_cache.put(key,order_id); if(order_id > 0)
dd_order_id_cache.put(key,order_id);
} }
return order_id; return order_id;
} }