svn commit: r523281 - in /ofbiz/trunk/applications/manufacturing: src/org/ofbiz/manufacturing/jobshopmgt/ webapp/manufacturing/WEB-INF/ webapp/manufacturing/WEB-INF/actions/jobshopmgt/ widget/manufacturing/

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r523281 - in /ofbiz/trunk/applications/manufacturing: src/org/ofbiz/manufacturing/jobshopmgt/ webapp/manufacturing/WEB-INF/ webapp/manufacturing/WEB-INF/actions/jobshopmgt/ widget/manufacturing/

jacopoc
Author: jacopoc
Date: Wed Mar 28 04:22:32 2007
New Revision: 523281

URL: http://svn.apache.org/viewvc?view=rev&rev=523281
Log:
Implemented status transitions for scheduled production runs.

Modified:
    ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java
    ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/jobshopmgt/ProductionRunDeclaration.bsh
    ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml
    ofbiz/trunk/applications/manufacturing/widget/manufacturing/JobshopScreens.xml

Modified: ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java?view=diff&rev=523281&r1=523280&r2=523281
==============================================================================
--- ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java (original)
+++ ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java Wed Mar 28 04:22:32 2007
@@ -514,9 +514,45 @@
             result.put(ModelService.SUCCESS_MESSAGE, UtilProperties.getMessage(resource, "ManufacturingProductionRunStatusChanged",UtilMisc.toMap("newStatusId", currentStatusId), locale));
             return result;
         }
-        
-        // PRUN_CREATED --> PRUN_DOC_PRINTED
-        if (currentStatusId.equals("PRUN_CREATED") && (statusId == null || statusId.equals("PRUN_DOC_PRINTED"))) {
+
+        // PRUN_CREATED --> PRUN_SCHEDULED
+        if (currentStatusId.equals("PRUN_CREATED") && statusId.equals("PRUN_SCHEDULED")) {
+            // change the production run status to PRUN_SCHEDULED
+            Map serviceContext = new HashMap();
+            serviceContext.clear();
+            serviceContext.put("workEffortId", productionRunId);
+            serviceContext.put("currentStatusId", statusId);
+            serviceContext.put("userLogin", userLogin);
+            Map resultService = null;
+            try {
+                resultService = dispatcher.runSync("updateWorkEffort", serviceContext);
+            } catch (GenericServiceException e) {
+                Debug.logError(e, "Problem calling the updateWorkEffort service", module);
+                return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunStatusNotChanged", locale));
+            }
+            // change the production run tasks status to PRUN_CLOSED
+            Iterator tasks = productionRun.getProductionRunRoutingTasks().iterator();
+            while (tasks.hasNext()) {
+                GenericValue task = (GenericValue)tasks.next();
+                serviceContext.clear();
+                serviceContext.put("workEffortId", task.getString("workEffortId"));
+                serviceContext.put("currentStatusId", statusId);
+                serviceContext.put("userLogin", userLogin);
+                resultService = null;
+                try {
+                    resultService = dispatcher.runSync("updateWorkEffort", serviceContext);
+                } catch (GenericServiceException e) {
+                    Debug.logError(e, "Problem calling the updateWorkEffort service", module);
+                    return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunStatusNotChanged", locale));
+                }
+            }
+            result.put("newStatusId", statusId);
+            result.put(ModelService.SUCCESS_MESSAGE, UtilProperties.getMessage(resource, "ManufacturingProductionRunStatusChanged",UtilMisc.toMap("newStatusId", "PRUN_CLOSED"), locale));
+            return result;
+        }
+
+        // PRUN_CREATED or PRON_SCHEDULED --> PRUN_DOC_PRINTED
+        if ((currentStatusId.equals("PRUN_CREATED") || currentStatusId.equals("PRUN_SCHEDULED")) && (statusId == null || statusId.equals("PRUN_DOC_PRINTED"))) {
             // change only the production run (header) status to PRUN_DOC_PRINTED
             Map serviceContext = new HashMap();
             serviceContext.clear();
@@ -683,9 +719,9 @@
             return result;
         }
         
-        // PRUN_CREATED --> PRUN_RUNNING
+        // PRUN_CREATED or PRUN_SCHEDULED --> PRUN_RUNNING
         // this should be called only when the first task is started
-        if (currentStatusId.equals("PRUN_CREATED") && (statusId == null || statusId.equals("PRUN_RUNNING"))) {
+        if ((currentStatusId.equals("PRUN_CREATED") || currentStatusId.equals("PRUN_SCHEDULED")) && (statusId == null || statusId.equals("PRUN_RUNNING"))) {
             // change the production run task status to PRUN_RUNNING
             // if necessary change the production run (header) status to PRUN_RUNNING
             if (!allPrecTaskCompleted) {
@@ -2224,23 +2260,24 @@
                 serviceContext.put("statusId", "PRUN_DOC_PRINTED");
                 serviceContext.put("userLogin", userLogin);
                 resultService = dispatcher.runSync("changeProductionRunStatus", serviceContext);
-            }
-            if (statusId.equals("PRUN_COMPLETED") ||
-                    statusId.equals("PRUN_CLOSED")) {
-                serviceContext.clear();
+            } else if (statusId.equals("PRUN_COMPLETED") ||
+                       statusId.equals("PRUN_CLOSED")) {
                 serviceContext.put("productionRunId", productionRunId);
                 serviceContext.put("userLogin", userLogin);
                 resultService = dispatcher.runSync("quickRunAllProductionRunTasks", serviceContext);
-            }
-            if (statusId.equals("PRUN_CLOSED")) {
+            } else if (statusId.equals("PRUN_CLOSED")) {
                 // Put in warehouse the products manufactured
-                serviceContext.clear();
                 serviceContext.put("workEffortId", productionRunId);
                 serviceContext.put("userLogin", userLogin);
                 resultService = dispatcher.runSync("productionRunProduce", serviceContext);
                 serviceContext.clear();
                 serviceContext.put("productionRunId", productionRunId);
                 serviceContext.put("statusId", "PRUN_CLOSED");
+                serviceContext.put("userLogin", userLogin);
+                resultService = dispatcher.runSync("changeProductionRunStatus", serviceContext);
+            } else {
+                serviceContext.put("productionRunId", productionRunId);
+                serviceContext.put("statusId", statusId);
                 serviceContext.put("userLogin", userLogin);
                 resultService = dispatcher.runSync("changeProductionRunStatus", serviceContext);
             }

Modified: ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/jobshopmgt/ProductionRunDeclaration.bsh
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/jobshopmgt/ProductionRunDeclaration.bsh?view=diff&rev=523281&r1=523280&r2=523281
==============================================================================
--- ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/jobshopmgt/ProductionRunDeclaration.bsh (original)
+++ ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/jobshopmgt/ProductionRunDeclaration.bsh Wed Mar 28 04:22:32 2007
@@ -175,7 +175,8 @@
             if (startTaskId == null &&
                   issueTaskId == null &&
                   completeTaskId == null &&
-                  task.getString("currentStatusId").equals("PRUN_CREATED")) {
+                  ("PRUN_CREATED".equals(task.getString("currentStatusId")) ||
+                   "PRUN_SCHEDULED".equals(task.getString("currentStatusId")))) {
                 startTaskId = task.getString("workEffortId");
             }
         }

Modified: ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml?view=diff&rev=523281&r1=523280&r2=523281
==============================================================================
--- ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml Wed Mar 28 04:22:32 2007
@@ -645,6 +645,12 @@
         <response name="success" type="view" value="ProductionRunDeclaration"/>
         <response name="error" type="view" value="ProductionRunDeclaration"/>
     </request-map>
+    <request-map uri="scheduleProductionRun">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="quickChangeProductionRunStatus"/>
+        <response name="success" type="view" value="EditProductionRun"/>
+        <response name="error" type="view" value="EditProductionRun"/>
+    </request-map>
     <request-map uri="quickChangeProductionRunStatus">
         <security https="true" auth="true"/>
         <event type="service" invoke="quickChangeProductionRunStatus"/>

Modified: ofbiz/trunk/applications/manufacturing/widget/manufacturing/JobshopScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/widget/manufacturing/JobshopScreens.xml?view=diff&rev=523281&r1=523280&r2=523281
==============================================================================
--- ofbiz/trunk/applications/manufacturing/widget/manufacturing/JobshopScreens.xml (original)
+++ ofbiz/trunk/applications/manufacturing/widget/manufacturing/JobshopScreens.xml Wed Mar 28 04:22:32 2007
@@ -90,7 +90,7 @@
                     <decorator-section name="body">
                         <container>
                             <link target="PrintProductionRun?productionRunId=${productionRunId}" text="${uiLabelMap.CommonPrint}" style="buttontext"/>
-                            <link target="quickChangeProductionRunStatus?productionRunId=${productionRunId}&amp;statusId=PRUN_SCHEDULED" text="${uiLabelMap.ManufacturingSchedule}" style="buttontext"/>
+                            <link target="scheduleProductionRun?productionRunId=${productionRunId}&amp;statusId=PRUN_SCHEDULED" text="${uiLabelMap.ManufacturingSchedule}" style="buttontext"/>
                             <link target="changeProductionRunStatusToPrinted?productionRunId=${productionRunId}" text="${uiLabelMap.ManufacturingConfirmProductionRun}" style="buttontext"/>
                             <link target="quickChangeProductionRunStatus?productionRunId=${productionRunId}&amp;statusId=PRUN_COMPLETED" text="${uiLabelMap.ManufacturingQuickComplete}" style="buttontext"/>
                             <link target="quickChangeProductionRunStatus?productionRunId=${productionRunId}&amp;statusId=PRUN_CLOSED" text="${uiLabelMap.ManufacturingQuickClose}" style="buttontext"/>