Si,
we will comment on this in the Jira issue; however there was an issue
with your commit: in your patch you test against SALES_ORDER_SHIP while
the seed data was SALE_ORDER_SHIP; however, in rev.575601 I've corrected
the seed data to reflect your commit.
Jacopo
[EMAIL PROTECTED] wrote:
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;
}
//
-----------------------------------------------------