You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Si Chen <si...@opensourcestrategies.com> on 2006/07/29 00:34:55 UTC

Fwd: svn commit: r425946 - in /incubator/ofbiz/trunk/applications/accounting: servicedef/services_invoice.xml src/org/ofbiz/accounting/invoice/InvoiceServices.java

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: hansbak@apache.org
> Date: July 26, 2006 8:52:56 PM PDT
> To: ofbiz-commits@incubator.apache.org
> Subject: svn commit: r425946 - in /incubator/ofbiz/trunk/ 
> applications/accounting: servicedef/services_invoice.xml src/org/ 
> ofbiz/accounting/invoice/InvoiceServices.java
> Reply-To: ofbiz-dev@incubator.apache.org
>
> 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();
>