svn commit: r931423 - in /ofbiz/trunk/specialpurpose/ebaystore: src/org/ofbiz/ebaystore/ webapp/ebaystore/WEB-INF/actions/store/ webapp/ebaystore/store/

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r931423 - in /ofbiz/trunk/specialpurpose/ebaystore: src/org/ofbiz/ebaystore/ webapp/ebaystore/WEB-INF/actions/store/ webapp/ebaystore/store/

hansbak-2
Author: hansbak
Date: Wed Apr  7 03:55:50 2010
New Revision: 931423

URL: http://svn.apache.org/viewvc?rev=931423&view=rev
Log:
Ebaystore: Add field require inventory in export Product screen to update qty of product  in ofbiz inventory system when user checked at this field.

Modified:
    ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java
    ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java
    ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/store/PrepareProductListing.groovy
    ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl

Modified: ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java?rev=931423&r1=931422&r2=931423&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java (original)
+++ ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java Wed Apr  7 03:55:50 2010
@@ -18,6 +18,7 @@
  */
 package org.ofbiz.ebaystore;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
@@ -783,7 +784,33 @@ public class EbayEvents {
                             storeFront.setStoreCategory2ID(new Long(requestParams.get("ebayStore2Category").toString()));
                             attributeMapList.put("StoreCategory2ID", requestParams.get("ebayStore2Category").toString());
                         }
-                        item.setStorefront(storeFront);
+                        if (UtilValidate.isNotEmpty(requestParams.get("ebayStore1Category")) || UtilValidate.isNotEmpty(requestParams.get("ebayStore2Category"))) {
+                            item.setStorefront(storeFront);
+                        }
+                        if (UtilValidate.isNotEmpty(requestParams.get("requireEbayInventory")) && "Y".equals(requestParams.get("requireEbayInventory").toString())) {
+                            GenericValue ebayProductStore = EntityUtil.getFirst(EntityUtil.filterByDate(delegator.findByAnd("EbayProductStoreInventory", UtilMisc.toMap("productStoreId", productStoreId, "productId", productId))));
+                            if (UtilValidate.isNotEmpty(ebayProductStore)) {
+                                String facilityId = ebayProductStore.getString("facilityId");
+                                BigDecimal atp = ebayProductStore.getBigDecimal("availableToPromiseListing");
+                                int intAtp = atp.intValue();
+                                if ((facilityId != "")  && (intAtp != 0)) {
+                                    int newAtp = intAtp - 1;
+                                    Map<String,Object> inMap = FastMap.newInstance();
+                                    inMap.put("productStoreId", productStoreId);
+                                    inMap.put("facilityId", facilityId);
+                                    inMap.put("productId", productId);
+                                    inMap.put("availableToPromiseListing", new BigDecimal(newAtp));
+                                    inMap.put("userLogin", userLogin);
+                                    try {
+                                        dispatcher.runSync("updateEbayProductStoreInventory", inMap);
+                                    } catch (GenericServiceException ex) {
+                                        Debug.logError(ex.getMessage(), module);
+                                        return "error";
+                                    }
+                                    itemObj.put("requireEbayInventory", "Y");
+                                }
+                            }
+                        }
                         addItemCall.setItem(item);
 
                         // create/update EbayProductListing entity

Modified: ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java?rev=931423&r1=931422&r2=931423&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java (original)
+++ ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java Wed Apr  7 03:55:50 2010
@@ -20,6 +20,7 @@
 package org.ofbiz.ebaystore;
 
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.sql.Timestamp;
 import java.util.Date;
 import java.util.List;
@@ -40,10 +41,12 @@ import org.ofbiz.base.util.UtilDateTime;
 import org.ofbiz.base.util.UtilMisc;
 import org.ofbiz.base.util.UtilValidate;
 import org.ofbiz.entity.Delegator;
+import org.ofbiz.entity.GenericDelegator;
 import org.ofbiz.entity.GenericEntityException;
 import org.ofbiz.entity.GenericValue;
 import org.ofbiz.entity.serialize.SerializeException;
 import org.ofbiz.entity.serialize.XmlSerializer;
+import org.ofbiz.entity.util.EntityUtil;
 import org.ofbiz.service.DispatchContext;
 import org.ofbiz.service.GenericServiceException;
 import org.ofbiz.service.LocalDispatcher;
@@ -719,5 +722,22 @@ public class EbayStoreHelper {
                 Debug.log("Error from create error log messages : "+ex.getMessage());
             }
         }
-     }
+    }
+
+    public static boolean isReserveInventory(GenericDelegator delegator, String productId, String productStoreId) {
+        boolean isReserve = false;
+        try {
+            GenericValue ebayProductStore = EntityUtil.getFirst(EntityUtil.filterByDate(delegator.findByAnd("EbayProductStoreInventory", UtilMisc.toMap("productStoreId", productStoreId, "productId", productId))));
+            if (UtilValidate.isNotEmpty(ebayProductStore)) {
+                BigDecimal atp = ebayProductStore.getBigDecimal("availableToPromiseListing");
+                int intAtp = atp.intValue();
+                if (intAtp > 0) {
+                    isReserve = true;
+                }
+            }
+        } catch (Exception ex) {
+            Debug.log("Error from get eBay Inventory data : "+ ex.getMessage());
+        }
+        return isReserve;
+    }
 }

Modified: ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/store/PrepareProductListing.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/store/PrepareProductListing.groovy?rev=931423&r1=931422&r2=931423&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/store/PrepareProductListing.groovy (original)
+++ ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/store/PrepareProductListing.groovy Wed Apr  7 03:55:50 2010
@@ -27,6 +27,7 @@
  import org.ofbiz.product.product.ProductWorker;
  import org.ofbiz.product.product.ProductContentWrapper;
  import org.ofbiz.product.catalog.*;
+ import org.ofbiz.ebaystore.EbayStoreHelper;
  import com.ebay.sdk.ApiContext;
  import com.ebay.sdk.call.AddItemCall;
  import com.ebay.soap.eBLBaseComponents.ItemType;
@@ -73,6 +74,8 @@
      request.setAttribute("productStoreId", productStoreId);
      categories = EbayEvents.getChildCategories(request);
      context.categories = categories;
+    
+    
      // point product tab id
      productId = null;
      if (request.getAttribute("isProductId") || parameters.isProductId) {
@@ -87,6 +90,9 @@
          if (productPrices) {
              context.productPrices = productPrices;
          }
+         //Is it reserve on eBayInventory
+         isReserve = EbayStoreHelper.isReserveInventory(delegator, productStoreId, productId);
+         context.isReserve = isReserve;
          // get category detail
          pkCateId = null;
          stCate1ID = null;

Modified: ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl?rev=931423&r1=931422&r2=931423&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl (original)
+++ ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl Wed Apr  7 03:55:50 2010
@@ -225,6 +225,7 @@ under the License.
                  <#assign addItem = addItemObj.addItemCall?if_exists>
                  <#assign isSaved = addItemObj.isSaved?if_exists>
                  <#assign isAutoRelist = addItemObj.isAutoRelist?if_exists>
+                 <#assign requireEbayInventory = addItemObj.requireEbayInventory?if_exists>
                  <#assign item = addItem.getItem()?if_exists>
                  <#assign primaryCate = item.getPrimaryCategory()?if_exists>
                  <#if isProductId == item.getSKU()?if_exists>
@@ -409,6 +410,12 @@ under the License.
                                             <td class="label"><b>Enable auto-relist item</b></td>
                                             <td><input type="checkbox" name="isAutoRelist" value="Y" <#if isAutoRelist == "Y">checked="checked"</#if>/></td>
                                         </tr>
+                                        <#if isReserve?exists && isReserve == true>
+                                        <tr>
+                                            <td class="label"><b>Require eBay Inventory</b></td>
+                                            <td><input type="checkbox" name="requireEbayInventory" value="Y" <#if requireEbayInventory == "Y">checked="checked"</#if>/></td>
+                                        </tr>
+                                        </#if>
                                         <tr>
                                             <td class="label"></td>
                                             <td><br /></td>