2014年1月27日 星期一

groovy:金額計算

groovy:金額計算
Callout
============
import java.sql.Timestamp
import java.math.BigDecimal
import java.sql.PreparedStatement
import java.sql.ResultSet
import org.compiere.util.DB
import org.compiere.model.MUser
//@script:groovy:getQuotationForOrder
BigDecimal qty = null;
BigDecimal price = null;
BigDecimal disrate = null;
if (A_Value != null  && A_Field.getColumnName().equals("數量") )
{
qty =  (BigDecimal) A_Value;
price = A_Tab.getValue("單價");
disrate = A_Tab.getValue("折扣率");
}
if (A_Value != null  && A_Field.getColumnName().equals("單價") )
{
price =  (BigDecimal) A_Value;
qty = A_Tab.getValue("數量");
disrate = A_Tab.getValue("折扣率");
}
if (A_Value != null  && A_Field.getColumnName().equals("折扣率") )
{
disrate =  (BigDecimal) A_Value;
qty = A_Tab.getValue("數量");
price = A_Tab.getValue("單價");
}
if (price != null && qty != null)
{
if (disrate==null) disrate = new BigDecimal(0);
disrate = (new BigDecimal(1)).subtract(disrate.divide(new BigDecimal(100)));
BigDecimal amt = price.multiply(qty).multiply(disrate);
A_Tab.setValue("金額", amt);
}else{
A_Tab.setValue("金額", null);
}
result=""

沒有留言:

張貼留言