-- View: public.view_vnd_padrao_ficha_tecnica_embalagem DROP VIEW public.view_vnd_padrao_ficha_tecnica_embalagem; CREATE OR REPLACE VIEW public.view_vnd_padrao_ficha_tecnica_embalagem AS SELECT tabaux.faturado_sn, tabaux.filial, tabaux.ano, tabaux.mes, tabaux.pedido, tabaux.sequencia, tabaux.nota, tabaux.ficha_tecnica, tabaux.ficha_tecnica_seq, tabaux.data_faturamento, tabaux.data_previsao, tabaux.cliente, tabaux.fornecedor, tabaux.vendedor, tabaux.materia_prima, tabaux.produto_acabado, tabaux.faturado_tot_peso_kg, tabaux.faturado_vlr_total, tabaux.faturado_qtd_item, tabaux.faturado_med_preco_kg, tabaux.faturar_tot_peso_kg, tabaux.faturar_vlr_total, tabaux.faturar_qtd_item, tabaux.faturar_med_preco_kg, tabaux.tipo, tabaux.fechamento, tabaux.capa, tabaux.onda, tabaux.coluna, tabaux.ordem_producao FROM ( SELECT 'S'::text AS faturado_sn, view_vnd_padrao.filial_orc AS filial, to_char(view_vnd_padrao.data_passou_cx::timestamp with time zone, 'YYYY'::text)::integer AS ano, to_char(view_vnd_padrao.data_passou_cx::timestamp with time zone, 'mm'::text)::integer AS mes, view_vnd_padrao.orcamento AS pedido, view_vnd_padrao.sequencia, view_vnd_padrao.nota, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica, 0) AS ficha_tecnica, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica_seq, 0) AS ficha_tecnica_seq, view_vnd_padrao.data_passou_cx AS data_faturamento, COALESCE(vnd_orcamento_item_entrega.data_previsao_entrega, view_vnd_padrao.data_passou_cx) AS data_previsao, view_vnd_padrao.cliente, view_vnd_padrao.fornecedor, view_vnd_padrao.vendedor, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.materia_prima, 0) AS materia_prima, prod_acabado.codigo AS produto_acabado, COALESCE(( SELECT sum(vnd_orcamento_item_ficha_tecnica_embalagem_1.total_peso_kg) AS sum FROM vnd_orcamento_item_ficha_tecnica_embalagem vnd_orcamento_item_ficha_tecnica_embalagem_1 WHERE vnd_orcamento_item_ficha_tecnica_embalagem_1.filial_orc = view_vnd_padrao.filial_orc AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento = view_vnd_padrao.orcamento AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento_seq = view_vnd_padrao.sequencia AND vnd_orcamento_item_ficha_tecnica_embalagem_1.ficha_tecnica = vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica AND vnd_orcamento_item_ficha_tecnica_embalagem_1.ficha_tecnica_seq = vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica_seq), 0.000000) AS faturado_tot_peso_kg, CASE WHEN vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica IS NULL THEN view_vnd_padrao.vlr_tot_liquido ELSE vnd_orcamento_item_ficha_tecnica_embalagem.venda_total END AS faturado_vlr_total, CASE WHEN vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica IS NULL THEN view_vnd_padrao.qtd_tot_liquido ELSE trunc(vnd_orcamento_item_ficha_tecnica_embalagem.qtd_pedido * vnd_orcamento_item_ficha_tecnica_embalagem.qtd_mix, 6) END AS faturado_qtd_item, CASE WHEN vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica IS NULL THEN 0::numeric ELSE round( (COALESCE(( SELECT sum(vnd_orcamento_item_ficha_tecnica_embalagem_1.venda_total) AS sum FROM vnd_orcamento_item_ficha_tecnica_embalagem vnd_orcamento_item_ficha_tecnica_embalagem_1 WHERE vnd_orcamento_item_ficha_tecnica_embalagem_1.filial_orc = view_vnd_padrao.filial_orc AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento = view_vnd_padrao.orcamento AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento_seq = view_vnd_padrao.sequencia AND vnd_orcamento_item_ficha_tecnica_embalagem_1.ficha_tecnica = vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica ), 0.000000)) / CASE WHEN COALESCE(( SELECT sum(vnd_orcamento_item_ficha_tecnica_embalagem_1.total_peso_kg) AS sum FROM vnd_orcamento_item_ficha_tecnica_embalagem vnd_orcamento_item_ficha_tecnica_embalagem_1 WHERE vnd_orcamento_item_ficha_tecnica_embalagem_1.filial_orc = view_vnd_padrao.filial_orc AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento = view_vnd_padrao.orcamento AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento_seq = view_vnd_padrao.sequencia AND vnd_orcamento_item_ficha_tecnica_embalagem_1.ficha_tecnica = vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica ), 0.000000) = 0::numeric THEN 1::numeric ELSE COALESCE(( SELECT sum(vnd_orcamento_item_ficha_tecnica_embalagem_1.total_peso_kg) AS sum FROM vnd_orcamento_item_ficha_tecnica_embalagem vnd_orcamento_item_ficha_tecnica_embalagem_1 WHERE vnd_orcamento_item_ficha_tecnica_embalagem_1.filial_orc = view_vnd_padrao.filial_orc AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento = view_vnd_padrao.orcamento AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento_seq = view_vnd_padrao.sequencia AND vnd_orcamento_item_ficha_tecnica_embalagem_1.ficha_tecnica = vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica ), 0.000000)END, 6) END AS faturado_med_preco_kg, 0.000000 AS faturar_tot_peso_kg, 0.000000 AS faturar_vlr_total, 0.000000 AS faturar_qtd_item, 0.000000 AS faturar_med_preco_kg, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.tipo, 0) AS tipo, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.fechamento, 0) AS fechamento, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.capa, 0) AS capa, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.onda, 0) AS onda, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.coluna, 0::numeric) AS coluna, COALESCE(array_to_string(ARRAY( SELECT prd_ordem_producao_x_distribuicao.ordem_producao FROM prd_ordem_producao_x_distribuicao WHERE prd_ordem_producao_x_distribuicao.filial_orc = view_vnd_padrao.filial_orc AND prd_ordem_producao_x_distribuicao.orcamento = view_vnd_padrao.orcamento AND prd_ordem_producao_x_distribuicao.sequencia = view_vnd_padrao.sequencia), ', '::text), ''::text) AS ordem_producao FROM view_vnd_padrao LEFT JOIN pro_produto prod_acabado ON prod_acabado.filial_pro = view_vnd_padrao.filial_orc AND prod_acabado.codigo = view_vnd_padrao.produto LEFT JOIN vnd_orcamento_item_entrega ON vnd_orcamento_item_entrega.filial_orc = view_vnd_padrao.filial_orc AND vnd_orcamento_item_entrega.orcamento = view_vnd_padrao.orcamento AND vnd_orcamento_item_entrega.produto = view_vnd_padrao.produto AND vnd_orcamento_item_entrega.sequencia = view_vnd_padrao.sequencia LEFT JOIN vnd_orcamento_item_ficha_tecnica_embalagem ON vnd_orcamento_item_ficha_tecnica_embalagem.filial_orc = view_vnd_padrao.filial_orc AND vnd_orcamento_item_ficha_tecnica_embalagem.orcamento = view_vnd_padrao.orcamento AND vnd_orcamento_item_ficha_tecnica_embalagem.orcamento_seq = view_vnd_padrao.sequencia UNION ALL SELECT 'N'::text AS faturado_sn, vnd_orcamento_item.filial_orc AS filial, to_char(vnd_orcamento_item_entrega.data_previsao_entrega::timestamp with time zone, 'YYYY'::text)::integer AS ano, to_char(vnd_orcamento_item_entrega.data_previsao_entrega::timestamp with time zone, 'mm'::text)::integer AS mes, vnd_orcamento_item.orcamento AS pedido, vnd_orcamento_item.sequencia, 0 AS nota, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica, 0) AS ficha_tecnica, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica_seq, 0) AS ficha_tecnica_seq, vnd_orcamento_item_entrega.data_previsao_entrega AS data_faturamento, vnd_orcamento_item_entrega.data_previsao_entrega AS data_previsao, vnd_orcamento.cliente, prod_acabado.fornecedor, vnd_orcamento_item.vendedor, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.materia_prima, 0) AS materia_prima, prod_acabado.codigo AS produto_acabado, 0.000000 AS faturado_tot_peso_kg, 0.000000 AS faturado_vlr_total, 0.000000 AS faturado_qtd_item, 0.000000 AS faturado_med_preco_kg, COALESCE(( SELECT sum(vnd_orcamento_item_ficha_tecnica_embalagem_1.total_peso_kg) AS sum FROM vnd_orcamento_item_ficha_tecnica_embalagem vnd_orcamento_item_ficha_tecnica_embalagem_1 WHERE vnd_orcamento_item_ficha_tecnica_embalagem_1.filial_orc = vnd_orcamento_item.filial_orc AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento = vnd_orcamento_item.orcamento AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento_seq = vnd_orcamento_item.sequencia AND vnd_orcamento_item_ficha_tecnica_embalagem_1.ficha_tecnica = vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica AND vnd_orcamento_item_ficha_tecnica_embalagem_1.ficha_tecnica_seq = vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica_seq), 0.000000) AS faturar_tot_peso_kg, CASE WHEN vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica IS NULL THEN vnd_orcamento_item.vlr_total ELSE vnd_orcamento_item_ficha_tecnica_embalagem.venda_total END AS faturar_vlr_total, CASE WHEN vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica IS NULL THEN vnd_orcamento_item.quantidade ELSE trunc(vnd_orcamento_item_ficha_tecnica_embalagem.qtd_pedido * vnd_orcamento_item_ficha_tecnica_embalagem.qtd_mix, 6) END AS faturar_qtd_item, CASE WHEN vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica IS NULL THEN vnd_orcamento_item.quantidade ELSE round((COALESCE(( SELECT sum(vnd_orcamento_item_ficha_tecnica_embalagem_1.venda_total) AS sum FROM vnd_orcamento_item_ficha_tecnica_embalagem vnd_orcamento_item_ficha_tecnica_embalagem_1 WHERE vnd_orcamento_item_ficha_tecnica_embalagem_1.filial_orc = vnd_orcamento_item.filial_orc AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento = vnd_orcamento_item.orcamento AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento_seq = vnd_orcamento_item.sequencia AND vnd_orcamento_item_ficha_tecnica_embalagem_1.ficha_tecnica = vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica ), 0.000000)) / CASE WHEN COALESCE(( SELECT sum(vnd_orcamento_item_ficha_tecnica_embalagem_1.total_peso_kg) AS sum FROM vnd_orcamento_item_ficha_tecnica_embalagem vnd_orcamento_item_ficha_tecnica_embalagem_1 WHERE vnd_orcamento_item_ficha_tecnica_embalagem_1.filial_orc = vnd_orcamento_item.filial_orc AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento = vnd_orcamento_item.orcamento AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento_seq = vnd_orcamento_item.sequencia AND vnd_orcamento_item_ficha_tecnica_embalagem_1.ficha_tecnica = vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica ), 0.000000) = 0::numeric THEN 1::numeric ELSE COALESCE(( SELECT sum(vnd_orcamento_item_ficha_tecnica_embalagem_1.total_peso_kg) AS sum FROM vnd_orcamento_item_ficha_tecnica_embalagem vnd_orcamento_item_ficha_tecnica_embalagem_1 WHERE vnd_orcamento_item_ficha_tecnica_embalagem_1.filial_orc = vnd_orcamento_item.filial_orc AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento = vnd_orcamento_item.orcamento AND vnd_orcamento_item_ficha_tecnica_embalagem_1.orcamento_seq = vnd_orcamento_item.sequencia AND vnd_orcamento_item_ficha_tecnica_embalagem_1.ficha_tecnica = vnd_orcamento_item_ficha_tecnica_embalagem.ficha_tecnica ), 0.000000) END, 6) END AS faturar_med_preco_kg, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.tipo, 0) AS tipo, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.fechamento, 0) AS fechamento, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.capa, 0) AS capa, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.onda, 0) AS onda, COALESCE(vnd_orcamento_item_ficha_tecnica_embalagem.coluna, 0::numeric) AS coluna, COALESCE(array_to_string(ARRAY( SELECT prd_ordem_producao_x_distribuicao.ordem_producao FROM prd_ordem_producao_x_distribuicao WHERE prd_ordem_producao_x_distribuicao.filial_orc = vnd_orcamento_item.filial_orc AND prd_ordem_producao_x_distribuicao.orcamento = vnd_orcamento_item.orcamento AND prd_ordem_producao_x_distribuicao.sequencia = vnd_orcamento_item.sequencia), ', '::text), ''::text) AS ordem_producao FROM vnd_orcamento LEFT JOIN vnd_orcamento_item ON vnd_orcamento_item.filial_orc = vnd_orcamento.filial_orc AND vnd_orcamento_item.orcamento = vnd_orcamento.orcamento LEFT JOIN pro_produto prod_acabado ON prod_acabado.filial_pro = vnd_orcamento_item.filial_orc AND prod_acabado.codigo = vnd_orcamento_item.produto LEFT JOIN vnd_orcamento_item_entrega ON vnd_orcamento_item_entrega.filial_orc = vnd_orcamento_item.filial_orc AND vnd_orcamento_item_entrega.orcamento = vnd_orcamento_item.orcamento AND vnd_orcamento_item_entrega.produto = vnd_orcamento_item.produto AND vnd_orcamento_item_entrega.sequencia = vnd_orcamento_item.sequencia LEFT JOIN vnd_orcamento_item_ficha_tecnica_embalagem ON vnd_orcamento_item_ficha_tecnica_embalagem.filial_orc = vnd_orcamento_item.filial_orc AND vnd_orcamento_item_ficha_tecnica_embalagem.orcamento = vnd_orcamento_item.orcamento AND vnd_orcamento_item_ficha_tecnica_embalagem.orcamento_seq = vnd_orcamento_item.sequencia WHERE vnd_orcamento.situacao::text <> 'C'::text AND vnd_orcamento.gerou_nf_caixa::text = 'N'::text AND vnd_orcamento.tipo::text <> 'O'::text) tabaux ; ALTER TABLE public.view_vnd_padrao_ficha_tecnica_embalagem OWNER TO postgres; COMMENT ON VIEW public.view_vnd_padrao_ficha_tecnica_embalagem IS 'View Padrao de Vendas / Ficha Tecnica - Embalagem';