Hans,

I just read through your commits and saw this. May I ask how this is different than createInvoiceForOrder? Also, can I ask why this service uses the "system" login rather than the usual userLogin from parameters?

Si

Begin forwarded message:

From: [EMAIL PROTECTED]
Date: July 26, 2006 8:52:56 PM PDT
To: [email protected]
Subject: svn commit: r425946 - in /incubator/ofbiz/trunk/ applications/accounting: servicedef/services_invoice.xml src/org/ ofbiz/accounting/invoice/InvoiceServices.java
Reply-To: [email protected]

Author: hansbak
Date: Wed Jul 26 20:52:55 2006
New Revision: 425946

URL: http://svn.apache.org/viewvc?rev=425946&view=rev
Log:
create a new service to create an invoice from an order using all orderitems: createInvoiceForOrderAllItems

Modified:
incubator/ofbiz/trunk/applications/accounting/servicedef/ services_invoice.xml incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/ accounting/invoice/InvoiceServices.java

Modified: incubator/ofbiz/trunk/applications/accounting/servicedef/ services_invoice.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/ applications/accounting/servicedef/services_invoice.xml? rev=425946&r1=425945&r2=425946&view=diff ====================================================================== ======== --- incubator/ofbiz/trunk/applications/accounting/servicedef/ services_invoice.xml (original) +++ incubator/ofbiz/trunk/applications/accounting/servicedef/ services_invoice.xml Wed Jul 26 20:52:55 2006
@@ -142,6 +142,15 @@
         <auto-attributes mode="IN" include="nonpk" optional="false"/>
         <override name="uomId" optional="true"/>
     </service>
+    <service name="createInvoiceForOrderAllItems" engine="java"
+ location="org.ofbiz.accounting.invoice.InvoiceServices" invoke="createInvoiceForOrderAllItems">
+        <description>
+ Create an invoice from existing order using all order items
+            orderId = The orderId to associate the invoice with
+        </description>
+ <attribute name="orderId" type="String" mode="IN" optional="false"/> + <attribute name="invoiceId" type="String" mode="OUT" optional="true"/>
+    </service>
     <service name="createInvoiceForOrder" engine="java"
location="org.ofbiz.accounting.invoice.InvoiceServices" invoke="createInvoiceForOrder">
         <description>

Modified: incubator/ofbiz/trunk/applications/accounting/src/org/ ofbiz/accounting/invoice/InvoiceServices.java URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/ applications/accounting/src/org/ofbiz/accounting/invoice/ InvoiceServices.java?rev=425946&r1=425945&r2=425946&view=diff ====================================================================== ======== --- incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/ accounting/invoice/InvoiceServices.java (original) +++ incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/ accounting/invoice/InvoiceServices.java Wed Jul 26 20:52:55 2006
@@ -110,6 +110,28 @@

     public static final String resource = "AccountingUiLabels";

+ // service to create an invoice for a complete order by the system userid + public static Map createInvoiceForOrderAllItems (DispatchContext dctx, Map context) {
+        GenericDelegator delegator = dctx.getDelegator();
+        try {
+ List orderItems = delegator.findByAnd("OrderItem", UtilMisc.toMap("orderId", (String) context.get("orderId")));
+            if (orderItems != null && orderItems.size() > 0) {
+                context.put("billItems", orderItems);
+            }
+ // get the system userid and store in context otherwise the invoice add service does not work + GenericValue userLogin = (GenericValue) delegator.findByPrimaryKey("UserLogin", UtilMisc.toMap ("userLoginId", "system"));
+            if (userLogin != null) {
+                context.put("userLogin", userLogin);
+            }
+
+        } catch (GenericEntityException e) {
+ String errMsg = UtilProperties.getMessage (resource,"AccountingEntityDataProblemCreatingInvoiceFromOrderItems",U tilMisc.toMap("reason",e.toString()),(Locale) context.get("locale"));
+            Debug.logError(e, errMsg, module);
+            return ServiceUtil.returnError(errMsg);
+        }
+        return createInvoiceForOrder(dctx, context);
+    }
+
     /* Service to create an invoice for an order */
public static Map createInvoiceForOrder(DispatchContext dctx, Map context) {
         GenericDelegator delegator = dctx.getDelegator();


Reply via email to