Author: jacopoc
Date: Wed Apr 16 07:15:31 2008 New Revision: 648703 URL: http://svn.apache.org/viewvc?rev=648703&view=rev Log: Implemented quick way to declare products produced by the production run: when the form is submitted, all the tasks are updated and, if required, materials are issued as well. Modified: ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels.xml ofbiz/trunk/applications/manufacturing/script/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.xml ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml 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/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml ofbiz/trunk/applications/manufacturing/widget/manufacturing/JobshopScreens.xml Modified: ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels.xml?rev=648703&r1=648702&r2=648703&view=diff ============================================================================== --- ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels.xml (original) +++ ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels.xml Wed Apr 16 07:15:31 2008 @@ -2042,6 +2042,10 @@ <value xml:lang="th">สิà¸à¸à¹à¸²</value> <value xml:lang="zh">å·²ç产</value> </property> + <property key="ManufacturingQuantityProducedIsHigherThanQuantityDeclared"> + <value xml:lang="en">Quantity produced cannot be greater than the quantity declared.</value> + <value xml:lang="it">La quantità prodotta non puo' essere maggiore della quantita' dichiarata.</value> + </property> <property key="ManufacturingQuantityRejected"> <value xml:lang="en">Rejected</value> <value xml:lang="es">Rechazado</value> @@ -2090,6 +2094,10 @@ <value xml:lang="ro">Executie Rapida Toate Sarcinile</value> <value xml:lang="th">à¸à¸³à¸à¸²à¸à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸¢à¹à¸²à¸à¸£à¸§à¸à¹à¸£à¹à¸§</value> <value xml:lang="zh">å¿«éè¿è¡å ¨é¨ä»»å¡</value> + </property> + <property key="ManufacturingQuickStartAllTasks"> + <value xml:lang="en">Quick Start All Tasks</value> + <value xml:lang="it">Avvio Veloce Operazioni</value> </property> <property key="ManufacturingQuickRunTask"> <value xml:lang="en">Quick Run Task</value> Modified: ofbiz/trunk/applications/manufacturing/script/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/script/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.xml?rev=648703&r1=648702&r2=648703&view=diff ============================================================================== --- ofbiz/trunk/applications/manufacturing/script/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.xml (original) +++ ofbiz/trunk/applications/manufacturing/script/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.xml Wed Apr 16 07:15:31 2008 @@ -67,7 +67,12 @@ <field-map field-name="workEffortGoodStdTypeId" value="PRUNT_PROD_NEEDED"/> </entity-one> <set from-field="workEffortGoodStandard.productId" field="productId"/> - <set from-field="workEffortGoodStandard.estimatedQuantity" field="estimatedQuantity"/> + <if-empty field-name="parameters.quantity"> + <set from-field="workEffortGoodStandard.estimatedQuantity" field="estimatedQuantity"/> + <else> + <set from-field="parameters.quantity" field="estimatedQuantity" default-value="0.0" type="Double"/> + </else> + </if-empty> </else> </if-empty> Modified: ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml?rev=648703&r1=648702&r2=648703&view=diff ============================================================================== --- ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml (original) +++ ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml Wed Apr 16 07:15:31 2008 @@ -193,6 +193,19 @@ <attribute name="createLotIfNeeded" type="Boolean" mode="IN" optional="true"/> <attribute name="autoCreateLot" type="Boolean" mode="IN" optional="true"/> </service> + <service name="productionRunDeclareAndProduce" engine="java" transaction-timeout="7200" + location="org.ofbiz.manufacturing.jobshopmgt.ProductionRunServices" invoke="productionRunDeclareAndProduce" auth="true"> + <description> + Create Inventory for product produced by a Production Run and if necessary add declared quantities to tasks (and issue materials, if needed). + </description> + <attribute name="workEffortId" type="String" mode="IN" optional="false"/> + <attribute name="inventoryItemIds" type="List" mode="OUT" optional="false"/> + <attribute name="quantity" type="Double" mode="INOUT" optional="false"/> + <attribute name="inventoryItemTypeId" type="String" mode="IN" optional="true"/> + <attribute name="lotId" type="String" mode="IN" optional="true"/> + <attribute name="createLotIfNeeded" type="Boolean" mode="IN" optional="true"/> + <attribute name="autoCreateLot" type="Boolean" mode="IN" optional="true"/> + </service> <service name="productionRunTaskProduce" engine="java" location="org.ofbiz.manufacturing.jobshopmgt.ProductionRunServices" invoke="productionRunTaskProduce" auth="true"> <description> @@ -244,7 +257,7 @@ </description> <attribute name="productionRunId" type="String" mode="IN" optional="false"/> <attribute name="productionRunTaskId" type="String" mode="IN" optional="false"/> - <attribute name="partyId" type="String" mode="IN" optional="false"/> + <attribute name="partyId" type="String" mode="IN" optional="true"/> <attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/> <attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/> <attribute name="addQuantityProduced" type="Double" mode="IN" optional="true"/> @@ -252,6 +265,7 @@ <attribute name="addSetupTime" type="Double" mode="IN" optional="true"/> <attribute name="addTaskTime" type="Double" mode="IN" optional="true"/> <attribute name="comments" type="String" mode="IN" optional="true"/> + <attribute name="issueRequiredComponents" type="Boolean" mode="IN" optional="true"/> </service> <service name="quickRunProductionRunTask" engine="java" location="org.ofbiz.manufacturing.jobshopmgt.ProductionRunServices" invoke="quickRunProductionRunTask" auth="true"> @@ -262,6 +276,11 @@ <service name="quickRunAllProductionRunTasks" engine="java" location="org.ofbiz.manufacturing.jobshopmgt.ProductionRunServices" invoke="quickRunAllProductionRunTasks" auth="true"> <description>Quick runs all the tasks of a ProductionRun to the completed status, also issuing components if necessary.</description> + <attribute name="productionRunId" type="String" mode="IN" optional="false"/> + </service> + <service name="quickStartAllProductionRunTasks" engine="java" + location="org.ofbiz.manufacturing.jobshopmgt.ProductionRunServices" invoke="quickStartAllProductionRunTasks" auth="true"> + <description>Quick starts all the tasks of a ProductionRun.</description> <attribute name="productionRunId" type="String" mode="IN" optional="false"/> </service> <service name="quickChangeProductionRunStatus" engine="java" 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?rev=648703&r1=648702&r2=648703&view=diff ============================================================================== --- ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java (original) +++ ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java Wed Apr 16 07:15:31 2008 @@ -714,14 +714,14 @@ GenericValue theTask = null; GenericValue oneTask = null; boolean allTaskCompleted = true; - boolean allPrecTaskCompleted = true; + boolean allPrecTaskCompletedOrRunning = true; for (int i = 0; i < tasks.size(); i++) { oneTask = (GenericValue)tasks.get(i); if (oneTask.getString("workEffortId").equals(taskId)) { theTask = oneTask; } else { - if (theTask == null && allPrecTaskCompleted && !oneTask.getString("currentStatusId").equals("PRUN_COMPLETED")) { - allPrecTaskCompleted = false; + if (theTask == null && allPrecTaskCompletedOrRunning && (!oneTask.getString("currentStatusId").equals("PRUN_COMPLETED") && !oneTask.getString("currentStatusId").equals("PRUN_RUNNING"))) { + allPrecTaskCompletedOrRunning = false; } if (allTaskCompleted && !oneTask.getString("currentStatusId").equals("PRUN_COMPLETED")) { allTaskCompleted = false; @@ -747,7 +747,7 @@ 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) { + if (!allPrecTaskCompletedOrRunning) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunTaskCannotStartPrevTasksNotCompleted", locale)); } if (productionRun.getGenericValue().getString("currentStatusId").equals("PRUN_CREATED")) { @@ -804,7 +804,7 @@ return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunStatusNotChanged", locale)); } } - // change only the production run (header) status to PRUN_COMPLETED + // change only the production run task status to PRUN_COMPLETED serviceContext.clear(); serviceContext.put("workEffortId", taskId); serviceContext.put("currentStatusId", "PRUN_COMPLETED"); @@ -1456,7 +1456,7 @@ if (lastTask == null) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunTaskNotExists", locale)); } - if ("WIP".equals("productTypeId")) { + if ("WIP".equals(productionRun.getProductProduced().getString("productTypeId"))) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductIsWIP", locale)); } Double quantityProduced = productionRun.getGenericValue().getDouble("quantityProduced"); @@ -1625,6 +1625,66 @@ return result; } + public static Map productionRunDeclareAndProduce(DispatchContext ctx, Map context) { + Map result = FastMap.newInstance(); + GenericDelegator delegator = ctx.getDelegator(); + LocalDispatcher dispatcher = ctx.getDispatcher(); + Locale locale = (Locale) context.get("locale"); + GenericValue userLogin = (GenericValue) context.get("userLogin"); + // Mandatory input fields + String productionRunId = (String)context.get("workEffortId"); + + // Optional input fields + Double quantity = (Double)context.get("quantity"); + + // The production run is loaded + ProductionRun productionRun = new ProductionRun(productionRunId, delegator, dispatcher); + + Double quantityProduced = productionRun.getGenericValue().getDouble("quantityProduced"); + Double quantityToProduce = productionRun.getGenericValue().getDouble("quantityToProduce"); + if (quantityProduced == null) { + quantityProduced = new Double(0); + } + if (quantityToProduce == null) { + quantityToProduce = new Double(0); + } + double minimumQuantityProducedByTask = quantityProduced.doubleValue() + quantity.doubleValue(); + if (minimumQuantityProducedByTask > quantityToProduce.doubleValue()) { + return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingQuantityProducedIsHigherThanQuantityDeclared", locale)); + } + + List tasks = productionRun.getProductionRunRoutingTasks(); + for (int i = 0; i < tasks.size(); i++) { + GenericValue oneTask = (GenericValue)tasks.get(i); + String taskId = oneTask.getString("workEffortId"); + if ("PRUN_RUNNING".equals(oneTask.getString("currentStatusId"))) { + Double quantityDeclared = oneTask.getDouble("quantityProduced"); + if (quantityDeclared == null) { + quantityDeclared = new Double(0); + } + if (minimumQuantityProducedByTask > quantityDeclared.doubleValue()) { + try { + Map serviceContext = UtilMisc.toMap("productionRunId", productionRunId, "productionRunTaskId", taskId); + serviceContext.put("addQuantityProduced", new Double(minimumQuantityProducedByTask - quantityDeclared.doubleValue())); + serviceContext.put("issueRequiredComponents", Boolean.TRUE); + serviceContext.put("userLogin", userLogin); + Map resultService = dispatcher.runSync("updateProductionRunTask", serviceContext); + } catch (GenericServiceException e) { + Debug.logError(e, "Problem calling the changeProductionRunTaskStatus service", module); + return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunStatusNotChanged", locale)); + } + } + } + } + try { + result = dispatcher.runSync("productionRunProduce", context); + } catch (GenericServiceException e) { + Debug.logError(e, "Problem calling the changeProductionRunTaskStatus service", module); + return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunStatusNotChanged", locale)); + } + return result; + } + public static Map productionRunTaskProduce(DispatchContext ctx, Map context) { Map result = new HashMap(); GenericDelegator delegator = ctx.getDelegator(); @@ -1804,6 +1864,9 @@ String productionRunId = (String)context.get("productionRunId"); String workEffortId = (String)context.get("productionRunTaskId"); String partyId = (String)context.get("partyId"); + if (UtilValidate.isEmpty(partyId)) { + partyId = userLogin.getString("partyId"); + } // Optional input fields Timestamp fromDate = (Timestamp)context.get("fromDate"); @@ -1813,7 +1876,11 @@ Double addSetupTime = (Double)context.get("addSetupTime"); Double addTaskTime = (Double)context.get("addTaskTime"); String comments = (String)context.get("comments"); + Boolean issueRequiredComponents = (Boolean)context.get("issueRequiredComponents"); + if (issueRequiredComponents == null) { + issueRequiredComponents = Boolean.FALSE; + } if (fromDate == null) { fromDate = UtilDateTime.nowTimestamp(); } @@ -1882,6 +1949,41 @@ double totalQuantityProduced = quantityProduced.doubleValue() + addQuantityProduced.doubleValue(); double totalQuantityRejected = quantityRejected.doubleValue() + addQuantityRejected.doubleValue(); + if (issueRequiredComponents.booleanValue() && addQuantityProduced.doubleValue() > 0) { + Double quantityToProduce = theTask.getDouble("quantityToProduce"); + if (quantityToProduce == null) { + quantityToProduce = new Double(0); + } + if (quantityToProduce.doubleValue() > 0) { + try { + List<GenericValue> components = theTask.getRelated("WorkEffortGoodStandard"); + for (GenericValue component : components) { + double totalRequiredMaterialQuantity = component.getDouble("estimatedQuantity").doubleValue() * totalQuantityProduced / quantityToProduce.doubleValue(); + // now get the units that have been already issued and subtract them + List<GenericValue> issuances = delegator.findByAnd("WorkEffortAndInventoryAssign", UtilMisc.toMap("workEffortId", workEffortId, "productId", component.getString("productId"))); + double totalIssued = 0.0; + for (GenericValue issuance : issuances) { + Double issued = issuance.getDouble("quantity"); + if (issued != null) { + totalIssued += issued.doubleValue(); + } + } + double requiredQuantity = totalRequiredMaterialQuantity - totalIssued; + if (requiredQuantity > 0) { + Map serviceContext = UtilMisc.toMap("workEffortId", workEffortId, "productId", component.getString("productId"), "fromDate", component.getTimestamp("fromDate")); + serviceContext.put("quantity", new Double(requiredQuantity)); + serviceContext.put("userLogin", userLogin); + Map resultService = dispatcher.runSync("issueProductionRunTaskComponent", serviceContext); + } + } + } catch(GenericEntityException gee) { + + } catch(GenericServiceException gee) { + + } + } + } + // Create a new TimeEntry try { String timeEntryId = delegator.getNextSeqId("TimeEntry"); @@ -2426,6 +2528,41 @@ return result; } + public static Map quickStartAllProductionRunTasks(DispatchContext ctx, Map context) { + Map result = ServiceUtil.returnSuccess(); + GenericDelegator delegator = ctx.getDelegator(); + LocalDispatcher dispatcher = ctx.getDispatcher(); + Locale locale = (Locale) context.get("locale"); + GenericValue userLogin = (GenericValue) context.get("userLogin"); + + String productionRunId = (String) context.get("productionRunId"); + + ProductionRun productionRun = new ProductionRun(productionRunId, delegator, dispatcher); + if (!productionRun.exist()){ + return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunNotExists", locale)); + } + List tasks = productionRun.getProductionRunRoutingTasks(); + GenericValue oneTask = null; + String taskId = null; + for (int i = 0; i < tasks.size(); i++) { + oneTask = (GenericValue)tasks.get(i); + taskId = oneTask.getString("workEffortId"); + if ("PRUN_CREATED".equals(oneTask.getString("currentStatusId"))) { + try { + Map serviceContext = UtilMisc.toMap("productionRunId", productionRunId, "workEffortId", taskId); + serviceContext.put("statusId", "PRUN_RUNNING"); + serviceContext.put("issueAllComponents", Boolean.FALSE); + serviceContext.put("userLogin", userLogin); + Map resultService = dispatcher.runSync("changeProductionRunTaskStatus", serviceContext); + } catch (GenericServiceException e) { + Debug.logError(e, "Problem calling the changeProductionRunTaskStatus service", module); + return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunStatusNotChanged", locale)); + } + } + } + return result; + } + /** * Quick moves a ProductionRun to the passed in status, performing all * the needed tasks in the way. @@ -2441,6 +2578,7 @@ String productionRunId = (String) context.get("productionRunId"); String statusId = (String) context.get("statusId"); + String startAllTasks = (String) context.get("startAllTasks"); try { Map serviceContext = null; @@ -2455,7 +2593,13 @@ serviceContext.put("statusId", "PRUN_DOC_PRINTED"); serviceContext.put("userLogin", userLogin); resultService = dispatcher.runSync("changeProductionRunStatus", serviceContext); - } + } + if (statusId.equals("PRUN_RUNNING") && "Y".equals(startAllTasks)) { + serviceContext.clear(); + serviceContext.put("productionRunId", productionRunId); + serviceContext.put("userLogin", userLogin); + resultService = dispatcher.runSync("quickStartAllProductionRunTasks", serviceContext); + } if (statusId.equals("PRUN_COMPLETED") || statusId.equals("PRUN_CLOSED")) { serviceContext.clear(); 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?rev=648703&r1=648702&r2=648703&view=diff ============================================================================== --- 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 Apr 16 07:15:31 2008 @@ -86,9 +86,12 @@ if (quantityDeclared == null) { quantityDeclared = new Double(0); } + if (lastTask != null && ("PRUN_RUNNING".equals(lastTask.getString("currentStatusId")) || "PRUN_COMPLETED".equals(lastTask.getString("currentStatusId")))) { + context.put("canDeclareAndProduce", "Y"); + } double maxQuantity = quantityDeclared.doubleValue() - quantityProduced.doubleValue(); - HashMap productionRunData= new HashMap(); + HashMap productionRunData = new HashMap(); productionRunData.put("workEffortId",productionRunId); productionRunData.put("productId", productionRun.getProductProduced().getString("productId")); if (maxQuantity > 0 && !"WIP".equals(productionRun.getProductProduced().getString("productTypeId"))) { 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?rev=648703&r1=648702&r2=648703&view=diff ============================================================================== --- ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml (original) +++ ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml Wed Apr 16 07:15:31 2008 @@ -623,6 +623,12 @@ <response name="success" type="view" value="ProductionRunDeclaration"/> <response name="error" type="view" value="ProductionRunDeclaration"/> </request-map> + <request-map uri="quickStartAllProductionRunTasks"> + <security https="true" auth="true"/> + <event type="service" invoke="quickStartAllProductionRunTasks"/> + <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"/> @@ -644,6 +650,12 @@ <request-map uri="productionRunProduce"> <security https="true" auth="true"/> <event type="service" invoke="productionRunProduce"/> + <response name="success" type="view" value="ProductionRunDeclaration"/> + <response name="error" type="view" value="ProductionRunDeclaration"/> + </request-map> + <request-map uri="productionRunDeclareAndProduce"> + <security https="true" auth="true"/> + <event type="service" invoke="productionRunDeclareAndProduce"/> <response name="success" type="view" value="ProductionRunDeclaration"/> <response name="error" type="view" value="ProductionRunDeclaration"/> </request-map> Modified: ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml?rev=648703&r1=648702&r2=648703&view=diff ============================================================================== --- ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml (original) +++ ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml Wed Apr 16 07:15:31 2008 @@ -252,6 +252,19 @@ <submit button-type="button"/> </field> </form> + <form name="ProductionRunDeclareAndProduce" type="single" target="productionRunDeclareAndProduce" title="" default-map-name="productionRunData" + header-row-style="header-row" default-table-style="basic-table"> + <field name="workEffortId"><hidden/></field> + <field name="quantity" title="${uiLabelMap.ManufacturingProduceQuantity}" tooltip="If required, materials will be issued as well."><text/></field> + <field name="inventoryItemTypeId"> + <drop-down allow-empty="false" no-current-selected-key="NON_SERIAL_INV_ITEM"> + <entity-options entity-name="InventoryItemType" description="${description}"/> + </drop-down> + </field> + <field name="submitButton" title="${uiLabelMap.CommonAdd}"> + <submit button-type="button"/> + </field> + </form> <form name="ListProductionRunDeclRoutingTasks" type="list" target="ProductionRunDeclaration" title="" list-name="productionRunRoutingTasks" odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> Modified: ofbiz/trunk/applications/manufacturing/widget/manufacturing/JobshopScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/widget/manufacturing/JobshopScreens.xml?rev=648703&r1=648702&r2=648703&view=diff ============================================================================== --- ofbiz/trunk/applications/manufacturing/widget/manufacturing/JobshopScreens.xml (original) +++ ofbiz/trunk/applications/manufacturing/widget/manufacturing/JobshopScreens.xml Wed Apr 16 07:15:31 2008 @@ -218,6 +218,7 @@ </and> </condition> <widgets> + <link target="quickStartAllProductionRunTasks?productionRunId=${productionRunId}" text="${uiLabelMap.ManufacturingQuickStartAllTasks}" style="buttontext"/> <link target="quickRunAllProductionRunTasks?productionRunId=${productionRunId}" text="${uiLabelMap.ManufacturingQuickRunAllTasks}" style="buttontext"/> <link target="quickChangeProductionRunStatus?productionRunId=${productionRunId}&statusId=PRUN_COMPLETED" text="${uiLabelMap.ManufacturingQuickComplete}" style="buttontext"/> <link target="quickChangeProductionRunStatus?productionRunId=${productionRunId}&statusId=PRUN_CLOSED" text="${uiLabelMap.ManufacturingQuickClose}" style="buttontext"/> @@ -254,6 +255,27 @@ <section> <widgets> <include-form name="ProductionRunProduce" location="component://manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml"/> + </widgets> + </section> + </container> + </container> + </widgets> + </section> + <section> + <condition> + <if-compare field-name="canDeclareAndProduce" operator="equals" value="Y"/> + </condition> + <widgets> + <container style="screenlet"> + <container style="screenlet-title-bar"> + <container style="h3"> + <label text="${uiLabelMap.ManufacturingProductionRunDeclareAndProduce}"/> + </container> + </container> + <container style="screenlet-body"> + <section> + <widgets> + <include-form name="ProductionRunDeclareAndProduce" location="component://manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml"/> </widgets> </section> </container> |
Free forum by Nabble | Edit this page |