You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by si...@apache.org on 2007/09/13 21:44:17 UTC

svn commit: r575413 - /ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java

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;
                         }
                         // -----------------------------------------------------



Re: svn commit: r575413 - /ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java

Posted by Jacopo Cappellato <ti...@sastau.it>.
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

sichen@apache.org 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;
>                          }
>                          // -----------------------------------------------------
>