Model Validator Table Event
====================
import groovy.sql.Sql
import java.sql.Timestamp
import java.sql.PreparedStatement
import java.sql.ResultSet
import org.compiere.util.Env
import org.compiere.util.DB
// A_Ctx A_PO A_Type A_Event
int client=Env.getContextAsInt(A_Ctx, "AD_Client_ID");
int org=Env.getContextAsInt(A_Ctx, "AD_Org_ID");
int uid=Env.getContextAsInt(A_Ctx, "#AD_User_ID");
// int parent_id=Env.getContextAsInt(A_Ctx, "採購單_ID");
int parent_id=((Integer)A_PO.get_Value("採購單_ID")).intValue();
String sql = "SELECT SUM(採購金額),SUM(本幣金額) FROM 採購單明細 WHERE 採購單_id =? ";
PreparedStatement pstmt = DB.prepareStatement(sql, A_PO.get_TrxName());
pstmt.setInt(1, parent_id);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
BigDecimal purprice = rs.getBigDecimal (1);
BigDecimal price = rs.getBigDecimal (2);
if (purprice ==null) purprice = new BigDecimal(0);
if (price ==null) price = new BigDecimal(0);
DB.executeUpdateEx("UPDATE 採購單 SET 原幣未稅金額="+purprice+" , 本幣未稅金額="+price+", 原幣稅額="+purprice+" *營業稅率/100, 本幣稅額="+price+" *營業稅率/100, 合計="+price+"*(1+營業稅率/100) WHERE 採購單_id ="+parent_id, A_PO.get_TrxName());
}
rs.close();
pstmt.close();
沒有留言:
張貼留言