[OFBiz] SVN: r6476 - in trunk/applications: ecommerce/data manufacturing/script/org/ofbiz/manufacturing/jobshopmgt manufacturing/script/org/ofbiz/manufacturing/routing manufacturing/src/org/ofbiz/manufacturing/jobshopmgt manufacturing/src/org/ofbiz/manufacturing/mrp manufacturing/src/org/ofbiz/manufacturing/techdata manufacturing/webapp/manufacturing/WEB-INF manufacturing/webapp/manufacturing/WEB-INF/actions/jobshopmgt manufacturing/webapp/manufacturing/WEB-INF/actions/reports manufacturing/webapp/manufacturing/jobshopmgt manufacturing/webapp/manufacturing/routing manufacturing/widget/manufacturing product/webapp/catalog/WEB-INF/actions/product product/webapp/catalog/product product/widget/catalog workeffort/data workeffort/entitydef

jacopo@svn.ofbiz.org jacopo at svn.ofbiz.org
Sun Jan 8 10:49:48 CST 2006


Author: jacopo
Date: 2006-01-08 10:48:51 -0600 (Sun, 08 Jan 2006)
New Revision: 6476

Modified:
   trunk/applications/ecommerce/data/DemoConfigurator.xml
   trunk/applications/manufacturing/script/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.xml
   trunk/applications/manufacturing/script/org/ofbiz/manufacturing/routing/RoutingServices.xml
   trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRun.java
   trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunHelper.java
   trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java
   trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java
   trunk/applications/manufacturing/src/org/ofbiz/manufacturing/techdata/ProductHelper.java
   trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/jobshopmgt/EditProductionRun.bsh
   trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/jobshopmgt/ProductionRunDeclaration.bsh
   trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/reports/PRunsComponentsByFeature.bsh
   trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/reports/PRunsInfoAndOrder.bsh
   trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/reports/PRunsProductsAndOrder.bsh
   trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml
   trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml
   trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ShipmentWorkEffortTasksPrepare.bsh
   trunk/applications/manufacturing/webapp/manufacturing/routing/RoutingTaskForms.xml
   trunk/applications/manufacturing/widget/manufacturing/RoutingScreens.xml
   trunk/applications/product/webapp/catalog/WEB-INF/actions/product/EditProductInventoryItems.bsh
   trunk/applications/product/webapp/catalog/product/ProductForms.xml
   trunk/applications/product/widget/catalog/ProductScreens.xml
   trunk/applications/workeffort/data/WorkEffortTypeData.xml
   trunk/applications/workeffort/entitydef/entitygroup.xml
   trunk/applications/workeffort/entitydef/entitymodel.xml
Log:
The WorkEffortGoodStandard entity is currently used to store several types of information:
a) it is used to associate a product to its routing
b) it is used to associate a production run to the product it will produce
c) it is used to associate a production run task with the materials (products) it will need
In order to separate these different sets of information, the statusId field was used, since there wasn't a workEffortGoodStdTypeId field.
This is a bad design, so now I've introduced the workEffortGoodStdTypeId field (in the primary key) and the WorkEffortGoodStandardType entity (and seed data).
This commit should take care of all the mods to the existing artifacts that needed to be done after this change.



Modified: trunk/applications/ecommerce/data/DemoConfigurator.xml
===================================================================
--- trunk/applications/ecommerce/data/DemoConfigurator.xml	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/ecommerce/data/DemoConfigurator.xml	2006-01-08 16:48:51 UTC (rev 6476)
@@ -42,7 +42,7 @@
     <WorkEffort workEffortId="TASK02" workEffortTypeId="ROU_TASK" workEffortPurposeTypeId="ROU_ASSEMBLING" currentStatusId="ROU_ACTIVE" workEffortName="Assembly" description="Assembly" revisionNumber="1" fixedAssetId="DRIER01" estimatedMilliSeconds="900000" estimatedSetupMillis="0"/>
     <WorkEffort workEffortId="TASK03" workEffortTypeId="ROU_TASK" workEffortPurposeTypeId="ROU_ASSEMBLING" currentStatusId="ROU_ACTIVE" workEffortName="Test" description="Test" revisionNumber="1" fixedAssetId="DRIER01" estimatedMilliSeconds="450000" estimatedSetupMillis="20000"/>
     <WorkEffort workEffortId="ROUT01" workEffortTypeId="ROUTING" currentStatusId="ROU_ACTIVE" workEffortName="PC assembly" description="PC Assembly" revisionNumber="1" quantityToProduce="0"/>
-    <WorkEffortGoodStandard workEffortId="ROUT01" productId="PC001" statusId="ROU_PROD_TEMPLATE" fromDate="2004-09-24 15:10:14.227"/>
+    <WorkEffortGoodStandard workEffortId="ROUT01" productId="PC001" workEffortGoodStdTypeId="ROU_PROD_TEMPLATE" statusId="WEGS_CREATED" fromDate="2004-09-24 15:10:14.227"/>
     <WorkEffortAssoc workEffortIdFrom="ROUT01" workEffortIdTo="TASK01" workEffortAssocTypeId="ROUTING_COMPONENT" sequenceNum="10" fromDate="2004-09-24 15:09:38.736"/>
     <WorkEffortAssoc workEffortIdFrom="ROUT01" workEffortIdTo="TASK02" workEffortAssocTypeId="ROUTING_COMPONENT" sequenceNum="20" fromDate="2004-09-24 15:09:47.338"/>
     <WorkEffortAssoc workEffortIdFrom="ROUT01" workEffortIdTo="TASK03" workEffortAssocTypeId="ROUTING_COMPONENT" sequenceNum="30" fromDate="2004-09-24 15:09:55.279"/>

Modified: trunk/applications/manufacturing/script/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.xml
===================================================================
--- trunk/applications/manufacturing/script/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.xml	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/script/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.xml	2006-01-08 16:48:51 UTC (rev 6476)
@@ -35,7 +35,8 @@
         <if-not-empty field-name="workEffort">
             <if-compare value="PRUN_CANCELLED" operator="not-equals" field-name="currentStatusId" map-name="workEffort">
                 <field-to-field field-name="parameters.workEffortId" to-field-name="lookupComponentsMap.workEffortId"/>
-                <string-to-field string="WIP_INCOMING_FULFIL" field-name="lookupComponentsMap.statusId"/>
+                <string-to-field string="WEGS_CREATED" field-name="lookupComponentsMap.statusId"/>
+                <set field="lookupComponentsMap.workEffortGoodStdTypeId" value="PRUNT_PROD_NEEDED"/>
 
                 <find-by-and entity-name="WorkEffortGoodStandard" list-name="components" map-name="lookupComponentsMap" />
                 <!-- now go through each work effort good standard and call a service to issue the inventory -->
@@ -55,6 +56,7 @@
     </simple-method>
     <simple-method method-name="issueProductionRunTaskComponent" short-description="Issues the Inventory for a Production Run Task Component" login-required="false">
         <if-empty field-name="parameters.workEffortGoodStandard">
+            <set field="parameters.workEffortGoodStdTypeId" value="PRUNT_PROD_NEEDED"/>
             <entity-one entity-name="WorkEffortGoodStandard" value-name="workEffortGoodStandard"/>
         <else>
             <env-to-env env-name="parameters.workEffortGoodStandard" to-env-name="workEffortGoodStandard"/>
@@ -160,7 +162,7 @@
 
                 <calculate field-name="quantityNotIssued" map-name="parameters"><number value="0"/></calculate>
             </if-compare>
-            <string-to-field string="WIP_INCOMING_DONE" field-name="workEffortGoodStandard.statusId"/>
+            <string-to-field string="WEGS_COMPLETED" field-name="workEffortGoodStandard.statusId"/>
             <store-value value-name="workEffortGoodStandard"/>
         </if-not-empty>
     </simple-method>

Modified: trunk/applications/manufacturing/script/org/ofbiz/manufacturing/routing/RoutingServices.xml
===================================================================
--- trunk/applications/manufacturing/script/org/ofbiz/manufacturing/routing/RoutingServices.xml	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/script/org/ofbiz/manufacturing/routing/RoutingServices.xml	2006-01-08 16:48:51 UTC (rev 6476)
@@ -29,7 +29,7 @@
 
     <simple-method method-name="getProductRouting" short-description="Get the product's routing and routing tasks">
         <set from-field="parameters.productId" field="lookupRouting.productId"/>
-        <set value="ROU_PROD_TEMPLATE" field="lookupRouting.statusId"/>
+        <set value="ROU_PROD_TEMPLATE" field="lookupRouting.workEffortGoodStdTypeId"/>
         <find-by-and entity-name="WorkEffortGoodStandard" list-name="routings" map-name="lookupRouting"/>
         <!-- TODO: we should consider the validity against a date passed as (optional) parameter -->
         <filter-list-by-date list-name="routings"/>

Modified: trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRun.java
===================================================================
--- trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRun.java	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRun.java	2006-01-08 16:48:51 UTC (rev 6476)
@@ -59,8 +59,8 @@
     public static final String resource = "ManufacturingUiLabels";
     
     protected GenericValue productionRun; // WorkEffort (PROD_ORDER_HEADER)
-    protected GenericValue productionRunProduct; // WorkEffortGoodStandard (WIP_OUTGOING_FULFIL)
-    protected GenericValue productProduced; // Product (from WorkEffortGoodStandard WIP_OUTGOING_FILFIL)
+    protected GenericValue productionRunProduct; // WorkEffortGoodStandard (type: PRUN_PROD_DELIV)
+    protected GenericValue productProduced; // Product (from WorkEffortGoodStandard of type: PRUN_PROD_DELIV)
     protected Double quantity; // the estimatedQuantity
     
     protected Timestamp estimatedStartDate;
@@ -175,7 +175,7 @@
         if (exist()) {
             if (productProduced == null) {
                 try {
-                    List productionRunProducts = productionRun.getRelated("WorkEffortGoodStandard", UtilMisc.toMap("statusId", "WIP_OUTGOING_FULFIL"),null);
+                    List productionRunProducts = productionRun.getRelated("WorkEffortGoodStandard", UtilMisc.toMap("workEffortGoodStdTypeId", "PRUN_PROD_DELIV"),null);
                     this.productionRunProduct = EntityUtil.getFirst(productionRunProducts);
                     quantity = productionRunProduct.getDouble("estimatedQuantity");
                     productProduced = productionRunProduct.getRelatedOneCache("Product");
@@ -343,8 +343,7 @@
                         GenericValue routingTask;
                         for (Iterator iter=productionRunRoutingTasks.iterator(); iter.hasNext();) {
                             routingTask = (GenericValue)iter.next();
-                            productionRunComponents.addAll(routingTask.getRelated("WorkEffortGoodStandard", UtilMisc.toMap("statusId", "WIP_INCOMING_FULFIL"),null));
-                            productionRunComponents.addAll(routingTask.getRelated("WorkEffortGoodStandard", UtilMisc.toMap("statusId", "WIP_INCOMING_DONE"),null));
+                            productionRunComponents.addAll(routingTask.getRelated("WorkEffortGoodStandard", UtilMisc.toMap("workEffortGoodStdTypeId", "PRUNT_PROD_NEEDED"),null));
                         }
                     } catch (GenericEntityException e) {
                         Debug.logWarning(e.getMessage(), module);

Modified: trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunHelper.java
===================================================================
--- trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunHelper.java	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunHelper.java	2006-01-08 16:48:51 UTC (rev 6476)
@@ -67,11 +67,10 @@
             if (productionRunId != null ) {
                 GenericValue productionRun = delegator.findByPrimaryKey("WorkEffort", UtilMisc.toMap("workEffortId", productionRunId));
                 if (productionRun != null) {
-                    List productionRunProducts = productionRun.getRelated("WorkEffortGoodStandard", UtilMisc.toMap("statusId", "WIP_OUTGOING_FULFIL"),null);
+                    List productionRunProducts = productionRun.getRelated("WorkEffortGoodStandard", UtilMisc.toMap("workEffortGoodStdTypeId", "PRUN_PROD_DELIV"),null);
                     GenericValue productionRunProduct = EntityUtil.getFirst(productionRunProducts);
                     GenericValue productProduced = productionRunProduct.getRelatedOneCache("Product");
-                    List productionRunComponents = productionRun.getRelated("WorkEffortGoodStandard", UtilMisc.toMap("statusId", "WIP_INCOMING_FULFIL"),null);
-                    productionRunComponents.addAll(productionRun.getRelated("WorkEffortGoodStandard", UtilMisc.toMap("statusId", "WIP_INCOMING_DONE"),null));
+                    List productionRunComponents = productionRun.getRelated("WorkEffortGoodStandard", UtilMisc.toMap("workEffortGoodStdTypeId", "PRUNT_PROD_NEEDED"),null);
                     List productionRunRoutingTasks = productionRun.getRelated("FromWorkEffortAssoc",UtilMisc.toMap("workEffortTypeId","PROD_ORDER_TASK"),null);
                     
                 }

Modified: trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java
===================================================================
--- trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java	2006-01-08 16:48:51 UTC (rev 6476)
@@ -262,7 +262,8 @@
         serviceContext.clear();
         serviceContext.put("workEffortId", productionRunId);
         serviceContext.put("productId", productId);
-        serviceContext.put("statusId", "WIP_OUTGOING_FULFIL");
+        serviceContext.put("workEffortGoodStdTypeId", "PRUN_PROD_DELIV");
+        serviceContext.put("statusId", "WEGS_CREATED");
         serviceContext.put("estimatedQuantity", pRQuantity);
         serviceContext.put("fromDate", startDate);
         serviceContext.put("userLogin", userLogin);
@@ -329,7 +330,8 @@
                         // object to be sure to use the
                         // right component (possibly configured).
                         serviceContext.put("productId", node.getProduct().get("productId"));
-                        serviceContext.put("statusId", "WIP_INCOMING_FULFIL");
+                        serviceContext.put("workEffortGoodStdTypeId", "PRUNT_PROD_NEEDED");
+                        serviceContext.put("statusId", "WEGS_CREATED");
                         serviceContext.put("fromDate", productBom.get("fromDate"));
                         // Here we use the getQuantity method to get the quantity already
                         // computed by the getManufacturingComponents service
@@ -857,7 +859,8 @@
         serviceContext.clear();
         serviceContext.put("workEffortId", workEffortId);
         serviceContext.put("productId", productId);
-        serviceContext.put("statusId", "WIP_INCOMING_FULFIL");
+        serviceContext.put("workEffortGoodStdTypeId", "PRUNT_PROD_NEEDED");
+        serviceContext.put("statusId", "WEGS_CREATED");
         serviceContext.put("fromDate", now);
         serviceContext.put("estimatedQuantity", quantity);
         serviceContext.put("userLogin", userLogin);
@@ -930,6 +933,7 @@
         Map serviceContext = new HashMap();
         serviceContext.clear();
         serviceContext.put("workEffortId", theComponent.getString("workEffortId"));
+        serviceContext.put("workEffortGoodStdTypeId", "PRUNT_PROD_NEEDED");
         serviceContext.put("productId", productId);
         serviceContext.put("fromDate", theComponent.getTimestamp("fromDate"));
         if (quantity != null) {
@@ -1793,7 +1797,7 @@
             List findOutgoingProductionRunsConds = new LinkedList();
 
             findOutgoingProductionRunsConds.add(new EntityExpr("productId", EntityOperator.EQUALS, productId));
-            findOutgoingProductionRunsConds.add(new EntityExpr("statusId", EntityOperator.EQUALS, "WIP_INCOMING_FULFIL"));
+            findOutgoingProductionRunsConds.add(new EntityExpr("statusId", EntityOperator.EQUALS, "WEGS_CREATED"));
             findOutgoingProductionRunsConds.add(new EntityExpr("estimatedStartDate", EntityOperator.LESS_THAN_EQUAL_TO, startDate));
 
             List findOutgoingProductionRunsStatusConds = new LinkedList();

Modified: trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java
===================================================================
--- trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java	2006-01-08 16:48:51 UTC (rev 6476)
@@ -212,7 +212,7 @@
         // ----------------------------------------
         resultList = null;
         iteratorResult = null;
-        parameters = UtilMisc.toMap("statusId", "WIP_INCOMING_FULFIL");
+        parameters = UtilMisc.toMap("workEffortGoodStdTypeId", "PRUNT_PROD_NEEDED", "statusId", "WEGS_CREATED");
         try {
             resultList = delegator.findByAnd("WorkEffortAndGoods", parameters);
         } catch(GenericEntityException e) {
@@ -243,7 +243,7 @@
         // ----------------------------------------
         resultList = null;
         iteratorResult = null;
-        parameters = UtilMisc.toMap("statusId", "WIP_OUTGOING_FULFIL", "workEffortTypeId", "PROD_ORDER_HEADER");
+        parameters = UtilMisc.toMap("workEffortGoodStdTypeId", "PRUN_PROD_DELIV", "statusId", "WEGS_CREATED", "workEffortTypeId", "PROD_ORDER_HEADER");
         try {
             resultList = delegator.findByAnd("WorkEffortAndGoods", parameters);
         } catch(GenericEntityException e) {

Modified: trunk/applications/manufacturing/src/org/ofbiz/manufacturing/techdata/ProductHelper.java
===================================================================
--- trunk/applications/manufacturing/src/org/ofbiz/manufacturing/techdata/ProductHelper.java	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/src/org/ofbiz/manufacturing/techdata/ProductHelper.java	2006-01-08 16:48:51 UTC (rev 6476)
@@ -73,7 +73,7 @@
         //Looks for the routing associated with the product
         List listRouting = null;
         try{
-            listRouting = product.getRelated("WorkEffortGoodStandard",UtilMisc.toMap("statusId", "ROU_PROD_TEMPLATE"),UtilMisc.toList("estimatedQuantity DESC"));
+            listRouting = product.getRelated("WorkEffortGoodStandard", UtilMisc.toMap("workEffortGoodStdTypeId", "ROU_PROD_TEMPLATE"),UtilMisc.toList("estimatedQuantity DESC"));
             if (listRouting.size()>0) listRouting = EntityUtil.filterByDate(listRouting,eventDate);
         } catch (GenericEntityException e) {
             Debug.logError(e,"Error : product.getRelated routing... productId="+product.getString("productId"), module);

Modified: trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/jobshopmgt/EditProductionRun.bsh
===================================================================
--- trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/jobshopmgt/EditProductionRun.bsh	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/jobshopmgt/EditProductionRun.bsh	2006-01-08 16:48:51 UTC (rev 6476)
@@ -164,7 +164,7 @@
         productId = request.getParameter("productId");
         if (productId != null && (actionForm.equals("updateProductComponent") || actionForm.equals("EditProductComponent"))){
             workEffortId = request.getParameter("workEffortId");
-            List productComponents = delegator.findByAnd("WorkEffortGoodStandard", UtilMisc.toMap("workEffortId", workEffortId,"productId",productId));
+            List productComponents = delegator.findByAnd("WorkEffortGoodStandard", UtilMisc.toMap("workEffortId", workEffortId, "workEffortGoodStdTypeId", "PRUNT_PROD_NEEDED", "productId",productId));
             GenericValue productComponent = EntityUtil.getFirst(productComponents);
             Map productComponentData = productComponent.getAllFields();
             productComponentData.put("productionRunId", productionRunId);

Modified: trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/jobshopmgt/ProductionRunDeclaration.bsh
===================================================================
--- trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/jobshopmgt/ProductionRunDeclaration.bsh	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/jobshopmgt/ProductionRunDeclaration.bsh	2006-01-08 16:48:51 UTC (rev 6476)
@@ -152,7 +152,7 @@
         while (tasksIt.hasNext()) {
             GenericValue task = (GenericValue)tasksIt.next();
             if (task.getString("currentStatusId").equals("PRUN_RUNNING")) {
-                List components = delegator.findByAnd("WorkEffortGoodStandard", UtilMisc.toMap("workEffortId", task.getString("workEffortId")));
+                List components = delegator.findByAnd("WorkEffortGoodStandard", UtilMisc.toMap("workEffortId", task.getString("workEffortId"), "workEffortGoodStdTypeId", "PRUNT_PROD_NEEDED"));
                 List issuances = delegator.findByAnd("WorkEffortInventoryAssign", UtilMisc.toMap("workEffortId", task.getString("workEffortId")));
                 if (components.size() > 0 && issuances.size() == 0) {
                     issueTaskId = task.getString("workEffortId");
@@ -183,7 +183,7 @@
         productId = request.getParameter("productId");
         if (productId != null && (actionForm.equals("updateProductComponent") || actionForm.equals("EditProductComponent"))){
             workEffortId = request.getParameter("workEffortId");
-            List productComponents = delegator.findByAnd("WorkEffortGoodStandard", UtilMisc.toMap("workEffortId", workEffortId,"productId",productId));
+            List productComponents = delegator.findByAnd("WorkEffortGoodStandard", UtilMisc.toMap("workEffortId", workEffortId, "workEffortGoodStdTypeId", "PRUNT_PROD_NEEDED", "productId",productId));
             GenericValue productComponent = EntityUtil.getFirst(productComponents);
             Map productComponentData = productComponent.getAllFields();
             productComponentData.put("productionRunId", productionRunId);
@@ -205,7 +205,8 @@
                 component = (GenericValue) iter.next();
                 GenericValue product = component.getRelatedOne("Product");
                 String componentName = product.getString("productName");
-                String workEffortName = component.getRelatedOne("WorkEffort").getString("workEffortName");
+                GenericValue productionRunTask = component.getRelatedOne("WorkEffort");
+                String workEffortName = productionRunTask.getString("workEffortName");
                 Map componentData = component.getAllFields();
                 componentData.put("internalName", componentName);
                 componentData.put("workEffortName", workEffortName);
@@ -218,7 +219,26 @@
                         totalIssued += issued.doubleValue();
                     }
                 }
+                Iterator returns = (delegator.findByAnd("WorkEffortAndInventoryProduced", UtilMisc.toMap("workEffortId", component.getString("workEffortId"), "productId", product.getString("productId")))).iterator();
+                double totalReturned = 0.0;
+                while (returns.hasNext()) {
+                    GenericValue returned = (GenericValue)returns.next();
+                    GenericValue returnDetail = EntityUtil.getFirst(delegator.findByAnd("InventoryItemDetail", UtilMisc.toMap("inventoryItemId", returned.getString("inventoryItemId")), UtilMisc.toList("inventoryItemDetailSeqId")));
+                    if (returnDetail != null) {
+                        Double qtyReturned = returnDetail.getDouble("quantityOnHandDiff");
+                        if (qtyReturned != null) {
+                            totalReturned += qtyReturned.doubleValue();
+                        }
+                    }
+                }
                 componentData.put("issuedQuantity", totalIssued);
+                componentData.put("returnedQuantity", totalReturned);
+                componentData.put("currentStatusId", productionRunTask.getString("currentStatusId"));
+                if (productionRunTask.getString("currentStatusId").equals("PRUN_RUNNING")) {
+                    componentData.put("isRunning", "Y");
+                } else {
+                    componentData.put("isRunning", "null");
+                }
                 productionRunComponentsData.add(componentData);
             }
         }

Modified: trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/reports/PRunsComponentsByFeature.bsh
===================================================================
--- trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/reports/PRunsComponentsByFeature.bsh	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/reports/PRunsComponentsByFeature.bsh	2006-01-08 16:48:51 UTC (rev 6476)
@@ -62,7 +62,7 @@
         }
 
         // select the task's components, if any
-        allProductionRunComponents = delegator.findByAnd("WorkEffortGoodStandard", UtilMisc.toMap("workEffortId", productionRunTask.getString("workEffortId")));
+        allProductionRunComponents = delegator.findByAnd("WorkEffortGoodStandard", UtilMisc.toMap("workEffortId", productionRunTask.getString("workEffortId"),"workEffortGoodStdTypeId", "PRUNT_PROD_NEEDED"));
         allProductionRunComponentsIt = allProductionRunComponents.iterator();
         while(allProductionRunComponentsIt.hasNext()) {
             productionRunComponent = allProductionRunComponentsIt.next();

Modified: trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/reports/PRunsInfoAndOrder.bsh
===================================================================
--- trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/reports/PRunsInfoAndOrder.bsh	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/reports/PRunsInfoAndOrder.bsh	2006-01-08 16:48:51 UTC (rev 6476)
@@ -39,7 +39,7 @@
     context.put("category", category);
 }
 
-allProductionRuns = delegator.findByAnd("WorkEffortAndGoods", UtilMisc.toMap("workEffortName", planName, "statusId", "WIP_OUTGOING_FULFIL"), UtilMisc.toList("productId"));
+allProductionRuns = delegator.findByAnd("WorkEffortAndGoods", UtilMisc.toMap("workEffortName", planName, "statusId", "WEGS_CREATED", "workEffortGoodStdTypeId", "PRUN_PROD_DELIV"), UtilMisc.toList("productId"));
 productionRuns = new ArrayList();
 
 if (allProductionRuns != null) {
@@ -74,7 +74,7 @@
                                           "productionRunOrder", productionRunOrder,
                                           "customer", orh.getPlacingParty(),
                                           "address", orh.getShippingAddress());
-        allProductionComponents = delegator.findByAnd("WorkEffortAndGoods", UtilMisc.toMap("workEffortId", productionRunTask.getString("workEffortId"), "statusId", "WIP_INCOMING_FULFIL"), UtilMisc.toList("productId"));
+        allProductionComponents = delegator.findByAnd("WorkEffortAndGoods", UtilMisc.toMap("workEffortId", productionRunTask.getString("workEffortId"), "statusId", "WEGS_CREATED", "workEffortGoodStdTypeId", "PRUNT_PROD_NEEDED"), UtilMisc.toList("productId"));
         componentList = new ArrayList();
 
         if (allProductionComponents != null) {

Modified: trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/reports/PRunsProductsAndOrder.bsh
===================================================================
--- trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/reports/PRunsProductsAndOrder.bsh	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/reports/PRunsProductsAndOrder.bsh	2006-01-08 16:48:51 UTC (rev 6476)
@@ -39,7 +39,7 @@
     context.put("category", category);
 }
 
-allProductionRuns = delegator.findByAnd("WorkEffortAndGoods", UtilMisc.toMap("workEffortName", planName, "statusId", "WIP_OUTGOING_FULFIL"), UtilMisc.toList("productId"));
+allProductionRuns = delegator.findByAnd("WorkEffortAndGoods", UtilMisc.toMap("workEffortName", planName, "statusId", "WEGS_CREATED", "workEffortGoodStdTypeId", "PRUN_PROD_DELIV"), UtilMisc.toList("productId"));
 productionRuns = new ArrayList();
 
 if (allProductionRuns != null) {

Modified: trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml
===================================================================
--- trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml	2006-01-08 16:48:51 UTC (rev 6476)
@@ -444,7 +444,7 @@
         <security https="true" auth="true"/>
         <response name="success" type="view" value="ProductionRunAssocs"/>
     </request-map>
-    <request-map uri="RemoveWorkEffortGoodStandard">
+    <request-map uri="removeRoutingProductLink">
         <security https="true" auth="true"/>
         <event type="service" invoke="removeWorkEffortGoodStandard"/>
         <response name="success" type="view" value="EditRoutingProductLink"/>

Modified: trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml
===================================================================
--- trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml	2006-01-08 16:48:51 UTC (rev 6476)
@@ -134,7 +134,7 @@
         </field>
         <field name="deleteLink" title=" " widget-style="smallSubmit">
             <!--<hyperlink target="RemoveWorkEffortGoodStandard?workEffortId=${workEffortId}&amp;productId=${productId}&amp;fromDate=${fromDate}" description="[${uiLabelMap.CommonDelete}]" also-hidden="false"/>-->
-            <hyperlink target="deleteProductionRunComponent?workEffortId=${workEffortId}&amp;productId=${productId}&amp;fromDate=${fromDate}&amp;productionRunId=${productionRunId}" description="${uiLabelMap.CommonDelete}" also-hidden="false"/>
+            <hyperlink target="deleteProductionRunComponent?workEffortId=${workEffortId}&amp;productId=${productId}&amp;fromDate=${fromDate}&amp;productionRunId=${productionRunId}&amp;workEffortGoodStdTypeId=PRUNT_PROD_NEEDED" description="${uiLabelMap.CommonDelete}" also-hidden="false"/>
         </field>
     </form>
 

Modified: trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ShipmentWorkEffortTasksPrepare.bsh
===================================================================
--- trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ShipmentWorkEffortTasksPrepare.bsh	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ShipmentWorkEffortTasksPrepare.bsh	2006-01-08 16:48:51 UTC (rev 6476)
@@ -51,7 +51,7 @@
                 while (productionRunsIt.hasNext()) {
                     productionRun = productionRunsIt.next();
                     productionRunProduct = null;
-                    productionRunProducts = delegator.findByAnd("WorkEffortGoodStandard", UtilMisc.toMap("workEffortId", productionRun.getString("workEffortId"), "statusId", "WIP_OUTGOING_FULFIL"));
+                    productionRunProducts = delegator.findByAnd("WorkEffortGoodStandard", UtilMisc.toMap("workEffortId", productionRun.getString("workEffortId"), "workEffortGoodStdTypeId", "PRUN_PROD_DELIV", "statusId", "WEGS_CREATED"));
                     if (productionRunProducts != null && productionRunProducts.size() > 0) {
                         //productionRunProduct = ((GenericValue)productionRunProducts.get(0)).getString("productId");
                         productionRunProduct = ((GenericValue)productionRunProducts.get(0)).getRelatedOne("Product");

Modified: trunk/applications/manufacturing/webapp/manufacturing/routing/RoutingTaskForms.xml
===================================================================
--- trunk/applications/manufacturing/webapp/manufacturing/routing/RoutingTaskForms.xml	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/webapp/manufacturing/routing/RoutingTaskForms.xml	2006-01-08 16:48:51 UTC (rev 6476)
@@ -223,6 +223,7 @@
         <auto-fields-entity entity-name="WorkEffortGoodStandard" default-field-type="edit"/>
         <field name="workEffortId"><hidden/></field>
         <field name="statusId"><hidden/></field>
+        <field name="workEffortGoodStdTypeId"><hidden value="ROU_PROD_TEMPLATE"/></field>
         <field name="productId" use-when="routingProductLink!=null" ><display/></field>
         <field name="productId" title="${uiLabelMap.ProductProductId}" use-when="routingProductLink==null" >
             <lookup target-form-name="LookupProduct"/>
@@ -243,10 +244,10 @@
         <field name="thruDate" title="${uiLabelMap.CommonThruDate}"><display/></field>
         <field name="estimatedQuantity" title="${uiLabelMap.ManufacturingQuantity}"><display/></field>
         <field name="editLink" title=" " widget-style="buttontext">
-            <hyperlink target="EditRoutingProductLink?workEffortId=${workEffortId}&amp;productId=${productId}&amp;fromDate=${fromDate}" description="${uiLabelMap.CommonEdit}" also-hidden="false"/>
+            <hyperlink target="EditRoutingProductLink?workEffortId=${workEffortId}&amp;productId=${productId}&amp;fromDate=${fromDate}&amp;workEffortGoodStdTypeId=ROU_PROD_TEMPLATE" description="${uiLabelMap.CommonEdit}" also-hidden="false"/>
         </field>
         <field name="deleteLink" title=" " widget-style="buttontext">
-            <hyperlink target="RemoveWorkEffortGoodStandard?workEffortId=${workEffortId}&amp;productId=${productId}&amp;fromDate=${fromDate}" description="${uiLabelMap.CommonDelete}" also-hidden="false"/>
+            <hyperlink target="removeRoutingProductLink?workEffortId=${workEffortId}&amp;productId=${productId}&amp;fromDate=${fromDate}&amp;workEffortGoodStdTypeId=ROU_PROD_TEMPLATE" description="${uiLabelMap.CommonDelete}" also-hidden="false"/>
         </field>
     </form>
 

Modified: trunk/applications/manufacturing/widget/manufacturing/RoutingScreens.xml
===================================================================
--- trunk/applications/manufacturing/widget/manufacturing/RoutingScreens.xml	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/manufacturing/widget/manufacturing/RoutingScreens.xml	2006-01-08 16:48:51 UTC (rev 6476)
@@ -261,12 +261,12 @@
                 <!--<set field="labelTitleProperty" value="ProductProductBom"/>-->
                 <set field="headerItem" value="routing"/>
                 
-                <set field="statusId" value="ROU_PROD_TEMPLATE"/>
+                <set field="workEffortGoodStdTypeId" value="ROU_PROD_TEMPLATE"/>
                 <set field="workEffortId" from-field="parameters.workEffortId"/>
                 <!--<entity-one entity-name="Agreement" value-name="agreement" auto-field-map="true"/>-->
                 <entity-and entity-name="WorkEffortGoodStandard" list-name="allRoutingProductLinks">
                     <field-map env-name="workEffortId" field-name="workEffortId"/>
-                    <field-map env-name="statusId" field-name="statusId"/>
+                    <field-map env-name="workEffortGoodStdTypeId" field-name="workEffortGoodStdTypeId"/>
                 </entity-and>
                 <entity-one entity-name="WorkEffortGoodStandard" value-name="routingProductLink" auto-field-map="true"/>
                 <!--<script location="component://manufacturing/webapp/manufacturing/WEB-INF/actions/routing/EditRoutingProductLink.bsh"/>-->

Modified: trunk/applications/product/webapp/catalog/WEB-INF/actions/product/EditProductInventoryItems.bsh
===================================================================
--- trunk/applications/product/webapp/catalog/WEB-INF/actions/product/EditProductInventoryItems.bsh	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/product/webapp/catalog/WEB-INF/actions/product/EditProductInventoryItems.bsh	2006-01-08 16:48:51 UTC (rev 6476)
@@ -109,7 +109,8 @@
 findIncomingProductionRunsConds = new LinkedList();
 
 findIncomingProductionRunsConds.add(new EntityExpr("productId", EntityOperator.EQUALS, productId));
-findIncomingProductionRunsConds.add(new EntityExpr("statusId", EntityOperator.EQUALS, "WIP_OUTGOING_FULFIL"));
+findIncomingProductionRunsConds.add(new EntityExpr("statusId", EntityOperator.EQUALS, "WEGS_CREATED"));
+findIncomingProductionRunsConds.add(new EntityExpr("workEffortGoodStdTypeId", EntityOperator.EQUALS, "PRUN_PROD_DELIV"));
 
 findIncomingProductionRunsStatusConds = new LinkedList();   
 findIncomingProductionRunsStatusConds.add(new EntityExpr("currentStatusId", EntityOperator.EQUALS, "PRUN_CREATED"));
@@ -175,7 +176,8 @@
 findOutgoingProductionRunsConds = new LinkedList();
 
 findOutgoingProductionRunsConds.add(new EntityExpr("productId", EntityOperator.EQUALS, productId));
-findOutgoingProductionRunsConds.add(new EntityExpr("statusId", EntityOperator.EQUALS, "WIP_INCOMING_FULFIL"));
+findOutgoingProductionRunsConds.add(new EntityExpr("statusId", EntityOperator.EQUALS, "WEGS_CREATED"));
+findOutgoingProductionRunsConds.add(new EntityExpr("workEffortGoodStdTypeId", EntityOperator.EQUALS, "PRUNT_PROD_NEEDED"));
 
 findOutgoingProductionRunsStatusConds = new LinkedList();
 findOutgoingProductionRunsStatusConds.add(new EntityExpr("currentStatusId", EntityOperator.EQUALS, "PRUN_CREATED"));

Modified: trunk/applications/product/webapp/catalog/product/ProductForms.xml
===================================================================
--- trunk/applications/product/webapp/catalog/product/ProductForms.xml	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/product/webapp/catalog/product/ProductForms.xml	2006-01-08 16:48:51 UTC (rev 6476)
@@ -894,6 +894,7 @@
             default-title-style="tableheadtext" default-widget-style="tabletext" default-tooltip-style="tabletext">
         <auto-fields-entity entity-name="WorkEffortGoodStandard" default-field-type="display"/>
         <field name="productId"><hidden/></field>
+        <field name="workEffortGoodStdTypeId"><hidden/></field>
         <field name="statusId"><hidden/></field>
         <field name="workEffortName" title="${uiLabelMap.ProductWorkEffortName}" entry-name="workEffortId">
             <display-entity entity-name="WorkEffort" key-field-name="workEffortId" description="${workEffortName}"/>

Modified: trunk/applications/product/widget/catalog/ProductScreens.xml
===================================================================
--- trunk/applications/product/widget/catalog/ProductScreens.xml	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/product/widget/catalog/ProductScreens.xml	2006-01-08 16:48:51 UTC (rev 6476)
@@ -259,7 +259,7 @@
     
                 <set field="productId" from-field="parameters.productId"/>
                 <set field="productAssocTypeId" value="MANUF_COMPONENT"/>
-                <set field="statusId" value="ROU_PROD_TEMPLATE"/>
+                <set field="workEffortGoodStdTypeId" value="ROU_PROD_TEMPLATE"/>
                 
                 <entity-one entity-name="Product" value-name="product"/>
                 <entity-and entity-name="ProductAssoc" list-name="components">
@@ -273,7 +273,7 @@
                 </entity-and>
                 <entity-and entity-name="WorkEffortGoodStandard" list-name="routings">
                     <field-map field-name="productId"/>
-                    <field-map field-name="statusId"/>
+                    <field-map field-name="workEffortGoodStdTypeId"/>
                 </entity-and>
             </actions>
             <widgets>

Modified: trunk/applications/workeffort/data/WorkEffortTypeData.xml
===================================================================
--- trunk/applications/workeffort/data/WorkEffortTypeData.xml	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/workeffort/data/WorkEffortTypeData.xml	2006-01-08 16:48:51 UTC (rev 6476)
@@ -217,32 +217,9 @@
 
     <!-- Routing status, (workEffort Template) -->
     <StatusType description="Manufacturing Task and Routing status" hasTable="N" parentTypeId="WORK_EFFORT_STATUS" statusTypeId="ROUTING_STATUS"/>
-    <StatusType description="Product in-out routing Association" hasTable="N" parentTypeId="WORK_EFFORT_STATUS" statusTypeId="ROU_PRODUCT_ASSOC"/>
     
     <StatusItem description="Well defined and usable" sequenceId="01" statusCode="ACTIVE" statusId="ROU_ACTIVE" statusTypeId="ROUTING_STATUS"/>
-    <StatusItem description="Internal, Used for association between Product and associated Routing" sequenceId="01" statusCode="TEMPLATE" statusId="ROU_PROD_TEMPLATE" statusTypeId="ROU_PRODUCT_ASSOC"/>
-    <StatusItem description="Incoming WIP Product Planned" sequenceId="02" statusCode="WIP_INCOMING_PLAN" statusId="WIP_INCOMING_PLAN" statusTypeId="ROU_PRODUCT_ASSOC"/>
-    <StatusItem description="Incoming WIP Product Fulfilled" sequenceId="04" statusCode="WIP_INCOMING_FULFIL" statusId="WIP_INCOMING_FULFIL" statusTypeId="ROU_PRODUCT_ASSOC"/>
-    <StatusItem description="Incoming WIP InventoryItem Reserved" sequenceId="06" statusCode="WIP_INCOMING_RES" statusId="WIP_INCOMING_RES" statusTypeId="ROU_PRODUCT_ASSOC"/>
-    <StatusItem description="Incoming WIP InventoryItem Done" sequenceId="08" statusCode="WIP_INCOMING_DONE" statusId="WIP_INCOMING_DONE" statusTypeId="ROU_PRODUCT_ASSOC"/>
-    <StatusItem description="Outgoing WIP Product Planned" sequenceId="03" statusCode="WIP_OUTGOING_PLAN" statusId="WIP_OUTGOING_PLAN" statusTypeId="ROU_PRODUCT_ASSOC"/>
-    <StatusItem description="Outgoing WIP Product Fulfilled" sequenceId="05" statusCode="WIP_OUTGOING_FULFIL" statusId="WIP_OUTGOING_FULFIL" statusTypeId="ROU_PRODUCT_ASSOC"/>
-    <StatusItem description="Outgoing WIP InventoryItem Reserved" sequenceId="07" statusCode="WIP_OUTGOING_RES" statusId="WIP_OUTGOING_RES" statusTypeId="ROU_PRODUCT_ASSOC"/>
-    <StatusItem description="Outgoing WIP InventoryItem Done" sequenceId="09" statusCode="WIP_OUTGOING_DONE" statusId="WIP_OUTGOING_DONE" statusTypeId="ROU_PRODUCT_ASSOC"/>
     
-    <!-- Production Run Inventory event status -->
-    <StatusType description="Product and Raw Materials to Routing Association" hasTable="N" parentTypeId="WORK_EFFORT_STATUS" statusTypeId="PRUN_PRODUCT_ASSOC"/>
-    
-    <StatusItem description="Internal, Used for association between Product and associated Routing" sequenceId="01" statusCode="TEMPLATE" statusId="ROU_PROD_TEMPLATE" statusTypeId="PRUN_PRODUCT_ASSOC"/>
-    <StatusItem description="Incoming WIP Product Planned" sequenceId="02" statusCode="WIP_INCOMING_PLAN" statusId="WIP_INCOMING_PLAN" statusTypeId="PRUN_PRODUCT_ASSOC"/>
-    <StatusItem description="Incoming WIP Product Fulfilled" sequenceId="04" statusCode="WIP_INCOMING_FULFIL" statusId="WIP_INCOMING_FULFIL" statusTypeId="PRUN_PRODUCT_ASSOC"/>
-    <StatusItem description="Incoming WIP InventoryItem Reserved" sequenceId="06" statusCode="WIP_INCOMING_RES" statusId="WIP_INCOMING_RES" statusTypeId="PRUN_PRODUCT_ASSOC"/>
-    <StatusItem description="Incoming WIP InventoryItem Done" sequenceId="08" statusCode="WIP_INCOMING_DONE" statusId="WIP_INCOMING_DONE" statusTypeId="PRUN_PRODUCT_ASSOC"/>
-    <StatusItem description="Outgoing WIP Product Planned" sequenceId="03" statusCode="WIP_OUTGOING_PLAN" statusId="WIP_OUTGOING_PLAN" statusTypeId="PRUN_PRODUCT_ASSOC"/>
-    <StatusItem description="Outgoing WIP Product Fulfilled" sequenceId="05" statusCode="WIP_OUTGOING_FULFIL" statusId="WIP_OUTGOING_FULFIL" statusTypeId="PRUN_PRODUCT_ASSOC"/>
-    <StatusItem description="Outgoing WIP InventoryItem Reserved" sequenceId="07" statusCode="WIP_OUTGOING_RES" statusId="WIP_OUTGOING_RES" statusTypeId="PRUN_PRODUCT_ASSOC"/>
-    <StatusItem description="Outgoing WIP InventoryItem Done" sequenceId="09" statusCode="WIP_OUTGOING_DONE" statusId="WIP_OUTGOING_DONE" statusTypeId="PRUN_PRODUCT_ASSOC"/>
-    
     <!-- Production Run status -->
     <StatusType description="Production Run Status" hasTable="N" parentTypeId="WORK_EFFORT_STATUS" statusTypeId="PRODUCTION_RUN"/>
     
@@ -254,5 +231,13 @@
     <StatusItem description="Cancelled" sequenceId="10" statusCode="CANCELLED" statusId="PRUN_CANCELLED" statusTypeId="PRODUCTION_RUN"/>
     
     <!-- ProductionRun Inventory assignement status -->
+    <WorkEffortGoodStandardType workEffortGoodStdTypeId="ROU_PROD_TEMPLATE" description="Product and Routing Association" hasTable="N" parentTypeId=""/>
+    <WorkEffortGoodStandardType workEffortGoodStdTypeId="PRUN_PROD_DELIV" description="Production Run and Product to Deliver Association" hasTable="N" parentTypeId=""/>
+    <WorkEffortGoodStandardType workEffortGoodStdTypeId="PRUNT_PROD_NEEDED" description="Production Run Task and Needed Product Association" hasTable="N" parentTypeId=""/>
+    <WorkEffortGoodStandardType workEffortGoodStdTypeId="PRUNT_PROD_DELIV" description="Production Run Task and Deliverable Product Association" hasTable="N" parentTypeId=""/>
     <!--  <StatusType description="WorkEffort Assignment" hasTable="N" parentTypeId="" statusTypeId="WORK_EFFORT_ASSIGN"/> -->
+    <StatusType description="Work Effort Good Standard Status" hasTable="N" parentTypeId="" statusTypeId="WEFG_STATUS"/>
+    <StatusItem description="Created" sequenceId="01" statusCode="CREATED" statusId="WEGS_CREATED" statusTypeId="WEFG_STATUS"/>
+    <StatusItem description="Completed" sequenceId="02" statusCode="COMPLETED" statusId="WEGS_COMPLETED" statusTypeId="WEFG_STATUS"/>
+    <StatusItem description="Cancelled" sequenceId="03" statusCode="CANCELLED" statusId="WEGS_CANCELLED" statusTypeId="WEFG_STATUS"/>
 </entity-engine-xml>

Modified: trunk/applications/workeffort/entitydef/entitygroup.xml
===================================================================
--- trunk/applications/workeffort/entitydef/entitygroup.xml	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/workeffort/entitydef/entitygroup.xml	2006-01-08 16:48:51 UTC (rev 6476)
@@ -58,6 +58,7 @@
     <entity-group group="org.ofbiz" entity="WorkEffortFixedAssetAssign" />
     <entity-group group="org.ofbiz" entity="WorkEffortFixedAssetStd" />
     <entity-group group="org.ofbiz" entity="WorkEffortGoodStandard" />
+    <entity-group group="org.ofbiz" entity="WorkEffortGoodStandardType" />
     <entity-group group="org.ofbiz" entity="WorkEffortInventoryAssign" />
     <entity-group group="org.ofbiz" entity="WorkEffortInventoryProduced" />
     <entity-group group="org.ofbiz" entity="WorkEffortNote" />

Modified: trunk/applications/workeffort/entitydef/entitymodel.xml
===================================================================
--- trunk/applications/workeffort/entitydef/entitymodel.xml	2006-01-07 17:57:17 UTC (rev 6475)
+++ trunk/applications/workeffort/entitydef/entitymodel.xml	2006-01-08 16:48:51 UTC (rev 6476)
@@ -725,6 +725,7 @@
             package-name="org.ofbiz.workeffort.workeffort"
             title="Work Effort Good Standard Entity">
       <field name="workEffortId" type="id-ne"></field>
+      <field name="workEffortGoodStdTypeId" type="id-ne"></field>
       <field name="productId" type="id-ne"></field>
       <field name="statusId" type="id-ne"></field>
       <field name="estimatedQuantity" type="floating-point"></field>
@@ -732,11 +733,15 @@
       <field name="fromDate" type="date-time"></field>
       <field name="thruDate" type="date-time"></field>
       <prim-key field="workEffortId"/>
+      <prim-key field="workEffortGoodStdTypeId"/>
       <prim-key field="productId"/>
       <prim-key field="fromDate"/>
       <relation type="one" fk-name="WKEFF_GDSTD_WEFF" rel-entity-name="WorkEffort">
         <key-map field-name="workEffortId"/>
       </relation>
+      <relation type="one" fk-name="WKEFF_GDSTD_TYPE" rel-entity-name="WorkEffortGoodStandardType">
+        <key-map field-name="workEffortGoodStdTypeId"/>
+      </relation>
       <relation type="one" fk-name="WKEFF_GDSTD_PROD" rel-entity-name="Product">
         <key-map field-name="productId"/>
       </relation>
@@ -744,6 +749,18 @@
         <key-map field-name="statusId"/>
       </relation>
     </entity>
+    <entity entity-name="WorkEffortGoodStandardType"
+            package-name="org.ofbiz.workeffort.workeffort"
+            title="Work Effort Good Standard Type Entity">
+      <field name="workEffortGoodStdTypeId" type="id-ne"></field>
+      <field name="parentTypeId" type="id-ne"></field>
+      <field name="hasTable" type="indicator"></field>
+      <field name="description" type="description"></field>
+      <prim-key field="workEffortGoodStdTypeId"/>
+      <relation type="one" fk-name="WKEFF_GDSTD_TPAR" title="Parent" rel-entity-name="WorkEffortGoodStandardType">
+        <key-map field-name="parentTypeId" rel-field-name="workEffortGoodStdTypeId"/>
+      </relation>
+    </entity>
     <entity entity-name="WorkEffortInventoryAssign"
             package-name="org.ofbiz.workeffort.workeffort"
             title="Work Effort Inventory Assignment Entity">
@@ -1055,6 +1072,7 @@
       <member-entity entity-alias="WEGS" entity-name="WorkEffortGoodStandard"></member-entity>
       <alias-all entity-alias="WE"></alias-all>
       <alias entity-alias="WEGS" name="productId"></alias>
+      <alias entity-alias="WEGS" name="workEffortGoodStdTypeId"></alias>
       <alias entity-alias="WEGS" name="statusId"></alias>
       <alias entity-alias="WEGS" name="estimatedQuantity"></alias>
       <view-link entity-alias="WE" rel-entity-alias="WEGS">



More information about the Svn mailing list