src/org/openbravo/erpCommon/ad_reports/ReportProduction_data.xsql
author David Baz Fayos <david.baz@openbravo.com>
Tue, 27 May 2008 15:26:10 +0000
changeset 1044 8691bbc94032
parent 0 0247c26f10c6
child 6701 690d2af86089
permissions -rw-r--r--
Removed old frame parameter of windowTableId
<?xml version="1.0" encoding="UTF-8" ?>
<!--
 *************************************************************************
 * The contents of this file are subject to the Openbravo  Public  License
 * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
 * Version 1.1  with a permitted attribution clause; you may not  use this
 * file except in compliance with the License. You  may  obtain  a copy of
 * the License at http://www.openbravo.com/legal/license.html 
 * Software distributed under the License  is  distributed  on  an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific  language  governing  rights  and  limitations
 * under the License. 
 * The Original Code is Openbravo ERP. 
 * The Initial Developer of the Original Code is Openbravo SL 
 * All portions are Copyright (C) 2001-2006 Openbravo SL 
 * All Rights Reserved. 
 * Contributor(s):  ______________________________________.
 ************************************************************************
-->





<SqlClass name="ReportProductionData" package="org.openbravo.erpCommon.ad_reports">
  <SqlClassComment></SqlClassComment>
  <SqlMethod name="select" type="preparedStatement" return="multiple">
    <SqlMethodComment></SqlMethodComment>
    <Sql>
    <![CDATA[
      SELECT PRODUCTION_NAME, MOVEMENTDATE, PRODUCT_NAME, MOVEMENTQTY, DESCRIPTION, UOM_NAME
      FROM (SELECT M_PRODUCTION.NAME AS PRODUCTION_NAME, M_PRODUCTION.MOVEMENTDATE, M_PRODUCT.NAME AS PRODUCT_NAME, 
      SUM((CASE ? WHEN 'Y' THEN ROUND(M_PRODUCTIONLINE.MOVEMENTQTY, 2) ELSE (CASE SIGN(M_PRODUCTIONLINE.MOVEMENTQTY) WHEN -1 THEN 0 ELSE ROUND(M_PRODUCTIONLINE.MOVEMENTQTY, 2) END) END)) AS MOVEMENTQTY, M_ATTRIBUTESETINSTANCE.DESCRIPTION, C_UOM.NAME AS UOM_NAME
      FROM M_PRODUCTIONLINE left join M_ATTRIBUTESETINSTANCE on M_PRODUCTIONLINE.M_ATTRIBUTESETINSTANCE_ID = M_ATTRIBUTESETINSTANCE.M_ATTRIBUTESETINSTANCE_ID,
      M_PRODUCTION, M_PRODUCTIONPLAN,  M_PRODUCT,  C_UOM
      WHERE M_PRODUCTION.M_PRODUCTION_ID = M_PRODUCTIONPLAN.M_PRODUCTION_ID
      AND M_PRODUCTIONPLAN.M_PRODUCTIONPLAN_ID = M_PRODUCTIONLINE.M_PRODUCTIONPLAN_ID
      AND M_PRODUCTIONLINE.M_PRODUCT_ID = M_PRODUCT.M_PRODUCT_ID
      AND M_PRODUCTIONLINE.C_UOM_ID = C_UOM.C_UOM_ID
      AND M_PRODUCTION.AD_CLIENT_ID IN ('1')
      AND M_PRODUCTION.AD_ORG_ID IN ('1')
      AND M_PRODUCTION.PROCESSED = 'Y'
      AND M_PRODUCTION.MOVEMENTDATE >= to_date(?)
      AND M_PRODUCTION.MOVEMENTDATE < to_date(?)
      AND M_PRODUCTION.ISSOTRX = 'Y'
      GROUP BY M_PRODUCTION.NAME, M_PRODUCTION.MOVEMENTDATE, M_PRODUCT.NAME, M_ATTRIBUTESETINSTANCE.DESCRIPTION, C_UOM.NAME
      ORDER BY PRODUCTION_NAME, MOVEMENTDATE, MOVEMENTQTY DESC) AA
      WHERE MOVEMENTQTY <> 0
     ]]></Sql>
      <Parameter name="isRaw"/>
      <Parameter name="adUserClient" type="replace" optional="true" after="M_PRODUCTION.AD_CLIENT_ID IN (" text="'1'"/>
      <Parameter name="adUserOrg" type="replace" optional="true" after="M_PRODUCTION.AD_ORG_ID IN (" text="'1'"/>
      <Parameter name="dateFrom"/>
      <Parameter name="dateTo"/>
  </SqlMethod>
  <SqlMethod name="set" type="constant" return="multiple">
      <SqlMethodComment></SqlMethodComment>
      <Sql></Sql>
  </SqlMethod>
  <SqlMethod name="selectSummering" type="preparedStatement" return="multiple">
    <SqlMethodComment></SqlMethodComment>
    <Sql>
    <![CDATA[
      SELECT M_PRODUCT.NAME AS PRODUCT_NAME, SUM(ROUND(M_PRODUCTIONLINE.MOVEMENTQTY,2)) AS MOVEMENTQTY, C_UOM.NAME AS UOM_NAME
      FROM M_PRODUCTION, M_PRODUCTIONPLAN, M_PRODUCTIONLINE, M_PRODUCT, C_UOM
      WHERE M_PRODUCTION.M_PRODUCTION_ID = M_PRODUCTIONPLAN.M_PRODUCTION_ID
      AND M_PRODUCTIONPLAN.M_PRODUCTIONPLAN_ID = M_PRODUCTIONLINE.M_PRODUCTIONPLAN_ID
      AND M_PRODUCTIONLINE.M_PRODUCT_ID = M_PRODUCT.M_PRODUCT_ID
      AND M_PRODUCTIONLINE.C_UOM_ID = C_UOM.C_UOM_ID
      AND M_PRODUCTION.AD_CLIENT_ID IN ('1')
      AND M_PRODUCTION.AD_ORG_ID IN ('1')
      AND M_PRODUCTION.PROCESSED = 'Y'
      AND M_PRODUCTIONLINE.MOVEMENTQTY > 0
      AND M_PRODUCTION.MOVEMENTDATE >= to_date(?)
      AND M_PRODUCTION.MOVEMENTDATE < to_date(?)
      AND M_PRODUCTION.ISSOTRX = 'Y'
      GROUP BY M_PRODUCT.NAME, C_UOM.NAME
      HAVING SUM(ROUND(M_PRODUCTIONLINE.MOVEMENTQTY,2)) > 0
     ]]></Sql>
      <Parameter name="adUserClient" type="replace" optional="true" after="M_PRODUCTION.AD_CLIENT_ID IN (" text="'1'"/>
      <Parameter name="adUserOrg" type="replace" optional="true" after="M_PRODUCTION.AD_ORG_ID IN (" text="'1'"/>
      <Parameter name="dateFrom"/>
      <Parameter name="dateTo"/>
  </SqlMethod>
</SqlClass>