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 18:42:25 UTC

svn commit: r525205 - in /ofbiz/trunk/applications/accounting: servicedef/services_finaccount.xml src/org/ofbiz/accounting/finaccount/FinAccountPaymentServices.java src/org/ofbiz/accounting/finaccount/FinAccountProductServices.java

Author: jaz
Date: Tue Apr  3 09:42:24 2007
New Revision: 525205

URL: http://svn.apache.org/viewvc?view=rev&rev=525205
Log:
added orderId, orderItemSeqId to post with finaccount transactions when available (more times orderId is available than orderItemSeqId); changed the partyId field to use the partyId of the finaccount instead of the userlogin processing (this is in the peformedBy field -- which maybe should be changed to userLogin) 

Modified:
    ofbiz/trunk/applications/accounting/servicedef/services_finaccount.xml
    ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountPaymentServices.java
    ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountProductServices.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=525205&r1=525204&r2=525205
==============================================================================
--- ofbiz/trunk/applications/accounting/servicedef/services_finaccount.xml (original)
+++ ofbiz/trunk/applications/accounting/servicedef/services_finaccount.xml Tue Apr  3 09:42:24 2007
@@ -127,6 +127,8 @@
         <attribute name="isRefund" type="Boolean" mode="IN" optional="true"/>
         <attribute name="currency" type="String" mode="IN" optional="true"/>
         <attribute name="partyId" type="String" mode="IN" optional="true"/>
+        <attribute name="orderId" type="String" mode="IN" optional="true"/>
+        <attribute name="orderItemSeqId" type="String" mode="IN" optional="true"/>
         <attribute name="amount" type="Double" mode="INOUT" optional="false"/>
         <attribute name="balance" type="Double" mode="OUT" optional="false"/>
         <attribute name="previousBalance" type="Double" mode="OUT" optional="true"/>
@@ -141,6 +143,8 @@
         <attribute name="requireBalance" type="Boolean" mode="IN" optional="true"/> 
         <attribute name="currency" type="String" mode="IN" optional="true"/>
         <attribute name="partyId" type="String" mode="IN" optional="true"/>
+        <attribute name="orderId" type="String" mode="IN" optional="true"/>
+        <attribute name="orderItemSeqId" type="String" mode="IN" optional="true"/>
         <attribute name="amount" type="Double" mode="INOUT" optional="false"/>
         <attribute name="balance" type="Double" mode="OUT" optional="false"/>
         <attribute name="previousBalance" type="Double" mode="OUT" optional="true"/>

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=525205&r1=525204&r2=525205
==============================================================================
--- ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountPaymentServices.java (original)
+++ ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountPaymentServices.java Tue Apr  3 09:42:24 2007
@@ -340,6 +340,7 @@
         withdrawCtx.put("productStoreId", productStoreId);
         withdrawCtx.put("currency", currency);
         withdrawCtx.put("partyId", partyId);
+        withdrawCtx.put("orderId", orderId);
         withdrawCtx.put("amount", amount);
         withdrawCtx.put("requireBalance", Boolean.FALSE); // for captures; if auth passed, allow
         withdrawCtx.put("userLogin", userLogin);
@@ -395,8 +396,9 @@
         String productStoreId = null;
         String partyId = null;
 
+        String orderId = null;
         if (orderPaymentPreference != null) {
-            String orderId = orderPaymentPreference.getString("orderId");
+            orderId = orderPaymentPreference.getString("orderId");
             if (orderId != null) {
                 OrderReadHelper orh = new OrderReadHelper(delegator, orderId);
                 productStoreId = orh.getProductStoreId();
@@ -415,6 +417,7 @@
         depositCtx.put("isRefund", Boolean.TRUE);
         depositCtx.put("currency", currency);
         depositCtx.put("partyId", partyId);
+        depositCtx.put("orderId", orderId);
         depositCtx.put("amount", amount);
         depositCtx.put("userLogin", userLogin);
 
@@ -451,6 +454,8 @@
         GenericValue userLogin = (GenericValue) context.get("userLogin");
         String productStoreId = (String) context.get("productStoreId");
         String finAccountId = (String) context.get("finAccountId");
+        String orderItemSeqId = (String) context.get("orderItemSeqId");
+        String orderId = (String) context.get("orderId");
         Boolean requireBalance = (Boolean) context.get("requireBalance");
         Double amount = (Double) context.get("amount");
         if (requireBalance == null) requireBalance = Boolean.TRUE;
@@ -505,7 +510,7 @@
         } else {
             try {
                 refNum = FinAccountPaymentServices.createFinAcctPaymentTransaction(delegator, dispatcher, userLogin, amount,
-                        productStoreId, partyId, currencyUom, WITHDRAWAL, finAccountId);
+                        productStoreId, partyId, orderId, orderItemSeqId, currencyUom, WITHDRAWAL, finAccountId);
                 finAccount.refresh();
                 balance = finAccount.getBigDecimal("actualBalance");
                 procResult = Boolean.TRUE;
@@ -536,7 +541,9 @@
 
         GenericValue userLogin = (GenericValue) context.get("userLogin");
         String productStoreId = (String) context.get("productStoreId");
-        String finAccountId = (String) context.get("finAccountId");        
+        String finAccountId = (String) context.get("finAccountId");
+        String orderItemSeqId = (String) context.get("orderItemSeqId");
+        String orderId = (String) context.get("orderId");
         Boolean isRefund = (Boolean) context.get("isRefund");
         Double amount = (Double) context.get("amount");
 
@@ -581,7 +588,7 @@
         String refNum;
         try {
             refNum = FinAccountPaymentServices.createFinAcctPaymentTransaction(delegator, dispatcher, userLogin, amount,
-                    productStoreId, partyId, currencyUom, DEPOSIT, finAccountId);
+                    productStoreId, partyId, orderId, orderItemSeqId, currencyUom, DEPOSIT, finAccountId);
             finAccount.refresh();
             balance = finAccount.getBigDecimal("actualBalance");
         } catch (GeneralException e) {
@@ -730,6 +737,7 @@
         if (ServiceUtil.isError(replResp)) {
             return replResp;
         }
+        String orderId = (String) replResp.get("orderId");
 
         // create the deposit
         Map depositCtx = FastMap.newInstance();
@@ -737,6 +745,8 @@
         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",  new Double(depositAmount.doubleValue()));
         depositCtx.put("userLogin", userLogin);
         Map depositResp;
@@ -754,7 +764,7 @@
     }
     
     private static String createFinAcctPaymentTransaction(GenericDelegator delegator, LocalDispatcher dispatcher, GenericValue userLogin, Double amount,
-            String productStoreId, String partyId, String currencyUom, String txType, String finAccountId) throws GeneralException {
+            String productStoreId, String partyId, String orderId, String orderItemSeqId, String currencyUom, String txType, String finAccountId) throws GeneralException {
 
         final String coParty = ProductStoreWorker.getProductStorePayToPartyId(productStoreId, delegator);
         final String paymentMethodType = "FIN_ACCOUNT";
@@ -826,7 +836,9 @@
         // create the initial transaction
         Map transCtx = UtilMisc.toMap("finAccountTransTypeId", txType);
         transCtx.put("finAccountId", finAccountId);
-        transCtx.put("partyId", userLogin.getString("partyId"));
+        transCtx.put("partyId", partyId);
+        transCtx.put("orderId", orderId);
+        transCtx.put("orderItemSeqId", orderItemSeqId);
         transCtx.put("amount", amount);
         transCtx.put("userLogin", userLogin);
         transCtx.put("paymentId", paymentId);

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=525205&r1=525204&r2=525205
==============================================================================
--- ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountProductServices.java (original)
+++ ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountProductServices.java Tue Apr  3 09:42:24 2007
@@ -54,6 +54,7 @@
 
         // order ID for tracking
         String orderId = orderItem.getString("orderId");
+        String orderItemSeqId = orderItem.getString("orderItemSeqId");
 
         // the order header for store info
         GenericValue orderHeader;
@@ -217,6 +218,8 @@
         depositCtx.put("productStoreId", productStoreId);
         depositCtx.put("currency", currency);
         depositCtx.put("partyId", partyId);
+        depositCtx.put("orderId", orderId);
+        depositCtx.put("orderItemSeqId", orderItemSeqId);
         depositCtx.put("amount", new Double(deposit.doubleValue()));
         depositCtx.put("userLogin", userLogin);