Author: jacopoc
Date: Thu Sep 27 01:49:35 2007 New Revision: 579947 URL: http://svn.apache.org/viewvc?rev=579947&view=rev Log: Iissuance of materials for productions: added ability to specify a secondary location; added flag to return an error message if materials are not available. Modified: ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels.properties ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels_it.properties ofbiz/trunk/applications/manufacturing/script/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.xml ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml Modified: ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels.properties URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels.properties?rev=579947&r1=579946&r2=579947&view=diff ============================================================================== --- ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels.properties (original) +++ ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels.properties Thu Sep 27 01:49:35 2007 @@ -128,6 +128,7 @@ ManufacturingMandatoryWorkEfforts=Mandatory Production Runs ManufacturingManufacturingRules=Manufacturing Rules ManufacturingMaterials=Materials +ManufacturingMaterialsNotAvailable=Materials Not Available in Warehouse ManufacturingMaterialsRequiredByRunningTask=Materials Required By The Running Task ManufacturingMrp=MRP ManufacturingMrpJobLastExecuted=Last Job Modified: ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels_it.properties URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels_it.properties?rev=579947&r1=579946&r2=579947&view=diff ============================================================================== --- ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels_it.properties (original) +++ ofbiz/trunk/applications/manufacturing/config/ManufacturingUiLabels_it.properties Thu Sep 27 01:49:35 2007 @@ -128,6 +128,7 @@ ManufacturingMandatoryWorkEfforts=Cicli Produzione Obbligatori ManufacturingManufacturingRules=Regole Produzione ManufacturingMaterials=Materiali +ManufacturingMaterialsNotAvailable=Materiali Non Disponibili a Magazzino ManufacturingMrp=MRP ManufacturingMrpJobLastExecuted=Ultimo Lavoro ManufacturingMrpJobIsRunning=Un Lavoro MRP \u00e8 in esecuzione Modified: ofbiz/trunk/applications/manufacturing/script/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/script/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.xml?rev=579947&r1=579946&r2=579947&view=diff ============================================================================== --- ofbiz/trunk/applications/manufacturing/script/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.xml (original) +++ ofbiz/trunk/applications/manufacturing/script/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.xml Thu Sep 27 01:49:35 2007 @@ -40,6 +40,7 @@ <set-service-fields to-map-name="callSvcMap" service-name="issueProductionRunTaskComponent" map-name="component"/> <set from-field="reserveOrderEnumId" field="callSvcMap.reserveOrderEnumId"/> <set field="callSvcMap.description" value="BOM Part"/> + <set field="callSvcMap.failIfItemsAreNotAvailable" value="Y"/> <call-service service-name="issueProductionRunTaskComponent" in-map-name="callSvcMap"/> </if-not-empty> </iterate> @@ -93,10 +94,20 @@ <field-to-list field-name="orderByString" list-name="orderByList"/> <set from-field="productId" field="lookupFieldMap.productId"/> <set from-field="workEffort.facilityId" field="lookupFieldMap.facilityId"/> + <!-- if locationSeqId is passed, then only the inventory items in the location are considered --> <if-not-empty field-name="parameters.locationSeqId"> <set from-field="parameters.locationSeqId" field="lookupFieldMap.locationSeqId"/> </if-not-empty> - <find-by-and entity-name="InventoryItem" map-name="lookupFieldMap" list-name="inventoryItemList" order-by-list-name="orderByList"/> + <find-by-and entity-name="InventoryItem" map-name="lookupFieldMap" list-name="primaryInventoryItemList" order-by-list-name="orderByList"/> + <!-- if secondaryLocationSeqId is also passed, then also the inventory items in the secondary location are considered, after the ones in the main location --> + <if-not-empty field-name="parameters.locationSeqId"> + <if-not-empty field-name="parameters.secondaryLocationSeqId"> + <set from-field="parameters.secondaryLocationSeqId" field="lookupFieldMap.locationSeqId"/> + </if-not-empty> + </if-not-empty> + <find-by-and entity-name="InventoryItem" map-name="lookupFieldMap" list-name="secondaryInventoryItemList" order-by-list-name="orderByList"/> + <set from-field="primaryInventoryItemList" field="inventoryItemList"/> + <list-to-list list-name="secondaryInventoryItemList" to-list-name="inventoryItemList"/> <set from-field="estimatedQuantity" field="parameters.quantityNotIssued"/> @@ -107,6 +118,11 @@ <!-- if quantityNotIssued is not 0, then pull it from the last non-serialized inventory item found, in the quantityNotIssued field --> <if-compare field-name="parameters.quantityNotIssued" operator="not-equals" value="0" type="Double"> + <if-compare field-name="parameters.failIfItemsAreNotAvailable" operator="equals" value="Y" type="String"> + <add-error><fail-property property="ManufacturingMaterialsNotAvailable" resource="ManufacturingUiLabels"/></add-error> + <add-error><fail-message message=" ${productId}: ${parameters.quantityNotIssued}"/></add-error> + </if-compare> + <check-errors/> <if-not-empty field-name="lastNonSerInventoryItem"> <!-- create ItemIssuance record --> <set from-field="parameters.workEffortId" field="issuanceCreateMap.workEffortId"/> @@ -141,7 +157,7 @@ <call-service service-name="createInventoryItem" in-map-name="createInvItemInMap"> <result-to-field result-name="inventoryItemId" field-name="createInvItemOutMap.inventoryItemId"/> </call-service> - + <!-- create ItemIssuance record --> <set field="issuanceCreateMap.workEffortId" from-field="parameters.workEffortId"/> <set field="issuanceCreateMap.inventoryItemId" from-field="createInvItemOutMap.inventoryItemId"/> @@ -166,7 +182,6 @@ <clear-field field-name="createDetailMap"/> </else> </if-not-empty> - <calculate field-name="quantityNotIssued" map-name="parameters"><number value="0"/></calculate> </if-compare> <if-not-empty field-name="workEffortGoodStandard"> Modified: ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml?rev=579947&r1=579946&r2=579947&view=diff ============================================================================== --- ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml (original) +++ ofbiz/trunk/applications/manufacturing/servicedef/services_production_run.xml Thu Sep 27 01:49:35 2007 @@ -148,14 +148,18 @@ If fromDate is passed, then the WorkEffortGoodStandard record with pk composed of (workEffortId|productId|fromDate) with type PRUNT_PROD_NEEDED is retrieved and used to get the quantity; its status is also updated to COMPLETED after the issuance is done. - If locationSeqId is provided, then the items are only issued from the inventory items associated to the location. + If locationSeqIds are provided, then the items are only issued from the inventory items associated to the locations. + If failIfItemsAreNotAvailable is set to "Y" (the default is "N") then the service fails if there isn not enough inventory: + no items with negative qoh will be created. </description> <attribute name="workEffortId" type="String" mode="IN" optional="false"/> <attribute name="productId" type="String" mode="IN" optional="false"/> <attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/> <attribute name="quantity" type="Double" mode="IN" optional="true"/> + <attribute name="failIfItemsAreNotAvailable" type="String" mode="IN" optional="true"/> <attribute name="reserveOrderEnumId" type="String" mode="IN" optional="true"/> <attribute name="locationSeqId" type="String" mode="IN" optional="true"/> + <attribute name="secondaryLocationSeqId" type="String" mode="IN" optional="true"/> <attribute name="reasonEnumId" type="String" mode="IN" optional="true"/> <attribute name="description" type="String" mode="IN" optional="true"/> </service> Modified: ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml?rev=579947&r1=579946&r2=579947&view=diff ============================================================================== --- ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml (original) +++ ofbiz/trunk/applications/manufacturing/webapp/manufacturing/jobshopmgt/ProductionRunForms.xml Thu Sep 27 01:49:35 2007 @@ -273,6 +273,7 @@ <field name="productionRunId"><hidden/></field> <field name="workEffortId"><hidden/></field> <field name="fromDate"><hidden/></field> + <field name="failIfItemsAreNotAvailable"><hidden value="Y"/></field> <field name="task" entry-name="workEffortId" title="${uiLabelMap.ManufacturingRoutingTaskId}"> <display description="${workEffortName} [${workEffortId}]"/> </field> @@ -284,6 +285,14 @@ <field name="locationSeqId"> <drop-down allow-empty="true"> <entity-options entity-name="ProductFacilityLocation" description="${locationSeqId}"> + <entity-constraint name="productId" env-name="productId"/> + <entity-constraint name="facilityId" env-name="facilityId"/> + </entity-options> + </drop-down> + </field> + <field name="secondaryLocationSeqId"> + <drop-down allow-empty="true"> + <entity-options entity-name="ProductFacilityLocation" description="${locationSeqId}" key-field-name="locationSeqId"> <entity-constraint name="productId" env-name="productId"/> <entity-constraint name="facilityId" env-name="facilityId"/> </entity-options> |
Free forum by Nabble | Edit this page |