parent
0cbf81c9ef
commit
d3b1fdeeb4
|
|
@ -6,8 +6,6 @@ import org.compiere.model.MInventoryLineMA;
|
||||||
import org.compiere.model.PO;
|
import org.compiere.model.PO;
|
||||||
import org.osgi.service.event.Event;
|
import org.osgi.service.event.Event;
|
||||||
|
|
||||||
import andromedia.midsuit.model.MID_PPOLine;
|
|
||||||
|
|
||||||
public class MID_InventoryLineMAValidator {
|
public class MID_InventoryLineMAValidator {
|
||||||
public static String executeEvent(Event e, PO po) {
|
public static String executeEvent(Event e, PO po) {
|
||||||
MInventoryLineMA inv = (MInventoryLineMA) po;
|
MInventoryLineMA inv = (MInventoryLineMA) po;
|
||||||
|
|
@ -15,36 +13,25 @@ public class MID_InventoryLineMAValidator {
|
||||||
return beforeSave(inv);
|
return beforeSave(inv);
|
||||||
else if (e.getTopic().equals(IEventTopics.PO_BEFORE_CHANGE))
|
else if (e.getTopic().equals(IEventTopics.PO_BEFORE_CHANGE))
|
||||||
return beforeChange(inv);
|
return beforeChange(inv);
|
||||||
|
return "";
|
||||||
return "";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String beforeChange(MInventoryLineMA invMA) {
|
private static String beforeChange(MInventoryLineMA invMA) {
|
||||||
MInventoryLine inv = new MInventoryLine(invMA.getCtx(), invMA.getM_InventoryLine_ID(), invMA.get_TrxName());
|
MInventoryLine inv = new MInventoryLine(invMA.getCtx(), invMA.getM_InventoryLine_ID(), invMA.get_TrxName());
|
||||||
int PS_PPOLine_ID = inv.get_ValueAsInt("ps_ppoline_ID");
|
if (!invMA.is_ValueChanged("QtyEntered") || inv.getReversalLine_ID() > 0)
|
||||||
if(! invMA.is_ValueChanged("QtyEntered")) return "";
|
return "";
|
||||||
if(PS_PPOLine_ID>0 ) {
|
if (inv.getQtyInternalUse().signum() < 0 && invMA.getMovementQty().signum() > 0) {
|
||||||
MID_PPOLine line = new MID_PPOLine(inv.getCtx(), PS_PPOLine_ID,inv.get_TrxName());
|
invMA.setMovementQty(invMA.getMovementQty().negate());
|
||||||
if(line.isEndProduct() && invMA.getMovementQty().signum()>0)
|
|
||||||
invMA.setMovementQty(invMA.getMovementQty().negate());
|
|
||||||
}
|
|
||||||
else if (inv.getM_Product().getM_Product_Category().getValue().contains("SCRAP")) {
|
|
||||||
if(invMA.getMovementQty().signum()>0)
|
|
||||||
invMA.setMovementQty(invMA.getMovementQty().negate());
|
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String beforeSave(MInventoryLineMA invMA){
|
private static String beforeSave(MInventoryLineMA invMA) {
|
||||||
MInventoryLine inv = new MInventoryLine(invMA.getCtx(), invMA.getM_InventoryLine_ID(), invMA.get_TrxName());
|
MInventoryLine inv = new MInventoryLine(invMA.getCtx(), invMA.getM_InventoryLine_ID(), invMA.get_TrxName());
|
||||||
int PS_PPOLine_ID = inv.get_ValueAsInt("ps_ppoline_ID");
|
if (inv.getReversalLine_ID() > 0)
|
||||||
if(PS_PPOLine_ID>0) {
|
return "";
|
||||||
MID_PPOLine line = new MID_PPOLine(inv.getCtx(), PS_PPOLine_ID,inv.get_TrxName());
|
if (inv.getQtyInternalUse().signum() < 0 && invMA.getMovementQty().signum() > 0)
|
||||||
if(line.isEndProduct() && invMA.getMovementQty().signum()>0)
|
invMA.setMovementQty(invMA.getMovementQty().negate());
|
||||||
invMA.setMovementQty(invMA.getMovementQty().negate());
|
|
||||||
}else if (inv.getM_Product().getM_Product_Category().getValue().contains("SCRAP")) {
|
|
||||||
if(invMA.getMovementQty().signum()>0)
|
|
||||||
invMA.setMovementQty(invMA.getMovementQty().negate());
|
|
||||||
}
|
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue