Author: jaz
Date: Tue Mar 27 17:12:10 2007 New Revision: 523121 URL: http://svn.apache.org/viewvc?view=rev&rev=523121 Log: updated trans code to include the amount field (as a positive number unless its an adjustment) Modified: ofbiz/trunk/applications/accounting/servicedef/services_finaccount.xml ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountPaymentServices.java Modified: ofbiz/trunk/applications/accounting/servicedef/services_finaccount.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/services_finaccount.xml?view=diff&rev=523121&r1=523120&r2=523121 ============================================================================== --- ofbiz/trunk/applications/accounting/servicedef/services_finaccount.xml (original) +++ ofbiz/trunk/applications/accounting/servicedef/services_finaccount.xml Tue Mar 27 17:12:10 2007 @@ -172,7 +172,7 @@ <service name="createPartyFinAccountFromPurchase" engine="java" location="org.ofbiz.accounting.finaccount.FinAccountProductServices" invoke="createPartyFinAccountFromPurchase" auth="true"> <implements service="itemFulfillmentInterface"/> - <attribute name="finAccountId" type="String" mode="OUT"/> + <attribute name="finAccountId" type="String" mode="OUT" optional="false"/> </service> <!-- financial account as payment method services --> Modified: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountPaymentServices.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountPaymentServices.java?view=diff&rev=523121&r1=523120&r2=523121 ============================================================================== --- ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountPaymentServices.java (original) +++ ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountPaymentServices.java Tue Mar 27 17:12:10 2007 @@ -731,24 +731,36 @@ String paymentType; String partyIdFrom; String partyIdTo; + Double paymentAmount; // determine the payment type and which direction the parties should go if ("DEPOSIT".equals(txType)) { paymentType = "RECEIPT"; partyIdFrom = partyId; partyIdTo = coParty; + paymentAmount = amount; } else if ("WITHDRAWAL".equals(txType)) { paymentType = "DISBURSEMENT"; partyIdFrom = coParty; partyIdTo = partyId; + paymentAmount = amount; } else if ("ADJUSTMENT".equals(txType)) { - paymentType = "CUSTOMER_REFUND"; - partyIdFrom = coParty; - partyIdTo = partyId; + if (amount.doubleValue() < 0) { + paymentType = "DISBURSEMENT"; + partyIdFrom = coParty; + partyIdTo = partyId; + paymentAmount = new Double(amount.doubleValue() * -1); // must be positive + } else { + paymentType = "RECEIPT"; + partyIdFrom = partyId; + partyIdTo = coParty; + paymentAmount = amount; + } } else { throw new GeneralException("Unable to create financial account transaction!"); } + // payment amount should always be positive; adjustments may // create the payment for the transaction Map paymentCtx = UtilMisc.toMap("paymentTypeId", paymentType); paymentCtx.put("paymentMethodTypeId", paymentMethodType); @@ -756,7 +768,7 @@ paymentCtx.put("partyIdFrom", partyIdFrom); paymentCtx.put("statusId", "PMNT_RECEIVED"); paymentCtx.put("currencyUomId", currencyUom); - paymentCtx.put("amount", amount); + paymentCtx.put("amount", paymentAmount); paymentCtx.put("userLogin", userLogin); paymentCtx.put("paymentRefNum", Long.toString(UtilDateTime.nowTimestamp().getTime())); @@ -780,7 +792,8 @@ Map transCtx = UtilMisc.toMap("finAccountTransTypeId", txType); transCtx.put("finAccountId", finAccountId); transCtx.put("partyId", userLogin.getString("partyId")); - transCtx.put("userLogin", userLogin); + transCtx.put("amount", amount); + transCtx.put("userLogin", userLogin); transCtx.put("paymentId", paymentId); Map transResult; |
Free forum by Nabble | Edit this page |