Author: jacopoc
Date: Wed Sep 19 02:34:30 2007 New Revision: 577215 URL: http://svn.apache.org/viewvc?rev=577215&view=rev Log: Misc improvements by Marco Risaliti to the eBay import service: added support for sales taxes and address2 field. Modified: ofbiz/trunk/applications/order/config/OrderUiLabels.properties ofbiz/trunk/applications/order/servicedef/services.xml ofbiz/trunk/applications/order/src/org/ofbiz/order/order/ImportOrdersFromEbay.java ofbiz/trunk/applications/order/webapp/ordermgr/order/OrderForms.xml Modified: ofbiz/trunk/applications/order/config/OrderUiLabels.properties URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/config/OrderUiLabels.properties?rev=577215&r1=577214&r2=577215&view=diff ============================================================================== --- ofbiz/trunk/applications/order/config/OrderUiLabels.properties (original) +++ ofbiz/trunk/applications/order/config/OrderUiLabels.properties Wed Sep 19 02:34:30 2007 @@ -402,6 +402,7 @@ FormFieldTitle_visitId=Visit Id FormFieldTitle_visitorId=Visitor Id FormFieldTitle_webSiteId=Web Site Id +FormFieldTitle_salesTaxAmount=Sales Tax Amount OrderAddCode=Add Code OrderAddNote=Add Note OrderAddOrderToShoppingList=Add Order Items to Shopping List Modified: ofbiz/trunk/applications/order/servicedef/services.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/services.xml?rev=577215&r1=577214&r2=577215&view=diff ============================================================================== --- ofbiz/trunk/applications/order/servicedef/services.xml (original) +++ ofbiz/trunk/applications/order/servicedef/services.xml Wed Sep 19 02:34:30 2007 @@ -807,13 +807,17 @@ <attribute type="String" mode="IN" name="shippingService" optional="true"/> <attribute type="String" mode="IN" name="shippingServiceCost" optional="true"/> <attribute type="String" mode="IN" name="shippingTotalAdditionalCost" optional="true"/> + <attribute type="String" mode="IN" name="salesTaxAmount" optional="true"/> + <attribute type="String" mode="IN" name="salesTaxPercent" optional="true"/> <attribute type="String" mode="IN" name="amountPaid" optional="true"/> <attribute type="String" mode="IN" name="paidTime" optional="true"/> <attribute type="String" mode="IN" name="shippedTime" optional="true"/> <attribute type="String" mode="IN" name="buyerName" optional="true"/> <attribute type="String" mode="IN" name="emailBuyer" optional="true"/> <attribute type="String" mode="IN" name="shippingAddressPhone" optional="true"/> + <attribute type="String" mode="IN" name="shippingAddressStreet" optional="true"/> <attribute type="String" mode="IN" name="shippingAddressStreet1" optional="true"/> + <attribute type="String" mode="IN" name="shippingAddressStreet2" optional="true"/> <attribute type="String" mode="IN" name="shippingAddressPostalCode" optional="true"/> <attribute type="String" mode="IN" name="shippingAddressCountry" optional="true"/> <attribute type="String" mode="IN" name="shippingAddressStateOrProvince" optional="true"/> Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/order/ImportOrdersFromEbay.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/ImportOrdersFromEbay.java?rev=577215&r1=577214&r2=577215&view=diff ============================================================================== --- ofbiz/trunk/applications/order/src/org/ofbiz/order/order/ImportOrdersFromEbay.java (original) +++ ofbiz/trunk/applications/order/src/org/ofbiz/order/order/ImportOrdersFromEbay.java Wed Sep 19 02:34:30 2007 @@ -93,18 +93,13 @@ // get the xmlGatewayUri String xmlGatewayUri = UtilProperties.getPropertyValue(configString, "productsExport.eBay.xmlGatewayUri"); - StringBuffer ebayDetailsItemsXml = new StringBuffer(); StringBuffer sellerTransactionsItemsXml = new StringBuffer(); - if (!ServiceUtil.isFailure(buildGetEbayDetailsRequest(context, ebayDetailsItemsXml, token))) { - postItem(xmlGatewayUri, ebayDetailsItemsXml, devID, appID, certID, "GeteBayDetails", compatibilityLevel, siteID); - - if (!ServiceUtil.isFailure(buildGetSellerTransactionsRequest(context, sellerTransactionsItemsXml, token))) { - result = postItem(xmlGatewayUri, sellerTransactionsItemsXml, devID, appID, certID, "GetSellerTransactions", compatibilityLevel, siteID); - String success = (String)result.get(ModelService.SUCCESS_MESSAGE); - if (success != null) { - result = checkOrders(delegator, dispatcher, locale, context, success); - } + if (!ServiceUtil.isFailure(buildGetSellerTransactionsRequest(context, sellerTransactionsItemsXml, token))) { + result = postItem(xmlGatewayUri, sellerTransactionsItemsXml, devID, appID, certID, "GetSellerTransactions", compatibilityLevel, siteID); + String success = (String)result.get(ModelService.SUCCESS_MESSAGE); + if (success != null) { + result = checkOrders(delegator, dispatcher, locale, context, success); } } } catch (Exception e) { @@ -133,6 +128,8 @@ order.put("shippingService", (String) context.get("shippingService")); order.put("shippingServiceCost", (String) context.get("shippingServiceCost")); order.put("shippingTotalAdditionalCost", (String) context.get("shippingTotalAdditionalCost")); + order.put("salesTaxAmount", (String) context.get("salesTaxAmount")); + order.put("salesTaxPercent", (String) context.get("salesTaxPercent")); order.put("amountPaid", (String) context.get("amountPaid")); order.put("paidTime", (String) context.get("paidTime")); order.put("shippedTime", (String) context.get("shippedTime")); @@ -140,7 +137,9 @@ order.put("buyerName", (String) context.get("buyerName")); order.put("emailBuyer", (String) context.get("emailBuyer")); order.put("shippingAddressPhone", (String) context.get("shippingAddressPhone")); + order.put("shippingAddressStreet", (String) context.get("shippingAddressStreet")); order.put("shippingAddressStreet1", (String) context.get("shippingAddressStreet1")); + order.put("shippingAddressStreet2", (String) context.get("shippingAddressStreet2")); order.put("shippingAddressPostalCode", (String) context.get("shippingAddressPostalCode")); order.put("shippingAddressCountry", (String) context.get("shippingAddressCountry")); order.put("shippingAddressStateOrProvince", (String) context.get("shippingAddressStateOrProvince")); @@ -505,7 +504,9 @@ while (shippingAddressElemIter.hasNext()) { Element shippingAddressElement = (Element)shippingAddressElemIter.next(); order.put("buyerName", UtilXml.childElementValue(shippingAddressElement, "Name", "")); + order.put("shippingAddressStreet", UtilXml.childElementValue(shippingAddressElement, "Street", "")); order.put("shippingAddressStreet1", UtilXml.childElementValue(shippingAddressElement, "Street1", "")); + order.put("shippingAddressStreet2", UtilXml.childElementValue(shippingAddressElement, "Street2", "")); order.put("shippingAddressCityName", UtilXml.childElementValue(shippingAddressElement, "CityName", "")); order.put("shippingAddressStateOrProvince", UtilXml.childElementValue(shippingAddressElement, "StateOrProvince", "")); order.put("shippingAddressCountry", UtilXml.childElementValue(shippingAddressElement, "Country", "")); @@ -787,7 +788,7 @@ if (UtilValidate.isNotEmpty(shippingCost)) { double shippingAmount = new Double(shippingCost).doubleValue(); if (shippingAmount > 0) { - GenericValue shippingAdjustment = makeOrderAdjustment(delegator, "SHIPPING_CHARGES", cart.getOrderId(), null, null, shippingAmount); + GenericValue shippingAdjustment = makeOrderAdjustment(delegator, "SHIPPING_CHARGES", cart.getOrderId(), null, null, shippingAmount, 0.0); if (shippingAdjustment != null) { cart.addAdjustment(shippingAdjustment); } @@ -799,13 +800,30 @@ if (UtilValidate.isNotEmpty(shippingTotalAdditionalCost)) { double shippingAdditionalCost = new Double(shippingTotalAdditionalCost).doubleValue(); if (shippingAdditionalCost > 0) { - GenericValue shippingAdjustment = makeOrderAdjustment(delegator, "MISCELLANEOUS_CHARGE", cart.getOrderId(), null, null, shippingAdditionalCost); + GenericValue shippingAdjustment = makeOrderAdjustment(delegator, "MISCELLANEOUS_CHARGE", cart.getOrderId(), null, null, shippingAdditionalCost, 0.0); if (shippingAdjustment != null) { cart.addAdjustment(shippingAdjustment); } } } + // Apply sales tax as order adjustment + String salesTaxAmount = (String) parameters.get("salesTaxAmount"); + String salesTaxPercent = (String) parameters.get("salesTaxPercent"); + if (UtilValidate.isNotEmpty(salesTaxAmount)) { + double salesTaxAmountTotal = new Double(salesTaxAmount).doubleValue(); + if (salesTaxAmountTotal > 0) { + double salesPercent = 0.0; + if (UtilValidate.isNotEmpty(salesTaxPercent)) { + salesPercent = new Double(salesTaxPercent).doubleValue(); + } + GenericValue salesTaxAdjustment = makeOrderAdjustment(delegator, "SALES_TAX", cart.getOrderId(), null, null, salesTaxAmountTotal, salesPercent); + if (salesTaxAdjustment != null) { + cart.addAdjustment(salesTaxAdjustment); + } + } + } + // order has to be created ? if (create) { Debug.logInfo("Importing new order from eBay", module); @@ -966,7 +984,8 @@ } } - private static GenericValue makeOrderAdjustment(GenericDelegator delegator, String orderAdjustmentTypeId, String orderId, String orderItemSeqId, String shipGroupSeqId, double amount) { + private static GenericValue makeOrderAdjustment(GenericDelegator delegator, String orderAdjustmentTypeId, String orderId, + String orderItemSeqId, String shipGroupSeqId, double amount, double sourcePercentage) { GenericValue orderAdjustment = null; try { @@ -979,6 +998,9 @@ Map inputMap = UtilMisc.toMap("orderAdjustmentTypeId", orderAdjustmentTypeId, "orderId", orderId, "orderItemSeqId", orderItemSeqId, "shipGroupSeqId", shipGroupSeqId, "amount", new Double(amount)); + if (sourcePercentage != 0) { + inputMap.put("sourcePercentage", new Double(sourcePercentage)); + } orderAdjustment = delegator.makeValue("OrderAdjustment", inputMap); } catch (Exception e) { Debug.logError(e, "Failed to made order adjustment for order " + orderId, module); @@ -1024,6 +1046,7 @@ Map context = FastMap.newInstance(); context.put("partyId", partyId); context.put("address1", (String)address.get("shippingAddressStreet1")); + context.put("address2", (String)address.get("shippingAddressStreet2")); context.put("postalCode", (String)address.get("shippingAddressPostalCode")); context.put("userLogin", userLogin); context.put("contactMechPurposeTypeId", contactMechPurposeTypeId); @@ -1270,6 +1293,7 @@ // // now compare values. If all fields match, that's our shipping address. Return the related contact mech id. if ( parameters.get("shippingAddressStreet1").toString().equals((postalAddress.get("address1").toString())) && + parameters.get("shippingAddressStreet2").toString().equals((postalAddress.get("address2").toString())) && parameters.get("city").toString().equals((postalAddress.get("city").toString())) && parameters.get("stateProvinceGeoId").toString().equals((postalAddress.get("stateProvinceGeoId").toString())) && parameters.get("countryGeoId").toString().equals((postalAddress.get("countryGeoId").toString())) && Modified: ofbiz/trunk/applications/order/webapp/ordermgr/order/OrderForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/order/OrderForms.xml?rev=577215&r1=577214&r2=577215&view=diff ============================================================================== --- ofbiz/trunk/applications/order/webapp/ordermgr/order/OrderForms.xml (original) +++ ofbiz/trunk/applications/order/webapp/ordermgr/order/OrderForms.xml Wed Sep 19 02:34:30 2007 @@ -133,17 +133,24 @@ <form name="ListOrdersFromEbay" type="multi" use-row-submit="true" list-name="orderList" target="ImportOrderFromEbay"> <row-actions> <set field="canImportOrder" value="${bsh: org.ofbiz.base.util.UtilValidate.isEmpty(orderId) && org.ofbiz.base.util.UtilValidate.isEmpty(errorMessage)}" type="Boolean"/> + <set field="allowProductIdChange" value="${bsh: org.ofbiz.base.util.UtilValidate.isEmpty(orderId) && org.ofbiz.base.util.UtilValidate.isNotEmpty(errorMessage)}" type="Boolean"/> </row-actions> <field name="productStoreId"><hidden/></field> <field name="externalId" title="${uiLabelMap.OrderImportEbayItem}"><display/></field> <field name="transactionId"><display/></field> <field name="orderId"><hyperlink target="orderview?orderId=${orderId}" description="${orderId}"/></field> <field name="createdDate"><display/></field> + <!-- + <field name="productId" use-when="!${allowProductIdChange}"><display/></field> + <field name="productId" use-when="${allowProductIdChange}"><lookup target-form-name="LookupProduct"/></field> + --> <field name="productId"><display/></field> <field name="productName" entry-name="productId"><display-entity entity-name="Product" key-field-name="productId" description="${internalName}"/></field> <field name="title"><display/></field> <field name="quantityPurchased" title="${uiLabelMap.OrderQuantitySold}"><display/></field> <field name="transactionPrice" title="${uiLabelMap.OrderUnitPrice}"><display/></field> + <field name="salesTaxAmount"><display/></field> + <field name="salesTaxPercent"><hidden/></field> <field name="shippingServiceCost"><display/></field> <field name="shippingTotalAdditionalCost"><display/></field> <field name="amountPaid"><display/></field> @@ -156,7 +163,9 @@ <field name="checkoutStatus"><display/></field> <field name="completeStatus"><display/></field> <field name="buyerName"><display/></field> + <field name="shippingAddressStreet"><hidden/></field> <field name="emailBuyer"><display/></field> + <field name="shippingAddressStreet2"><hidden/></field> <field name="shippingAddressPhone"><hidden/></field> <field name="shippingAddressStreet1"><hidden/></field> <field name="shippingAddressPostalCode"><hidden/></field> |
Free forum by Nabble | Edit this page |