Refactor DRP code an move to validator.

This commit is contained in:
teo_sarca 2009-02-11 09:41:41 +00:00
parent 44e692bfd0
commit 3ad41bdcaa
1 changed files with 92 additions and 175 deletions

View File

@ -31,8 +31,7 @@ import org.compiere.process.DocumentEngine;
import org.compiere.util.DB; import org.compiere.util.DB;
import org.compiere.util.Env; import org.compiere.util.Env;
import org.compiere.util.Msg; import org.compiere.util.Msg;
import org.eevolution.model.MDDOrder;
import org.eevolution.model.MDDOrderLine;
/** /**
* Inventory Movement Model * Inventory Movement Model
* *
@ -527,25 +526,6 @@ public class MMovement extends X_M_Movement implements DocAction
return DocAction.STATUS_Invalid; return DocAction.STATUS_Invalid;
} }
} // Fallback } // Fallback
// update Distribution Order Line
if(line.getDD_OrderLine_ID() > 0)
{
MDDOrderLine oline= new MDDOrderLine(getCtx(),line.getDD_OrderLine_ID(), get_TrxName());
MLocator locator_to = MLocator.get(getCtx(), line.getM_LocatorTo_ID());
MWarehouse warehouse = MWarehouse.get(getCtx(), locator_to.getM_Warehouse_ID());
if(warehouse.isInTransit())
{
oline.setQtyInTransit(oline.getQtyInTransit().add(line.getMovementQty()));
oline.setConfirmedQty(Env.ZERO);
}
else
{
oline.setQtyInTransit(oline.getQtyInTransit().subtract(line.getMovementQty()));
oline.setQtyDelivered(oline.getQtyDelivered().add(line.getMovementQty()));
}
oline.save();
}
} // product stock } // product stock
} // for all lines } // for all lines
// User Validation // User Validation
@ -556,15 +536,6 @@ public class MMovement extends X_M_Movement implements DocAction
return DocAction.STATUS_Invalid; return DocAction.STATUS_Invalid;
} }
// Set Distribution Order InTransit
if(getDD_Order_ID() > 0)
{
MDDOrder order = new MDDOrder(getCtx(),getDD_Order_ID(),get_TrxName());
order.setIsInTransit(true);
order.save();
}
// Set the definite document number after completed (if needed) // Set the definite document number after completed (if needed)
setDefiniteDocumentNo(); setDefiniteDocumentNo();
@ -906,60 +877,6 @@ public class MMovement extends X_M_Movement implements DocAction
return 0; return 0;
} // getC_Currency_ID } // getC_Currency_ID
/**
* Order Constructor - create header only
* @param order order
* @param movementDate optional movement date (default today)
* @param C_DocType_ID document type or 0
*/
public MMovement (MDDOrder order, int C_DocType_ID, Timestamp movementDate)
{
this (order.getCtx(), 0, order.get_TrxName());
setClientOrg(order);
setC_BPartner_ID (order.getC_BPartner_ID());
setC_BPartner_Location_ID (order.getC_BPartner_Location_ID()); // shipment address
setAD_User_ID(order.getAD_User_ID());
//
//setM_Warehouse_ID (order.getM_Warehouse_ID());
//setIsSOTrx (order.isSOTrx());
//setMovementType (order.isSOTrx() ? MOVEMENTTYPE_CustomerShipment : MOVEMENTTYPE_VendorReceipts);
//if (C_DocType_ID == 0)
// C_DocType_ID = DB.getSQLValue(null,
// "SELECT C_DocType_ID FROM C_DocType WHERE C_DocType_ID=?",
// order.getC_DocType_ID());
//setC_DocType_ID (C_DocType_ID);
// Default - Today
if (movementDate != null)
setMovementDate (movementDate);
//setDateAcct (getMovementDate());
// Copy from Order
setDD_Order_ID(order.getC_Order_ID());
setDeliveryRule (order.getDeliveryRule());
setDeliveryViaRule (order.getDeliveryViaRule());
setM_Shipper_ID(order.getM_Shipper_ID());
setFreightCostRule (order.getFreightCostRule());
setFreightAmt(order.getFreightAmt());
setSalesRep_ID(order.getSalesRep_ID());
//
setC_Activity_ID(order.getC_Activity_ID());
setC_Campaign_ID(order.getC_Campaign_ID());
setC_Charge_ID(order.getC_Charge_ID());
setChargeAmt(order.getChargeAmt());
//
setC_Project_ID(order.getC_Project_ID());
//setDateOrdered(order.getDateOrdered());
setDescription(order.getDescription());
//setPOReference(order.getPOReference());
setSalesRep_ID(order.getSalesRep_ID());
setAD_OrgTrx_ID(order.getAD_OrgTrx_ID());
setUser1_ID(order.getUser1_ID());
setUser2_ID(order.getUser2_ID());
setPriorityRule(order.getPriorityRule());
} // MMovement
/** Reversal Flag */ /** Reversal Flag */
private boolean m_reversal = false; private boolean m_reversal = false;