src/org/openbravo/erpCommon/ad_reports/ReportProduction_data.xsql
changeset 0 0247c26f10c6
child 6701 690d2af86089
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/openbravo/erpCommon/ad_reports/ReportProduction_data.xsql	Tue Nov 06 08:33:31 2007 +0000
@@ -0,0 +1,85 @@
+<?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>