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

<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">

    <screen name="OrderPurchaseReportOptions">
        <section>
            <actions>
                <set field="titleProperty" value="OrderReports"/>
                <set field="headerItem" value="reports"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <include-portal-page id="OrderReportPage"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="OrderReportSalesByStore">
        <section>
            <actions>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
            </actions>
            <widgets>
                <screenlet title="${uiLabelMap.OrderReportSalesByStore}">
                    <include-form name="SalesByStoreReport" location="component://order/widget/ordermgr/ReportForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen>

    <screen name="OrderReportOpenOrderItems">
        <section>
            <actions>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
            </actions>
            <widgets>
                <screenlet title="${uiLabelMap.OrderReportOpenOrderItems}">
                    <include-form name="OpenOrderItemsReport" location="component://order/widget/ordermgr/ReportForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen>

    <screen name="OrderReportPurchasesByOrganization">
        <section>
            <actions>
                <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
            </actions>
            <widgets>
                <screenlet title="${uiLabelMap.OrderReportPurchasesByOrganization}">
                    <include-form name="PurchasesByOrganizationReport" location="component://order/widget/ordermgr/ReportForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen>

    <screen name="OrderReportPurchasesByProduct">
        <section>
            <actions>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
            </actions>
            <widgets>
                <screenlet title="${uiLabelMap.OrderReportPurchasesByProduct}">
                    <include-form name="OrderPurchaseProductOptions" location="component://order/widget/ordermgr/ReportForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen>

    <screen name="OrderReportPurchasesByPaymentMethod">
        <section>
            <actions>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
            </actions>
            <widgets>
                <screenlet title="${uiLabelMap.OrderReportPurchasesByPaymentMethod}">
                    <include-form name="OrderPurchasePaymentOptions" location="component://order/widget/ordermgr/ReportForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen>
    
    <!--New Screen-->
    <screen name="SalesReport">
        <section>
            <actions>
                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
            </actions>
            <widgets>
                <screenlet title="Sales Report">
                    <include-form name="SalesReport" location="component://order/widget/ordermgr/ReportForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen>

    <screen name="NetBeforeOverheadReport">
        <section>
            <actions>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
            </actions>
            <widgets>
                <screenlet title="Net Before Overhead Report">
                    <include-form name="NetBeforeOverheadReport" location="component://order/widget/ordermgr/ReportForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen>
    
    <screen name="ProductDemandReport">
        <section>
            <actions>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
            </actions>
            <widgets>
                <screenlet title="Product Demand Report">
                    <include-form name="ProductDemandReport" location="component://order/widget/ordermgr/ReportForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen> 

    <screen name="OrderPurchaseReportPayment">
        <section>
            <actions>
                <set field="titleProperty" value="OrderReportPurchasesByPaymentMethod"/>
                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <entity-condition entity-name="OrderPurchasePaymentSummary" list="orderPurchasePaymentSummaryList">
                    <condition-list combine="and">
                        <condition-expr field-name="productStoreId" operator="equals" from-field="parameters.productStoreId" ignore-if-empty="true"/>
                        <condition-expr field-name="originFacilityId" operator="equals" from-field="parameters.originFacilityId" ignore-if-empty="true"/>
                        <condition-expr field-name="terminalId" operator="equals" from-field="parameters.terminalId" ignore-if-empty="true"/>
                        <condition-expr field-name="statusId" operator="equals" from-field="parameters.statusId" ignore-if-empty="true"/>
                        <condition-expr field-name="orderDate" operator="greater-equals" from-field="parameters.fromOrderDate" ignore-if-null="true"/>
                        <condition-expr field-name="orderDate" operator="less" from-field="parameters.thruOrderDate" ignore-if-null="true"/>
                    </condition-list>
                    <select-field field-name="productStoreId"/>
                    <select-field field-name="originFacilityId"/>
                    <select-field field-name="terminalId"/>
                    <select-field field-name="statusId"/>
                    <select-field field-name="paymentMethodTypeId"/>
                    <select-field field-name="description"/>
                    <select-field field-name="maxAmount"/>
                    <order-by field-name="productStoreId"/>
                    <order-by field-name="originFacilityId"/>
                    <order-by field-name="terminalId"/>
                    <order-by field-name="paymentMethodTypeId"/>
                </entity-condition>
            </actions>
            <widgets>
                <platform-specific>
                    <xsl-fo><html-template location="component://order/webapp/ordermgr/reports/OrderPurchaseReportPayment.fo.ftl"/></xsl-fo>
                </platform-specific>
            </widgets>
        </section>
    </screen>
    <screen name="OrderPurchaseReportProduct">
        <section>
            <actions>
                <set field="titleProperty" value="OrderReportPurchasesByProduct"/>
                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <entity-condition entity-name="OrderPurchaseProductSummary" list="orderPurchaseProductSummaryList">
                    <condition-list combine="and">
                        <condition-expr field-name="productStoreId" operator="equals" from-field="parameters.productStoreId" ignore-if-empty="true"/>
                        <condition-expr field-name="orderTypeId" operator="equals" from-field="parameters.orderTypeId" ignore-if-empty="true"/>
                        <condition-expr field-name="originFacilityId" operator="equals" from-field="parameters.originFacilityId" ignore-if-empty="true"/>
                        <condition-expr field-name="terminalId" operator="equals" from-field="parameters.terminalId" ignore-if-empty="true"/>
                        <condition-expr field-name="statusId" operator="equals" from-field="parameters.statusId" ignore-if-empty="true"/>
                        <condition-expr field-name="orderDate" operator="greater-equals" from-field="parameters.fromOrderDate" ignore-if-null="true"/>
                        <condition-expr field-name="orderDate" operator="less" from-field="parameters.thruOrderDate" ignore-if-null="true"/>
                    </condition-list>
                    <select-field field-name="productStoreId"/>
                    <select-field field-name="originFacilityId"/>
                    <select-field field-name="terminalId"/>
                    <select-field field-name="statusId"/>
                    <select-field field-name="productId"/>
                    <select-field field-name="internalName"/>
                    <select-field field-name="quantity"/>
                    <select-field field-name="cancelQuantity"/>
                    <order-by field-name="productStoreId"/>
                    <order-by field-name="originFacilityId"/>
                    <order-by field-name="terminalId"/>
                    <order-by field-name="productId"/>
                </entity-condition>
            </actions>
            <widgets>
                <platform-specific>
                    <xsl-fo><html-template location="component://order/webapp/ordermgr/reports/OrderPurchaseReportProduct.fo.ftl"/></xsl-fo>
                </platform-specific>
            </widgets>
        </section>
    </screen>

    <!-- generates the pdf for report of sales by store and customer, grouped by product -->
    <screen name="SalesByStoreReport">
        <section>
            <actions>
                <set field="titleProperty" value="OrderReportSalesByStore"/>
                <set field="toPartyId" from-field="parameters.toPartyId"/>
                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <entity-condition entity-name="OrderReportSalesGroupByProduct" list="productReportList">
                    <condition-list combine="and">
                        <!-- this can use the other view, so long as the filter is by SALES_ORDER and fromPartyId = ProductStore.payToPartyId if provided -->
                        <condition-expr field-name="productStoreId" operator="equals" from-field="parameters.productStoreId" ignore-if-empty="true"/>
                        <condition-expr field-name="partyId" operator="equals" from-field="parameters.toPartyId" ignore-if-empty="true"/>
                        <condition-expr field-name="roleTypeId" operator="equals" value="BILL_TO_CUSTOMER"/>
                        <condition-expr field-name="orderTypeId" operator="equals" value="SALES_ORDER"/>
                        <!-- possible bug: using from-field="parameters.orderStatusId" did not work for the following line -->
                        <condition-expr field-name="orderStatusId" operator="equals" value="${parameters.orderStatusId}" ignore-if-empty="true"/>
                        <condition-expr field-name="orderDate" operator="greater-equals" from-field="parameters.fromOrderDate" ignore-if-null="true"/>
                        <condition-expr field-name="orderDate" operator="less" from-field="parameters.thruOrderDate" ignore-if-null="true"/>
                    </condition-list>
                    <!-- note that we need to explicitly identify the fields to select, otherwise the query will include fields that can't logically be grouped -->
                    <select-field field-name="productStoreId"/>
                    <select-field field-name="storeName"/>
                    <select-field field-name="productId"/>
                    <select-field field-name="internalName"/>
                    <select-field field-name="quantityOrdered"/>
                    <select-field field-name="unitPrice"/>
                    <order-by field-name="storeName"/>
                    <order-by field-name="internalName"/>
                </entity-condition>
            </actions>
            <widgets>
                <platform-specific>
                    <xsl-fo><html-template location="component://order/webapp/ordermgr/reports/SalesByStoreReport.fo.ftl"/></xsl-fo>
                </platform-specific>
            </widgets>
        </section>
    </screen>

    <!-- generates report of open order items -->
    <screen name="OpenOrderItemsReport">
        <section>
            <actions>
                <set field="titleProperty" value="OrderReportOpenOrderItems"/>
                <set field="headerItem" value="reports"/>
                <set field="viewSize" value="${parameters.VIEW_SIZE}" default-value="20" type="Integer"/>
                <set field="viewIndex" value="${parameters.VIEW_INDEX}" default-value="0" type="Integer"/>
                <set field="fromOrderDate" from-field="parameters.fromOrderDate" type="Timestamp"/>
                <set field="thruOrderDate" from-field="parameters.thruOrderDate" type="Timestamp"/>
                <script location="component://order/webapp/ordermgr/WEB-INF/actions/reports/OpenOrderItemsReport.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <screenlet title="${uiLabelMap.OrderReportOpenOrderItems} - ${productStore.storeName}">
                            <include-form name="OpenOrderItemsList" location="component://order/widget/ordermgr/ReportForms.xml"/>
                        </screenlet>
                        <screenlet title="${uiLabelMap.OrderReportOpenOrderItems}">
                            <include-form name="OpenOrderItemsTotal" location="component://order/widget/ordermgr/ReportForms.xml"/>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <!-- generates the pdf for report of purchases by organization, grouped by product -->
    <screen name="PurchasesByOrganizationReport">
        <section>
            <actions>
                <set field="titleProperty" value="OrderReportPurchasesByOrganization"/>
                <set field="toPartyId" from-field="parameters.toPartyId"/>
                <set field="fromPartyId" from-field="parameters.fromPartyId"/>
                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <entity-condition entity-name="OrderReportPurchasesGroupByProduct" list="productReportList">
                    <condition-list combine="and">
                        <condition-expr field-name="toPartyId" operator="equals" from-field="parameters.toPartyId" ignore-if-empty="true"/>
                        <condition-expr field-name="toRoleTypeId" operator="equals" value="BILL_TO_CUSTOMER"/>
                        <condition-expr field-name="fromPartyId" operator="equals" from-field="parameters.fromPartyId" ignore-if-empty="true"/>
                        <condition-expr field-name="fromRoleTypeId" operator="equals" value="BILL_FROM_VENDOR"/>
                        <condition-expr field-name="orderTypeId" operator="equals" value="PURCHASE_ORDER"/>
                        <condition-expr field-name="orderStatusId" operator="equals" value="${parameters.orderStatusId}" ignore-if-empty="true"/>
                        <condition-expr field-name="orderDate" operator="greater-equals" from-field="parameters.fromOrderDate" ignore-if-null="true"/>
                        <condition-expr field-name="orderDate" operator="less" from-field="parameters.thruOrderDate" ignore-if-null="true"/>
                    </condition-list>
                    <!-- note that we need to explicitly identify the fields to select, otherwise the query will include fields that can't logically be grouped -->
                    <select-field field-name="productId"/>
                    <select-field field-name="internalName"/>
                    <select-field field-name="quantity"/>
                    <select-field field-name="unitPrice"/>
                    <order-by field-name="internalName"/>
                </entity-condition>
            </actions>
            <widgets>
                <platform-specific>
                    <xsl-fo><html-template location="component://order/webapp/ordermgr/reports/PurchasesByOrganizationReport.fo.ftl"/></xsl-fo>
                </platform-specific>
            </widgets>
        </section>
    </screen>
    
    <screen name="SalesOrderReport">
        <section>
            <actions>
                <entity-condition entity-name="SalesOrderItemStarSchema" list="SalesReportList">
                    <condition-list combine="and">
                        <condition-expr field-name="orderDate" operator="greater-equals" from-field="parameters.fromOrderDate" ignore-if-null="true"/>
                        <condition-expr field-name="orderDate" operator="less" from-field="parameters.thruOrderDate" ignore-if-null="true"/>
                    </condition-list>
                </entity-condition>
            </actions>
            <widgets>
                <platform-specific>
                    <xml><html-template location="component://order/webapp/ordermgr/reports/SalesReport.rptdesign"/></xml>
                </platform-specific>
            </widgets>
        </section>
    </screen>

    <screen name="NetBeforeOverheadOrderReport">
        <section>
            <widgets>
                <platform-specific>
                    <xml><html-template location="component://order/webapp/ordermgr/reports/NetBeforeOverheadReport.rptdesign"/></xml>
                </platform-specific>
            </widgets>
        </section>
    </screen>
    
    <screen name="ProductDemandOrderReport ">
        <section>
            <widgets>
                <platform-specific>
                    <xml><html-template location="component://order/webapp/ordermgr/reports/ProductDemandReport.rptdesign"/></xml>
                </platform-specific>
            </widgets>
        </section>
    </screen>
    
    <!-- Sale Order By Referrer -->
    <screen name="SaleOrdersByReferrerReport">
        <section>
            <widgets>
                <screenlet title="Sale Orders by Referrer Report">
                    <include-form name="OrderByReferrer" location="component://order/widget/ordermgr/ReportForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen>
    <!-- Sale Order By Channel -->
    <screen name="SaleOrdersByChannelReport">
        <section>
            <widgets>
                <screenlet title="Sale Orders By Channel Report">
                    <include-form name="SaleOrdersByChannel" location="component://order/widget/ordermgr/ReportForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen>
    <!-- Sale Order with Discount Code -->
    <screen name="SaleOrderDiscountCodeReport">
        <section>
            <widgets>
                <screenlet title="Sale Orders Discount Code Report">
                    <include-form name="SaleOrderDiscountCode" location="component://order/widget/ordermgr/ReportForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen>
    <!-- Last Three Months Sales Report -->
    <screen name="Last3MonthsSalesReport">
        <section>
            <widgets>
                <screenlet title="Last Three Months Sales Report">
                    <include-form name="Last3MonthsSalesReport" location="component://order/widget/ordermgr/ReportForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen>
    <!-- Coupon Sales Report -->
    <screen name="CouponSalesReport">
        <section>
            <widgets>
                <screenlet title="Coupon Sales Report">
                    <include-form name="CouponSalesReport" location="component://order/widget/ordermgr/ReportForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen>
</screens>
