<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://ofbiz.apache.org/Simple-Method" xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method http://ofbiz.apache.org/dtds/simple-methods.xsd">

    <simple-method method-name="getProductRouting" short-description="Get the product's routing and routing tasks">
        <set from-field="parameters.productId" field="lookupRouting.productId"/>
        <set value="ROU_PROD_TEMPLATE" field="lookupRouting.workEffortGoodStdTypeId"/>
        <!-- If applicableDate has been passed use the value with all filter-by-date calls-->
        <if-not-empty field="parameters.applicableDate">
                <set from-field="parameters.applicableDate" field="filterDate"/>
            <else>
                <now-timestamp field="filterDate"/>
            </else>
        </if-not-empty>
        <!-- If a workEffortId has been passed, use it to look up the desired routing-->
        <if-not-empty field="parameters.workEffortId">
            <set from-field="parameters.workEffortId" field="lookupRouting.workEffortId"/>
            <find-by-and entity-name="WorkEffortGoodStandard" list="routings" map="lookupRouting"/>
            <filter-list-by-date list="routings" valid-date="filterDate"/>
            <first-from-list list="routings" entry="routingGS"/>
            <!-- If the routing is not associated with our product and it's a variant, then
                 check to see if it's virtual product has the routing -->
            <if-empty field="routingGS">
                <entity-condition entity-name="ProductAssoc" list="virtualProductAssocList" filter-by-date="true">
                    <condition-list combine="and">
                        <condition-expr field-name="productIdTo" from-field="parameters.productId"/>
                        <condition-expr field-name="productAssocTypeId" value="PRODUCT_VARIANT"/>
                    </condition-list>
                </entity-condition>
                <first-from-list list="virtualProductAssocList" entry="virtualProductAssoc"/>
                <if-not-empty field="virtualProductAssoc">
                    <set from-field="virtualProductAssoc.productId" field="lookupRouting.productId"/>
                    <find-by-and entity-name="WorkEffortGoodStandard" list="routings" map="lookupRouting"/>
                    <!-- Consider the validity against a date passed as (optional) parameter -->
                    <filter-list-by-date list="routings" valid-date="filterDate"/>
                    <first-from-list list="routings" entry="routingGS"/>
                </if-not-empty>
            </if-empty>
            <!-- No workEffortId has been passed, so retrieve the first routing found for this product-->
            <else>
                <find-by-and entity-name="WorkEffortGoodStandard" list="routings" map="lookupRouting"/>
                <!-- Consider the validity against a date passed as (optional) parameter -->
                <filter-list-by-date list="routings" valid-date="filterDate"/>
                <!-- TODO: we should consider the quantity to select the best routing -->
                <first-from-list list="routings" entry="routingGS"/>
                <!-- If there are no routings associated with our product and it's a variant, then
                     check to see if it's virtual product has a routing -->
                <if-empty field="routingGS">
                    <entity-condition entity-name="ProductAssoc" list="virtualProductAssocList">
                        <condition-list combine="and">
                            <condition-expr field-name="productIdTo" from-field="parameters.productId"/>
                            <condition-expr field-name="productAssocTypeId" value="PRODUCT_VARIANT"/>
                        </condition-list>
                    </entity-condition>
                    <filter-list-by-date list="virtualProductAssocList" valid-date="filterDate"/>
                    <first-from-list list="virtualProductAssocList" entry="virtualProductAssoc"/>
                    <if-not-empty field="virtualProductAssoc">
                        <set from-field="virtualProductAssoc.productId" field="lookupRouting.productId"/>
                        <set value="ROU_PROD_TEMPLATE" field="lookupRouting.workEffortGoodStdTypeId"/>
                        <find-by-and entity-name="WorkEffortGoodStandard" list="routings" map="lookupRouting"/>
                        <!-- Consider the validity against a date passed as (optional) parameter -->
                        <filter-list-by-date list="routings" valid-date="filterDate"/>
                        <!-- TODO: we should consider the quantity to select the best routing -->
                        <first-from-list list="routings" entry="routingGS"/>
                    </if-not-empty>
                </if-empty>
            </else>
        </if-not-empty>
        <if-not-empty field="routingGS">
            <clear-field field="lookupRouting"/>
            <set from-field="routingGS.workEffortId" field="lookupRouting.workEffortId"/>
            <find-by-primary-key entity-name="WorkEffort" value-field="routing" map="lookupRouting"/>
            <else>
                <!-- The default routing is used when no explicit routing is associated to the product
                     and the ignoreDefaultRouting is not equals to Y -->
                <if>
                    <condition>
                    <or>
                        <if-empty field="parameters.ignoreDefaultRouting"/>
                        <if-compare field="parameters.ignoreDefaultRouting" operator="equals" value="N"/>
                    </or>
                    </condition>
                    <then>
                        <clear-field field="lookupRouting"/>
                        <set value="DEFAULT_ROUTING" field="lookupRouting.workEffortId"/>
                        <find-by-primary-key entity-name="WorkEffort" value-field="routing" map="lookupRouting"/>
                    </then>
                </if>
            </else>
        </if-not-empty>
        <if-not-empty field="routing">
            <set from-field="routing.workEffortId" field="lookupTasks.workEffortIdFrom"/>
            <string-to-list string="sequenceNum" list="tasksOrder"/>
            <set value="ROUTING_COMPONENT" field="lookupTasks.workEffortAssocTypeId"/>
            <find-by-and entity-name="WorkEffortAssoc" list="tasks" map="lookupTasks" order-by-list="tasksOrder"/>
            <filter-list-by-date list="tasks"/>
        </if-not-empty>

        <field-to-result field="routing"/>
        <field-to-result field="tasks"/>
    </simple-method>
    <simple-method method-name="getRoutingTaskAssocs" short-description="Get the routing task assocs of a given routing">
        <set from-field="parameters.workEffortId" field="lookupTasks.workEffortIdFrom"/>
        <string-to-list string="sequenceNum" list="tasksOrder"/>
        <set value="ROUTING_COMPONENT" field="lookupTasks.workEffortAssocTypeId"/>
        <find-by-and entity-name="WorkEffortAssoc" list="routingTaskAssocs" map="lookupTasks" order-by-list="tasksOrder"/>
        <filter-list-by-date list="routingTaskAssocs"/>
        <field-to-result field="routingTaskAssocs"/>
    </simple-method>

</simple-methods>

