Author: surajk
Date: Sat Sep 22 06:34:34 2018 New Revision: 1841654 URL: http://svn.apache.org/viewvc?rev=1841654&view=rev Log: Improved: RequirementStatus record should be created while creating or updating requirement. (OFBIZ-10568) Modified: ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/mrp/MrpServices.java ofbiz/ofbiz-framework/trunk/applications/order/servicedef/secas.xml ofbiz/ofbiz-framework/trunk/applications/order/servicedef/services_requirement.xml Modified: ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/mrp/MrpServices.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/mrp/MrpServices.java?rev=1841654&r1=1841653&r2=1841654&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/mrp/MrpServices.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/manufacturing/src/main/java/org/apache/ofbiz/manufacturing/mrp/MrpServices.java Sat Sep 22 06:34:34 2018 @@ -21,6 +21,7 @@ package org.apache.ofbiz.manufacturing.m import java.math.BigDecimal; import java.sql.Timestamp; +import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -88,7 +89,6 @@ public class MrpServices { } // Proposed requirements are deleted - listResult = null; List<GenericValue> listResultRoles = new LinkedList<GenericValue>(); try { listResult = EntityQuery.use(delegator).from("Requirement") @@ -98,18 +98,20 @@ public class MrpServices { } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingMrpEventFindError", locale)); } + List<GenericValue> requirementStatus = new ArrayList<GenericValue>(); if (listResult != null) { try { for (GenericValue tmpRequirement : listResult) { listResultRoles.addAll(tmpRequirement.getRelated("RequirementRole", null, null, false)); + requirementStatus.addAll(tmpRequirement.getRelated("RequirementStatus", null, null, false)); } delegator.removeAll(listResultRoles); + delegator.removeAll(requirementStatus); delegator.removeAll(listResult); } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingMrpEventRemoveError", locale)); } } - listResult = null; try { listResult = EntityQuery.use(delegator).from("Requirement") .where("requirementTypeId", "INTERNAL_REQUIREMENT","facilityId", facilityId, @@ -120,6 +122,10 @@ public class MrpServices { } if (listResult != null) { try { + for (GenericValue tempRequirement: listResult) { + requirementStatus.addAll(tempRequirement.getRelated("RequirementStatus", null, null, false)); + } + delegator.removeAll(requirementStatus); delegator.removeAll(listResult); } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingMrpEventRemoveError", locale)); @@ -141,7 +147,6 @@ public class MrpServices { calendar.add(Calendar.YEAR, defaultYearsOffset); notAssignedDate = new Timestamp(calendar.getTimeInMillis()); } - resultList = null; try { resultList = EntityQuery.use(delegator).from("OrderHeaderItemAndShipGroup") .where("orderTypeId", "SALES_ORDER", @@ -202,7 +207,6 @@ public class MrpServices { // ---------------------------------------- // Loads all the approved product requirements (po requirements) // ---------------------------------------- - resultList = null; try { resultList = EntityQuery.use(delegator).from("Requirement") .where("requirementTypeId", "PRODUCT_REQUIREMENT", @@ -234,7 +238,6 @@ public class MrpServices { // ---------------------------------------- // Loads all the approved purchase order items // ---------------------------------------- - resultList = null; String orderId = null; GenericValue orderDeliverySchedule = null; try { @@ -308,7 +311,6 @@ public class MrpServices { // ---------------------------------------- // PRODUCTION Run: components // ---------------------------------------- - resultList = null; try { resultList = EntityQuery.use(delegator).from("WorkEffortAndGoods") .where("workEffortGoodStdTypeId", "PRUNT_PROD_NEEDED", @@ -347,7 +349,6 @@ public class MrpServices { // ---------------------------------------- // PRODUCTION Run: product produced // ---------------------------------------- - resultList = null; try { resultList = EntityQuery.use(delegator).from("WorkEffortAndGoods") .where("workEffortGoodStdTypeId", "PRUN_PROD_DELIV", @@ -390,8 +391,6 @@ public class MrpServices { // ---------------------------------------- // Products without upcoming events but that are already under minimum quantity in warehouse // ---------------------------------------- - resultList = null; - parameters = UtilMisc.<String, Object>toMap("facilityId", facilityId); try { resultList = EntityQuery.use(delegator).from("ProductFacility") .where("facilityId", facilityId) @@ -432,7 +431,6 @@ public class MrpServices { // ---------------------------------------- // SALES FORECASTS // ---------------------------------------- - resultList = null; GenericValue facility = null; try { facility = EntityQuery.use(delegator).from("Facility").where("facilityId", facilityId).queryOne(); Modified: ofbiz/ofbiz-framework/trunk/applications/order/servicedef/secas.xml URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/servicedef/secas.xml?rev=1841654&r1=1841653&r2=1841654&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/order/servicedef/secas.xml (original) +++ ofbiz/ofbiz-framework/trunk/applications/order/servicedef/secas.xml Sat Sep 22 06:34:34 2018 @@ -349,7 +349,14 @@ under the License. <condition field-name="custRequestItemSeqId" operator="is-not-empty"/> <action service="associatedRequirementWithRequestItem" mode="sync"/> </eca> - + <eca service="createRequirement" event="commit" run-on-error="false"> + <condition field-name="statusId" operator="is-not-empty" /> + <action service="createRequirementStatus" mode="async"/> + </eca> + <eca service="updateRequirement" event="commit" run-on-error="false"> + <condition-field field-name="statusId" operator="not-equals" to-field-name="oldStatusId"/> + <action service="createRequirementStatus" mode="async"/> + </eca> <eca service="createRequirement" event="commit"> <condition field-name="productId" operator="is-not-empty"/> <condition field-name="requirementTypeId" operator="equals" value="PRODUCT_REQUIREMENT"/> Modified: ofbiz/ofbiz-framework/trunk/applications/order/servicedef/services_requirement.xml URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/servicedef/services_requirement.xml?rev=1841654&r1=1841653&r2=1841654&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/order/servicedef/services_requirement.xml (original) +++ ofbiz/ofbiz-framework/trunk/applications/order/servicedef/services_requirement.xml Sat Sep 22 06:34:34 2018 @@ -72,6 +72,10 @@ under the License. <auto-attributes mode="IN" include="pk" optional="false"/> <auto-attributes mode="IN" include="nonpk" optional="true"/> </service> + <service name="removeRequirementStatus" engine="entity-auto" invoke="delete" default-entity-name="RequirementStatus" auth="true"> + <description>Remove Requirement Status</description> + <auto-attributes include="pk" mode="IN"/> + </service> <service name="associatedRequirementWithRequestItem" engine="simple" location="component://order/minilang/requirement/RequirementServices.xml" invoke="associateRequirementWithRequestItem"> |
Free forum by Nabble | Edit this page |