You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mb...@apache.org on 2017/12/18 10:41:55 UTC
svn commit: r1818550 - in
/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount:
FinAccountPaymentServices.java FinAccountProductServices.java
FinAccountServices.java
Author: mbrohl
Date: Mon Dec 18 10:41:55 2017
New Revision: 1818550
URL: http://svn.apache.org/viewvc?rev=1818550&view=rev
Log:
Improved: General refactoring and code improvements, package
org.apache.ofbiz.accounting.finaccount.
(OFBIZ-9884)
Thanks Julian Leichert for reporting and providing the patches.
Modified:
ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountPaymentServices.java
ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountProductServices.java
ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountServices.java
Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountPaymentServices.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountPaymentServices.java?rev=1818550&r1=1818549&r2=1818550&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountPaymentServices.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountPaymentServices.java Mon Dec 18 10:41:55 2017
@@ -92,18 +92,23 @@ public class FinAccountPaymentServices {
// obtain the order information
OrderReadHelper orh = new OrderReadHelper(delegator, orderId);
- // NOTE DEJ20070808: this means that we want store related settings for where the item is being purchased,
- //NOT where the account was setup; should this be changed to use settings from the store where the account was setup?
+ // NOTE DEJ20070808: this means that we want store related settings for where
+ // the item is being purchased,
+ // NOT where the account was setup; should this be changed to use settings from
+ // the store where the account was setup?
String productStoreId = orh.getProductStoreId();
- // TODO, NOTE DEJ20070808: why is this setup this way anyway? for the allowAuthToNegative wouldn't that be better setup
- //on the FinAccount and not on the ProductStoreFinActSetting? maybe an override on the FinAccount would be good...
+ // TODO, NOTE DEJ20070808: why is this setup this way anyway? for the
+ // allowAuthToNegative wouldn't that be better setup
+ // on the FinAccount and not on the ProductStoreFinActSetting? maybe an override
+ // on the FinAccount would be good...
// get the financial account
GenericValue finAccount;
if (finAccountId != null) {
try {
- finAccount = EntityQuery.use(delegator).from("FinAccount").where("finAccountId", finAccountId).queryOne();
+ finAccount = EntityQuery.use(delegator).from("FinAccount").where("finAccountId", finAccountId)
+ .queryOne();
} catch (GenericEntityException e) {
Debug.logError(e, module);
return ServiceUtil.returnError(e.getMessage());
@@ -114,16 +119,16 @@ public class FinAccountPaymentServices {
finAccount = FinAccountHelper.getFinAccountFromCode(finAccountCode, delegator);
} catch (GenericEntityException e) {
Debug.logError(e, module);
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountCannotLocateItFromAccountCode", locale));
}
} else {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountIdAndFinAccountCodeAreNull", locale));
}
}
if (finAccount == null) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountIdInvalid", locale));
}
@@ -133,13 +138,19 @@ public class FinAccountPaymentServices {
try {
// fin the store requires a pin number; validate the PIN with the code
- Map<String, Object> findProductStoreFinActSettingMap = UtilMisc.<String, Object>toMap("productStoreId", productStoreId, "finAccountTypeId", finAccountTypeId);
- GenericValue finAccountSettings = EntityQuery.use(delegator).from("ProductStoreFinActSetting").where(findProductStoreFinActSettingMap).cache().queryOne();
+ Map<String, Object> findProductStoreFinActSettingMap = UtilMisc.<String, Object>toMap("productStoreId",
+ productStoreId, "finAccountTypeId", finAccountTypeId);
+ GenericValue finAccountSettings = EntityQuery.use(delegator).from("ProductStoreFinActSetting").where(
+ findProductStoreFinActSettingMap).cache().queryOne();
if (finAccountSettings == null) {
- Debug.logWarning("In finAccountPreAuth could not find ProductStoreFinActSetting record, values searched by: " + findProductStoreFinActSettingMap, module);
+ Debug.logWarning(
+ "In finAccountPreAuth could not find ProductStoreFinActSetting record, values searched by: "
+ + findProductStoreFinActSettingMap, module);
+ }
+ if (Debug.verboseOn()) {
+ Debug.logVerbose("In finAccountPreAuth finAccountSettings=" + finAccountSettings, module);
}
- if (Debug.verboseOn()) Debug.logVerbose("In finAccountPreAuth finAccountSettings=" + finAccountSettings, module);
BigDecimal minBalance = FinAccountHelper.ZERO;
String allowAuthToNegative = "N";
@@ -155,7 +166,7 @@ public class FinAccountPaymentServices {
if ("Y".equals(finAccountSettings.getString("requirePinCode"))) {
if (!FinAccountHelper.validatePin(delegator, finAccountCode, finAccountPin)) {
Map<String, Object> result = ServiceUtil.returnSuccess();
- result.put("authMessage", UtilProperties.getMessage(resourceError,
+ result.put("authMessage", UtilProperties.getMessage(resourceError,
"AccountingFinAccountPinCodeCombinatorNotFound", locale));
result.put("authResult", Boolean.FALSE);
result.put("processAmount", amount);
@@ -169,10 +180,11 @@ public class FinAccountPaymentServices {
}
// check for expiration date
- if ((finAccount.getTimestamp("thruDate") != null) && (finAccount.getTimestamp("thruDate").before(UtilDateTime.nowTimestamp()))) {
+ if ((finAccount.getTimestamp("thruDate") != null) && (finAccount.getTimestamp("thruDate").before(
+ UtilDateTime.nowTimestamp()))) {
Map<String, Object> result = ServiceUtil.returnSuccess();
- result.put("authMessage", UtilProperties.getMessage(resourceError,
- "AccountingFinAccountExpired",
+ result.put("authMessage", UtilProperties.getMessage(resourceError,
+ "AccountingFinAccountExpired",
UtilMisc.toMap("thruDate", finAccount.getTimestamp("thruDate")), locale));
result.put("authResult", Boolean.FALSE);
result.put("processAmount", amount);
@@ -184,21 +196,23 @@ public class FinAccountPaymentServices {
}
// check for account being in bad standing somehow
- if ("FNACT_NEGPENDREPL".equals(statusId) || "FNACT_MANFROZEN".equals(statusId) || "FNACT_CANCELLED".equals(statusId)) {
+ if ("FNACT_NEGPENDREPL".equals(statusId) || "FNACT_MANFROZEN".equals(statusId) || "FNACT_CANCELLED".equals(
+ statusId)) {
// refresh the finaccount
finAccount.refresh();
statusId = finAccount.getString("statusId");
- if ("FNACT_NEGPENDREPL".equals(statusId) || "FNACT_MANFROZEN".equals(statusId) || "FNACT_CANCELLED".equals(statusId)) {
+ if ("FNACT_NEGPENDREPL".equals(statusId) || "FNACT_MANFROZEN".equals(statusId) || "FNACT_CANCELLED"
+ .equals(statusId)) {
Map<String, Object> result = ServiceUtil.returnSuccess();
if ("FNACT_NEGPENDREPL".equals(statusId)) {
- result.put("authMessage", UtilProperties.getMessage(resourceError,
+ result.put("authMessage", UtilProperties.getMessage(resourceError,
"AccountingFinAccountNegative", locale));
} else if ("FNACT_MANFROZEN".equals(statusId)) {
- result.put("authMessage", UtilProperties.getMessage(resourceError,
+ result.put("authMessage", UtilProperties.getMessage(resourceError,
"AccountingFinAccountFrozen", locale));
} else if ("FNACT_CANCELLED".equals(statusId)) {
- result.put("authMessage", UtilProperties.getMessage(resourceError,
+ result.put("authMessage", UtilProperties.getMessage(resourceError,
"AccountingFinAccountCancelled", locale));
}
result.put("authResult", Boolean.FALSE);
@@ -211,7 +225,8 @@ public class FinAccountPaymentServices {
}
}
- // check the amount to authorize against the available balance of fin account, which includes active authorizations as well as transactions
+ // check the amount to authorize against the available balance of fin account,
+ // which includes active authorizations as well as transactions
BigDecimal availableBalance = finAccount.getBigDecimal("availableBalance");
if (availableBalance == null) {
availableBalance = FinAccountHelper.ZERO;
@@ -219,11 +234,13 @@ public class FinAccountPaymentServices {
BigDecimal availableBalanceOriginal = availableBalance;
availableBalance = availableBalance.setScale(FinAccountHelper.decimals, FinAccountHelper.rounding);
if (availableBalance.compareTo(availableBalanceOriginal) != 0) {
- Debug.logWarning("In finAccountPreAuth for finAccountId [" + finAccountId + "] availableBalance [" + availableBalanceOriginal + "] was different after rounding [" + availableBalance + "]; it should never have made it into the database this way, so check whatever put it there.", module);
+ Debug.logWarning("In finAccountPreAuth for finAccountId [" + finAccountId + "] availableBalance ["
+ + availableBalanceOriginal + "] was different after rounding [" + availableBalance
+ + "]; it should never have made it into the database this way, so check whatever put it there.",
+ module);
}
}
-
Map<String, Object> result = ServiceUtil.returnSuccess();
String authMessage = null;
Boolean processResult;
@@ -256,7 +273,8 @@ public class FinAccountPaymentServices {
// refresh the account
finAccount.refresh();
} else {
- Debug.logWarning("Attempted to authorize [" + amount + "] against a balance of only [" + availableBalance + "] for finAccountId [" + finAccountId + "]", module);
+ Debug.logWarning("Attempted to authorize [" + amount + "] against a balance of only ["
+ + availableBalance + "] for finAccountId [" + finAccountId + "]", module);
refNum = "0"; // a refNum is always required from authorization
authMessage = "Insufficient funds";
processResult = Boolean.FALSE;
@@ -272,15 +290,10 @@ public class FinAccountPaymentServices {
Debug.logInfo("FinAccont Auth: " + result, module);
return result;
- } catch (GenericEntityException ex) {
- Debug.logError(ex, "Cannot authorize financial account", module);
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
- "AccountingFinAccountCannotBeAuthorized",
- UtilMisc.toMap("errorString", ex.getMessage()), locale));
- } catch (GenericServiceException ex) {
+ } catch (GenericEntityException | GenericServiceException ex) {
Debug.logError(ex, "Cannot authorize financial account", module);
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
- "AccountingFinAccountCannotBeAuthorized",
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ "AccountingFinAccountCannotBeAuthorized",
UtilMisc.toMap("errorString", ex.getMessage()), locale));
}
}
@@ -336,7 +349,7 @@ public class FinAccountPaymentServices {
authTrans = PaymentGatewayServices.getAuthTransaction(orderPaymentPreference);
}
if (authTrans == null) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountCannotCapture", locale));
}
@@ -344,7 +357,8 @@ public class FinAccountPaymentServices {
String finAccountAuthId = authTrans.getString("referenceNum");
GenericValue finAccountAuth;
try {
- finAccountAuth = EntityQuery.use(delegator).from("FinAccountAuth").where("finAccountAuthId", finAccountAuthId).queryOne();
+ finAccountAuth = EntityQuery.use(delegator).from("FinAccountAuth").where("finAccountAuthId",
+ finAccountAuthId).queryOne();
} catch (GenericEntityException e) {
Debug.logError(e, module);
return ServiceUtil.returnError(e.getMessage());
@@ -364,16 +378,17 @@ public class FinAccountPaymentServices {
// make sure authorization has not expired
Timestamp authExpiration = finAccountAuth.getTimestamp("thruDate");
if ((authExpiration != null) && (authExpiration.before(UtilDateTime.nowTimestamp()))) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
- "AccountingFinAccountAuthorizationExpired",
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ "AccountingFinAccountAuthorizationExpired",
UtilMisc.toMap("paymentGatewayResponseId", authTrans.getString("paymentGatewayResponseId"),
"authExpiration", authExpiration), locale));
}
// make sure the fin account itself has not expired
- if ((finAccount.getTimestamp("thruDate") != null) && (finAccount.getTimestamp("thruDate").before(UtilDateTime.nowTimestamp()))) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
- "AccountingFinAccountExpired",
+ if ((finAccount.getTimestamp("thruDate") != null) && (finAccount.getTimestamp("thruDate").before(UtilDateTime
+ .nowTimestamp()))) {
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ "AccountingFinAccountExpired",
UtilMisc.toMap("thruDate", finAccount.getTimestamp("thruDate")), locale));
}
String finAccountId = finAccount.getString("finAccountId");
@@ -408,7 +423,7 @@ public class FinAccountPaymentServices {
}
// build the withdraw context
- Map<String, Object> withdrawCtx = new HashMap<String, Object>();
+ Map<String, Object> withdrawCtx = new HashMap<>();
withdrawCtx.put("finAccountId", finAccountId);
withdrawCtx.put("productStoreId", productStoreId);
withdrawCtx.put("currency", currency);
@@ -477,12 +492,12 @@ public class FinAccountPaymentServices {
}
if (finAccountId == null) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountNotFound", UtilMisc.toMap("finAccountId", ""), locale));
}
// call the deposit service
- Map<String, Object> depositCtx = new HashMap<String, Object>();
+ Map<String, Object> depositCtx = new HashMap<>();
depositCtx.put("finAccountId", finAccountId);
depositCtx.put("productStoreId", productStoreId);
depositCtx.put("isRefund", Boolean.TRUE);
@@ -532,7 +547,9 @@ public class FinAccountPaymentServices {
String orderId = (String) context.get("orderId");
Boolean requireBalance = (Boolean) context.get("requireBalance");
BigDecimal amount = (BigDecimal) context.get("amount");
- if (requireBalance == null) requireBalance = Boolean.TRUE;
+ if (requireBalance == null) {
+ requireBalance = Boolean.TRUE;
+ }
final String WITHDRAWAL = "WITHDRAWAL";
@@ -547,7 +564,7 @@ public class FinAccountPaymentServices {
// validate the amount
if (amount.compareTo(BigDecimal.ZERO) < 0) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountMustBePositive", locale));
}
@@ -561,18 +578,20 @@ public class FinAccountPaymentServices {
// verify we have a financial account
if (finAccount == null) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountNotFound", UtilMisc.toMap("finAccountId", ""), locale));
}
// make sure the fin account itself has not expired
- if ((finAccount.getTimestamp("thruDate") != null) && (finAccount.getTimestamp("thruDate").before(UtilDateTime.nowTimestamp()))) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
- "AccountingFinAccountExpired",
+ if ((finAccount.getTimestamp("thruDate") != null) && (finAccount.getTimestamp("thruDate").before(UtilDateTime
+ .nowTimestamp()))) {
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ "AccountingFinAccountExpired",
UtilMisc.toMap("thruDate", finAccount.getTimestamp("thruDate")), locale));
}
- // check the actual balance (excluding authorized amounts) and create the transaction if it is sufficient
+ // check the actual balance (excluding authorized amounts) and create the
+ // transaction if it is sufficient
BigDecimal previousBalance = finAccount.getBigDecimal("actualBalance");
if (previousBalance == null) {
previousBalance = FinAccountHelper.ZERO;
@@ -587,8 +606,10 @@ public class FinAccountPaymentServices {
refNum = "N/A";
} else {
try {
- refNum = FinAccountPaymentServices.createFinAcctPaymentTransaction(delegator, dispatcher, userLogin, amount,
- productStoreId, partyId, orderId, orderItemSeqId, currencyUom, WITHDRAWAL, finAccountId, reasonEnumId);
+ refNum = FinAccountPaymentServices.createFinAcctPaymentTransaction(delegator, dispatcher, userLogin,
+ amount,
+ productStoreId, partyId, orderId, orderItemSeqId, currencyUom, WITHDRAWAL, finAccountId,
+ reasonEnumId);
finAccount.refresh();
balance = finAccount.getBigDecimal("actualBalance");
procResult = Boolean.TRUE;
@@ -643,20 +664,21 @@ public class FinAccountPaymentServices {
finAccount = EntityQuery.use(delegator).from("FinAccount").where("finAccountId", finAccountId).queryOne();
} catch (GenericEntityException e) {
Debug.logError(e, module);
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountNotFound", UtilMisc.toMap("finAccountId", finAccountId), locale));
}
// verify we have a financial account
if (finAccount == null) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountNotFound", UtilMisc.toMap("finAccountId", ""), locale));
}
// make sure the fin account itself has not expired
- if ((finAccount.getTimestamp("thruDate") != null) && (finAccount.getTimestamp("thruDate").before(UtilDateTime.nowTimestamp()))) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
- "AccountingFinAccountExpired",
+ if ((finAccount.getTimestamp("thruDate") != null) && (finAccount.getTimestamp("thruDate").before(UtilDateTime
+ .nowTimestamp()))) {
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ "AccountingFinAccountExpired",
UtilMisc.toMap("thruDate", finAccount.getTimestamp("thruDate")), locale));
}
Debug.logInfo("Deposit into financial account #" + finAccountId + " [" + amount + "]", module);
@@ -685,9 +707,11 @@ public class FinAccountPaymentServices {
actualBalance = FinAccountHelper.ZERO;
} else {
if (actualBalance.compareTo(BigDecimal.ZERO) < 0) {
- // balance went below zero, set negative pending replenishment status so that no more auths or captures will go through until it is replenished
+ // balance went below zero, set negative pending replenishment status so that no
+ // more auths or captures will go through until it is replenished
try {
- Map<String, Object> rollbackCtx = UtilMisc.toMap("userLogin", userLogin, "finAccountId", finAccountId, "statusId", "FNACT_NEGPENDREPL");
+ Map<String, Object> rollbackCtx = UtilMisc.toMap("userLogin", userLogin, "finAccountId",
+ finAccountId, "statusId", "FNACT_NEGPENDREPL");
dispatcher.addRollbackService("updateFinAccount", rollbackCtx, true);
} catch (GenericServiceException e) {
Debug.logError(e, module);
@@ -724,7 +748,7 @@ public class FinAccountPaymentServices {
return ServiceUtil.returnError(e.getMessage());
}
if (finAccount == null) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountNotFound", UtilMisc.toMap("finAccountId", finAccountId), locale));
}
String currency = finAccount.getString("currencyUomId");
@@ -748,35 +772,41 @@ public class FinAccountPaymentServices {
if (productStoreId == null) {
productStoreId = getLastProductStoreId(delegator, finAccountId);
if (productStoreId == null) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountCannotBeReplenish", locale));
}
}
// get the product store settings
GenericValue finAccountSettings;
- Map<String, Object> psfasFindMap = UtilMisc.<String, Object>toMap("productStoreId", productStoreId, "finAccountTypeId", finAccount.getString("finAccountTypeId"));
+ Map<String, Object> psfasFindMap = UtilMisc.<String, Object>toMap("productStoreId", productStoreId,
+ "finAccountTypeId", finAccount.getString("finAccountTypeId"));
try {
- finAccountSettings = EntityQuery.use(delegator).from("ProductStoreFinActSetting").where(psfasFindMap).cache().queryOne();
+ finAccountSettings = EntityQuery.use(delegator).from("ProductStoreFinActSetting").where(psfasFindMap)
+ .cache().queryOne();
} catch (GenericEntityException e) {
Debug.logError(e, module);
return ServiceUtil.returnError(e.getMessage());
}
if (finAccountSettings == null) {
- Debug.logWarning("finAccountReplenish Warning: not replenishing FinAccount [" + finAccountId + "] because no ProductStoreFinActSetting record found for: " + psfasFindMap, module);
+ Debug.logWarning("finAccountReplenish Warning: not replenishing FinAccount [" + finAccountId
+ + "] because no ProductStoreFinActSetting record found for: " + psfasFindMap, module);
// no settings; don't replenish
return ServiceUtil.returnSuccess();
}
BigDecimal replenishThreshold = finAccountSettings.getBigDecimal("replenishThreshold");
if (replenishThreshold == null) {
- Debug.logWarning("finAccountReplenish Warning: not replenishing FinAccount [" + finAccountId + "] because ProductStoreFinActSetting.replenishThreshold field was null for: " + psfasFindMap, module);
+ Debug.logWarning("finAccountReplenish Warning: not replenishing FinAccount [" + finAccountId
+ + "] because ProductStoreFinActSetting.replenishThreshold field was null for: " + psfasFindMap,
+ module);
return ServiceUtil.returnSuccess();
}
BigDecimal replenishLevel = finAccount.getBigDecimal("replenishLevel");
if (replenishLevel == null || replenishLevel.compareTo(BigDecimal.ZERO) == 0) {
- Debug.logWarning("finAccountReplenish Warning: not replenishing FinAccount [" + finAccountId + "] because FinAccount.replenishLevel field was null or 0", module);
+ Debug.logWarning("finAccountReplenish Warning: not replenishing FinAccount [" + finAccountId
+ + "] because FinAccount.replenishLevel field was null or 0", module);
// no replenish level set; this account goes not support auto-replenish
return ServiceUtil.returnSuccess();
}
@@ -786,7 +816,9 @@ public class FinAccountPaymentServices {
// see if we are within the threshold for replenishment
if (balance.compareTo(replenishThreshold) > -1) {
- Debug.logInfo("finAccountReplenish Info: Not replenishing FinAccount [" + finAccountId + "] because balance [" + balance + "] is greater than the replenishThreshold [" + replenishThreshold + "]", module);
+ Debug.logInfo("finAccountReplenish Info: Not replenishing FinAccount [" + finAccountId
+ + "] because balance [" + balance + "] is greater than the replenishThreshold ["
+ + replenishThreshold + "]", module);
// not ready
return ServiceUtil.returnSuccess();
}
@@ -794,7 +826,8 @@ public class FinAccountPaymentServices {
// configure rollback service to set status to Negative Pending Replenishment
if ("FNACT_NEGPENDREPL".equals(statusId)) {
try {
- Map<String, Object> rollbackCtx = UtilMisc.toMap("userLogin", userLogin, "finAccountId", finAccountId, "statusId", "FNACT_NEGPENDREPL");
+ Map<String, Object> rollbackCtx = UtilMisc.toMap("userLogin", userLogin, "finAccountId", finAccountId,
+ "statusId", "FNACT_NEGPENDREPL");
dispatcher.addRollbackService("updateFinAccount", rollbackCtx, true);
} catch (GenericServiceException e) {
Debug.logError(e, module);
@@ -805,13 +838,13 @@ public class FinAccountPaymentServices {
String replenishMethod = finAccountSettings.getString("replenishMethodEnumId");
BigDecimal depositAmount;
if (replenishMethod == null || "FARP_TOP_OFF".equals(replenishMethod)) {
- //the deposit is level - balance (500 - (-10) = 510 || 500 - (10) = 490)
+ // the deposit is level - balance (500 - (-10) = 510 || 500 - (10) = 490)
depositAmount = replenishLevel.subtract(balance);
} else if ("FARP_REPLENISH_LEVEL".equals(replenishMethod)) {
- //the deposit is replenish-level itself
+ // the deposit is replenish-level itself
depositAmount = replenishLevel;
} else {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountUnknownReplenishMethod", locale));
}
@@ -819,35 +852,40 @@ public class FinAccountPaymentServices {
String ownerPartyId = finAccount.getString("ownerPartyId");
if (ownerPartyId == null) {
// no owner cannot replenish; (not fatal, just not supported by this account)
- Debug.logWarning("finAccountReplenish Warning: No owner attached to financial account [" + finAccountId + "] cannot auto-replenish", module);
+ Debug.logWarning("finAccountReplenish Warning: No owner attached to financial account [" + finAccountId
+ + "] cannot auto-replenish", module);
return ServiceUtil.returnSuccess();
}
// get the payment method to use to replenish
String paymentMethodId = finAccount.getString("replenishPaymentId");
if (paymentMethodId == null) {
- Debug.logWarning("finAccountReplenish Warning: No payment method (replenishPaymentId) attached to financial account [" + finAccountId + "] cannot auto-replenish", module);
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ Debug.logWarning(
+ "finAccountReplenish Warning: No payment method (replenishPaymentId) attached to financial account ["
+ + finAccountId + "] cannot auto-replenish", module);
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountNoPaymentMethodAssociatedWithReplenishAccount", locale));
}
GenericValue paymentMethod;
try {
- paymentMethod = EntityQuery.use(delegator).from("PaymentMethod").where("paymentMethodId", paymentMethodId).queryOne();
+ paymentMethod = EntityQuery.use(delegator).from("PaymentMethod").where("paymentMethodId", paymentMethodId)
+ .queryOne();
} catch (GenericEntityException e) {
Debug.logError(e, module);
return ServiceUtil.returnError(e.getMessage());
}
if (paymentMethod == null) {
// no payment methods on file; cannot replenish
- Debug.logWarning("finAccountReplenish Warning: No payment method found for ID [" + paymentMethodId + "] for party [" + ownerPartyId + "] cannot auto-replenish", module);
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ Debug.logWarning("finAccountReplenish Warning: No payment method found for ID [" + paymentMethodId
+ + "] for party [" + ownerPartyId + "] cannot auto-replenish", module);
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountNoPaymentMethodAssociatedWithReplenishAccount", locale));
}
// hit the payment method for the amount to replenish
Map<String, BigDecimal> orderItemMap = UtilMisc.toMap("Auto-Replenishment FA #" + finAccountId, depositAmount);
- Map<String, Object> replOrderCtx = new HashMap<String, Object>();
+ Map<String, Object> replOrderCtx = new HashMap<>();
replOrderCtx.put("productStoreId", productStoreId);
replOrderCtx.put("paymentMethodId", paymentMethod.getString("paymentMethodId"));
replOrderCtx.put("currency", currency);
@@ -867,14 +905,14 @@ public class FinAccountPaymentServices {
String orderId = (String) replResp.get("orderId");
// create the deposit
- Map<String, Object> depositCtx = new HashMap<String, Object>();
+ Map<String, Object> depositCtx = new HashMap<>();
depositCtx.put("productStoreId", productStoreId);
depositCtx.put("finAccountId", finAccountId);
depositCtx.put("currency", currency);
depositCtx.put("partyId", ownerPartyId);
depositCtx.put("orderId", orderId);
depositCtx.put("orderItemSeqId", "00001"); // always one item on a replish order
- depositCtx.put("amount", depositAmount);
+ depositCtx.put("amount", depositAmount);
depositCtx.put("reasonEnumId", "FATR_REPLENISH");
depositCtx.put("userLogin", userLogin);
try {
@@ -910,8 +948,8 @@ public class FinAccountPaymentServices {
.where(
EntityCondition.makeCondition("finAccountTransTypeId", EntityOperator.EQUALS, "DEPOSIT"),
EntityCondition.makeCondition("finAccountId", EntityOperator.EQUALS, finAccountId),
- EntityCondition.makeCondition("orderId", EntityOperator.NOT_EQUAL, null)
- ).orderBy("-transactionDate").queryFirst();
+ EntityCondition.makeCondition("orderId", EntityOperator.NOT_EQUAL, null)).orderBy(
+ "-transactionDate").queryFirst();
} catch (GenericEntityException e) {
Debug.logError(e, module);
}
@@ -925,8 +963,9 @@ public class FinAccountPaymentServices {
// none found; pick one from our set stores
try {
GenericValue store = EntityQuery.use(delegator).from("ProductStore").orderBy("productStoreId").queryFirst();
- if (store != null)
+ if (store != null) {
return store.getString("productStoreId");
+ }
} catch (GenericEntityException e) {
Debug.logError(e, module);
}
@@ -934,8 +973,10 @@ public class FinAccountPaymentServices {
return null;
}
- private static String createFinAcctPaymentTransaction(Delegator delegator, LocalDispatcher dispatcher, GenericValue userLogin, BigDecimal amount,
- String productStoreId, String partyId, String orderId, String orderItemSeqId, String currencyUom, String txType, String finAccountId, String reasonEnumId) throws GeneralException {
+ private static String createFinAcctPaymentTransaction(Delegator delegator, LocalDispatcher dispatcher,
+ GenericValue userLogin, BigDecimal amount,
+ String productStoreId, String partyId, String orderId, String orderItemSeqId, String currencyUom,
+ String txType, String finAccountId, String reasonEnumId) throws GeneralException {
final String coParty = ProductStoreWorker.getProductStorePayToPartyId(productStoreId, delegator);
final String paymentMethodType = "FIN_ACCOUNT";
Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountProductServices.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountProductServices.java?rev=1818550&r1=1818549&r2=1818550&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountProductServices.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountProductServices.java Mon Dec 18 10:41:55 2017
@@ -45,14 +45,15 @@ import org.apache.ofbiz.service.LocalDis
import org.apache.ofbiz.service.ServiceUtil;
/**
- * FinAccountProductServices - Financial Accounts created from product purchases (i.e. gift certificates)
+ * FinAccountProductServices - Financial Accounts created from product purchases
+ * (i.e. gift certificates)
*/
public class FinAccountProductServices {
public static final String module = FinAccountProductServices.class.getName();
public static final String resourceOrderError = "OrderErrorUiLabels";
public static final String resourceError = "AccountingErrorUiLabels";
-
+
public static Map<String, Object> createPartyFinAccountFromPurchase(DispatchContext dctx, Map<String, Object> context) {
// this service should always be called via FULFILLMENT_EXTASYNC
LocalDispatcher dispatcher = dctx.getDispatcher();
@@ -71,7 +72,7 @@ public class FinAccountProductServices {
orderHeader = orderItem.getRelatedOne("OrderHeader", false);
} catch (GenericEntityException e) {
Debug.logError(e, "Unable to get OrderHeader from OrderItem", module);
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceOrderError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceOrderError,
"OrderCannotGetOrderHeader", UtilMisc.toMap("orderId", orderId), locale));
}
@@ -128,8 +129,8 @@ public class FinAccountProductServices {
}
if (productStoreId == null) {
Debug.logFatal("Unable to create financial accout; no productStoreId on OrderHeader : " + orderId, module);
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
- "AccountingFinAccountCannotCreate",
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ "AccountingFinAccountCannotCreate",
UtilMisc.toMap("orderId", orderId), locale));
}
@@ -174,7 +175,7 @@ public class FinAccountProductServices {
}
// create the context for FSE
- Map<String, Object> expContext = new HashMap<String, Object>();
+ Map<String, Object> expContext = new HashMap<>();
expContext.put("orderHeader", orderHeader);
expContext.put("orderItem", orderItem);
expContext.put("party", party);
@@ -191,7 +192,7 @@ public class FinAccountProductServices {
BigDecimal deposit = price.multiply(quantity).setScale(FinAccountHelper.decimals, FinAccountHelper.rounding);
// create the financial account
- Map<String, Object> createCtx = new HashMap<String, Object>();
+ Map<String, Object> createCtx = new HashMap<>();
String finAccountId;
createCtx.put("finAccountTypeId", finAccountTypeId);
@@ -223,7 +224,7 @@ public class FinAccountProductServices {
finAccountId = (String) createResp.get("finAccountId");
// create the owner role
- Map<String, Object> roleCtx = new HashMap<String, Object>();
+ Map<String, Object> roleCtx = new HashMap<>();
roleCtx.put("partyId", partyId);
roleCtx.put("roleTypeId", "OWNER");
roleCtx.put("finAccountId", finAccountId);
@@ -242,7 +243,7 @@ public class FinAccountProductServices {
}
// create the initial deposit
- Map<String, Object> depositCtx = new HashMap<String, Object>();
+ Map<String, Object> depositCtx = new HashMap<>();
depositCtx.put("finAccountId", finAccountId);
depositCtx.put("productStoreId", productStoreId);
depositCtx.put("currency", currency);
Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountServices.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountServices.java?rev=1818550&r1=1818549&r2=1818550&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountServices.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/finaccount/FinAccountServices.java Mon Dec 18 10:41:55 2017
@@ -77,9 +77,11 @@ public class FinAccountServices {
try {
// find the most recent (active) service credit account for the specified party
String partyId = (String) context.get("partyId");
- Map<String, String> lookupMap = UtilMisc.toMap("finAccountTypeId", finAccountTypeId, "ownerPartyId", partyId);
+ Map<String, String> lookupMap = UtilMisc.toMap("finAccountTypeId", finAccountTypeId, "ownerPartyId",
+ partyId);
- // if a productStoreId is present, restrict the accounts returned using the store's payToPartyId
+ // if a productStoreId is present, restrict the accounts returned using the
+ // store's payToPartyId
String productStoreId = (String) context.get("productStoreId");
if (UtilValidate.isNotEmpty(productStoreId)) {
String payToPartyId = ProductStoreWorker.getProductStorePayToPartyId(productStoreId, delegator);
@@ -97,9 +99,11 @@ public class FinAccountServices {
// check for an existing account
GenericValue creditAccount;
if (finAccountId != null) {
- creditAccount = EntityQuery.use(delegator).from("FinAccount").where("finAccountId", finAccountId).queryOne();
+ creditAccount = EntityQuery.use(delegator).from("FinAccount").where("finAccountId", finAccountId)
+ .queryOne();
} else {
- creditAccount = EntityQuery.use(delegator).from("FinAccount").where(lookupMap).orderBy("-fromDate").filterByDate().queryFirst();
+ creditAccount = EntityQuery.use(delegator).from("FinAccount").where(lookupMap).orderBy("-fromDate")
+ .filterByDate().queryFirst();
}
if (creditAccount == null) {
@@ -124,10 +128,11 @@ public class FinAccountServices {
if (createAccountResult != null) {
String creditAccountId = (String) createAccountResult.get("finAccountId");
if (UtilValidate.isNotEmpty(creditAccountId)) {
- creditAccount = EntityQuery.use(delegator).from("FinAccount").where("finAccountId", creditAccountId).queryOne();
+ creditAccount = EntityQuery.use(delegator).from("FinAccount").where("finAccountId",
+ creditAccountId).queryOne();
// create the owner role
- Map<String, Object> roleCtx = new HashMap<String, Object>();
+ Map<String, Object> roleCtx = new HashMap<>();
roleCtx.put("partyId", partyId);
roleCtx.put("roleTypeId", "OWNER");
roleCtx.put("finAccountId", creditAccountId);
@@ -146,13 +151,13 @@ public class FinAccountServices {
}
}
if (creditAccount == null) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountCannotCreditAccount", locale));
}
}
// create the credit transaction
- Map<String, Object> transactionMap = new HashMap<String, Object>();
+ Map<String, Object> transactionMap = new HashMap<>();
transactionMap.put("finAccountTransTypeId", "ADJUSTMENT");
transactionMap.put("finAccountId", creditAccount.getString("finAccountId"));
transactionMap.put("partyId", partyId);
@@ -165,7 +170,7 @@ public class FinAccountServices {
if (ServiceUtil.isError(creditTransResult) || ServiceUtil.isFailure(creditTransResult)) {
return ServiceUtil.returnError(ServiceUtil.getErrorMessage(creditTransResult));
}
- } catch (GenericEntityException|GenericServiceException ge) {
+ } catch (GenericEntityException | GenericServiceException ge) {
return ServiceUtil.returnError(ge.getMessage());
}
@@ -188,9 +193,10 @@ public class FinAccountServices {
GenericValue productStoreFinAccountSetting = EntityQuery.use(delegator).from("ProductStoreFinActSetting")
.where("productStoreId", productStoreId, "finAccountTypeId", finAccountTypeId).cache().queryOne();
if (productStoreFinAccountSetting == null) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
- "AccountingFinAccountSetting",
- UtilMisc.toMap("productStoreId", productStoreId, "finAccountTypeId", finAccountTypeId), locale));
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ "AccountingFinAccountSetting",
+ UtilMisc.toMap("productStoreId", productStoreId, "finAccountTypeId", finAccountTypeId),
+ locale));
}
Long accountCodeLength = productStoreFinAccountSetting.getLong("accountCodeLength");
@@ -214,7 +220,7 @@ public class FinAccountServices {
}
// set the dates/userlogin
- if (UtilValidate.isNotEmpty(accountValidDays)){
+ if (UtilValidate.isNotEmpty(accountValidDays)) {
inContext.put("thruDate", UtilDateTime.getDayEnd(now, accountValidDays));
}
inContext.put("fromDate", now);
@@ -233,9 +239,7 @@ public class FinAccountServices {
result.put("finAccountId", createResult.get("finAccountId"));
result.put("finAccountCode", finAccountCode);
return result;
- } catch (GenericEntityException ex) {
- return ServiceUtil.returnError(ex.getMessage());
- } catch (GenericServiceException ex) {
+ } catch (GenericEntityException | GenericServiceException ex) {
return ServiceUtil.returnError(ex.getMessage());
}
}
@@ -256,14 +260,15 @@ public class FinAccountServices {
}
} else {
try {
- finAccount = EntityQuery.use(delegator).from("FinAccount").where("finAccountId", finAccountId).queryOne();
+ finAccount = EntityQuery.use(delegator).from("FinAccount").where("finAccountId", finAccountId)
+ .queryOne();
} catch (GenericEntityException e) {
Debug.logError(e, module);
return ServiceUtil.returnError(e.getMessage());
}
}
if (finAccount == null) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountNotFound", UtilMisc.toMap("finAccountId", finAccountId), locale));
}
@@ -278,7 +283,8 @@ public class FinAccountServices {
}
String statusId = finAccount.getString("statusId");
- Debug.logInfo("FinAccount Balance [" + balance + "] Available [" + availableBalance + "] - Status: " + statusId, module);
+ Debug.logInfo("FinAccount Balance [" + balance + "] Available [" + availableBalance + "] - Status: " + statusId,
+ module);
Map<String, Object> result = ServiceUtil.returnSuccess();
result.put("availableBalance", availableBalance);
@@ -293,7 +299,7 @@ public class FinAccountServices {
Locale locale = (Locale) context.get("locale");
if (finAccountId == null) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountNotFound", UtilMisc.toMap("finAccountId", ""), locale));
}
@@ -306,7 +312,9 @@ public class FinAccountServices {
if (finAccount != null) {
String statusId = finAccount.getString("statusId");
- if (statusId == null) statusId = "FNACT_ACTIVE";
+ if (statusId == null) {
+ statusId = "FNACT_ACTIVE";
+ }
BigDecimal balance = finAccount.getBigDecimal("actualBalance");
if (balance == null) {
@@ -317,10 +325,12 @@ public class FinAccountServices {
if ("FNACT_ACTIVE".equals(statusId) && balance.compareTo(FinAccountHelper.ZERO) < 1) {
finAccount.set("statusId", "FNACT_MANFROZEN");
- Debug.logInfo("Financial account [" + finAccountId + "] has passed its threshold [" + balance + "] (Frozen)", module);
+ Debug.logInfo("Financial account [" + finAccountId + "] has passed its threshold [" + balance
+ + "] (Frozen)", module);
} else if ("FNACT_MANFROZEN".equals(statusId) && balance.compareTo(FinAccountHelper.ZERO) > 0) {
finAccount.set("statusId", "FNACT_ACTIVE");
- Debug.logInfo("Financial account [" + finAccountId + "] has been made current [" + balance + "] (Un-Frozen)", module);
+ Debug.logInfo("Financial account [" + finAccountId + "] has been made current [" + balance
+ + "] (Un-Frozen)", module);
}
try {
finAccount.store();
@@ -350,7 +360,7 @@ public class FinAccountServices {
if (finAccount != null) {
// check to make sure the account is refundable
if (!"Y".equals(finAccount.getString("isRefundable"))) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountIsNotRefundable", locale));
}
@@ -358,9 +368,10 @@ public class FinAccountServices {
BigDecimal availableBalance = finAccount.getBigDecimal("availableBalance");
BigDecimal actualBalance = finAccount.getBigDecimal("actualBalance");
- // if they do not match, then there are outstanding authorizations which need to be settled first
+ // if they do not match, then there are outstanding authorizations which need to
+ // be settled first
if (actualBalance.compareTo(availableBalance) != 0) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resourceError,
"AccountingFinAccountCannotBeRefunded", locale));
}
@@ -369,11 +380,13 @@ public class FinAccountServices {
BigDecimal remainingBalance = new BigDecimal(actualBalance.toString());
BigDecimal refundAmount = BigDecimal.ZERO;
- List<EntityExpr> exprs = UtilMisc.toList(EntityCondition.makeCondition("finAccountTransTypeId", EntityOperator.EQUALS, "DEPOSIT"),
+ List<EntityExpr> exprs = UtilMisc.toList(EntityCondition.makeCondition("finAccountTransTypeId",
+ EntityOperator.EQUALS, "DEPOSIT"),
EntityCondition.makeCondition("finAccountId", EntityOperator.EQUALS, finAccountId));
EntityCondition condition = EntityCondition.makeCondition(exprs, EntityOperator.AND);
- try (EntityListIterator eli = EntityQuery.use(delegator).from("FinAccountTrans").where(condition).orderBy("-transactionDate").queryIterator()) {
+ try (EntityListIterator eli = EntityQuery.use(delegator).from("FinAccountTrans").where(condition)
+ .orderBy("-transactionDate").queryIterator()) {
GenericValue trans;
while (remainingBalance.compareTo(FinAccountHelper.ZERO) < 0 && (trans = eli.next()) != null) {
String orderId = trans.getString("orderId");
@@ -381,9 +394,11 @@ public class FinAccountServices {
// make sure there is an order available to refund
if (orderId != null && orderItemSeqId != null) {
- GenericValue orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId",orderId).queryOne();
+ GenericValue orderHeader = EntityQuery.use(delegator).from("OrderHeader").where("orderId",
+ orderId).queryOne();
GenericValue productStore = orderHeader.getRelatedOne("ProductStore", false);
- GenericValue orderItem = EntityQuery.use(delegator).from("OrderItem").where("orderId", orderId, "orderItemSeqId", orderItemSeqId).queryOne();
+ GenericValue orderItem = EntityQuery.use(delegator).from("OrderItem").where("orderId",
+ orderId, "orderItemSeqId", orderItemSeqId).queryOne();
if (!"ITEM_CANCELLED".equals(orderItem.getString("statusId"))) {
// make sure the item hasn't already been returned
@@ -398,7 +413,9 @@ public class FinAccountServices {
refundAmount = refundAmount.add(refAmt);
// create the return header
- Map<String, Object> rhCtx = UtilMisc.toMap("returnHeaderTypeId", "CUSTOMER_RETURN", "fromPartyId", finAccount.getString("ownerPartyId"), "toPartyId", productStore.getString("payToPartyId"), "userLogin", userLogin);
+ Map<String, Object> rhCtx = UtilMisc.toMap("returnHeaderTypeId", "CUSTOMER_RETURN",
+ "fromPartyId", finAccount.getString("ownerPartyId"), "toPartyId",
+ productStore.getString("payToPartyId"), "userLogin", userLogin);
Map<String, Object> rhResp = dispatcher.runSync("createReturnHeader", rhCtx);
if (ServiceUtil.isError(rhResp)) {
throw new GeneralException(ServiceUtil.getErrorMessage(rhResp));
@@ -406,7 +423,7 @@ public class FinAccountServices {
String returnId = (String) rhResp.get("returnId");
// create the return item
- Map<String, Object> returnItemCtx = new HashMap<String, Object>();
+ Map<String, Object> returnItemCtx = new HashMap<>();
returnItemCtx.put("returnId", returnId);
returnItemCtx.put("orderId", orderId);
returnItemCtx.put("description", orderItem.getString("itemDescription"));
@@ -419,36 +436,41 @@ public class FinAccountServices {
returnItemCtx.put("returnItemTypeId", "RET_NPROD_ITEM");
returnItemCtx.put("userLogin", userLogin);
- Map<String, Object> retItResp = dispatcher.runSync("createReturnItem", returnItemCtx);
+ Map<String, Object> retItResp = dispatcher.runSync("createReturnItem",
+ returnItemCtx);
if (ServiceUtil.isError(retItResp)) {
throw new GeneralException(ServiceUtil.getErrorMessage(retItResp));
}
String returnItemSeqId = (String) retItResp.get("returnItemSeqId");
// approve the return
- Map<String, Object> appRet = UtilMisc.toMap("statusId", "RETURN_ACCEPTED", "returnId", returnId, "userLogin", userLogin);
+ Map<String, Object> appRet = UtilMisc.toMap("statusId", "RETURN_ACCEPTED",
+ "returnId", returnId, "userLogin", userLogin);
Map<String, Object> appResp = dispatcher.runSync("updateReturnHeader", appRet);
if (ServiceUtil.isError(appResp)) {
throw new GeneralException(ServiceUtil.getErrorMessage(appResp));
}
// "receive" the return - should trigger the refund
- Map<String, Object> recRet = UtilMisc.toMap("statusId", "RETURN_RECEIVED", "returnId", returnId, "userLogin", userLogin);
+ Map<String, Object> recRet = UtilMisc.toMap("statusId", "RETURN_RECEIVED",
+ "returnId", returnId, "userLogin", userLogin);
Map<String, Object> recResp = dispatcher.runSync("updateReturnHeader", recRet);
if (ServiceUtil.isError(recResp)) {
throw new GeneralException(ServiceUtil.getErrorMessage(recResp));
}
// get the return item
- GenericValue returnItem = EntityQuery.use(delegator).from("ReturnItem").where("returnId", returnId, "returnItemSeqId", returnItemSeqId).queryOne();
+ GenericValue returnItem = EntityQuery.use(delegator).from("ReturnItem").where(
+ "returnId", returnId, "returnItemSeqId", returnItemSeqId).queryOne();
GenericValue response = returnItem.getRelatedOne("ReturnItemResponse", false);
if (response == null) {
- throw new GeneralException("No return response found for: " + returnItem.getPrimaryKey());
+ throw new GeneralException("No return response found for: " + returnItem
+ .getPrimaryKey());
}
String paymentId = response.getString("paymentId");
// create the adjustment transaction
- Map<String, Object> txCtx = new HashMap<String, Object>();
+ Map<String, Object> txCtx = new HashMap<>();
txCtx.put("finAccountTransTypeId", "ADJUSTMENT");
txCtx.put("finAccountId", finAccountId);
txCtx.put("orderId", orderId);
@@ -473,7 +495,7 @@ public class FinAccountServices {
// check to make sure we balanced out
if (remainingBalance.compareTo(FinAccountHelper.ZERO) == 1) {
- result = ServiceUtil.returnSuccess(UtilProperties.getMessage(resourceError,
+ result = ServiceUtil.returnSuccess(UtilProperties.getMessage(resourceError,
"AccountingFinAccountPartiallyRefunded", locale));
}
}