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>


Reply via email to