You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2021/02/18 10:58:32 UTC
[ofbiz-framework] branch trunk updated: Improved: Improvement on
Find BOM screen (OFBIZ-12179)
This is an automated email from the ASF dual-hosted git repository.
jleroux pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push:
new e259170 Improved: Improvement on Find BOM screen (OFBIZ-12179)
e259170 is described below
commit e259170b77f73e8320b8ab7e23b158dab48a2dc9
Author: Jacques Le Roux <ja...@les7arts.com>
AuthorDate: Thu Feb 18 11:56:43 2021 +0100
Improved: Improvement on Find BOM screen (OFBIZ-12179)
While exploring the manufacturing code I observed on the find screen BOM type is
set hardcoded. We can improve it by using the entity-option tag to allow all
ProductAssocType with parentTypeId equals "PRODUCT_COMPONENT".
Thanks: Nameet Jain
---
applications/manufacturing/groovyScripts/bom/FindProductBom.groovy | 6 +++---
applications/manufacturing/widget/manufacturing/BomForms.xml | 5 +++--
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/applications/manufacturing/groovyScripts/bom/FindProductBom.groovy b/applications/manufacturing/groovyScripts/bom/FindProductBom.groovy
index 9d5f5a4..9cfd85d 100644
--- a/applications/manufacturing/groovyScripts/bom/FindProductBom.groovy
+++ b/applications/manufacturing/groovyScripts/bom/FindProductBom.groovy
@@ -17,6 +17,7 @@
* under the License.
*/
+import org.apache.ofbiz.entity.util.EntityUtil
import org.apache.ofbiz.entity.condition.EntityCondition
import org.apache.ofbiz.entity.condition.EntityOperator
@@ -33,9 +34,8 @@ if (parameters.productAssocTypeId) {
cond = EntityCondition.makeCondition("productAssocTypeId", EntityOperator.EQUALS, parameters.productAssocTypeId)
condList.add(cond)
} else {
- cond = EntityCondition.makeCondition([EntityCondition.makeCondition("productAssocTypeId", EntityOperator.EQUALS, "ENGINEER_COMPONENT"),
- EntityCondition.makeCondition("productAssocTypeId", EntityOperator.EQUALS, "MANUF_COMPONENT")
- ], EntityOperator.OR)
+ bomAssocTypeIds = EntityUtil.getFieldListFromEntityList(select("productAssocTypeId").from("ProductAssocType").where("parentTypeId", "PRODUCT_COMPONENT").queryList(), "productAssocTypeId", true)
+ cond = EntityCondition.makeCondition("productAssocTypeId", EntityOperator.IN, bomAssocTypeIds)
condList.add(cond)
}
bomListIterator = select("productId", "internalName", "productAssocTypeId")
diff --git a/applications/manufacturing/widget/manufacturing/BomForms.xml b/applications/manufacturing/widget/manufacturing/BomForms.xml
index 7dbe74e..777a87e 100644
--- a/applications/manufacturing/widget/manufacturing/BomForms.xml
+++ b/applications/manufacturing/widget/manufacturing/BomForms.xml
@@ -136,8 +136,9 @@ under the License.
<field name="productIdTo" title="${uiLabelMap.ProductProductIdTo}"><lookup target-form-name="LookupProduct"/></field>
<field name="productAssocTypeId" title="${uiLabelMap.ManufacturingBomType}">
<drop-down allow-empty="true">
- <option key="MANUF_COMPONENT" description="${uiLabelMap.ManufacturingBillOfMaterials}"/>
- <option key="ENGINEER_COMPONENT" description="${uiLabelMap.ManufacturingEngineeringBillOfMaterials}"/>
+ <entity-options entity-name="ProductAssocType" description="${description}">
+ <entity-constraint name="parentTypeId" operator="equals" value="PRODUCT_COMPONENT"/>
+ </entity-options>
</drop-down>
</field>
<field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>