<?xml version="1.0"?>
<ZopeData>
  <record id="1" aka="AAAAAAAAAAE=">
    <pickle>
      <tuple>
        <global name="SQL" module="Products.ZSQLMethods.SQL"/>
        <tuple/>
      </tuple>
    </pickle>
    <pickle>
      <dictionary>
        <item>
            <key> <string>_Use_Database_Methods_Permission</string> </key>
            <value>
              <list>
                <string>Member</string>
              </list>
            </value>
        </item>
        <item>
            <key> <string>_arg</string> </key>
            <value>
              <object>
                <klass>
                  <global name="Args" module="Shared.DC.ZRDB.Aqueduct"/>
                </klass>
                <tuple/>
                <state>
                  <dictionary>
                    <item>
                        <key> <string>_data</string> </key>
                        <value>
                          <dictionary>
                            <item>
                                <key> <string>from_table_list</string> </key>
                                <value>
                                  <dictionary>
                                    <item>
                                        <key> <string>type</string> </key>
                                        <value> <string>list</string> </value>
                                    </item>
                                  </dictionary>
                                </value>
                            </item>
                            <item>
                                <key> <string>group_by_expression</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                            <item>
                                <key> <string>ignore_variation</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                            <item>
                                <key> <string>input_simulation_state</string> </key>
                                <value>
                                  <dictionary>
                                    <item>
                                        <key> <string>type</string> </key>
                                        <value> <string>list</string> </value>
                                    </item>
                                  </dictionary>
                                </value>
                            </item>
                            <item>
                                <key> <string>inventory_list</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                            <item>
                                <key> <string>omit_input</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                            <item>
                                <key> <string>omit_output</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                            <item>
                                <key> <string>omit_simulation</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                            <item>
                                <key> <string>order_by_expression</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                            <item>
                                <key> <string>output_simulation_state</string> </key>
                                <value>
                                  <dictionary>
                                    <item>
                                        <key> <string>type</string> </key>
                                        <value> <string>list</string> </value>
                                    </item>
                                  </dictionary>
                                </value>
                            </item>
                            <item>
                                <key> <string>precision</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                            <item>
                                <key> <string>quantity_unit</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                            <item>
                                <key> <string>section_filtered</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                            <item>
                                <key> <string>selection_domain</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                            <item>
                                <key> <string>selection_report</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                            <item>
                                <key> <string>standardize</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                            <item>
                                <key> <string>statistic</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                            <item>
                                <key> <string>stock_table_id</string> </key>
                                <value>
                                  <dictionary>
                                    <item>
                                        <key> <string>default</string> </key>
                                        <value> <string>stock</string> </value>
                                    </item>
                                  </dictionary>
                                </value>
                            </item>
                            <item>
                                <key> <string>where_expression</string> </key>
                                <value>
                                  <dictionary/>
                                </value>
                            </item>
                          </dictionary>
                        </value>
                    </item>
                    <item>
                        <key> <string>_keys</string> </key>
                        <value>
                          <list>
                            <string>from_table_list</string>
                            <string>where_expression</string>
                            <string>order_by_expression</string>
                            <string>group_by_expression</string>
                            <string>selection_domain</string>
                            <string>selection_report</string>
                            <string>ignore_variation</string>
                            <string>standardize</string>
                            <string>omit_simulation</string>
                            <string>section_filtered</string>
                            <string>omit_input</string>
                            <string>omit_output</string>
                            <string>input_simulation_state</string>
                            <string>output_simulation_state</string>
                            <string>precision</string>
                            <string>inventory_list</string>
                            <string>statistic</string>
                            <string>quantity_unit</string>
                            <string>stock_table_id</string>
                          </list>
                        </value>
                    </item>
                  </dictionary>
                </state>
              </object>
            </value>
        </item>
        <item>
            <key> <string>allow_simple_one_argument_traversal</string> </key>
            <value>
              <none/>
            </value>
        </item>
        <item>
            <key> <string>arguments_src</string> </key>
            <value> <string>from_table_list:list\r\n
where_expression\r\n
order_by_expression\r\n
group_by_expression\r\n
selection_domain\r\n
selection_report\r\n
ignore_variation\r\n
standardize\r\n
omit_simulation\r\n
section_filtered\r\n
omit_input\r\n
omit_output\r\n
input_simulation_state:list\r\n
output_simulation_state:list\r\n
precision\r\n
inventory_list\r\n
statistic\r\n
quantity_unit\r\n
stock_table_id=stock</string> </value>
        </item>
        <item>
            <key> <string>cache_time_</string> </key>
            <value> <int>0</int> </value>
        </item>
        <item>
            <key> <string>class_file_</string> </key>
            <value> <string>ERP5.InventoryBrain</string> </value>
        </item>
        <item>
            <key> <string>class_name_</string> </key>
            <value> <string>InventoryListBrain</string> </value>
        </item>
        <item>
            <key> <string>connection_hook</string> </key>
            <value>
              <none/>
            </value>
        </item>
        <item>
            <key> <string>connection_id</string> </key>
            <value> <string>erp5_sql_connection</string> </value>
        </item>
        <item>
            <key> <string>id</string> </key>
            <value> <string>Resource_zGetInventoryList</string> </value>
        </item>
        <item>
            <key> <string>max_cache_</string> </key>
            <value> <int>100</int> </value>
        </item>
        <item>
            <key> <string>max_rows_</string> </key>
            <value> <int>0</int> </value>
        </item>
        <item>
            <key> <string>src</string> </key>
            <value> <string encoding="cdata"><![CDATA[

SELECT\n
<dtml-if expr="precision is not None">\n
  SUM(ROUND(<dtml-var stock_table_id>.quantity, <dtml-var precision>)) AS inventory,\n
  SUM(ROUND(<dtml-var stock_table_id>.quantity, <dtml-var precision>)) AS total_quantity,\n
<dtml-if quantity_unit>\n
  SUM(ROUND(<dtml-var stock_table_id>.quantity * measure.quantity, <dtml-var precision>))\n
  / <dtml-sqlvar quantity_unit type=float> AS converted_quantity,\n
</dtml-if>\n
  SUM(ROUND(<dtml-var stock_table_id>.total_price, <dtml-var precision>)) AS total_price\n
<dtml-else>\n
  SUM(<dtml-var stock_table_id>.quantity) AS inventory,\n
  SUM(<dtml-var stock_table_id>.quantity) AS total_quantity,\n
<dtml-if quantity_unit>\n
  ROUND(SUM(<dtml-var stock_table_id>.quantity * measure.quantity)\n
        / <dtml-sqlvar quantity_unit type=float>, 12) AS converted_quantity,\n
</dtml-if>\n
  SUM(<dtml-var stock_table_id>.total_price) AS total_price\n
</dtml-if>\n
<dtml-if inventory_list>\n
  ,node.title AS node_title,\n
  node.uid AS node_uid,\n
  node.relative_url AS node_relative_url,\n
  section.title AS section_title,\n
  section.uid AS section_uid,\n
  section.relative_url AS section_relative_url,\n
  resource.title AS resource_title,\n
  resource.relative_url AS resource_relative_url,\n
  <dtml-var stock_table_id>.variation_text AS variation_text,\n
  <dtml-var stock_table_id>.sub_variation_text AS sub_variation_text,\n
  <dtml-var stock_table_id>.resource_uid AS resource_uid,\n
  <dtml-var stock_table_id>.uid AS stock_uid,\n
  <dtml-var stock_table_id>.date as date,\n
  <dtml-var stock_table_id>.simulation_state as simulation_state,\n
  <dtml-var stock_table_id>.mirror_section_uid as mirror_section_uid,\n
  <dtml-var stock_table_id>.payment_uid as payment_uid,\n
  <dtml-var stock_table_id>.mirror_node_uid as mirror_node_uid,\n
  <dtml-var stock_table_id>.function_uid as function_uid,\n
  <dtml-var stock_table_id>.project_uid as project_uid,\n
  catalog.path as path\n
</dtml-if>\n
<dtml-if statistic>\n
  ,\n
  COUNT(DISTINCT node.title) AS node_title,\n
  COUNT(DISTINCT node.relative_url) AS node_relative_url,\n
  COUNT(DISTINCT section.title) AS section_title,\n
  COUNT(DISTINCT section.relative_url) AS section_relative_url,\n
  COUNT(DISTINCT resource.title) AS resource_title,\n
  COUNT(DISTINCT resource.relative_url) AS resource_relative_url,\n
  COUNT(DISTINCT <dtml-var stock_table_id>.variation_text) AS variation_text,\n
  MAX(<dtml-var stock_table_id>.resource_uid) AS resource_uid,\n
  COUNT(DISTINCT <dtml-var stock_table_id>.uid) AS stock_uid,\n
  MAX(<dtml-var stock_table_id>.date) AS date\n
</dtml-if>\n
\n
\n
FROM\n
  catalog, <dtml-var stock_table_id>\n
  <dtml-if section_filtered> INNER <dtml-else> LEFT </dtml-if>  \n
       JOIN catalog AS section ON (section.uid = <dtml-var stock_table_id>.section_uid)\n
<dtml-in prefix="table" expr="from_table_list"> \n
  <dtml-if expr="table_key not in (\'catalog\', stock_table_id)">\n
  , <dtml-var table_item> AS <dtml-var table_key>\n
  </dtml-if>\n
</dtml-in>\n
  <dtml-if selection_domain>, <dtml-var "portal_selections.buildSQLJoinExpressionFromDomainSelection(selection_domain)"> </dtml-if>\n
  <dtml-if selection_report>, <dtml-var "portal_selections.buildSQLJoinExpressionFromDomainSelection(selection_report)"> </dtml-if>\n
  , catalog as node, catalog as resource\n
\n
WHERE\n
  <dtml-var stock_table_id>.uid = catalog.uid\n
<dtml-if where_expression>\n
  AND <dtml-var where_expression>\n
</dtml-if>\n
\n
  AND node.uid = <dtml-var stock_table_id>.node_uid\n
  AND resource.uid = <dtml-var stock_table_id>.resource_uid\n
\n
<dtml-if omit_simulation>\n
  AND catalog.portal_type != \'Simulation Movement\'\n
</dtml-if>\n
\n
<dtml-if selection_domain>\n
  AND <dtml-var "portal_selections.buildSQLExpressionFromDomainSelection(selection_domain, join_table=stock_table_id, join_column=\'node_uid\')">\n
</dtml-if>\n
<dtml-if selection_report>\n
  AND <dtml-var "portal_selections.buildSQLExpressionFromDomainSelection(selection_report, strict_membership=1)">\n
</dtml-if>\n
\n
<dtml-if quantity_unit>\n
  AND concat(<dtml-var stock_table_id>.variation_text,\'\\n\') REGEXP measure.variation\n
</dtml-if>\n
\n
\n
<dtml-if group_by_expression>\n
GROUP BY\n
    <dtml-var group_by_expression>\n
</dtml-if>\n
<dtml-if order_by_expression>\n
ORDER BY\n
  <dtml-var order_by_expression>\n
</dtml-if>\n


]]></string> </value>
        </item>
        <item>
            <key> <string>template</string> </key>
            <value>
              <object>
                <klass>
                  <global name="__newobj__" module="copy_reg"/>
                </klass>
                <tuple>
                  <global name="SQL" module="Shared.DC.ZRDB.DA"/>
                </tuple>
                <state>
                  <dictionary>
                    <item>
                        <key> <string>__name__</string> </key>
                        <value> <string encoding="cdata"><![CDATA[

<string>

]]></string> </value>
                    </item>
                    <item>
                        <key> <string>_vars</string> </key>
                        <value>
                          <dictionary/>
                        </value>
                    </item>
                    <item>
                        <key> <string>globals</string> </key>
                        <value>
                          <dictionary/>
                        </value>
                    </item>
                    <item>
                        <key> <string>raw</string> </key>
                        <value> <string encoding="cdata"><![CDATA[

SELECT\n
<dtml-if expr="precision is not None">\n
  SUM(ROUND(<dtml-var stock_table_id>.quantity, <dtml-var precision>)) AS inventory,\n
  SUM(ROUND(<dtml-var stock_table_id>.quantity, <dtml-var precision>)) AS total_quantity,\n
<dtml-if quantity_unit>\n
  SUM(ROUND(<dtml-var stock_table_id>.quantity * measure.quantity, <dtml-var precision>))\n
  / <dtml-sqlvar quantity_unit type=float> AS converted_quantity,\n
</dtml-if>\n
  SUM(ROUND(<dtml-var stock_table_id>.total_price, <dtml-var precision>)) AS total_price\n
<dtml-else>\n
  SUM(<dtml-var stock_table_id>.quantity) AS inventory,\n
  SUM(<dtml-var stock_table_id>.quantity) AS total_quantity,\n
<dtml-if quantity_unit>\n
  ROUND(SUM(<dtml-var stock_table_id>.quantity * measure.quantity)\n
        / <dtml-sqlvar quantity_unit type=float>, 12) AS converted_quantity,\n
</dtml-if>\n
  SUM(<dtml-var stock_table_id>.total_price) AS total_price\n
</dtml-if>\n
<dtml-if inventory_list>\n
  ,node.title AS node_title,\n
  node.uid AS node_uid,\n
  node.relative_url AS node_relative_url,\n
  section.title AS section_title,\n
  section.uid AS section_uid,\n
  section.relative_url AS section_relative_url,\n
  resource.title AS resource_title,\n
  resource.relative_url AS resource_relative_url,\n
  <dtml-var stock_table_id>.variation_text AS variation_text,\n
  <dtml-var stock_table_id>.sub_variation_text AS sub_variation_text,\n
  <dtml-var stock_table_id>.resource_uid AS resource_uid,\n
  <dtml-var stock_table_id>.uid AS stock_uid,\n
  <dtml-var stock_table_id>.date as date,\n
  <dtml-var stock_table_id>.simulation_state as simulation_state,\n
  <dtml-var stock_table_id>.mirror_section_uid as mirror_section_uid,\n
  <dtml-var stock_table_id>.payment_uid as payment_uid,\n
  <dtml-var stock_table_id>.mirror_node_uid as mirror_node_uid,\n
  <dtml-var stock_table_id>.function_uid as function_uid,\n
  <dtml-var stock_table_id>.project_uid as project_uid,\n
  catalog.path as path\n
</dtml-if>\n
<dtml-if statistic>\n
  ,\n
  COUNT(DISTINCT node.title) AS node_title,\n
  COUNT(DISTINCT node.relative_url) AS node_relative_url,\n
  COUNT(DISTINCT section.title) AS section_title,\n
  COUNT(DISTINCT section.relative_url) AS section_relative_url,\n
  COUNT(DISTINCT resource.title) AS resource_title,\n
  COUNT(DISTINCT resource.relative_url) AS resource_relative_url,\n
  COUNT(DISTINCT <dtml-var stock_table_id>.variation_text) AS variation_text,\n
  MAX(<dtml-var stock_table_id>.resource_uid) AS resource_uid,\n
  COUNT(DISTINCT <dtml-var stock_table_id>.uid) AS stock_uid,\n
  MAX(<dtml-var stock_table_id>.date) AS date\n
</dtml-if>\n
\n
\n
FROM\n
  catalog, <dtml-var stock_table_id>\n
  <dtml-if section_filtered> INNER <dtml-else> LEFT </dtml-if>  \n
       JOIN catalog AS section ON (section.uid = <dtml-var stock_table_id>.section_uid)\n
<dtml-in prefix="table" expr="from_table_list"> \n
  <dtml-if expr="table_key not in (\'catalog\', stock_table_id)">\n
  , <dtml-var table_item> AS <dtml-var table_key>\n
  </dtml-if>\n
</dtml-in>\n
  <dtml-if selection_domain>, <dtml-var "portal_selections.buildSQLJoinExpressionFromDomainSelection(selection_domain)"> </dtml-if>\n
  <dtml-if selection_report>, <dtml-var "portal_selections.buildSQLJoinExpressionFromDomainSelection(selection_report)"> </dtml-if>\n
  , catalog as node, catalog as resource\n
\n
WHERE\n
  <dtml-var stock_table_id>.uid = catalog.uid\n
<dtml-if where_expression>\n
  AND <dtml-var where_expression>\n
</dtml-if>\n
\n
  AND node.uid = <dtml-var stock_table_id>.node_uid\n
  AND resource.uid = <dtml-var stock_table_id>.resource_uid\n
\n
<dtml-if omit_simulation>\n
  AND catalog.portal_type != \'Simulation Movement\'\n
</dtml-if>\n
\n
<dtml-if selection_domain>\n
  AND <dtml-var "portal_selections.buildSQLExpressionFromDomainSelection(selection_domain, join_table=stock_table_id, join_column=\'node_uid\')">\n
</dtml-if>\n
<dtml-if selection_report>\n
  AND <dtml-var "portal_selections.buildSQLExpressionFromDomainSelection(selection_report, strict_membership=1)">\n
</dtml-if>\n
\n
<dtml-if quantity_unit>\n
  AND concat(<dtml-var stock_table_id>.variation_text,\'\\n\') REGEXP measure.variation\n
</dtml-if>\n
\n
\n
<dtml-if group_by_expression>\n
GROUP BY\n
    <dtml-var group_by_expression>\n
</dtml-if>\n
<dtml-if order_by_expression>\n
ORDER BY\n
  <dtml-var order_by_expression>\n
</dtml-if>\n


]]></string> </value>
                    </item>
                  </dictionary>
                </state>
              </object>
            </value>
        </item>
        <item>
            <key> <string>title</string> </key>
            <value> <string></string> </value>
        </item>
      </dictionary>
    </pickle>
  </record>
</ZopeData>
