You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by le...@apache.org on 2008/10/27 09:58:58 UTC
svn commit: r708113 [3/5] - in
/ofbiz/branches/typecheckcleanup200810/applications: accounting/entitydef/
accounting/script/org/ofbiz/accounting/finaccount/
accounting/script/org/ofbiz/accounting/fixedasset/
accounting/script/org/ofbiz/accounting/invoi...
Modified: ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java?rev=708113&r1=708112&r2=708113&view=diff
==============================================================================
--- ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java (original)
+++ ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java Mon Oct 27 01:58:56 2008
@@ -434,8 +434,8 @@
createInvoiceItemContext.put("invoiceItemSeqId", invoiceItemSeqId);
createInvoiceItemContext.put("invoiceItemTypeId", getInvoiceItemType(delegator, (orderItem == null ? null : orderItem.getString("orderItemTypeId")), (product == null ? null : product.getString("productTypeId")), invoiceType, "INV_FPROD_ITEM"));
createInvoiceItemContext.put("description", orderItem.get("itemDescription"));
- createInvoiceItemContext.put("quantity", new Double(billingQuantity.doubleValue()));
- createInvoiceItemContext.put("amount", new Double(billingAmount.doubleValue()));
+ createInvoiceItemContext.put("quantity", billingQuantity);
+ createInvoiceItemContext.put("amount", billingAmount);
createInvoiceItemContext.put("productId", orderItem.get("productId"));
createInvoiceItemContext.put("productFeatureId", orderItem.get("productFeatureId"));
createInvoiceItemContext.put("overrideGlAccountId", orderItem.get("overrideGlAccountId"));
@@ -478,8 +478,8 @@
createOrderItemBillingContext.put("orderId", orderItem.get("orderId"));
createOrderItemBillingContext.put("orderItemSeqId", orderItem.get("orderItemSeqId"));
createOrderItemBillingContext.put("itemIssuanceId", itemIssuanceId);
- createOrderItemBillingContext.put("quantity", new Double(billingQuantity.doubleValue()));
- createOrderItemBillingContext.put("amount", new Double(billingAmount.doubleValue()));
+ createOrderItemBillingContext.put("quantity", billingQuantity);
+ createOrderItemBillingContext.put("amount", billingAmount);
createOrderItemBillingContext.put("userLogin", userLogin);
if ((shipmentReceipt != null) && (shipmentReceipt.getString("receiptId") != null)) {
createOrderItemBillingContext.put("shipmentReceiptId", shipmentReceipt.getString("receiptId"));
@@ -560,8 +560,8 @@
createInvoiceItemAdjContext.put("invoiceId", invoiceId);
createInvoiceItemAdjContext.put("invoiceItemSeqId", invoiceItemSeqId);
createInvoiceItemAdjContext.put("invoiceItemTypeId", getInvoiceItemType(delegator, adj.getString("orderAdjustmentTypeId"), null, invoiceType, "INVOICE_ITM_ADJ"));
- createInvoiceItemAdjContext.put("quantity", new Double(1));
- createInvoiceItemAdjContext.put("amount", new Double(amount.doubleValue()));
+ createInvoiceItemAdjContext.put("quantity", BigDecimal.ONE);
+ createInvoiceItemAdjContext.put("amount", amount);
createInvoiceItemAdjContext.put("productId", orderItem.get("productId"));
createInvoiceItemAdjContext.put("productFeatureId", orderItem.get("productFeatureId"));
createInvoiceItemAdjContext.put("overrideGlAccountId", adj.get("overrideGlAccountId"));
@@ -608,7 +608,7 @@
createOrderAdjustmentBillingContext.put("orderAdjustmentId", adj.getString("orderAdjustmentId"));
createOrderAdjustmentBillingContext.put("invoiceId", invoiceId);
createOrderAdjustmentBillingContext.put("invoiceItemSeqId", invoiceItemSeqId);
- createOrderAdjustmentBillingContext.put("amount", new Double(amount.doubleValue()));
+ createOrderAdjustmentBillingContext.put("amount", amount);
createOrderAdjustmentBillingContext.put("userLogin", userLogin);
Map createOrderAdjustmentBillingResult = dispatcher.runSync("createOrderAdjustmentBilling", createOrderAdjustmentBillingContext);
@@ -617,7 +617,7 @@
}
// this adjustment amount
- BigDecimal thisAdjAmount = new BigDecimal(amount.doubleValue());
+ BigDecimal thisAdjAmount = amount;
// adjustments only apply to totals when they are not tax or shipping adjustments
if (!"SALES_TAX".equals(adj.getString("orderAdjustmentTypeId")) &&
@@ -840,7 +840,7 @@
String invoiceIdIn = (String) context.get("invoiceId");
String invoiceItemSeqIdIn = (String) context.get("invoiceItemSeqId");
- BigDecimal amountTotal = InvoiceWorker.getInvoiceTotalBd(delegator, invoiceIdIn);
+ BigDecimal amountTotal = InvoiceWorker.getInvoiceTotal(delegator, invoiceIdIn);
// never use equals for BigDecimal - use either signum or compareTo
if (amountTotal.signum() == 0) {
Debug.logWarning("Invoice [" + invoiceIdIn + "] has an amount total of [" + amountTotal + "], so no commission invoice will be created", module);
@@ -849,7 +849,7 @@
try {
// Change this when amountApplied is BigDecimal, 18 digit scale to keep all the precision
- BigDecimal appliedFraction = new BigDecimal(((Double)context.get("amountApplied")).doubleValue()).divide(amountTotal, 12, rounding);
+ BigDecimal appliedFraction = ((BigDecimal)context.get("amountApplied")).divide(amountTotal, 12, rounding);
Map inMap = UtilMisc.toMap("invoiceId", invoiceIdIn);
GenericValue invoice = delegator.findByPrimaryKey("Invoice", inMap);
String invoiceTypeId = invoice.getString("invoiceTypeId");
@@ -985,7 +985,7 @@
"invoiceId", invoiceId,
"productId", elem.get("productId"),
"invoiceItemTypeId", "COMM_INV_ITEM",
- "amount", new Double(elemAmount.doubleValue()),
+ "amount", elemAmount,
"userLogin", userLogin));
if (ServiceUtil.isError(resMap)) {
return ServiceUtil.returnError(UtilProperties.getMessage(resource,"AccountingInvoiceCommissionErrorItem",locale), null, null, resMap);
@@ -1247,7 +1247,7 @@
// Override the issueQty with the quantity from the purchase order item
GenericValue orderItemAssoc = EntityUtil.getFirst(EntityUtil.filterByAnd(orderItemAssocs, UtilMisc.toMap("orderId", issue.getString("orderId"), "orderItemSeqId", issue.getString("orderItemSeqId"))));
GenericValue purchaseOrderItem = orderItemAssoc.getRelatedOne("ToOrderItem");
- orderItem.set("quantity", purchaseOrderItem.getDouble("quantity"));
+ orderItem.set("quantity", purchaseOrderItem.getBigDecimal("quantity"));
issueQty = purchaseOrderItem.getBigDecimal("quantity");
}
@@ -1279,9 +1279,9 @@
// no available means we cannot bill anymore
if (billAvail != null && billAvail.signum() == 1) { // this checks if billAvail is a positive non-zero number
- if (issueQty != null && issueQty.doubleValue() > billAvail.doubleValue()) {
+ if (issueQty != null && issueQty.compareTo(billAvail) > 0) {
// can only bill some of the issuance; others have been billed already
- issue.set("quantity", new Double(billAvail.doubleValue()));
+ issue.set("quantity", billAvail);
billAvail = ZERO;
} else {
// now have been billed
@@ -1378,7 +1378,7 @@
}
createOrderAdjustmentContext.put("description", addtlChargeDescription);
createOrderAdjustmentContext.put("sourceReferenceId", shipmentId);
- createOrderAdjustmentContext.put("amount", new Double(additionalShippingCharge.doubleValue()));
+ createOrderAdjustmentContext.put("amount", additionalShippingCharge);
createOrderAdjustmentContext.put("userLogin", context.get("userLogin"));
String shippingOrderAdjustmentId = null;
try {
@@ -1470,7 +1470,7 @@
// Release all outstanding (not settled or cancelled) authorizations, while keeping a running
// total of their amounts so that the total plus the additional shipping charges can be authorized again
// all at once.
- BigDecimal totalNewAuthAmount = new BigDecimal(totalAdditionalShippingCharges.doubleValue()).setScale(decimals, rounding);
+ BigDecimal totalNewAuthAmount = totalAdditionalShippingCharges.setScale(decimals, rounding);
Iterator oppit = orderPaymentPreferences.iterator();
while (oppit.hasNext()) {
GenericValue orderPaymentPreference = (GenericValue) oppit.next();
@@ -1517,7 +1517,7 @@
try {
// Use an overrideAmount because the maxAmount wasn't set on the OrderPaymentPreference
- authResult = dispatcher.runSync("authOrderPaymentPreference", UtilMisc.toMap("orderPaymentPreferenceId", orderPaymentPreferenceId, "overrideAmount", new Double(totalNewAuthAmount.doubleValue()), "userLogin", context.get("userLogin")));
+ authResult = dispatcher.runSync("authOrderPaymentPreference", UtilMisc.toMap("orderPaymentPreferenceId", orderPaymentPreferenceId, "overrideAmount", totalNewAuthAmount, "userLogin", context.get("userLogin")));
} catch (GenericServiceException e) {
String errMsg = UtilProperties.getMessage(resource, "AccountingTroubleCallingAuthOrderPaymentPreferenceService", locale);
Debug.logError(e, errMsg, module);
@@ -1758,17 +1758,17 @@
if (invoiceItemTypeId == null) {
return ServiceUtil.returnError(errorMsg + UtilProperties.getMessage(resource, "AccountingNoKnownInvoiceItemTypeReturnItemType",UtilMisc.toMap("returnItemTypeId",returnItem.getString("returnItemTypeId")),locale));
}
- double quantity = 0.0;
+ BigDecimal quantity = BigDecimal.ZERO;
if (shipmentReceiptFound) {
- quantity = item.getDouble("quantityAccepted");
+ quantity = item.getBigDecimal("quantityAccepted");
} else if (itemIssuanceFound) {
- quantity = item.getDouble("quantity");
+ quantity = item.getBigDecimal("quantity");
}
// create the invoice item for this shipment receipt
- input = UtilMisc.toMap("invoiceId", invoiceId, "invoiceItemTypeId", invoiceItemTypeId, "quantity", Double.valueOf(quantity));
+ input = UtilMisc.toMap("invoiceId", invoiceId, "invoiceItemTypeId", invoiceItemTypeId, "quantity", quantity);
input.put("invoiceItemSeqId", "" + invoiceItemSeqId); // turn the int into a string with ("" + int) hack
- input.put("amount", returnItem.get("returnPrice")); // this service requires Double
+ input.put("amount", returnItem.get("returnPrice"));
input.put("productId", returnItem.get("productId"));
input.put("taxableFlag", product.get("taxable"));
input.put("description", returnItem.get("description"));
@@ -1783,8 +1783,8 @@
input = UtilMisc.toMap("returnId", returnId, "returnItemSeqId", returnItem.get("returnItemSeqId"),
"invoiceId", invoiceId);
input.put("invoiceItemSeqId", "" + invoiceItemSeqId); // turn the int into a string with ("" + int) hack
- input.put("quantity", Double.valueOf(quantity));
- input.put("amount", returnItem.get("returnPrice")); // this service requires Double
+ input.put("quantity", quantity);
+ input.put("amount", returnItem.get("returnPrice"));
input.put("userLogin", userLogin);
if (shipmentReceiptFound) {
input.put("shipmentReceiptId", item.get("receiptId"));
@@ -1811,8 +1811,8 @@
cancelQuantity = item.getBigDecimal("cancelQuantity");
}
if (cancelQuantity == null) {cancelQuantity = ZERO;};
- BigDecimal actualAmount = returnPrice.multiply(BigDecimal.valueOf(quantity)).setScale(decimals, rounding);
- BigDecimal promisedAmount = returnPrice.multiply(BigDecimal.valueOf(quantity).add(cancelQuantity)).setScale(decimals, rounding);
+ BigDecimal actualAmount = returnPrice.multiply(quantity).setScale(decimals, rounding);
+ BigDecimal promisedAmount = returnPrice.multiply(quantity.add(cancelQuantity)).setScale(decimals, rounding);
invoiceTotal = invoiceTotal.add(actualAmount).setScale(decimals, rounding);
promisedTotal = promisedTotal.add(promisedAmount).setScale(decimals, rounding);
@@ -1834,7 +1834,7 @@
}
// prorate the adjustment amount by the returned amount; do not round ratio
- BigDecimal ratio = BigDecimal.valueOf(quantity).divide(returnItem.getBigDecimal("returnQuantity"), 100, rounding);
+ BigDecimal ratio = quantity.divide(returnItem.getBigDecimal("returnQuantity"), 100, rounding);
BigDecimal amount = adjustment.getBigDecimal("amount");
amount = amount.multiply(ratio).setScale(decimals, rounding);
if (Debug.verboseOn()) {
@@ -1843,8 +1843,8 @@
}
// prepare invoice item data for this adjustment
- input = UtilMisc.toMap("invoiceId", invoiceId, "invoiceItemTypeId", invoiceItemTypeId, "quantity", new Double(1.0));
- input.put("amount", new Double(amount.doubleValue()));
+ input = UtilMisc.toMap("invoiceId", invoiceId, "invoiceItemTypeId", invoiceItemTypeId, "quantity", BigDecimal.ONE);
+ input.put("amount", amount);
input.put("invoiceItemSeqId", "" + invoiceItemSeqId); // turn the int into a string with ("" + int) hack
input.put("productId", returnItem.get("productId"));
input.put("description", adjustment.get("description"));
@@ -1903,8 +1903,8 @@
}
// prepare the invoice item for the return-wide adjustment
- input = UtilMisc.toMap("invoiceId", invoiceId, "invoiceItemTypeId", invoiceItemTypeId, "quantity", new Double(1.0));
- input.put("amount", new Double(amount.doubleValue()));
+ input = UtilMisc.toMap("invoiceId", invoiceId, "invoiceItemTypeId", invoiceItemTypeId, "quantity", BigDecimal.ONE);
+ input.put("amount", amount);
input.put("invoiceItemSeqId", "" + invoiceItemSeqId); // turn the int into a string with ("" + int) hack
input.put("description", adjustment.get("description"));
input.put("overrideGlAccountId", adjustment.get("overrideGlAccountId"));
@@ -2019,7 +2019,7 @@
}
if (totalPayments.signum() == 1) {
- BigDecimal invoiceTotal = InvoiceWorker.getInvoiceTotalBd(delegator, invoiceId);
+ BigDecimal invoiceTotal = InvoiceWorker.getInvoiceTotal(delegator, invoiceId);
if (Debug.verboseOn()) {
Debug.logVerbose("Invoice #" + invoiceId + " total: " + invoiceTotal, module);
Debug.logVerbose("Total payments : " + totalPayments, module);
@@ -2061,8 +2061,8 @@
createInvoiceItemContext.put("invoiceItemSeqId", invoiceItemSeqId);
createInvoiceItemContext.put("invoiceItemTypeId", getInvoiceItemType(delegator, adj.getString("orderAdjustmentTypeId"), null, invoiceTypeId, "INVOICE_ADJ"));
createInvoiceItemContext.put("description", adj.get("description"));
- createInvoiceItemContext.put("quantity", new Double(1));
- createInvoiceItemContext.put("amount", new Double(amount.doubleValue()));
+ createInvoiceItemContext.put("quantity", BigDecimal.ONE);
+ createInvoiceItemContext.put("amount", amount);
createInvoiceItemContext.put("overrideGlAccountId", adj.get("overrideGlAccountId"));
//createInvoiceItemContext.put("productId", orderItem.get("productId"));
//createInvoiceItemContext.put("productFeatureId", orderItem.get("productFeatureId"));
@@ -2090,7 +2090,7 @@
createOrderAdjustmentBillingContext.put("orderAdjustmentId", adj.getString("orderAdjustmentId"));
createOrderAdjustmentBillingContext.put("invoiceId", invoiceId);
createOrderAdjustmentBillingContext.put("invoiceItemSeqId", invoiceItemSeqId);
- createOrderAdjustmentBillingContext.put("amount", new Double(amount.doubleValue()));
+ createOrderAdjustmentBillingContext.put("amount", amount);
createOrderAdjustmentBillingContext.put("userLogin", userLogin);
try {
@@ -2119,8 +2119,8 @@
createInvoiceItemContext.put("invoiceItemSeqId", invoiceItemSeqId);
createInvoiceItemContext.put("invoiceItemTypeId", getInvoiceItemType(delegator, adj.getString("orderAdjustmentTypeId"), null, invoiceTypeId, "INVOICE_ADJ"));
createInvoiceItemContext.put("description", adj.get("description"));
- createInvoiceItemContext.put("quantity", new Double(1));
- createInvoiceItemContext.put("amount", new Double(amount.doubleValue()));
+ createInvoiceItemContext.put("quantity", BigDecimal.ONE);
+ createInvoiceItemContext.put("amount", amount);
createInvoiceItemContext.put("overrideGlAccountId", adj.get("overrideGlAccountId"));
//createInvoiceItemContext.put("productId", orderItem.get("productId"));
//createInvoiceItemContext.put("productFeatureId", orderItem.get("productFeatureId"));
@@ -2148,7 +2148,7 @@
createOrderAdjustmentBillingContext.put("orderAdjustmentId", adj.getString("orderAdjustmentId"));
createOrderAdjustmentBillingContext.put("invoiceId", invoiceId);
createOrderAdjustmentBillingContext.put("invoiceItemSeqId", invoiceItemSeqId);
- createOrderAdjustmentBillingContext.put("amount", new Double(amount.doubleValue()));
+ createOrderAdjustmentBillingContext.put("amount", amount);
createOrderAdjustmentBillingContext.put("userLogin", userLogin);
try {
@@ -2210,16 +2210,18 @@
* it works on the invoice item level.
*/
public static Map updatePaymentApplication(DispatchContext dctx, Map context) {
- Double amountApplied = (Double) context.get("amountApplied");
+ if (!context.containsKey("useHighestAmount")) {
+ context.put("useHighestAmount","N");
+ }
+ BigDecimal amountApplied = (BigDecimal) context.get("amountApplied");
if (amountApplied != null) {
- BigDecimal amountAppliedBd = new BigDecimal(amountApplied.toString());
- context.put("amountApplied", amountAppliedBd);
+ context.put("amountApplied", amountApplied);
} else {
- BigDecimal amountAppliedBd = ZERO;
- context.put("amountApplied", amountAppliedBd);
+ amountApplied = ZERO;
+ context.put("amountApplied", ZERO);
}
- return updatePaymentApplicationBd(dctx, context);
+ return updatePaymentApplicationDefBd(dctx, context);
}
/**
@@ -2234,23 +2236,7 @@
if (!context.containsKey("useHighestAmount")) {
context.put("useHighestAmount","Y");
}
- Double amountApplied = (Double) context.get("amountApplied");
- if (amountApplied != null) {
- BigDecimal amountAppliedBd = new BigDecimal(amountApplied.toString());
- context.put("amountApplied", amountAppliedBd);
- } else {
- BigDecimal amountAppliedBd = ZERO;
- context.put("amountApplied", amountAppliedBd);
- }
-
- return updatePaymentApplicationBd(dctx, context);
- }
-
- public static Map updatePaymentApplicationBd(DispatchContext dctx, Map context) {
- if (!context.containsKey("useHighestAmount")) {
- context.put("useHighestAmount","N");
- }
- return updatePaymentApplicationDefBd(dctx, context);
+ return updatePaymentApplication(dctx, context);
}
private static String successMessage = null;
@@ -2356,7 +2342,7 @@
if (payment == null) {
errorMessageList.add(UtilProperties.getMessage(resource, "AccountingPaymentRecordNotFound",UtilMisc.toMap("paymentId",paymentId),locale));
}
- paymentApplyAvailable = payment.getBigDecimal("amount").subtract(PaymentWorker.getPaymentAppliedBd(payment)).setScale(decimals,rounding);
+ paymentApplyAvailable = payment.getBigDecimal("amount").subtract(PaymentWorker.getPaymentApplied(payment)).setScale(decimals,rounding);
if (payment.getString("statusId").equals("PMNT_CANCELLED")) {
errorMessageList.add(UtilProperties.getMessage(resource, "AccountingPaymentCancelled", UtilMisc.toMap("paymentId",paymentId), locale));
@@ -2387,7 +2373,7 @@
if (toPayment == null) {
errorMessageList.add(UtilProperties.getMessage(resource, "AccountingPaymentRecordNotFound",UtilMisc.toMap("paymentId",toPaymentId),locale));
}
- toPaymentApplyAvailable = toPayment.getBigDecimal("amount").subtract(PaymentWorker.getPaymentAppliedBd(toPayment)).setScale(decimals,rounding);
+ toPaymentApplyAvailable = toPayment.getBigDecimal("amount").subtract(PaymentWorker.getPaymentApplied(toPayment)).setScale(decimals,rounding);
if (toPayment.getString("statusId").equals("PMNT_CANCELLED")) {
errorMessageList.add(UtilProperties.getMessage(resource, "AccountingPaymentCancelled", UtilMisc.toMap("paymentId",paymentId), locale));
@@ -2504,14 +2490,14 @@
errorMessageList.add("actual currency on payment (" + currencyUomId + ") not the same as original invoice currency (" + invoice.getString("currencyUomId") + ")");
}
}
- paymentApplyAvailable = payment.getBigDecimal("actualCurrencyAmount").subtract(PaymentWorker.getPaymentAppliedBd(payment)).setScale(decimals,rounding);
+ paymentApplyAvailable = payment.getBigDecimal("actualCurrencyAmount").subtract(PaymentWorker.getPaymentApplied(payment)).setScale(decimals,rounding);
if (amountApplied.signum() == 0) {
amountAppliedMax = paymentApplyAvailable;
}
}
// check if the invoice already covered by payments
- BigDecimal invoiceTotal = InvoiceWorker.getInvoiceTotalBd(invoice);
+ BigDecimal invoiceTotal = InvoiceWorker.getInvoiceTotal(invoice);
invoiceApplyAvailable = InvoiceWorker.getInvoiceNotApplied(invoice);
// adjust the amountAppliedMax value if required....
@@ -2568,7 +2554,7 @@
} else {
quantity = invoiceItem.getBigDecimal("quantity").setScale(decimals,rounding);
}
- invoiceItemApplyAvailable = invoiceItem.getBigDecimal("amount").multiply(quantity).setScale(decimals,rounding).subtract(InvoiceWorker.getInvoiceItemAppliedBd(invoiceItem));
+ invoiceItemApplyAvailable = invoiceItem.getBigDecimal("amount").multiply(quantity).setScale(decimals,rounding).subtract(InvoiceWorker.getInvoiceItemApplied(invoiceItem));
// check here for too much application if a new record is added
// (paymentApplicationId == null)
if (paymentApplicationId == null && amountApplied.compareTo(invoiceItemApplyAvailable) > 0) {
@@ -2796,7 +2782,7 @@
paymentApplication.set("invoiceItemSeqId", invoiceItemSeqId);
paymentApplication.set("paymentId", paymentId);
paymentApplication.set("toPaymentId", toPaymentId);
- paymentApplication.set("amountApplied", new Double(amountApplied.doubleValue()));
+ paymentApplication.set("amountApplied", amountApplied);
paymentApplication.set("billingAccountId", billingAccountId);
paymentApplication.set("taxAuthGeoId", taxAuthGeoId);
return storePaymentApplication(delegator, paymentApplication,locale);
@@ -2814,7 +2800,7 @@
paymentApplication.set("invoiceId", invoiceId);
paymentApplication.set("invoiceItemSeqId", null);
paymentApplication.set("toPaymentId", null);
- paymentApplication.set("amountApplied", new Double(amountApplied.doubleValue()));
+ paymentApplication.set("amountApplied", amountApplied);
paymentApplication.set("billingAccountId", billingAccountId);
paymentApplication.set("taxAuthGeoId", null);
if (debug) Debug.logInfo("creating new paymentapplication", module);
@@ -2896,7 +2882,7 @@
paymentApplication.set("invoiceItemSeqId", invoiceItem.getString("invoiceItemSeqId"));
paymentApplication.set("paymentId", paymentId);
paymentApplication.set("toPaymentId", toPaymentId);
- paymentApplication.set("amountApplied", new Double( tobeApplied.doubleValue()));
+ paymentApplication.set("amountApplied", tobeApplied);
paymentApplication.set("billingAccountId", billingAccountId);
paymentApplication.set("taxAuthGeoId", taxAuthGeoId);
storePaymentApplication(delegator, paymentApplication,locale);
@@ -2907,7 +2893,7 @@
// which triggers the ledger routines....
/*
* if
- * (InvoiceWorker.getInvoiceTotalBd(invoice).equals(InvoiceWorker.getInvoiceAppliedBd(invoice))) {
+ * (InvoiceWorker.getInvoiceTotal(invoice).equals(InvoiceWorker.getInvoiceApplied(invoice))) {
* try { dispatcher.runSync("setInvoiceStatus",
* UtilMisc.toMap("invoiceId",invoiceId,"statusId","INVOICE_PAID")); }
* catch (GenericServiceException e1) {
@@ -2915,7 +2901,7 @@
* module); } }
*
* if
- * (payment.getBigDecimal("amount").equals(PaymentWorker.getPaymentAppliedBd(payment))) {
+ * (payment.getBigDecimal("amount").equals(PaymentWorker.getPaymentApplied(payment))) {
* GenericValue appliedPayment = (GenericValue)
* delegator.makeValue("Payment",
* UtilMisc.toMap("paymentId",paymentId,"statusId","INVOICE_PAID"));
@@ -2947,7 +2933,7 @@
paymentApplication.set("invoiceItemSeqId", invoiceItemSeqId);
paymentApplication.set("paymentId", paymentId);
paymentApplication.set("toPaymentId", toPaymentId);
- paymentApplication.set("amountApplied", new Double(amountApplied.doubleValue()));
+ paymentApplication.set("amountApplied", amountApplied);
paymentApplication.set("billingAccountId", billingAccountId);
paymentApplication.set("taxAuthGeoId", taxAuthGeoId);
return storePaymentApplication(delegator, paymentApplication,locale);
@@ -2959,7 +2945,7 @@
return ServiceUtil.returnError(errorMessageList);
}
- public static Map calculateInvoicedAdjustmentTotalBd(DispatchContext dctx, Map context) {
+ public static Map calculateInvoicedAdjustmentTotal(DispatchContext dctx, Map context) {
GenericDelegator delegator = dctx.getDelegator();
Locale locale = (Locale) context.get("locale");
GenericValue orderAdjustment = (GenericValue) context.get("orderAdjustment");
@@ -3020,8 +3006,8 @@
// if new record add to the already existing one.
if ( paymentApplication.get("paymentApplicationId") == null) {
// add 2 amounts together
- checkAppl.set("amountApplied", new Double(paymentApplication.getBigDecimal("amountApplied").
- add(checkAppl.getBigDecimal("amountApplied")).setScale(decimals,rounding).doubleValue()));
+ checkAppl.set("amountApplied", paymentApplication.getBigDecimal("amountApplied").
+ add(checkAppl.getBigDecimal("amountApplied")).setScale(decimals,rounding));
if (debug) Debug.logInfo("Update paymentApplication record: " + checkAppl.getString("paymentApplicationId") + " with appliedAmount:" + checkAppl.getBigDecimal("amountApplied"), module);
try {
checkAppl.store();
@@ -3030,7 +3016,7 @@
}
} else if (paymentApplication.getString("paymentApplicationId").equals(checkAppl.getString("paymentApplicationId"))) {
// update existing record inplace
- checkAppl.set("amountApplied", new Double(paymentApplication.getBigDecimal("amountApplied").doubleValue()));
+ checkAppl.set("amountApplied", paymentApplication.getBigDecimal("amountApplied"));
if (debug) Debug.logInfo("Update paymentApplication record: " + checkAppl.getString("paymentApplicationId") + " with appliedAmount:" + checkAppl.getBigDecimal("amountApplied"), module);
try {
checkAppl.store();
@@ -3039,8 +3025,8 @@
}
} else { // two existing records, an updated one added to the existing one
// add 2 amounts together
- checkAppl.set("amountApplied", new Double(paymentApplication.getBigDecimal("amountApplied").
- add(checkAppl.getBigDecimal("amountApplied")).setScale(decimals,rounding).doubleValue()));
+ checkAppl.set("amountApplied", paymentApplication.getBigDecimal("amountApplied").
+ add(checkAppl.getBigDecimal("amountApplied")).setScale(decimals,rounding));
// delete paymentApplication record and update the checkAppls one.
if (debug) Debug.logInfo("Delete paymentApplication record: " + paymentApplication.getString("paymentApplicationId") + " with appliedAmount:" + paymentApplication.getBigDecimal("amountApplied"), module);
try {
Modified: ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java?rev=708113&r1=708112&r2=708113&view=diff
==============================================================================
--- ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java (original)
+++ ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java Mon Oct 27 01:58:56 2008
@@ -53,13 +53,9 @@
/**
* Method to return the total amount of an invoice
* @param invoice GenericValue object of the Invoice
- * @return the invoice total as double
+ * @return the invoice total as BigDecimal
*/
- public static double getInvoiceTotal(GenericDelegator delegator, String invoiceId) {
- return getInvoiceTotalBd(delegator, invoiceId).doubleValue();
- }
-
- public static BigDecimal getInvoiceTotalBd(GenericDelegator delegator, String invoiceId) {
+ public static BigDecimal getInvoiceTotal(GenericDelegator delegator, String invoiceId) {
if (delegator == null) {
throw new IllegalArgumentException("Null delegator is not allowed in this method");
}
@@ -75,7 +71,20 @@
throw new IllegalArgumentException("The invoiceId passed does not match an existing invoice");
}
- return getInvoiceTotalBd(invoice);
+ return getInvoiceTotal(invoice);
+ }
+
+ /**
+ * Method to return the total amount of an invoice item i.e. quantity * amount
+ * @param invoice GenericValue object of the Invoice
+ * @return the invoice total as BigDecimal
+ */
+ public static BigDecimal getInvoiceItemTotal(GenericValue invoiceItem) {
+ BigDecimal quantity = invoiceItem.getBigDecimal("quantity");
+ if (quantity == null) {
+ quantity = BigDecimal.ONE;
+ }
+ return quantity.multiply(invoiceItem.getBigDecimal("amount")).setScale(decimals, rounding);
}
/** Method to get the taxable invoice item types as a List of invoiceItemTypeIds. These are identified in Enumeration with enumTypeId TAXABLE_INV_ITM_TY. */
@@ -89,10 +98,7 @@
return typeIds;
}
- public static double getInvoiceTaxTotal(GenericValue invoice) {
- return getInvoiceTaxTotalBd(invoice).doubleValue();
- }
- public static BigDecimal getInvoiceTaxTotalBd(GenericValue invoice) {
+ public static BigDecimal getInvoiceTaxTotal(GenericValue invoice) {
BigDecimal invoiceTaxTotal = ZERO;
BigDecimal ONE = BigDecimal.ONE;
@@ -126,23 +132,16 @@
}
- public static double getInvoiceNoTaxTotal(GenericValue invoice) {
- return getInvoiceTotalBd(invoice).doubleValue() - getInvoiceTaxTotal(invoice);
- }
- public static BigDecimal getInvoiceNoTaxTotalBd(GenericValue invoice) {
- return getInvoiceTotalBd(invoice).subtract(getInvoiceTaxTotalBd(invoice));
+ public static BigDecimal getInvoiceNoTaxTotal(GenericValue invoice) {
+ return getInvoiceTotal(invoice).subtract(getInvoiceTaxTotal(invoice));
}
/**
* Method to return the total amount of an invoice
* @param invoice GenericValue object of the Invoice
- * @return the invoice total as double
+ * @return the invoice total as BigDecimal
*/
- public static double getInvoiceTotal(GenericValue invoice) {
- return getInvoiceTotalBd(invoice).doubleValue();
- }
-
- public static BigDecimal getInvoiceTotalBd(GenericValue invoice) {
+ public static BigDecimal getInvoiceTotal(GenericValue invoice) {
BigDecimal invoiceTotal = ZERO;
BigDecimal invoiceTaxTotal = ZERO;
List invoiceItems = null;
@@ -363,13 +362,13 @@
/**
* Method to return the total amount of an invoice which is not yet applied to a payment
* @param invoice GenericValue object of the Invoice
- * @return the invoice total as double
+ * @return the invoice total as BigDecimal
*/
public static BigDecimal getInvoiceNotApplied(GenericDelegator delegator, String invoiceId) {
- return InvoiceWorker.getInvoiceTotalBd(delegator, invoiceId).subtract(getInvoiceAppliedBd(delegator, invoiceId));
+ return InvoiceWorker.getInvoiceTotal(delegator, invoiceId).subtract(getInvoiceApplied(delegator, invoiceId));
}
public static BigDecimal getInvoiceNotApplied(GenericValue invoice) {
- return InvoiceWorker.getInvoiceTotalBd(invoice).subtract(getInvoiceAppliedBd(invoice));
+ return InvoiceWorker.getInvoiceTotal(invoice).subtract(getInvoiceApplied(invoice));
}
/**
* Returns amount not applied (ie, still outstanding) of an invoice at an asOfDate, based on Payment.effectiveDate <= asOfDateTime
@@ -379,21 +378,17 @@
* @return
*/
public static BigDecimal getInvoiceNotApplied(GenericValue invoice, Timestamp asOfDateTime) {
- return InvoiceWorker.getInvoiceTotalBd(invoice).subtract(getInvoiceAppliedBd(invoice, asOfDateTime));
+ return InvoiceWorker.getInvoiceTotal(invoice).subtract(getInvoiceApplied(invoice, asOfDateTime));
}
/**
* Method to return the total amount of an invoice which is applied to a payment
* @param invoice GenericValue object of the Invoice
- * @return the invoice total as double
+ * @return the invoice total as BigDecimal
*/
- public static double getInvoiceApplied(GenericDelegator delegator, String invoiceId) {
- return getInvoiceAppliedBd(delegator, invoiceId).doubleValue();
- }
-
- public static BigDecimal getInvoiceAppliedBd(GenericDelegator delegator, String invoiceId) {
- return getInvoiceAppliedBd(delegator, invoiceId, UtilDateTime.nowTimestamp());
+ public static BigDecimal getInvoiceApplied(GenericDelegator delegator, String invoiceId) {
+ return getInvoiceApplied(delegator, invoiceId, UtilDateTime.nowTimestamp());
}
/**
@@ -404,7 +399,7 @@
* @param asOfDateTime - a Timestamp
* @return
*/
- public static BigDecimal getInvoiceAppliedBd(GenericDelegator delegator, String invoiceId, Timestamp asOfDateTime) {
+ public static BigDecimal getInvoiceApplied(GenericDelegator delegator, String invoiceId, Timestamp asOfDateTime) {
if (delegator == null) {
throw new IllegalArgumentException("Null delegator is not allowed in this method");
}
@@ -438,44 +433,27 @@
/**
* Method to return the total amount of an invoice which is applied to a payment
* @param invoice GenericValue object of the Invoice
- * @return the applied total as double
+ * @return the applied total as BigDecimal
*/
- public static double getInvoiceApplied(GenericValue invoice) {
- return getInvoiceAppliedBd(invoice).doubleValue();
+ public static BigDecimal getInvoiceApplied(GenericValue invoice) {
+ return getInvoiceApplied(invoice, UtilDateTime.nowTimestamp());
}
+
/**
- * Big decimal version of getInvoiceApplied
- *
* @param delegator
* @param invoiceId
* @param invoiceItemSeqId
* @return
*/
- public static BigDecimal getInvoiceAppliedBd(GenericValue invoice, Timestamp asOfDateTime) {
- return getInvoiceAppliedBd(invoice.getDelegator(), invoice.getString("invoiceId"), asOfDateTime);
- }
- public static BigDecimal getInvoiceAppliedBd(GenericValue invoice) {
- return getInvoiceAppliedBd(invoice, UtilDateTime.nowTimestamp());
+ public static BigDecimal getInvoiceApplied(GenericValue invoice, Timestamp asOfDateTime) {
+ return getInvoiceApplied(invoice.getDelegator(), invoice.getString("invoiceId"), asOfDateTime);
}
-
/**
* Method to return the amount of an invoiceItem which is applied to a payment
* @param invoice GenericValue object of the Invoice
- * @return the invoice total as double
+ * @return the invoice total as BigDecimal
*/
- public static double getInvoiceItemApplied(GenericDelegator delegator, String invoiceId, String invoiceItemSeqId) {
- return getInvoiceItemAppliedBd(delegator, invoiceId, invoiceItemSeqId).doubleValue();
- }
-
- /**
- * Big decimal version of getInvoiceApplied
- *
- * @param delegator
- * @param invoiceId
- * @param invoiceItemSeqId
- * @return
- */
- public static BigDecimal getInvoiceItemAppliedBd(GenericDelegator delegator, String invoiceId, String invoiceItemSeqId) {
+ public static BigDecimal getInvoiceItemApplied(GenericDelegator delegator, String invoiceId, String invoiceItemSeqId) {
if (delegator == null) {
throw new IllegalArgumentException("Null delegator is not allowed in this method");
}
@@ -491,18 +469,15 @@
throw new IllegalArgumentException("The invoiceId/itemSeqId passed does not match an existing invoiceItem");
}
- return getInvoiceItemAppliedBd(invoiceItem);
+ return getInvoiceItemApplied(invoiceItem);
}
/**
* Method to return the total amount of an invoiceItem which is applied to a payment
* @param invoice GenericValue object of the Invoice
- * @return the applied total as double
+ * @return the applied total as BigDecimal
*/
- public static double getInvoiceItemApplied(GenericValue invoiceItem) {
- return getInvoiceItemAppliedBd(invoiceItem).doubleValue();
- }
- public static BigDecimal getInvoiceItemAppliedBd(GenericValue invoiceItem) {
+ public static BigDecimal getInvoiceItemApplied(GenericValue invoiceItem) {
BigDecimal invoiceItemApplied = ZERO;
List paymentApplications = null;
try {
Modified: ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/payment/BillingAccountWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/payment/BillingAccountWorker.java?rev=708113&r1=708112&r2=708113&view=diff
==============================================================================
--- ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/payment/BillingAccountWorker.java (original)
+++ ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/payment/BillingAccountWorker.java Mon Oct 27 01:58:56 2008
@@ -83,7 +83,7 @@
billingAccountRoleList = EntityUtil.filterByDate(billingAccountRoleList);
if (billingAccountRoleList.size() > 0) {
- double totalAvailable = 0.0;
+ BigDecimal totalAvailable = BigDecimal.ZERO;
Iterator billingAcctIter = billingAccountRoleList.iterator();
while (billingAcctIter.hasNext()) {
GenericValue billingAccountRole = (GenericValue) billingAcctIter.next();
@@ -94,14 +94,14 @@
if ((thruDate != null) && UtilDateTime.nowTimestamp().after(thruDate)) continue;
if (currencyUomId.equals(billingAccountVO.getString("accountCurrencyUomId"))) {
- double accountBalance = (BillingAccountWorker.getBillingAccountBalance(billingAccountVO)).doubleValue();
+ BigDecimal accountBalance = BillingAccountWorker.getBillingAccountBalance(billingAccountVO);
Map billingAccount = new HashMap(billingAccountVO);
- double accountLimit = getAccountLimit(billingAccountVO).doubleValue();
+ BigDecimal accountLimit = getAccountLimit(billingAccountVO);
- billingAccount.put("accountBalance", new Double(accountBalance));
- double accountAvailable = accountLimit - accountBalance;
- totalAvailable += accountAvailable;
+ billingAccount.put("accountBalance", accountBalance);
+ BigDecimal accountAvailable = accountLimit.subtract(accountBalance);
+ totalAvailable = totalAvailable.add(accountAvailable);
billingAccountList.add(billingAccount);
}
}
@@ -195,8 +195,8 @@
// set the balance to BillingAccount.accountLimit if it is greater. This is necessary because nowhere do we track the amount of BillingAccount
// to be charged to an order, such as FinAccountAuth entity does for FinAccount. As a result, we must assume that the system is doing things correctly
// and use the accountLimit
- BigDecimal accountLimit = new BigDecimal(billingAccount.getDouble("accountLimit").doubleValue());
- if (balance.compareTo(accountLimit) == 1) {
+ BigDecimal accountLimit = billingAccount.getBigDecimal("accountLimit");
+ if (balance.compareTo(accountLimit) > 0) {
balance = accountLimit;
} else {
balance = balance.setScale(decimals, rounding);
@@ -227,7 +227,7 @@
*/
public static BigDecimal getBillingAccountAvailableBalance(GenericValue billingAccount) throws GenericEntityException {
if ((billingAccount != null) && (billingAccount.get("accountLimit") != null)) {
- BigDecimal accountLimit = new BigDecimal(billingAccount.getDouble("accountLimit").doubleValue());
+ BigDecimal accountLimit = billingAccount.getBigDecimal("accountLimit");
BigDecimal availableBalance = accountLimit.subtract(getBillingAccountBalance(billingAccount)).setScale(decimals, rounding);
return availableBalance;
} else {
@@ -280,7 +280,7 @@
*/
public static BigDecimal availableToCapture(GenericValue billingAccount) throws GenericEntityException {
BigDecimal netBalance = getBillingAccountNetBalance(billingAccount.getDelegator(), billingAccount.getString("billingAccountId"));
- BigDecimal accountLimit = new BigDecimal(billingAccount.getDouble("accountLimit").doubleValue());
+ BigDecimal accountLimit = billingAccount.getBigDecimal("accountLimit");
return accountLimit.subtract(netBalance).setScale(decimals, rounding);
}
@@ -297,10 +297,10 @@
}
result.put("billingAccount", billingAccount);
- result.put("accountBalance", new Double((getBillingAccountBalance(delegator, billingAccountId)).doubleValue()));
- result.put("netAccountBalance", new Double((getBillingAccountNetBalance(delegator, billingAccountId)).doubleValue()));
- result.put("availableBalance", new Double(getBillingAccountAvailableBalance(billingAccount).doubleValue()));
- result.put("availableToCapture", new Double(availableToCapture(billingAccount).doubleValue()));
+ result.put("accountBalance", getBillingAccountBalance(delegator, billingAccountId));
+ result.put("netAccountBalance", getBillingAccountNetBalance(delegator, billingAccountId));
+ result.put("availableBalance", getBillingAccountAvailableBalance(billingAccount));
+ result.put("availableToCapture", availableToCapture(billingAccount));
return result;
} catch (GenericEntityException e) {
@@ -311,7 +311,7 @@
private static class BillingAccountComparator implements Comparator {
public int compare(Object billingAccount1, Object billingAccount2) {
- return ((Double)((Map)billingAccount1).get("accountBalance")).compareTo((Double)((Map)billingAccount2).get("accountBalance"));
+ return ((BigDecimal)((Map)billingAccount1).get("accountBalance")).compareTo((BigDecimal)((Map)billingAccount2).get("accountBalance"));
}
}
}
Modified: ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/payment/GiftCertificateServices.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/payment/GiftCertificateServices.java?rev=708113&r1=708112&r2=708113&view=diff
==============================================================================
--- ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/payment/GiftCertificateServices.java (original)
+++ ofbiz/branches/typecheckcleanup200810/applications/accounting/src/org/ofbiz/accounting/payment/GiftCertificateServices.java Mon Oct 27 01:58:56 2008
@@ -63,7 +63,7 @@
GenericValue userLogin = (GenericValue) context.get("userLogin");
String productStoreId = (String) context.get("productStoreId");
- Double initialAmount = (Double) context.get("initialAmount");
+ BigDecimal initialAmount = (BigDecimal) context.get("initialAmount");
String partyId = (String) context.get("partyId");
if (UtilValidate.isEmpty(partyId)) {
@@ -161,7 +161,7 @@
String productStoreId = (String) context.get("productStoreId");
String cardNumber = (String) context.get("cardNumber");
String pinNumber = (String) context.get("pinNumber");
- Double amount = (Double) context.get("amount");
+ BigDecimal amount = (BigDecimal) context.get("amount");
String partyId = (String) context.get("partyId");
if (UtilValidate.isEmpty(partyId)) {
@@ -224,8 +224,8 @@
}
Map result = ServiceUtil.returnSuccess();
- result.put("previousBalance", new Double(previousBalance.doubleValue()));
- result.put("balance", new Double(balance.doubleValue()));
+ result.put("previousBalance", previousBalance);
+ result.put("balance", balance);
result.put("amount", amount);
result.put("processResult", Boolean.TRUE);
result.put("responseCode", "1");
@@ -243,7 +243,7 @@
String productStoreId = (String) context.get("productStoreId");
String cardNumber = (String) context.get("cardNumber");
String pinNumber = (String) context.get("pinNumber");
- Double amount = (Double) context.get("amount");
+ BigDecimal amount = (BigDecimal) context.get("amount");
String partyId = (String) context.get("partyId");
if (UtilValidate.isEmpty(partyId)) {
@@ -255,7 +255,7 @@
}
// validate the amount
- if (amount.doubleValue() < 0.00) {
+ if (amount.compareTo(BigDecimal.ZERO) < 0) {
return ServiceUtil.returnError("Amount should be a positive number.");
}
@@ -278,17 +278,17 @@
}
// check the actual balance (excluding authorized amounts) and create the transaction if it is sufficient
- double previousBalance = finAccount.get("actualBalance") == null ? 0.0 : finAccount.getDouble("actualBalance").doubleValue();
+ BigDecimal previousBalance = finAccount.get("actualBalance") == null ? BigDecimal.ZERO : finAccount.getBigDecimal("actualBalance");
- double balance = 0.00;
+ BigDecimal balance = BigDecimal.ZERO;
String refNum = null;
Boolean procResult;
- if (previousBalance >= amount.doubleValue()) {
+ if (previousBalance.compareTo(amount) >= 0) {
try {
refNum = GiftCertificateServices.createTransaction(delegator, dispatcher, userLogin, amount,
productStoreId, partyId, currencyUom, withdrawl, cardNumber);
finAccount.refresh();
- balance = finAccount.get("availableBalance") == null ? 0.0 : finAccount.getDouble("availableBalance").doubleValue();
+ balance = finAccount.get("availableBalance") == null ? BigDecimal.ZERO : finAccount.getBigDecimal("availableBalance");
procResult = Boolean.TRUE;
} catch (GeneralException e) {
Debug.logError(e, module);
@@ -301,8 +301,8 @@
}
Map result = ServiceUtil.returnSuccess();
- result.put("previousBalance", new Double(previousBalance));
- result.put("balance", new Double(balance));
+ result.put("previousBalance", previousBalance);
+ result.put("balance", balance);
result.put("amount", amount);
result.put("processResult", procResult);
result.put("responseCode", "2");
@@ -331,10 +331,10 @@
// TODO: get the real currency from context
//String currencyUom = UtilProperties.getPropertyValue("general.properties", "currency.uom.id.default", "USD");
// get the balance
- double balance = finAccount.get("availableBalance") == null ? 0.0 : finAccount.getDouble("availableBalance").doubleValue();
+ BigDecimal balance = finAccount.get("availableBalance") == null ? BigDecimal.ZERO : finAccount.getBigDecimal("availableBalance");
Map result = ServiceUtil.returnSuccess();
- result.put("balance", new Double(balance));
+ result.put("balance", balance);
Debug.log("GC Balance Result - " + result, module);
return result;
}
@@ -345,7 +345,7 @@
GenericDelegator delegator = dctx.getDelegator();
GenericValue userLogin = (GenericValue) context.get("userLogin");
- Double amount = (Double) context.get("processAmount");
+ BigDecimal amount = (BigDecimal) context.get("processAmount");
String currency = (String) context.get("currency");
// make sure we have a currency
if (currency == null) {
@@ -431,7 +431,7 @@
GenericValue giftCard = (GenericValue) context.get("giftCard");
String currency = (String) context.get("currency");
String orderId = (String) context.get("orderId");
- Double amount = (Double) context.get("processAmount");
+ BigDecimal amount = (BigDecimal) context.get("processAmount");
// make sure we have a currency
if (currency == null) {
@@ -479,11 +479,11 @@
String refNum = null;
Map result = ServiceUtil.returnSuccess();
- // turn amount into a big decimal, making sure to round and scale it to the same as availableBalance
- BigDecimal amountBd = (new BigDecimal(amount.doubleValue())).setScale(FinAccountHelper.decimals, FinAccountHelper.rounding);
+ // make sure to round and scale it to the same as availableBalance
+ amount = amount.setScale(FinAccountHelper.decimals, FinAccountHelper.rounding);
// if availableBalance equal to or greater than amount, then auth
- if (UtilValidate.isNotEmpty(availableBalance) && availableBalance.compareTo(amountBd) > -1) {
+ if (UtilValidate.isNotEmpty(availableBalance) && availableBalance.compareTo(amount) >= 0) {
Timestamp thruDate = null;
if (giftCertSettings.getLong("authValidDays") != null) {
thruDate = UtilDateTime.getDayEnd(UtilDateTime.nowTimestamp(), giftCertSettings.getLong("authValidDays"));
@@ -524,7 +524,7 @@
GenericValue userLogin = (GenericValue) context.get("userLogin");
GenericValue paymentPref = (GenericValue) context.get("orderPaymentPreference");
String currency = (String) context.get("currency");
- Double amount = (Double) context.get("refundAmount");
+ BigDecimal amount = (BigDecimal) context.get("refundAmount");
return giftCertificateRestore(dctx, userLogin, paymentPref, amount, currency, "refund");
}
@@ -546,7 +546,7 @@
Map result = ServiceUtil.returnSuccess();
result.put("releaseRefNum", authTransaction.getString("referenceNum"));
- result.put("releaseAmount", authTransaction.getDouble("amount"));
+ result.put("releaseAmount", authTransaction.getBigDecimal("amount"));
result.put("releaseResult", Boolean.TRUE);
// if there's an error, don't release
@@ -561,7 +561,7 @@
}
}
- private static Map giftCertificateRestore(DispatchContext dctx, GenericValue userLogin, GenericValue paymentPref, Double amount, String currency, String resultPrefix) {
+ private static Map giftCertificateRestore(DispatchContext dctx, GenericValue userLogin, GenericValue paymentPref, BigDecimal amount, String currency, String resultPrefix) {
LocalDispatcher dispatcher = dctx.getDispatcher();
GenericDelegator delegator = dctx.getDelegator();
@@ -677,8 +677,8 @@
}
// amount/quantity of the gift card(s)
- Double amount = orderItem.getDouble("unitPrice");
- Double quantity = orderItem.getDouble("quantity");
+ BigDecimal amount = orderItem.getBigDecimal("unitPrice");
+ BigDecimal quantity = orderItem.getBigDecimal("quantity");
// the product entity needed for information
GenericValue product = null;
@@ -924,7 +924,7 @@
}
// amount of the gift card reload
- Double amount = orderItem.getDouble("unitPrice");
+ BigDecimal amount = orderItem.getBigDecimal("unitPrice");
// survey information
String surveyId = UtilProperties.getPropertyValue(paymentConfig, "payment.giftcert.reload.surveyId");
@@ -1141,8 +1141,8 @@
}
if (returnableInfo != null) {
- Double returnableQuantity = (Double) returnableInfo.get("returnableQuantity");
- Double returnablePrice = (Double) returnableInfo.get("returnablePrice");
+ BigDecimal returnableQuantity = (BigDecimal) returnableInfo.get("returnableQuantity");
+ BigDecimal returnablePrice = (BigDecimal) returnableInfo.get("returnablePrice");
Debug.logInfo("Returnable INFO : " + returnableQuantity + " @ " + returnablePrice + " :: " + orderItem, module);
// create the return header
@@ -1265,7 +1265,7 @@
return false;
}
- private static String createTransaction(GenericDelegator delegator, LocalDispatcher dispatcher, GenericValue userLogin, Double amount,
+ private static String createTransaction(GenericDelegator delegator, LocalDispatcher dispatcher, GenericValue userLogin, BigDecimal amount,
String productStoreId, String partyId, String currencyUom, String txType, String finAccountId) throws GeneralException {
final String coParty = getPayToPartyId(delegator, productStoreId);
final String paymentMethodType = "GIFT_CERTIFICATE";