Author: jacopoc
Date: Sat Aug 5 08:36:12 2006
New Revision: 429008
URL: http://svn.apache.org/viewvc?rev=429008&view=rev
Log:
the decompose mkt pkg packages service now returns the list of inventory item
ids created for the components.
Also, now the decompose task is no more a "production run" and it's status is
set to COMPLETED.
Modified:
incubator/ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml
incubator/ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java
Modified:
incubator/ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml
URL:
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml?rev=429008&r1=429007&r2=429008&view=diff
==============================================================================
---
incubator/ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml
(original)
+++
incubator/ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml
Sat Aug 5 08:36:12 2006
@@ -170,6 +170,7 @@
<attribute name="unitCost" type="Double" mode="IN" optional="true"/>
<attribute name="currencyUomId" type="String" mode="IN"
optional="true"/>
<attribute name="createSerializedInventory" type="Boolean" mode="IN"
optional="true"/>
+ <attribute name="inventoryItemIds" type="List" mode="OUT"
optional="false"/>
</service>
<service name="productionRunTaskReturnMaterial" engine="java"
location="org.ofbiz.manufacturing.jobshopmgt.ProductionRunServices"
invoke="productionRunTaskReturnMaterial" auth="true">
@@ -199,6 +200,7 @@
</description>
<attribute name="inventoryItemId" type="String" mode="IN"
optional="false"/>
<attribute name="quantity" type="Double" mode="IN" optional="true"/>
+ <attribute name="inventoryItemIds" type="List" mode="OUT"
optional="false"/>
</service>
<service name="updateProductionRunTask" engine="java"
location="org.ofbiz.manufacturing.jobshopmgt.ProductionRunServices"
invoke="updateProductionRunTask" auth="true">
Modified:
incubator/ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java
URL:
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java?rev=429008&r1=429007&r2=429008&view=diff
==============================================================================
---
incubator/ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java
(original)
+++
incubator/ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java
Sat Aug 5 08:36:12 2006
@@ -1457,7 +1457,7 @@
ProductionRun productionRun = new
ProductionRun(productionRunTaskId, delegator, dispatcher);
facilityId =
productionRun.getGenericValue().getString("facilityId");
}
-
+ List inventoryItemIds = new ArrayList();
if (createSerializedInventory.booleanValue()) {
try {
int numOfItems = quantity.intValue();
@@ -1484,6 +1484,7 @@
serviceContext.put("quantityOnHandDiff", new Double(1));
serviceContext.put("userLogin", userLogin);
resultService =
dispatcher.runSync("createInventoryItemDetail", serviceContext);
+ inventoryItemIds.add(inventoryItemId);
// Recompute reservations
serviceContext = new HashMap();
serviceContext.put("inventoryItemId", inventoryItemId);
@@ -1518,6 +1519,7 @@
serviceContext.put("quantityOnHandDiff", quantity);
serviceContext.put("userLogin", userLogin);
resultService =
dispatcher.runSync("createInventoryItemDetail", serviceContext);
+ inventoryItemIds.add(inventoryItemId);
// Recompute reservations
serviceContext = new HashMap();
serviceContext.put("inventoryItemId", inventoryItemId);
@@ -1527,6 +1529,7 @@
return ServiceUtil.returnError(exc.getMessage());
}
}
+ result.put("inventoryItemIds", inventoryItemIds);
return result;
}
@@ -2319,17 +2322,17 @@
// Mandatory input fields
String inventoryItemId = (String)context.get("inventoryItemId");
Double quantity = (Double)context.get("quantity");
-
+ List inventoryItemIds = new ArrayList();
try {
GenericValue inventoryItem =
delegator.findByPrimaryKey("InventoryItem", UtilMisc.toMap("inventoryItemId",
inventoryItemId));
if (inventoryItem == null) {
return ServiceUtil.returnError("Error decomposing inventory
item: inventory item with id [" + inventoryItemId + "] not found.");
}
// the work effort (disassemble order) is created
- Map serviceContext = UtilMisc.toMap("workEffortTypeId",
"PROD_ORDER_HEADER",
+ Map serviceContext = UtilMisc.toMap("workEffortTypeId", "TASK",
"workEffortPurposeTypeId",
"WEPT_PRODUCTION_RUN",
- "currentStatusId", "PRUN_CREATED");
- serviceContext.put("workEffortName", "Decompose inventory item ["
+ inventoryItem.getString("inventoryItemId") + "]");
+ "currentStatusId", "CAL_COMPLETED");
+ serviceContext.put("workEffortName", "Decomposing product [" +
inventoryItem.getString("productId") + "] inventory item [" +
inventoryItem.getString("inventoryItemId") + "]");
serviceContext.put("facilityId",
inventoryItem.getString("facilityId"));
serviceContext.put("estimatedStartDate", now);
serviceContext.put("userLogin", userLogin);
@@ -2365,7 +2368,6 @@
inventoryItemCost = new Double(1.0);
}
Double costCoefficient = new
Double(inventoryItemCost.doubleValue() / packageCost.doubleValue());
-
// the components are retrieved
serviceContext.clear();
serviceContext = UtilMisc.toMap("productId",
inventoryItem.getString("productId"),
@@ -2398,6 +2400,8 @@
"userLogin", userLogin);
serviceContext.put("workEffortId", workEffortId);
resultService = dispatcher.runSync("productionRunTaskProduce",
serviceContext);
+ List newInventoryItemIds =
(List)resultService.get("inventoryItemIds");
+ inventoryItemIds.addAll(newInventoryItemIds);
}
// the components are put in warehouse
} catch (GenericEntityException e) {
@@ -2407,6 +2411,7 @@
Debug.logError(e, "Problem calling the createWorkEffort service",
module);
return ServiceUtil.returnError(e.getMessage());
}
+ result.put("inventoryItemIds", inventoryItemIds);
return result;
}
}