Author: sichen
Date: Thu Sep 13 12:44:16 2007
New Revision: 575413

URL: http://svn.apache.org/viewvc?rev=575413&view=rev
Log:
Fix a bug where MRP was using daysToShip to create requirements for parts. Also 
provide some information about MRP requirements: show productId and start date

Modified:
    
ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java

Modified: 
ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java?rev=575413&r1=575412&r2=575413&view=diff
==============================================================================
--- 
ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java
 (original)
+++ 
ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java
 Thu Sep 13 12:44:16 2007
@@ -496,7 +496,7 @@
                     parameters.put("inventoryEventPlanTypeId", 
"MRP_REQUIREMENT");
                     double componentEventQuantity = node.getQuantity();
                     try {
-                        
InventoryEventPlannedServices.createOrUpdateInventoryEventPlanned(parameters, 
new Double(-1.0 * componentEventQuantity), null, null, false, delegator);
+                        
InventoryEventPlannedServices.createOrUpdateInventoryEventPlanned(parameters, 
new Double(-1.0 * componentEventQuantity), null, product.get("productId") + ": 
" + eventDate, false, delegator);
                     } catch (GenericEntityException e) {
                         Debug.logError("Error : 
delegator.findByPrimaryKey(\"InventoryEventPlanned\", parameters) 
="+parameters+"--"+e.getMessage(), module);
                         logMrpError(node.getProduct().getString("productId"), 
"Unable to create event (processBomComponent)", delegator);
@@ -639,13 +639,17 @@
                         } catch (GenericEntityException e) {
                             return ServiceUtil.returnError("Problem running 
createOrUpdateInventoryEventPlanned");
                         }
+                       // days to ship is only relevant for sales order to 
plan for preparatory days to ship.  Otherwise MRP will push event dates for 
manufacturing parts
+                        // as well and cause problems
+                        daysToShip = 0;
                         if (productFacility != null) {
                             reorderQuantity = 
(productFacility.getDouble("reorderQuantity") != null? 
productFacility.getDouble("reorderQuantity").doubleValue(): -1);
                             minimumStock = 
(productFacility.getDouble("minimumStock") != null? 
productFacility.getDouble("minimumStock").doubleValue(): 0);
-                            daysToShip = 
(productFacility.getLong("daysToShip") != null? 
productFacility.getLong("daysToShip").intValue(): 0);
+                            if 
("SALES_ORDER_SHIP".equals(inventoryEventForMRP.getString("inventoryEventPlanTypeId")))
 {
+                                daysToShip = 
(productFacility.getLong("daysToShip") != null? 
productFacility.getLong("daysToShip").intValue(): 0);
+                            }
                         } else {
                             minimumStock = 0;
-                            daysToShip = 0;
                             reorderQuantity = -1;
                         }
                         // 
-----------------------------------------------------


Reply via email to