Author: diveshdutta
Date: Mon Jul 4 18:19:43 2016 New Revision: 1751367 URL: http://svn.apache.org/viewvc?rev=1751367&view=rev Log: [OFBIZ-7512] Fixed: 'Issue Component' option after partial issuance against required component quantity is not accounting for already issued quantity. Thanks Swapnil Shah for reporting the issue and thanks Anuj Jain for providing the patch Modified: ofbiz/trunk/applications/manufacturing/minilang/jobshopmgt/ProductionRunServices.xml Modified: ofbiz/trunk/applications/manufacturing/minilang/jobshopmgt/ProductionRunServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/minilang/jobshopmgt/ProductionRunServices.xml?rev=1751367&r1=1751366&r2=1751367&view=diff ============================================================================== --- ofbiz/trunk/applications/manufacturing/minilang/jobshopmgt/ProductionRunServices.xml (original) +++ ofbiz/trunk/applications/manufacturing/minilang/jobshopmgt/ProductionRunServices.xml Mon Jul 4 18:19:43 2016 @@ -54,7 +54,6 @@ under the License. <!-- Warehouse --> <simple-method method-name="issueProductionRunTask" short-description="Issues the Inventory for a Production Run Task" login-required="false"> <entity-one entity-name="WorkEffort" value-field="workEffort"/> - <if-empty field="parameters.failIfItemsAreNotAvailable"> <set field="parameters.failIfItemsAreNotAvailable" value="Y"/> </if-empty> @@ -75,6 +74,29 @@ under the License. <clear-field field="callSvcMap"/> <set-service-fields to-map="callSvcMap" service-name="issueProductionRunTaskComponent" map="component"/> <set from-field="reserveOrderEnumId" field="callSvcMap.reserveOrderEnumId"/> + <!-- calculate quantity needed if the produced run quantity is produced partially --> + <entity-and list="issuances" entity-name="WorkEffortAndInventoryAssign"> + <field-map field-name="workEffortId" from-field="workEffort.workEffortId"/> + <field-map field-name="productId" from-field="component.productId"/> + </entity-and> + <set field="totalIssuance" value="0.00" type="BigDecimal"/> + <iterate list="issuances" entry="issuance"> + <calculate field="totalIssuance"> + <calcop operator="add"> + <calcop field="issuance.quantity" operator="get"/> + <calcop field="totalIssuance" operator="get"/> + </calcop> + </calculate> + </iterate> + + <if-compare field="totalIssuance" operator="not-equals" value="0.00"> + <set field="callSvcMap.quantity" value="0.00" type="BigDecimal"/> + <calculate field="callSvcMap.quantity"> + <calcop field="component.estimatedQuantity" operator="subtract"> + <calcop operator="get" field="totalIssuance"/> + </calcop> + </calculate> + </if-compare> <set field="callSvcMap.description" value="BOM Part"/> <set field="callSvcMap.failIfItemsAreNotAvailable" from-field="parameters.failIfItemsAreNotAvailable"/> <set field="callSvcMap.failIfItemsAreNotOnHand" from-field="parameters.failIfItemsAreNotOnHand"/> |
Free forum by Nabble | Edit this page |