Posted by
hansbak-2 on
Jul 27, 2006; 4:52am
URL: http://ofbiz.116.s1.nabble.com/svn-commit-r425946-in-incubator-ofbiz-trunk-applications-accounting-servicedef-services-invoice-xml-a-tp208652.html
Author: hansbak
Date: Wed Jul 26 20:52:55 2006
New Revision: 425946
URL:
http://svn.apache.org/viewvc?rev=425946&view=revLog:
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",UtilMisc.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();