Author: jacopoc
Date: Mon Oct  9 01:06:05 2006
New Revision: 454305

URL: http://svn.apache.org/viewvc?view=rev&rev=454305
Log:
Approved product requirements are now considered as approved purchase orders by 
the MRP.

Modified:
    
incubator/ofbiz/trunk/applications/manufacturing/data/ManufacturingScheduledServices.xml
    incubator/ofbiz/trunk/applications/manufacturing/servicedef/services_mrp.xml
    
incubator/ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java
    
incubator/ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml

Modified: 
incubator/ofbiz/trunk/applications/manufacturing/data/ManufacturingScheduledServices.xml
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/manufacturing/data/ManufacturingScheduledServices.xml?view=diff&rev=454305&r1=454304&r2=454305
==============================================================================
--- 
incubator/ofbiz/trunk/applications/manufacturing/data/ManufacturingScheduledServices.xml
 (original)
+++ 
incubator/ofbiz/trunk/applications/manufacturing/data/ManufacturingScheduledServices.xml
 Mon Oct  9 01:06:05 2006
@@ -22,7 +22,7 @@
     <RecurrenceInfo recurrenceInfoId="301" startDateTime="2000-01-01 
23:00:00.000" recurrenceRuleId="300" recurrenceCount="0"/>
     <!--
       The initLowLevelCode service is used to properly initialize the 
products' low level codes (Product.billOfMaterialsLevel field).
-      This information is needed by the MRP algorithm (runningMRP service) and 
by the standard cost algorithm (calculateAllProductsCosts service).
+      This information is needed by the MRP algorithm (executeMrp service) and 
by the standard cost algorithm (calculateAllProductsCosts service).
     -->
     <JobSandbox jobId="8400" jobName="Init BOM Low Level Codes" 
runTime="2000-01-01 00:00:00.000" serviceName="initLowLevelCode" poolId="pool" 
runAsUser="system" recurrenceInfoId="300"/>
     <!--

Modified: 
incubator/ofbiz/trunk/applications/manufacturing/servicedef/services_mrp.xml
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/manufacturing/servicedef/services_mrp.xml?view=diff&rev=454305&r1=454304&r2=454305
==============================================================================
--- 
incubator/ofbiz/trunk/applications/manufacturing/servicedef/services_mrp.xml 
(original)
+++ 
incubator/ofbiz/trunk/applications/manufacturing/servicedef/services_mrp.xml 
Mon Oct  9 01:06:05 2006
@@ -23,8 +23,8 @@
     <version>1.0</version>
 
     <!-- MRP services -->
-    <service name="runningMrp" engine="java"
-            location="org.ofbiz.manufacturing.mrp.MrpServices" 
invoke="runningMrp" auth="true" use-transaction="false">
+    <service name="executeMrp" engine="java"
+            location="org.ofbiz.manufacturing.mrp.MrpServices" 
invoke="executeMrp" auth="true" use-transaction="false">
         <description>Performs a run of Mrp</description>
         <attribute name="facilityId" type="String" form-display="true" 
form-label="Facility" mode="IN" optional="false"/>
         <attribute name="mrpName" type="String" form-display="true" 
form-label="Mrp Name" mode="IN" optional="true"/>

Modified: 
incubator/ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java?view=diff&rev=454305&r1=454304&r2=454305
==============================================================================
--- 
incubator/ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java
 (original)
+++ 
incubator/ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java
 Mon Oct  9 01:06:05 2006
@@ -101,9 +101,7 @@
         }
 
         // Proposed requirements are deleted
-        // TODO: This is not correct. Two actions should be done here:
-        //       1) the approved requirements should be taken into account
-        //       2) we have to find a way (a new status REQ_PROPOSED?) to 
recognize the requirements automatically created by the MRP process
+        // TODO: we have to find a way (a new status REQ_PROPOSED?) to 
recognize the requirements automatically created by the MRP process
         listResult = null;
         List listResultRoles = new ArrayList();
         try{
@@ -171,6 +169,37 @@
                 return ServiceUtil.returnError("Problem initializing the 
InventoryEventPlanned entity (SALE_ORDER_SHIP)");
             }
         }
+        // ----------------------------------------
+        // Loads all the approved product requirements (po requirements)
+        // ----------------------------------------
+        resultList = null;
+        iteratorResult = null;
+        parameters = UtilMisc.toMap("requirementTypeId", 
"PRODUCT_REQUIREMENT", "statusId", "REQ_APPROVED");
+        try{
+            resultList = delegator.findByAnd("Requirement", parameters);
+        } catch(GenericEntityException e) {
+            return ServiceUtil.returnError("Problem, we can not find all the 
items of InventoryEventPlanned, for more detail look at the log");
+        }
+        iteratorResult = resultList.iterator();
+        while(iteratorResult.hasNext()){
+            genericResult = (GenericValue) iteratorResult.next();
+            String productId =  genericResult.getString("productId");
+            Double eventQuantityTmp = genericResult.getDouble("quantity");
+            if (productId == null || eventQuantityTmp == null) {
+                continue;
+            }
+            Timestamp estimatedShipDate = 
genericResult.getTimestamp("requiredByDate");
+            if (estimatedShipDate == null) {
+                estimatedShipDate = now;
+            }
+            
+            parameters = UtilMisc.toMap("productId", productId, "eventDate", 
estimatedShipDate, "inventoryEventPlanTypeId", "PUR_ORDER_RECP");
+            try {
+                
InventoryEventPlannedServices.createOrUpdateInventoryEventPlanned(parameters, 
eventQuantityTmp, delegator);
+            } catch (GenericEntityException e) {
+                return ServiceUtil.returnError("Problem initializing the 
InventoryEventPlanned entity (PUR_ORDER_RECP)");
+            }
+        }
         
         // ----------------------------------------
         // Loads all the approved purchase order items
@@ -202,6 +231,7 @@
                 return ServiceUtil.returnError("Problem initializing the 
InventoryEventPlanned entity (PUR_ORDER_RECP)");
             }
         }
+
         // ----------------------------------------
         // PRODUCTION Run: components
         // ----------------------------------------
@@ -414,8 +444,8 @@
      * @param context Map containing the input parameters, productId 
routingId, quantity, startDate.
      * @return Map with the result of the service, the output parameters.
      */
-    public static Map runningMrp(DispatchContext ctx, Map context) {
-        Debug.logInfo("runningMrp called", module);
+    public static Map executeMrp(DispatchContext ctx, Map context) {
+        Debug.logInfo("executeMrp called", module);
         //Context
         GenericDelegator delegator = ctx.getDelegator();
         LocalDispatcher dispatcher = ctx.getDispatcher();
@@ -602,7 +632,7 @@
         List msgResult = new LinkedList();
         result.put("msgResult",msgResult);
         result.put(ModelService.RESPONSE_MESSAGE, 
ModelService.RESPOND_SUCCESS);
-        Debug.logInfo("return from runningMrp", module);
+        Debug.logInfo("return from executeMrp", module);
         return result;
     }
 }

Modified: 
incubator/ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml?view=diff&rev=454305&r1=454304&r2=454305
==============================================================================
--- 
incubator/ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml
 (original)
+++ 
incubator/ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml
 Mon Oct  9 01:06:05 2006
@@ -441,7 +441,7 @@
     </request-map>
     <request-map uri="runMrpGo">
         <security https="true" auth="true"/>
-        <event type="service" invoke="runningMrp"/>
+        <event type="service" invoke="executeMrp"/>
         <response name="success" type="view" value="MrpExecution"/>
         <response name="error" type="view" value="MrpExecution"/>
     </request-map>


Reply via email to