You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by le...@apache.org on 2007/10/28 01:57:36 UTC
svn commit: r589248 -
/ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java
Author: lektran
Date: Sat Oct 27 16:57:35 2007
New Revision: 589248
URL: http://svn.apache.org/viewvc?rev=589248&view=rev
Log:
Don't try to complete the marketing package production run if there aren't enough components available, it just result in an error and confuses order processing
Modified:
ofbiz/trunk/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.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=589248&r1=589247&r2=589248&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 Sat Oct 27 16:57:35 2007
@@ -2151,20 +2151,26 @@
} catch (GenericEntityException e) {
return ServiceUtil.returnError("Error creating a production run for marketing package for order [" + orderId + " " + orderItemSeqId + "]: " + e.getMessage());
}
- try {
- serviceContext.clear();
- serviceContext.put("productionRunId", productionRunId);
- serviceContext.put("statusId", "PRUN_COMPLETED");
- serviceContext.put("userLogin", userLogin);
- resultService = dispatcher.runSync("quickChangeProductionRunStatus", serviceContext);
- serviceContext.clear();
- serviceContext.put("workEffortId", productionRunId);
- serviceContext.put("userLogin", userLogin);
- resultService = dispatcher.runSync("productionRunProduce", serviceContext);
- } catch (GenericServiceException e) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunNotCreated", locale));
+ // only complete the production run if we have enough components available to produce the desired amount, otherwise errors will result
+ serviceContext.remove("pRQuantity");
+ serviceContext.remove("startDate");
+ resultService = dispatcher.runSync("getMktgPackagesAvailable", serviceContext);
+ double mktgPackagesAvailable = ((Double) resultService.get("availableToPromiseTotal")).doubleValue();
+ if (mktgPackagesAvailable > qtyToProduce) {
+ try {
+ serviceContext.clear();
+ serviceContext.put("productionRunId", productionRunId);
+ serviceContext.put("statusId", "PRUN_COMPLETED");
+ serviceContext.put("userLogin", userLogin);
+ resultService = dispatcher.runSync("quickChangeProductionRunStatus", serviceContext);
+ serviceContext.clear();
+ serviceContext.put("workEffortId", productionRunId);
+ serviceContext.put("userLogin", userLogin);
+ resultService = dispatcher.runSync("productionRunProduce", serviceContext);
+ } catch (GenericServiceException e) {
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunNotCreated", locale));
+ }
}
-
result.put(ModelService.SUCCESS_MESSAGE, UtilProperties.getMessage(resource, "ManufacturingProductionRunCreated", UtilMisc.toMap("productionRunId", productionRunId), locale));
return result;