Make To Kit functionality update Qty of MO
http://sourceforge.net/tracker2/?func=detail&aid=2553930&group_id=176962&atid=879335
This commit is contained in:
parent
f611178c2d
commit
79662c2957
|
@ -78,7 +78,7 @@ public class LiberoValidator implements ModelValidator
|
||||||
log.info(po.get_TableName() + " Type: "+type);
|
log.info(po.get_TableName() + " Type: "+type);
|
||||||
boolean isChange = (TYPE_AFTER_NEW == type || (TYPE_AFTER_CHANGE == type && MPPMRP.isChanged(po)));
|
boolean isChange = (TYPE_AFTER_NEW == type || (TYPE_AFTER_CHANGE == type && MPPMRP.isChanged(po)));
|
||||||
boolean isDelete = (TYPE_BEFORE_DELETE == type);
|
boolean isDelete = (TYPE_BEFORE_DELETE == type);
|
||||||
boolean isCompleted = false;
|
boolean isReleased = false;
|
||||||
boolean isVoided = false;
|
boolean isVoided = false;
|
||||||
DocAction doc = null;
|
DocAction doc = null;
|
||||||
if (po instanceof DocAction)
|
if (po instanceof DocAction)
|
||||||
|
@ -92,7 +92,7 @@ public class LiberoValidator implements ModelValidator
|
||||||
if (doc != null)
|
if (doc != null)
|
||||||
{
|
{
|
||||||
String docStatus = doc.getDocStatus();
|
String docStatus = doc.getDocStatus();
|
||||||
isCompleted = DocAction.STATUS_InProgress.equals(docStatus)
|
isReleased = DocAction.STATUS_InProgress.equals(docStatus)
|
||||||
|| DocAction.STATUS_Completed.equals(docStatus);
|
|| DocAction.STATUS_Completed.equals(docStatus);
|
||||||
isVoided = DocAction.STATUS_Voided.equals(docStatus);
|
isVoided = DocAction.STATUS_Voided.equals(docStatus);
|
||||||
}
|
}
|
||||||
|
@ -115,7 +115,7 @@ public class LiberoValidator implements ModelValidator
|
||||||
// or you change DatePromised
|
// or you change DatePromised
|
||||||
else if (type == TYPE_AFTER_CHANGE && order.isSOTrx())
|
else if (type == TYPE_AFTER_CHANGE && order.isSOTrx())
|
||||||
{
|
{
|
||||||
if (isCompleted || MPPMRP.isChanged(order))
|
if (isReleased || MPPMRP.isChanged(order))
|
||||||
{
|
{
|
||||||
MPPMRP.C_Order(order, false);
|
MPPMRP.C_Order(order, false);
|
||||||
}
|
}
|
||||||
|
@ -134,7 +134,7 @@ public class LiberoValidator implements ModelValidator
|
||||||
}
|
}
|
||||||
// Update MRP when Sales Order have document status in process or complete and
|
// Update MRP when Sales Order have document status in process or complete and
|
||||||
// you change relevant fields
|
// you change relevant fields
|
||||||
else if(order.isSOTrx() && isCompleted)
|
else if(order.isSOTrx() && isReleased)
|
||||||
{
|
{
|
||||||
MPPMRP.C_OrderLine(ol, false);
|
MPPMRP.C_OrderLine(ol, false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -459,10 +459,27 @@ public class MPPMRP extends X_PP_MRP
|
||||||
{
|
{
|
||||||
if (!order.isProcessed())
|
if (!order.isProcessed())
|
||||||
{
|
{
|
||||||
|
//if you chance product in order line the Manufacturing order is void
|
||||||
|
if(order.getM_Product_ID() != ol.getM_Product_ID())
|
||||||
|
{
|
||||||
|
order.setDescription("");
|
||||||
|
order.setQtyEntered(Env.ZERO);
|
||||||
|
order.setC_OrderLine_ID(0);
|
||||||
|
order.voidIt();
|
||||||
|
order.setDocStatus(MPPOrder.DOCSTATUS_Voided);
|
||||||
|
order.setDocAction(MPPOrder.ACTION_None);
|
||||||
|
order.save();
|
||||||
|
ol.setDescription("");
|
||||||
|
ol.saveEx();
|
||||||
|
|
||||||
|
}
|
||||||
if(order.getQtyEntered().compareTo(ol.getQtyEntered()) != 0)
|
if(order.getQtyEntered().compareTo(ol.getQtyEntered()) != 0)
|
||||||
{
|
{
|
||||||
order.setQty(ol.getQtyEntered());
|
if(order.getQtyEntered().signum() != 0)
|
||||||
order.saveEx();
|
{
|
||||||
|
order.setQty(ol.getQtyEntered());
|
||||||
|
order.saveEx();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(order.getDatePromised().compareTo(ol.getDatePromised()) != 0)
|
if(order.getDatePromised().compareTo(ol.getDatePromised()) != 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -267,14 +267,17 @@ public class MPPOrder extends X_PP_Order implements DocAction
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( is_ValueChanged(MPPOrder.COLUMNNAME_QtyEntered) && getDocStatus().equals(MPPOrder.DOCSTATUS_Drafted))
|
boolean explotion = DocAction.STATUS_Drafted.equals(getDocStatus())
|
||||||
|
|| DocAction.STATUS_InProgress.equals(getDocStatus());
|
||||||
|
|
||||||
|
if( is_ValueChanged(MPPOrder.COLUMNNAME_QtyEntered) && explotion)
|
||||||
{
|
{
|
||||||
deleteWorkflowAndBOM();
|
deleteWorkflowAndBOM();
|
||||||
explotion();
|
explotion();
|
||||||
}
|
}
|
||||||
if( is_ValueChanged(MPPOrder.COLUMNNAME_QtyEntered) && !getDocStatus().equals(MPPOrder.DOCSTATUS_Drafted))
|
if( is_ValueChanged(MPPOrder.COLUMNNAME_QtyEntered) && !explotion)
|
||||||
{
|
{
|
||||||
throw new AdempiereException("Cannot Change Quantity, Only is allow with Draft Status"); // TODO: Create Message for Translation
|
throw new AdempiereException("Cannot Change Quantity, Only is allow with Draft or In Process Status"); // TODO: Create Message for Translation
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!newRecord)
|
if (!newRecord)
|
||||||
|
@ -703,8 +706,8 @@ public class MPPOrder extends X_PP_Order implements DocAction
|
||||||
if (m_processMsg != null)
|
if (m_processMsg != null)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// setProcessed(true);
|
setProcessed(true);
|
||||||
// setDocAction(DOCACTION_None);
|
setDocAction(DOCACTION_None);
|
||||||
return false;
|
return false;
|
||||||
} // voidIt
|
} // voidIt
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue