parent
742452ead4
commit
d74a4a11b4
|
|
@ -9,9 +9,12 @@ import org.compiere.model.MInventory;
|
|||
import org.compiere.model.MInventoryLine;
|
||||
import org.compiere.model.MInventoryLineMA;
|
||||
import org.compiere.model.MOrder;
|
||||
import org.compiere.model.MOrderLine;
|
||||
import org.compiere.model.MPaymentAllocate;
|
||||
import org.compiere.model.MPriceList;
|
||||
import org.compiere.model.MProductPrice;
|
||||
import org.compiere.model.MProduction;
|
||||
import org.compiere.model.MProductionLine;
|
||||
import org.compiere.model.MRMA;
|
||||
import org.compiere.model.PO;
|
||||
import org.compiere.util.CLogger;
|
||||
|
|
@ -36,6 +39,12 @@ public class MID_ValidatorFactory extends AbstractEventHandler {
|
|||
// msg = SMT_LandedCostAllocationValidator.executeEvent(event, getPO(event));
|
||||
if (getPO(event).get_TableName().equals(MOrder.Table_Name))
|
||||
msg = MID_OrderValidator.executeEvent(event, getPO(event));
|
||||
if (getPO(event).get_TableName().equals(MOrderLine.Table_Name))
|
||||
msg = MID_OrderValidator.executeEvent(event, getPO(event));
|
||||
if (getPO(event).get_TableName().equals(MProduction.Table_Name))
|
||||
msg = MID_OrderValidator.executeEvent(event, getPO(event));
|
||||
if (getPO(event).get_TableName().equals(MProductionLine.Table_Name))
|
||||
msg = MID_OrderValidator.executeEvent(event, getPO(event));
|
||||
// if (getPO(event).get_TableName().equals(MRMA.Table_Name))
|
||||
// msg = MID_RMAValidator.executeEvent(event, getPO(event));
|
||||
if (getPO(event).get_TableName().equals(MInOut.Table_Name))
|
||||
|
|
@ -72,6 +81,10 @@ public class MID_ValidatorFactory extends AbstractEventHandler {
|
|||
registerTableEvent(IEventTopics.PO_BEFORE_CHANGE, MOrder.Table_Name);
|
||||
registerTableEvent(IEventTopics.DOC_BEFORE_PREPARE, MOrder.Table_Name);
|
||||
|
||||
//OrderLine
|
||||
registerTableEvent(IEventTopics.PO_BEFORE_NEW, MOrderLine.Table_Name);
|
||||
registerTableEvent(IEventTopics.PO_BEFORE_CHANGE, MOrderLine.Table_Name);
|
||||
|
||||
// Shipment / Receipt
|
||||
registerTableEvent(IEventTopics.DOC_BEFORE_PREPARE, MInOut.Table_Name);
|
||||
|
||||
|
|
@ -105,6 +118,10 @@ public class MID_ValidatorFactory extends AbstractEventHandler {
|
|||
registerTableEvent(IEventTopics.DOC_BEFORE_PREPARE, MInventory.Table_Name);
|
||||
registerTableEvent(IEventTopics.DOC_BEFORE_REVERSEACCRUAL,MInventory.Table_Name);
|
||||
registerTableEvent(IEventTopics.DOC_BEFORE_REVERSECORRECT,MInventory.Table_Name);
|
||||
|
||||
registerTableEvent(IEventTopics.PO_BEFORE_NEW, MProduction.Table_Name);
|
||||
registerTableEvent(IEventTopics.DOC_BEFORE_COMPLETE, MProduction.Table_Name);
|
||||
registerTableEvent(IEventTopics.PO_BEFORE_NEW, MProductionLine.Table_Name);
|
||||
// registerTableEvent(IEventTopics.PO_AFTER_NEW,MInvoice.Table_Name);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -66,6 +66,9 @@ public class MID_UploadTPB extends SvrProcess{
|
|||
order.set_ValueNoCheck("NoAju1", row.getCell(0).getStringCellValue());
|
||||
String AJU_DocType_Value = row.getCell(5).getStringCellValue();
|
||||
int MID_AJUDocType_ID = DB.getSQLValue(get_TrxName(), "SELECT MID_AJUDocumentType_ID FROM MID_AjuDocumentType WHERE Value =?", new Object[] { AJU_DocType_Value });
|
||||
if(MID_AJUDocType_ID <=0)
|
||||
throw new AdempiereException("AJU Document For "+AJU_DocType_Value+" !!!");
|
||||
|
||||
order.set_ValueNoCheck("MID_AJUDocumentType_ID", MID_AJUDocType_ID);
|
||||
|
||||
int C_BPartner_ID = DB.getSQLValue(get_TrxName(), "SELECT C_BPartner_ID FROM C_Bpartner WHERE Name =? AND AD_Client_ID =? AND IsVendor ='Y'", new Object[] { row.getCell(3).getStringCellValue(), getAD_Client_ID()});
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
package andromedia.midsuit.validator;
|
||||
|
||||
import org.adempiere.base.event.IEventTopics;
|
||||
import org.compiere.model.MOrder;
|
||||
import org.compiere.model.MOrderLine;
|
||||
import org.compiere.model.PO;
|
||||
import org.compiere.util.DB;
|
||||
import org.osgi.service.event.Event;
|
||||
|
||||
public class MID_OrderLineValidator {
|
||||
public static String executeEvent(Event e, PO po) {
|
||||
MOrderLine OrderLine = (MOrderLine) po;
|
||||
MOrder order = new MOrder(OrderLine.getCtx(), OrderLine.getC_Order_ID(), OrderLine.get_TrxName());
|
||||
|
||||
if (e.getTopic().equals(IEventTopics.PO_BEFORE_NEW))
|
||||
return beforeNew(OrderLine, order);
|
||||
else if (e.getTopic().equals(IEventTopics.PO_BEFORE_CHANGE))
|
||||
return beforeChange(OrderLine, order);
|
||||
return "";
|
||||
}
|
||||
|
||||
private static String beforeChange(MOrderLine orderLine, MOrder order) {
|
||||
if(order.get_ValueAsString("NoAju1").equals("")) {
|
||||
orderLine.set_ValueNoCheck("NoAju", "");
|
||||
}
|
||||
else {
|
||||
String noAju = order.get_ValueAsString("NoAju1");
|
||||
orderLine.set_ValueNoCheck("NoAju", noAju);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public static String beforeNew(MOrderLine line, MOrder order) {
|
||||
if(order.get_ValueAsString("NoAju1").equals("")) {
|
||||
line.set_ValueOfColumn("NoAju", "");
|
||||
}
|
||||
else if(line.get_ValueAsString("NoAju").equals("")) {
|
||||
String noAju = order.get_ValueAsString("NoAju1");
|
||||
line.set_ValueNoCheck("NoAju", noAju);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
package andromedia.midsuit.validator;
|
||||
|
||||
import org.adempiere.base.event.IEventTopics;
|
||||
import org.compiere.model.MProduction;
|
||||
import org.compiere.model.MProductionLine;
|
||||
import org.compiere.model.PO;
|
||||
import org.compiere.util.DB;
|
||||
import org.osgi.service.event.Event;
|
||||
|
||||
public class MID_ProductionLineValidator {
|
||||
public static String executeEvent(Event e, PO po) {
|
||||
MProductionLine pl = (MProductionLine) po;
|
||||
if (e.getTopic().equals(IEventTopics.PO_BEFORE_NEW))
|
||||
return beforeNew(pl);
|
||||
return "";
|
||||
}
|
||||
|
||||
private static String beforeNew(MProductionLine pl) {
|
||||
MProduction production = new MProduction(pl.getCtx(), pl.getM_Production_ID(), pl.get_TrxName());
|
||||
int PS_PPO_ID = production.get_ValueAsInt("ps_ppo_ID");
|
||||
if(pl.get_ValueAsInt("C_UOM_ID")==0)
|
||||
pl.set_ValueNoCheck("C_UOM_ID", pl.getM_Product().getC_UOM_ID());
|
||||
|
||||
if(pl.isEndProduct() && PS_PPO_ID > 0) {
|
||||
// MID_PPO PPO = new MID_PPO(pl.getCtx(), PS_PPO_ID, pl.get_TrxName());
|
||||
// pl.setM_AttributeSetInstance_ID(PPO.get_ValueAsInt(X_M_ProductionLine.COLUMNNAME_M_AttributeSetInstance_ID));
|
||||
String sqlExec = "SELECT M_AttributeSetInstance_ID "
|
||||
+ " FROM PS_PPO WHERE PS_PPO_ID =?";
|
||||
int M_AttributeSetInstance_ID = DB.getSQLValueEx(pl.get_TrxName(), sqlExec, new Object[] { PS_PPO_ID });
|
||||
if(M_AttributeSetInstance_ID>0)
|
||||
pl.setM_AttributeSetInstance_ID(M_AttributeSetInstance_ID);
|
||||
}else {
|
||||
String sqlExec = "SELECT M_AttributeSetInstance_ID " +
|
||||
" FROM M_Storage S " +
|
||||
" WHERE M_Product_ID = ? AND " +
|
||||
" DateMaterialPolicy = (SELECT MIN(DateMaterialPolicy) FROM M_StorageOnHand SOH " +
|
||||
" WHERE SOH.QtyOnHand>0 AND M_AttributeSetInstance_ID > 0 AND M_Product_ID = S.M_Product_ID)";
|
||||
int M_AttributeSetInstance_ID = DB.getSQLValueEx(pl.get_TrxName(), sqlExec, new Object[] { pl.getM_Product_ID() });
|
||||
if(M_AttributeSetInstance_ID>0)
|
||||
pl.setM_AttributeSetInstance_ID(M_AttributeSetInstance_ID);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
package andromedia.midsuit.validator;
|
||||
|
||||
import org.adempiere.base.event.IEventTopics;
|
||||
import org.adempiere.exceptions.AdempiereException;
|
||||
import org.compiere.model.MProduction;
|
||||
import org.compiere.model.MProductionLine;
|
||||
import org.compiere.model.PO;
|
||||
import org.osgi.service.event.Event;
|
||||
|
||||
public class MID_ProductionValidator {
|
||||
public static String executeEvent(Event e, PO po) {
|
||||
MProduction pl = (MProduction) po;
|
||||
if (e.getTopic().equals(IEventTopics.DOC_BEFORE_COMPLETE))
|
||||
return beforeComplete(pl);
|
||||
else if (e.getTopic().equals(IEventTopics.PO_BEFORE_NEW))
|
||||
return beforeNew(pl);
|
||||
return "";
|
||||
}
|
||||
|
||||
private static String beforeNew(MProduction p) {
|
||||
if(p.getProductionQty().signum()==0)
|
||||
throw new AdempiereException("Qty Production Wajib Lebih Besar dari 0 !");
|
||||
return "";
|
||||
}
|
||||
|
||||
private static String beforeComplete(MProduction p) {
|
||||
for(MProductionLine line : p.getLines()) {
|
||||
if(line.getMovementQty().signum()==0)
|
||||
throw new AdempiereException("Qty "+line.getM_Product().getName()
|
||||
+"Wajib Lebih Besar dari 0 !");
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue