You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2007/04/03 08:16:26 UTC
svn commit: r525049 - in /ofbiz/trunk/applications/accounting:
data/AccountingTypeData.xml
src/org/ofbiz/accounting/finaccount/FinAccountProductServices.java
Author: jaz
Date: Mon Apr 2 23:16:25 2007
New Revision: 525049
URL: http://svn.apache.org/viewvc?view=rev&rev=525049
Log:
added new account type; REPLENISH_ACCOUNT; added ability to specify dynamic content in the name of the account (TYPE description of the feature) using flexible string expansion
Modified:
ofbiz/trunk/applications/accounting/data/AccountingTypeData.xml
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountProductServices.java
Modified: ofbiz/trunk/applications/accounting/data/AccountingTypeData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/data/AccountingTypeData.xml?view=diff&rev=525049&r1=525048&r2=525049
==============================================================================
--- ofbiz/trunk/applications/accounting/data/AccountingTypeData.xml (original)
+++ ofbiz/trunk/applications/accounting/data/AccountingTypeData.xml Mon Apr 2 23:16:25 2007
@@ -75,9 +75,10 @@
<FinAccountTransType description="Adjustment" finAccountTransTypeId="ADJUSTMENT" hasTable="N" parentTypeId=""/>
<FinAccountType description="Gift Certificate" finAccountTypeId="GIFTCERT_ACCOUNT" hasTable="N" replenishEnumId="FARP_MANUAL" parentTypeId=""/>
- <FinAccountType description="Deposit Account" finAccountTypeId="DEPOSIT_ACCOUNT" replenishEnumId="FARP_AUTOMATIC" hasTable="N" parentTypeId=""/>
+ <FinAccountType description="Deposit Account" finAccountTypeId="DEPOSIT_ACCOUNT" replenishEnumId="FARP_MANUAL" hasTable="N" parentTypeId=""/>
<FinAccountType description="Bank Account" finAccountTypeId="BANK_ACCOUNT" hasTable="N" replenishEnumId="FARP_MANUAL" parentTypeId="DEPOSIT_ACCOUNT"/>
<FinAccountType description="Investment Account" finAccountTypeId="INVESTMENT_ACCOUNT" hasTable="N" replenishEnumId="FARP_MANUAL" parentTypeId="DEPOSIT_ACCOUNT"/>
+ <FinAccountType description="Replenish Account" finAccountTypeId="REPLENISH_ACCOUNT" hasTable="N" replenishEnumId="FARP_AUTOMATIC" parentTypeId="DEPOSIT_ACCOUNT"/>
<FixedAssetType description="Equipment" fixedAssetTypeId="EQUIPMENT" hasTable="N" parentTypeId=""/>
<FixedAssetType description="The fixed asset used in the operation-routing definition" fixedAssetTypeId="PRODUCTION_EQUIPMENT" hasTable="N" parentTypeId=""/>
Modified: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountProductServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountProductServices.java?view=diff&rev=525049&r1=525048&r2=525049
==============================================================================
--- ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountProductServices.java (original)
+++ ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountProductServices.java Mon Apr 2 23:16:25 2007
@@ -28,6 +28,7 @@
import org.ofbiz.entity.GenericEntityException;
import org.ofbiz.entity.util.EntityUtil;
import org.ofbiz.base.util.*;
+import org.ofbiz.base.util.string.FlexibleStringExpander;
import org.ofbiz.order.order.OrderReadHelper;
import org.ofbiz.order.finaccount.FinAccountHelper;
@@ -123,6 +124,39 @@
if (billToParty != null) {
partyId = billToParty.getString("partyId");
}
+
+ // some person data for expanding
+ GenericValue partyGroup = null;
+ GenericValue person = null;
+ GenericValue party = null;
+
+ if (billToParty != null) {
+ try {
+ party = billToParty.getRelatedOne("Party");
+ } catch (GenericEntityException e) {
+ Debug.logError(e, module);
+ }
+ if (party != null) {
+ String partyTypeId = party.getString("partyTypeId");
+ if ("PARTY_GROUP".equals(partyTypeId)) {
+ partyGroup = billToParty;
+ } else if ("PERSON".equals(partyTypeId)) {
+ person = billToParty;
+ }
+ }
+ }
+
+ // create the context for FSE
+ Map expContext = FastMap.newInstance();
+ expContext.put("orderHeader", orderHeader);
+ expContext.put("orderItem", orderItem);
+ expContext.put("party", party);
+ expContext.put("person", person);
+ expContext.put("partyGroup", partyGroup);
+
+ // expand the name field to dynamicly add information
+ FlexibleStringExpander exp = new FlexibleStringExpander(finAccountName);
+ finAccountName = exp.expandString(expContext);
// price/amount/quantity to create initial deposit amount
BigDecimal quantity = orderItem.getBigDecimal("quantity");