<?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.
-->

<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/services.xsd">
    <description>Manufacturing Services - Routing</description>
    <vendor>OFBiz</vendor>
    <version>1.0</version>

    <!-- Routing services -->
    <service name="lookupRoutingTask" engine="java"
            location="org.ofbiz.manufacturing.techdata.TechDataServices" invoke="lookupRoutingTask" auth="true">
        <description>Only used to defined the query lookup for Routing Task</description>
        <attribute name="workEffortName" type="String" form-display="true" form-label="${uiLabelMap.ManufacturingTaskName}" mode="IN" optional="true"/>
        <attribute name="fixedAssetId" type="String" form-display="true" form-label="${uiLabelMap.ManufacturingMachineGroup}" mode="IN" optional="true"/>
        <attribute name="lookupResult" type="List" mode="OUT" optional="false"/>
    </service>
    <service name="checkRoutingTaskAssoc" engine="java"
            location="org.ofbiz.manufacturing.techdata.TechDataServices" invoke="checkRoutingTaskAssoc" auth="true">
        <description>Check if a new routingTaskAssoc is ok or not (same SeqId and Date)</description>
        <auto-attributes entity-name="WorkEffortAssoc" include="pk" mode="IN"/>
        <attribute name="sequenceNum" type="Long" mode="IN" optional="true"/>
        <attribute name="thruDate" type="java.sql.Timestamp" mode="IN" optional="true"/>
        <attribute name="create" type="String" mode="IN" optional="true"/>
        <attribute name="sequenceNumNotOk" type="String" mode="OUT" optional="false"/> 
    </service>
    <service name="getProductRouting" engine="simple" auth="true"
                location="org/ofbiz/manufacturing/routing/RoutingServices.xml" invoke="getProductRouting">
        <description>Get the product's routing and routing tasks</description>
        <attribute mode="IN" name="productId" optional="false" type="String"/>
        <attribute mode="IN" name="workEffortId" optional="true" type="String"/>
        <attribute mode="IN" name="applicableDate" optional="true" type="java.sql.Timestamp"/>
        <attribute mode="IN" name="ignoreDefaultRouting" optional="true" type="String"/><!-- If this is set to Y, the default routing is not returned -->
        <attribute mode="OUT" name="routing" type="GenericValue" optional="true"/>
        <attribute mode="OUT" name="tasks" type="java.util.List" optional="true"/>
    </service>
    <service name="getRoutingTaskAssocs" engine="simple" auth="true"
                location="org/ofbiz/manufacturing/routing/RoutingServices.xml" invoke="getRoutingTaskAssocs">
        <description>Get the routing task assocs of a given routing</description>
        <attribute mode="IN" name="workEffortId" optional="false" type="String"/>
        <attribute mode="OUT" name="routingTaskAssocs" type="java.util.List" optional="true"/>
    </service>
    <service name="getEstimatedTaskTime" engine="java" auth="true"
                location="org.ofbiz.manufacturing.routing.RoutingServices" invoke="getEstimatedTaskTime">
        <description>Computes the estimated time needed to perform the task</description>
        <attribute mode="IN" name="taskId" optional="false" type="String"/>
        <attribute mode="IN" name="productId" optional="true" type="String"/>
        <attribute mode="IN" name="routingId" optional="true" type="String"/>
        <attribute mode="IN" name="quantity" optional="true" type="BigDecimal"/>
        <attribute mode="OUT" name="estimatedTaskTime" type="Long" optional="false"/>
        <attribute mode="OUT" name="setupTime" type="BigDecimal" optional="true"/>
        <attribute mode="OUT" name="taskUnitTime" type="BigDecimal" optional="true"/>
    </service>
</services>
