the code committed by Jaz is checking if the *OrderItem* (and not the *Product* 
entity) has a productId: in fact, as Scott wrote, it is possible to order a 
non-product item.

Jacopo

On Jan 22, 2011, at 8:27 AM, BJ Freeman wrote:

> I agree that a product should always have and ID.
> so how does a product not have an ID, so that it must be checked for?
> 
> =========================
> BJ Freeman
> Strategic Power Office with Supplier Automation  
> <http://www.businessesnetwork.com/automation/viewforum.php?f=52>
> Specialtymarket.com  <http://www.specialtymarket.com/>
> Systems Integrator-- Glad to Assist
> 
> Chat  Y! messenger: bjfr33man
> 
> 
> Scott Gray sent the following on 1/21/2011 11:20 PM:
>> An order item without a product id not a product without an id.  OFBiz does 
>> support non-product order items.
>> 
>> Regards
>> Scott
>> 
>> HotWax Media
>> http://www.hotwaxmedia.com
>> 
>> On 22/01/2011, at 8:04 PM, BJ Freeman wrote:
>> 
>>> I am curious under what condition a product would not have an ID?
>>> 
>>> =========================
>>> BJ Freeman
>>> Strategic Power Office with Supplier 
>>> Automation<http://www.businessesnetwork.com/automation/viewforum.php?f=52>
>>> Specialtymarket.com<http://www.specialtymarket.com/>
>>> Systems Integrator-- Glad to Assist
>>> 
>>> Chat  Y! messenger: bjfr33man
>>> 
>>> 
>>> [email protected] sent the following on 1/21/2011 9:36 AM:
>>>> Author: jaz
>>>> Date: Fri Jan 21 17:36:32 2011
>>>> New Revision: 1061925
>>>> 
>>>> URL: http://svn.apache.org/viewvc?rev=1061925&view=rev
>>>> Log:
>>>> view minor adjustments to support order items without a product id
>>>> 
>>>> Modified:
>>>>     
>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java
>>>>     
>>>> ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/OrderView.groovy
>>>> 
>>>> Modified: 
>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java
>>>> URL: 
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java?rev=1061925&r1=1061924&r2=1061925&view=diff
>>>> ==============================================================================
>>>> --- 
>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java
>>>>  (original)
>>>> +++ 
>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java
>>>>  Fri Jan 21 17:36:32 2011
>>>> @@ -1708,9 +1708,11 @@ public class OrderReadHelper {
>>>>      /** Get a set of productIds in the order. */
>>>>      public Collection<String>   getOrderProductIds() {
>>>>          Set<String>   productIds = FastSet.newInstance();
>>>> -        for (Iterator<GenericValue>   iter = getOrderItems().iterator(); 
>>>> iter.hasNext();) {
>>>> -            productIds.add(iter.next().getString("productId"));
>>>> -        }
>>>> +        for (GenericValue orderItem : getOrderItems()) {
>>>> +            if (orderItem.get("productId") != null) {
>>>> +                productIds.add(orderItem.getString("productId"));
>>>> +            }
>>>> +        }
>>>>          return productIds;
>>>>      }
>>>> 
>>>> 
>>>> Modified: 
>>>> ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/OrderView.groovy
>>>> URL: 
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/OrderView.groovy?rev=1061925&r1=1061924&r2=1061925&view=diff
>>>> ==============================================================================
>>>> --- 
>>>> ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/OrderView.groovy
>>>>  (original)
>>>> +++ 
>>>> ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/OrderView.groovy
>>>>  Fri Jan 21 17:36:32 2011
>>>> @@ -345,13 +345,18 @@ if (orderHeader) {
>>>>      }
>>>>      context.productionProductQuantityMap = productionMap;
>>>> 
>>>> -    // INVENTORY: find the number of products in outstanding sales orders 
>>>> for the same product store
>>>> -    requiredMap = 
>>>> InventoryWorker.getOutstandingProductQuantitiesForSalesOrders(productIds, 
>>>> delegator);
>>>> -    context.requiredProductQuantityMap = requiredMap;
>>>> -
>>>> -    // INVENTORY: find the quantity of each product in outstanding 
>>>> purchase orders
>>>> -    onOrderMap = 
>>>> InventoryWorker.getOutstandingProductQuantitiesForPurchaseOrders(productIds,
>>>>  delegator);
>>>> -    context.onOrderProductQuantityMap = onOrderMap;
>>>> +    if (productIds.size()>   0) {
>>>> +        // INVENTORY: find the number of products in outstanding sales 
>>>> orders for the same product store
>>>> +        requiredMap = 
>>>> InventoryWorker.getOutstandingProductQuantitiesForSalesOrders(productIds, 
>>>> delegator);
>>>> +        context.requiredProductQuantityMap = requiredMap;
>>>> +
>>>> +        // INVENTORY: find the quantity of each product in outstanding 
>>>> purchase orders
>>>> +        onOrderMap = 
>>>> InventoryWorker.getOutstandingProductQuantitiesForPurchaseOrders(productIds,
>>>>  delegator);
>>>> +        context.onOrderProductQuantityMap = onOrderMap;
>>>> +    } else {
>>>> +        context.requiredProductQuantityMap = FastMap.newInstance();
>>>> +        context.onOrderProductQuantityMap = FastMap.newInstance();
>>>> +    }
>>>>  }
>>>> 
>>>>  paramString = "";
>>>> 
>>>> 
>>>> 
>>> 
>> 
> 

Reply via email to