Callout Pricelist In Order

This commit is contained in:
INSPIRON-PC\An'im Falahuddin 2018-04-16 12:02:45 +07:00
parent 34d2c7b1d5
commit 78c97b0540
1 changed files with 53 additions and 0 deletions

View File

@ -0,0 +1,53 @@
package andromedia.midsuit.callout;
import java.util.Properties;
import org.adempiere.base.IColumnCallout;
import org.compiere.model.CalloutEngine;
import org.compiere.model.GridField;
import org.compiere.model.GridTab;
import org.compiere.model.MOrder;
import org.compiere.model.MPriceList;
import org.compiere.model.Query;
import org.compiere.util.CLogger;
import org.compiere.util.DB;
import org.compiere.util.Env;
public class MID_CalloutOrder extends CalloutEngine implements IColumnCallout {
@Override
public String start(Properties ctx, int WindowNo, GridTab mTab, GridField mField, Object value, Object oldValue) {
// TODO Auto-generated method stub
if(mField.getColumnName().equals(MOrder.COLUMNNAME_AD_Org_ID)) {
if(value == null) return null;
return setPricelistByOrg(ctx, WindowNo, mTab, mField, value, oldValue);
}
return null;
}
public String setPricelistByOrg(Properties ctx, int WindowNo, GridTab mTab, GridField mField, Object value, Object oldValue) {
int org = (int) value;
int AD_Client_ID = (int) mTab.getValue(MOrder.COLUMNNAME_AD_Client_ID);
boolean isSOTrx = (boolean) mTab.getValue(MOrder.COLUMNNAME_IsSOTrx);
int priceList = new Query(ctx, MPriceList.Table_Name, "AD_Org_ID =? AND IsSOPriceList =?", null)
.setParameters(new Object[] { org, isSOTrx })
.setOnlyActiveRecords(true)
.firstId();
if(priceList>0)
mTab.setValue(MOrder.COLUMNNAME_M_PriceList_ID, priceList);
else
{
priceList = new Query(ctx, MPriceList.Table_Name, "AD_Client_ID =? AND AD_Org_ID =? AND IsSOPriceList =?", null)
.setParameters(new Object[] {AD_Client_ID, 0, isSOTrx })
.setOnlyActiveRecords(true)
.firstId();
mTab.setValue(MOrder.COLUMNNAME_M_PriceList_ID, priceList);
}
return null;
}
}