You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2020/06/30 13:31:30 UTC
[ofbiz-plugins] branch trunk updated: Fixed: BigDecimal casting in
Groovy (OFBIZ-11862)
This is an automated email from the ASF dual-hosted git repository.
jleroux pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-plugins.git
The following commit(s) were added to refs/heads/trunk by this push:
new 8ca14ec Fixed: BigDecimal casting in Groovy (OFBIZ-11862)
8ca14ec is described below
commit 8ca14ec910810810d8e86a767d775b3382202d38
Author: Jacques Le Roux <ja...@les7arts.com>
AuthorDate: Tue Jun 30 15:31:27 2020 +0200
Fixed: BigDecimal casting in Groovy (OFBIZ-11862)
Sometimes use wrong type castings for BigDecimal:
I have observed that for typecasting in groovy, we have used the wrong coding
pattern like
(BigDecimal) 0
It should be like
0 as BigDecimal
Note that this does not apply to decimal because in case of decimal, the default
type is always BigDecimal in Groovy.
Thanks: Pritam Kute for spotting the issue in OFBIZ-11843
---
bi/groovyScripts/FactServices.groovy | 62 ++++++++++++++++++------------------
1 file changed, 31 insertions(+), 31 deletions(-)
diff --git a/bi/groovyScripts/FactServices.groovy b/bi/groovyScripts/FactServices.groovy
index 2582ab8..a519fc5 100644
--- a/bi/groovyScripts/FactServices.groovy
+++ b/bi/groovyScripts/FactServices.groovy
@@ -137,11 +137,11 @@ def loadSalesInvoiceItemFact() {
/*
* facts handling
*/
- fact.quantity = (BigDecimal) invoiceItem.quantity
- fact.extGrossAmount = (BigDecimal) 0
- fact.extDiscountAmount = (BigDecimal) 0
- fact.extTaxAmount = (BigDecimal) 0
- fact.extNetAmount = (BigDecimal) 0
+ fact.quantity = invoiceItem.quantity as BigDecimal
+ fact.extGrossAmount = 0 as BigDecimal
+ fact.extDiscountAmount = 0 as BigDecimal
+ fact.extTaxAmount = 0 as BigDecimal
+ fact.extNetAmount = 0 as BigDecimal
if (invoiceItem.quantity && invoiceItem.amount) {
fact.extGrossAmount = invoiceItem.quantity * invoiceItem.amount
@@ -167,10 +167,10 @@ def loadSalesInvoiceItemFact() {
fact.extNetAmount = fact.extGrossAmount - fact.extDiscountAmount
// TODO: prorate invoice header discounts and shipping charges
// TODO: costs
- fact.extManFixedCost = (BigDecimal) 0
- fact.extManVarCost = (BigDecimal) 0
- fact.extStorageCost = (BigDecimal) 0
- fact.extDistributionCost = (BigDecimal) 0
+ fact.extManFixedCost = 0 as BigDecimal
+ fact.extManVarCost = 0 as BigDecimal
+ fact.extStorageCost = 0 as BigDecimal
+ fact.extDistributionCost = 0 as BigDecimal
BigDecimal costs = fact.extManFixedCost + fact.extManVarCost + fact.extStorageCost + fact.extDistributionCost
fact.contributionAmount = fact.extNetAmount - costs
@@ -343,23 +343,23 @@ def loadSalesOrderItemFact() {
Map accountResult = run service:"getPartyAccountingPreferences", with: partyAccountingPreferencesCallMap
GenericValue accPref = accountResult.partyAccountingPreference
- fact.quantity = (BigDecimal) orderItem.quantity
- fact.extGrossAmount = (BigDecimal) 0
- fact.extGrossCost = (BigDecimal) 0
- fact.extDiscountAmount = (BigDecimal) 0
- fact.extNetAmount = (BigDecimal) 0
- fact.extShippingAmount = (BigDecimal) 0
- fact.extTaxAmount = (BigDecimal) 0
+ fact.quantity = orderItem.quantity as BigDecimal
+ fact.extGrossAmount = 0 as BigDecimal
+ fact.extGrossCost = 0 as BigDecimal
+ fact.extDiscountAmount = 0 as BigDecimal
+ fact.extNetAmount = 0 as BigDecimal
+ fact.extShippingAmount = 0 as BigDecimal
+ fact.extTaxAmount = 0 as BigDecimal
- fact.GS = (BigDecimal) 0
- fact.GMS = (BigDecimal) 0
- fact.GMP = (BigDecimal) 0
- fact.GSS = (BigDecimal) 0
- fact.GSC = (BigDecimal) 0
- fact.GSP = (BigDecimal) 0
- fact.GP = (BigDecimal) 0
+ fact.GS = 0 as BigDecimal
+ fact.GMS = 0 as BigDecimal
+ fact.GMP = 0 as BigDecimal
+ fact.GSS = 0 as BigDecimal
+ fact.GSC = 0 as BigDecimal
+ fact.GSP = 0 as BigDecimal
+ fact.GP = 0 as BigDecimal
- fact.countOrder = (BigDecimal) 0
+ fact.countOrder = 0 as BigDecimal
// extGrossAmount
Map convertUomCurrencyMap = [:]
@@ -379,7 +379,7 @@ def loadSalesOrderItemFact() {
// extGrossCost
GenericValue cost = from("SupplierProduct")
- .where(productId: orderItem.productId, availableThruDate: null, minimumOrderQuantity: (BigDecimal) 0)
+ .where(productId: orderItem.productId, availableThruDate: null, minimumOrderQuantity: 0 as BigDecimal)
.queryFirst()
if (cost) {
convertUomCurrencyMap.uomId = cost.currencyUomId
@@ -428,7 +428,7 @@ def loadSalesOrderItemFact() {
fact.extNetAmount = fact.extGrossAmount - fact.extDiscountAmount
// GS
- BigDecimal countGS = (BigDecimal) 0
+ BigDecimal countGS = 0 as BigDecimal
List checkGSList = from("SalesOrderItemFact").where(orderId: orderHeader.orderId).queryList()
for (GenericValue checkGS : checkGSList) {
if (checkGS.GS) {
@@ -458,7 +458,7 @@ def loadSalesOrderItemFact() {
fact.GMP = fact.GMS - fact.extGrossCost
// GSP
- BigDecimal countGSP = (BigDecimal) 0
+ BigDecimal countGSP = 0 as BigDecimal
List checkGSPList = from("SalesOrderItemFact").where(orderId: orderHeader.orderId).queryList()
for (GenericValue checkGSP : checkGSPList) {
if (checkGSP.GSP) {
@@ -470,7 +470,7 @@ def loadSalesOrderItemFact() {
if (countGSP == 0) {
List orderItemList = from("OrderItem").where(orderId: orderHeader.orderId).queryList()
- BigDecimal warrantyPrice = (BigDecimal) 0
+ BigDecimal warrantyPrice = 0 as BigDecimal
for (GenericValue warranty : orderAdjustments) {
if ("WARRANTY_ADJUSTMENT".equals(warranty.orderAdjustmentTypeId)) {
warrantyPrice = warrantyPrice + warranty.amount
@@ -490,14 +490,14 @@ def loadSalesOrderItemFact() {
GSS = GSS * exchangeRate
}
fact.GSS = GSS
- fact.GSP = (BigDecimal) GSS
+ fact.GSP = GSS as BigDecimal
}
// GP
fact.GP = fact.GMP + fact.GSP
// countOrder
- BigDecimal countOrder = (BigDecimal) 0
+ BigDecimal countOrder = 0 as BigDecimal
List checkCountOrderList = from("SalesOrderItemFact").where(orderId: orderHeader.orderId).queryList()
for (GenericValue checkCountOrder : checkCountOrderList) {
if (checkCountOrder.countOrder) {
@@ -507,7 +507,7 @@ def loadSalesOrderItemFact() {
}
}
if (countOrder == 0) {
- fact.countOrder = (BigDecimal) 1
+ fact.countOrder = 1 as BigDecimal
}
fact.store()
}