Callout Pricelist In Order
This commit is contained in:
parent
34d2c7b1d5
commit
78c97b0540
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue