CREATE OR REPLACE VIEW public.view_vnd_padrao AS SELECT filial_orc, orcamento, sequencia, produto, COALESCE(sum(quantidade), 0.000000) AS quantidade, COALESCE(sum(vlr_unitario), 0.000000) AS vlr_unitario, COALESCE(sum(vlr_total), 0.000000) AS vlr_total, COALESCE(sum(vlr_pago_itens), 0.000000) AS vlr_pago_itens, COALESCE(sum(vlr_custo_reposicao), 0.000000) AS vlr_custo_reposicao, COALESCE(trunc((sum(vlr_pago_itens) - COALESCE(sum(prc_tot_item_dev), 0.000000)) * CASE WHEN sum(ind_deflacao) = 0.000000 THEN 1.000000 ELSE sum(ind_deflacao) END - sum(vlr_custo_reposicao) / CASE WHEN sum(quantidade) = 0.000000 THEN 1.000000 ELSE sum(quantidade) END * COALESCE(sum(quantidade) - COALESCE(sum(qtd_item_dev), 0.000000), 0.000000), 6), 0.000000) AS vlr_lucro, COALESCE(trunc(COALESCE(sum(vlr_pago_itens) - COALESCE(sum(prc_tot_item_dev), 0.000000), 0.000000) * sum(ind_deflacao), 6), 0.000000) AS venda_deflacionada, COALESCE(trunc(sum(vlr_custo_reposicao) / CASE WHEN sum(quantidade) = 0.000000 THEN 1.000000 ELSE sum(quantidade) END * COALESCE(sum(quantidade) - COALESCE(sum(qtd_item_dev), 0.000000), 0.000000), 6), 0.000000) AS vlr_custo_reposicao_liqu, CASE WHEN COALESCE(sum(qtd_item_dev), 0.000000) > COALESCE(sum(quantidade), 0.000000) THEN 0.000000 ELSE trunc(( CASE WHEN (COALESCE(sum(vlr_pago_itens) - COALESCE(sum(prc_tot_item_dev), 0.000000), 0.000000) * sum(ind_deflacao)) = 0.000000 THEN 1.000000 ELSE COALESCE(sum(vlr_pago_itens) - COALESCE(sum(prc_tot_item_dev), 0.000000), 0.000000) * sum(ind_deflacao) END / CASE WHEN ( CASE WHEN sum(vlr_custo_reposicao) = 0.000000 THEN 1.000000 ELSE sum(vlr_custo_reposicao) END / CASE WHEN sum(quantidade) = 0.000000 THEN 1.000000 ELSE sum(quantidade) END * COALESCE(sum(quantidade) - COALESCE(sum(qtd_item_dev), 0.000000), 0.000000)) = 0.0000 THEN 1.000000 ELSE CASE WHEN sum(vlr_custo_reposicao) = 0.000000 THEN 1.000000 ELSE sum(vlr_custo_reposicao) END / CASE WHEN sum(quantidade) = 0.000000 THEN 1.000000 ELSE sum(quantidade) END * COALESCE(sum(quantidade) - COALESCE(sum(qtd_item_dev), 0.000000), 0.000000) END - 1::numeric) * 100::numeric, 6) END ind_lucro, vendedor, cliente, data_passou_cx, sum(vlr_desconto_pedido) AS vlr_desconto_pedido, grupo, subgrupo, fornecedor, aplicacao, linha, fabricante, ramo_ativ_fornec, ramo_ativ_cliente, sum(qtd_item_dev) AS qtd_item_dev, sum(prc_unit_item_dev) AS prc_unit_item_dev, sum(prc_tot_item_dev) AS prc_tot_item_dev, COALESCE(sum(vlr_pago_itens) - COALESCE(sum(prc_tot_item_dev), 0.000000), 0.000000) AS vlr_tot_liquido, COALESCE(sum(quantidade) - COALESCE(sum(qtd_item_dev), 0.000000), 0.000000) AS qtd_tot_liquido, descricao, unidade, peso_bruto, sum(tolerancia_peso) AS tolerancia_peso, sum(ind_deflacao) AS ind_deflacao, filial_nota, nota, serie, sum(tp_pgto_1) AS tp_pgto_1, sum(vlr_pgto_1) AS vlr_pgto_1, sum(tp_pgto_2) AS tp_pgto_2, sum(vlr_pgto_2) AS vlr_pgto_2, sum(tp_pgto_3) AS tp_pgto_3, sum(vlr_pgto_3) AS vlr_pgto_3, promocao, familia, tipo_entrega, tipo_nf, CASE TRIM(UPPER(tipo_nf)) WHEN '' THEN 'I' WHEN 'R' THEN 'I' ELSE tipo_nf END origem_pedido FROM ( SELECT vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, vnd_orcamento_item.produto, COALESCE(vnd_orcamento_item.quantidade, 0.000000) AS quantidade, COALESCE(vnd_orcamento_item.vlr_unitario, 0.000000) AS vlr_unitario, COALESCE(vnd_orcamento_item.vlr_total, 0.000000) AS vlr_total, COALESCE(vnd_orcamento_item.vlr_pago, 0.000000) AS vlr_pago_itens, COALESCE(vnd_orcamento_item.vlr_custo_reposicao, 0.000000) AS vlr_custo_reposicao, COALESCE(vnd_orcamento_item.vlr_pago) AS valor_pago, vnd_orcamento_item.vendedor, vnd_orcamento.cliente, vnd_orcamento.data_passou_cx, vnd_orcamento.vlr_desconto AS vlr_desconto_pedido, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornecedor, pro_produto.aplicacao, pro_produto.linha, pro_produto.fornec_fabricante AS fabricante, for_fornecedor.ramo_atividade AS ramo_ativ_fornec, cli_cliente.ramo_atividade AS ramo_ativ_cliente, 0 AS qtd_item_dev, 0 AS prc_unit_item_dev, 0 AS prc_tot_item_dev, pro_produto.descricao, pro_produto.unidade, pro_produto.peso_bruto, pro_produto.tolerancia_peso, trunc(sum(bas_tipo_pagto.ind_deflacao) / (( SELECT count(*) AS count FROM vnd_pagto_ped pgaux WHERE pgaux.filial = vnd_orcamento_item.filial_orc AND pgaux.nr_pedido = vnd_orcamento_item.orcamento AND pgaux.tipo_pgto <> par_faturamento.tipo_pgto_troco))::numeric, 6) AS ind_deflacao, vnd_orcamento.filial_nota, vnd_orcamento.nota, vnd_orcamento.serie, COALESCE(( SELECT vnd_pagto_ped_1.tipo_pgto FROM vnd_pagto_ped vnd_pagto_ped_1 WHERE vnd_pagto_ped_1.filial = vnd_orcamento_item.filial_orc AND vnd_pagto_ped_1.nr_pedido = vnd_orcamento_item.orcamento ORDER BY vnd_pagto_ped_1.tipo_pgto OFFSET 0 LIMIT 1), 0) AS tp_pgto_1, COALESCE(( SELECT vnd_pagto_ped_1.valor FROM vnd_pagto_ped vnd_pagto_ped_1 WHERE vnd_pagto_ped_1.filial = vnd_orcamento_item.filial_orc AND vnd_pagto_ped_1.nr_pedido = vnd_orcamento_item.orcamento ORDER BY vnd_pagto_ped_1.tipo_pgto OFFSET 0 LIMIT 1), 0.000000) AS vlr_pgto_1, COALESCE(( SELECT vnd_pagto_ped_1.tipo_pgto FROM vnd_pagto_ped vnd_pagto_ped_1 WHERE vnd_pagto_ped_1.filial = vnd_orcamento_item.filial_orc AND vnd_pagto_ped_1.nr_pedido = vnd_orcamento_item.orcamento ORDER BY vnd_pagto_ped_1.tipo_pgto OFFSET 1 LIMIT 1), 0) AS tp_pgto_2, COALESCE(( SELECT vnd_pagto_ped_1.valor FROM vnd_pagto_ped vnd_pagto_ped_1 WHERE vnd_pagto_ped_1.filial = vnd_orcamento_item.filial_orc AND vnd_pagto_ped_1.nr_pedido = vnd_orcamento_item.orcamento ORDER BY vnd_pagto_ped_1.tipo_pgto OFFSET 1 LIMIT 1), 0.000000) AS vlr_pgto_2, COALESCE(( SELECT vnd_pagto_ped_1.tipo_pgto FROM vnd_pagto_ped vnd_pagto_ped_1 WHERE vnd_pagto_ped_1.filial = vnd_orcamento_item.filial_orc AND vnd_pagto_ped_1.nr_pedido = vnd_orcamento_item.orcamento ORDER BY vnd_pagto_ped_1.tipo_pgto OFFSET 2 LIMIT 1), 0) AS tp_pgto_3, COALESCE(( SELECT vnd_pagto_ped_1.valor FROM vnd_pagto_ped vnd_pagto_ped_1 WHERE vnd_pagto_ped_1.filial = vnd_orcamento_item.filial_orc AND vnd_pagto_ped_1.nr_pedido = vnd_orcamento_item.orcamento ORDER BY vnd_pagto_ped_1.tipo_pgto OFFSET 2 LIMIT 1), 0.000000) AS vlr_pgto_3, vnd_orcamento_item.promocao, pro_produto.familia, vnd_orcamento_item.tipo_entrega, vnd_orcamento.tipo_nf FROM vnd_orcamento_item JOIN pro_produto ON vnd_orcamento_item.filial_pro = pro_produto.filial_pro AND vnd_orcamento_item.produto = pro_produto.codigo JOIN for_fornecedor ON pro_produto.filial_for = for_fornecedor.filial AND pro_produto.fornecedor = for_fornecedor.codigo JOIN vnd_orcamento ON vnd_orcamento_item.filial_orc = vnd_orcamento.filial_orc AND vnd_orcamento_item.orcamento = vnd_orcamento.orcamento JOIN cli_cliente ON vnd_orcamento.filial_cli = cli_cliente.filial AND vnd_orcamento.cliente = cli_cliente.codigo LEFT JOIN cli_endereco ON cli_cliente.filial = cli_endereco.filial AND cli_cliente.codigo = cli_endereco.cliente AND cli_endereco.sequencia = vnd_orcamento.endereco_entrega JOIN vnd_pagto_ped ON vnd_orcamento.filial_orc = vnd_pagto_ped.filial AND vnd_orcamento.orcamento = vnd_pagto_ped.nr_pedido JOIN bas_tipo_pagto ON vnd_pagto_ped.tipo_pgto = bas_tipo_pagto.codigo JOIN par_faturamento ON par_faturamento.filial_par = vnd_orcamento_item.filial_orc AND par_faturamento.codigo = 1 WHERE vnd_pagto_ped.tipo_pgto <> par_faturamento.tipo_pgto_troco AND vnd_orcamento.venda_sn::text = 'S'::text AND bas_tipo_pagto.soma_estatist::text = 'S'::text AND vnd_orcamento.gerou_nf_caixa::text = 'S'::text AND (vnd_orcamento.tipo::text = 'P'::text OR vnd_orcamento.tipo::text = 'E'::text) AND (vnd_orcamento.situacao::text = 'A'::text OR par_faturamento.utiliza_data_view_padrao::text = 'T'::text) AND vnd_orcamento_item.produto <> par_faturamento.despreza_produto_view_padrao GROUP BY vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, vnd_orcamento_item.produto, vnd_orcamento_item.vendedor, vnd_orcamento.cliente, vnd_orcamento.data_passou_cx, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornecedor, pro_produto.aplicacao, pro_produto.linha, pro_produto.fornec_fabricante, for_fornecedor.ramo_atividade, cli_cliente.ramo_atividade, pro_produto.descricao, pro_produto.unidade, pro_produto.peso_bruto, pro_produto.tolerancia_peso, vnd_orcamento.filial_nota, vnd_orcamento.nota, vnd_orcamento.serie, vnd_orcamento_item.vlr_pago, vnd_orcamento_item.quantidade, vnd_orcamento_item.vlr_unitario, vnd_orcamento_item.vlr_total, vnd_orcamento_item.vlr_custo_reposicao, vnd_orcamento.vlr_desconto, vnd_orcamento_item.promocao, pro_produto.familia, vnd_orcamento_item.tipo_entrega, par_faturamento.tipo_pgto_troco, vnd_orcamento.tipo_nf UNION SELECT vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, vnd_orcamento_item.produto, 0 AS quantidade, 0 AS vlr_unitario, 0 AS vlr_total, 0 AS vlr_pago_itens, 0 AS vlr_custo_reposicao, 0 AS valor_pago, vnd_orcamento_item.vendedor, vnd_orcamento.cliente, vnd_cancela_orcamento.data_cancelamento AS data_passou_cx, 0 AS vlr_desconto_pedido, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornecedor, pro_produto.aplicacao, pro_produto.linha, pro_produto.fornec_fabricante AS fabricante, for_fornecedor.ramo_atividade AS ramo_ativ_fornec, cli_cliente.ramo_atividade AS ramo_ativ_cliente, COALESCE(vnd_orcamento_item.quantidade, 0.000000) AS qtd_item_dev, COALESCE(vnd_orcamento_item.vlr_unitario, 0.000000) AS prc_unit_item_dev, COALESCE(vnd_orcamento_item.vlr_pago, 0.000000) AS prc_tot_item_dev, pro_produto.descricao, pro_produto.unidade, pro_produto.peso_bruto, pro_produto.tolerancia_peso, 1 AS ind_deflacao, vnd_orcamento.filial_nota, vnd_orcamento.nota, vnd_orcamento.serie, 0 AS tp_pgto_1, 0 AS vlr_pgto_1, 0 AS tp_pgto_2, 0 AS vlr_pgto_2, 0 AS tp_pgto_3, 0 AS vlr_pgto_3, vnd_orcamento_item.promocao, pro_produto.familia, vnd_orcamento_item.tipo_entrega, vnd_orcamento.tipo_nf FROM vnd_orcamento_item JOIN vnd_orcamento ON vnd_orcamento_item.filial_orc = vnd_orcamento.filial_orc AND vnd_orcamento_item.orcamento = vnd_orcamento.orcamento JOIN vnd_cancela_orcamento ON vnd_orcamento_item.filial_orc = vnd_cancela_orcamento.filial_orc AND vnd_orcamento_item.orcamento = vnd_cancela_orcamento.orcamento JOIN pro_produto ON vnd_orcamento_item.filial_pro = pro_produto.filial_pro AND vnd_orcamento_item.produto = pro_produto.codigo JOIN for_fornecedor ON pro_produto.filial_for = for_fornecedor.filial AND pro_produto.fornecedor = for_fornecedor.codigo JOIN cli_cliente ON vnd_orcamento.filial_cli = cli_cliente.filial AND vnd_orcamento.cliente = cli_cliente.codigo LEFT JOIN cli_endereco ON cli_cliente.filial = cli_endereco.filial AND cli_cliente.codigo = cli_endereco.cliente AND cli_endereco.sequencia = vnd_orcamento.endereco_entrega JOIN vnd_pagto_ped ON vnd_orcamento.filial_orc = vnd_pagto_ped.filial AND vnd_orcamento.orcamento = vnd_pagto_ped.nr_pedido JOIN bas_tipo_pagto ON vnd_pagto_ped.tipo_pgto = bas_tipo_pagto.codigo JOIN par_faturamento ON par_faturamento.filial_par = vnd_orcamento_item.filial_orc AND par_faturamento.codigo = 1 WHERE vnd_pagto_ped.tipo_pgto <> par_faturamento.tipo_pgto_troco AND vnd_orcamento.venda_sn::text = 'S'::text AND bas_tipo_pagto.soma_estatist::text = 'S'::text AND vnd_orcamento.gerou_nf_caixa::text = 'S'::text AND vnd_orcamento.situacao::text = 'C'::text AND par_faturamento.utiliza_data_view_padrao::text = 'T'::text AND (vnd_orcamento.tipo::text = 'P'::text OR vnd_orcamento.tipo::text = 'E'::text) AND vnd_orcamento_item.produto <> par_faturamento.despreza_produto_view_padrao GROUP BY vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, vnd_orcamento_item.produto, vnd_orcamento_item.vendedor, vnd_orcamento.cliente, vnd_orcamento.data_passou_cx, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornecedor, pro_produto.aplicacao, pro_produto.linha, pro_produto.fornec_fabricante, for_fornecedor.ramo_atividade, cli_cliente.ramo_atividade, pro_produto.descricao, pro_produto.unidade, pro_produto.peso_bruto, pro_produto.tolerancia_peso, vnd_orcamento.filial_nota, vnd_orcamento.nota, vnd_orcamento.serie, vnd_orcamento_item.vlr_pago, vnd_orcamento_item.quantidade, vnd_orcamento_item.vlr_unitario, vnd_orcamento_item.vlr_total, vnd_orcamento_item.vlr_custo_reposicao, vnd_orcamento.vlr_desconto, vnd_orcamento_item.promocao, pro_produto.familia, vnd_orcamento_item.tipo_entrega, vnd_cancela_orcamento.data_cancelamento, vnd_orcamento.tipo_nf UNION SELECT vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, vnd_orcamento_item.produto, 0 AS quantidade, 0 AS vlr_unitario, 0 AS vlr_total, 0 AS vlr_pago_itens, 0 AS vlr_custo_reposicao, 0 AS valor_pago, vnd_orcamento_item.vendedor, vnd_orcamento.cliente, gar_troca_devoluc.data_emissao AS data_passou_cx, 0 AS vlr_desconto_pedido, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornecedor, pro_produto.aplicacao, pro_produto.linha, pro_produto.fornec_fabricante AS fabricante, for_fornecedor.ramo_atividade AS ramo_ativ_fornec, cli_cliente.ramo_atividade AS ramo_ativ_cliente, sum(gar_troca_devoluc_item.quantidade) AS qtd_item_dev, sum(gar_troca_devoluc_item.preco_total) / sum(gar_troca_devoluc_item.quantidade) AS prc_unit_item_dev, sum(gar_troca_devoluc_item.preco_total) AS prc_tot_item_dev, pro_produto.descricao, pro_produto.unidade, pro_produto.peso_bruto, pro_produto.tolerancia_peso, 1 AS ind_deflacao, vnd_orcamento.filial_nota, vnd_orcamento.nota, vnd_orcamento.serie, 0 AS tp_pgto_1, 0 AS vlr_pgto_1, 0 AS tp_pgto_2, 0 AS vlr_pgto_2, 0 AS tp_pgto_3, 0 AS vlr_pgto_3, vnd_orcamento_item.promocao, pro_produto.familia, vnd_orcamento_item.tipo_entrega, vnd_orcamento.tipo_nf FROM vnd_orcamento JOIN vnd_orcamento_item ON vnd_orcamento.filial_orc = vnd_orcamento_item.filial_orc AND vnd_orcamento.orcamento = vnd_orcamento_item.orcamento JOIN gar_troca_devoluc ON vnd_orcamento_item.filial_orc = gar_troca_devoluc.filial AND vnd_orcamento_item.orcamento = gar_troca_devoluc.orcamento JOIN gar_troca_devoluc_item ON gar_troca_devoluc_item.filial = gar_troca_devoluc.filial AND gar_troca_devoluc_item.sequencia = gar_troca_devoluc.sequencia AND gar_troca_devoluc_item.filial_pro = vnd_orcamento_item.filial_pro AND gar_troca_devoluc_item.produto = vnd_orcamento_item.produto AND gar_troca_devoluc_item.sequencia_item_pedido = vnd_orcamento_item.sequencia JOIN pro_produto ON vnd_orcamento_item.filial_pro = pro_produto.filial_pro AND vnd_orcamento_item.produto = pro_produto.codigo JOIN for_fornecedor ON pro_produto.filial_for = for_fornecedor.filial AND pro_produto.fornecedor = for_fornecedor.codigo JOIN cli_cliente ON vnd_orcamento.filial_cli = cli_cliente.filial AND vnd_orcamento.cliente = cli_cliente.codigo JOIN par_faturamento ON par_faturamento.filial_par = vnd_orcamento_item.filial_orc AND par_faturamento.codigo = 1 WHERE vnd_orcamento.situacao::text <> 'C'::text AND par_faturamento.utiliza_data_view_padrao::text = 'T'::text AND vnd_orcamento_item.produto <> par_faturamento.despreza_produto_view_padrao GROUP BY vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, vnd_orcamento_item.produto, vnd_orcamento_item.vendedor, vnd_orcamento.cliente, gar_troca_devoluc.data_emissao, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornecedor, pro_produto.aplicacao, pro_produto.linha, pro_produto.fornec_fabricante, pro_produto.descricao, pro_produto.unidade, pro_produto.peso_bruto, pro_produto.tolerancia_peso, vnd_orcamento.filial_nota, vnd_orcamento.nota, vnd_orcamento.serie, for_fornecedor.ramo_atividade, cli_cliente.ramo_atividade, vnd_orcamento_item.promocao, pro_produto.familia, vnd_orcamento_item.tipo_entrega, vnd_orcamento.tipo_nf UNION SELECT vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, vnd_orcamento_item.produto, 0 AS quantidade, 0 AS vlr_unitario, 0 AS vlr_total, 0 AS vlr_pago_itens, 0 AS vlr_custo_reposicao, 0 AS valor_pago, vnd_orcamento_item.vendedor, vnd_orcamento.cliente, vnd_orcamento.data_passou_cx, 0 AS vlr_desconto_pedido, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornecedor, pro_produto.aplicacao, pro_produto.linha, pro_produto.fornec_fabricante AS fabricante, for_fornecedor.ramo_atividade AS ramo_ativ_fornec, cli_cliente.ramo_atividade AS ramo_ativ_cliente, sum(gar_troca_devoluc_item.quantidade) AS qtd_item_dev, sum(gar_troca_devoluc_item.preco_total) / sum(gar_troca_devoluc_item.quantidade) AS prc_unit_item_dev, sum(gar_troca_devoluc_item.preco_total) AS prc_tot_item_dev, pro_produto.descricao, pro_produto.unidade, pro_produto.peso_bruto, pro_produto.tolerancia_peso, 1 AS ind_deflacao, vnd_orcamento.filial_nota, vnd_orcamento.nota, vnd_orcamento.serie, 0 AS tp_pgto_1, 0 AS vlr_pgto_1, 0 AS tp_pgto_2, 0 AS vlr_pgto_2, 0 AS tp_pgto_3, 0 AS vlr_pgto_3, vnd_orcamento_item.promocao, pro_produto.familia, vnd_orcamento_item.tipo_entrega, vnd_orcamento.tipo_nf FROM vnd_orcamento JOIN vnd_orcamento_item ON vnd_orcamento.filial_orc = vnd_orcamento_item.filial_orc AND vnd_orcamento.orcamento = vnd_orcamento_item.orcamento JOIN gar_troca_devoluc ON vnd_orcamento_item.filial_orc = gar_troca_devoluc.filial AND vnd_orcamento_item.orcamento = gar_troca_devoluc.orcamento JOIN gar_troca_devoluc_item ON gar_troca_devoluc_item.filial = gar_troca_devoluc.filial AND gar_troca_devoluc_item.sequencia = gar_troca_devoluc.sequencia AND gar_troca_devoluc_item.filial_pro = vnd_orcamento_item.filial_pro AND gar_troca_devoluc_item.produto = vnd_orcamento_item.produto AND gar_troca_devoluc_item.sequencia_item_pedido = vnd_orcamento_item.sequencia JOIN pro_produto ON vnd_orcamento_item.filial_pro = pro_produto.filial_pro AND vnd_orcamento_item.produto = pro_produto.codigo JOIN for_fornecedor ON pro_produto.filial_for = for_fornecedor.filial AND pro_produto.fornecedor = for_fornecedor.codigo JOIN cli_cliente ON vnd_orcamento.filial_cli = cli_cliente.filial AND vnd_orcamento.cliente = cli_cliente.codigo JOIN par_faturamento ON par_faturamento.filial_par = vnd_orcamento_item.filial_orc AND par_faturamento.codigo = 1 WHERE gar_troca_devoluc.situacao::text <> 'C'::text AND vnd_orcamento.situacao::text <> 'C'::text AND par_faturamento.utiliza_data_view_padrao::text <> 'T'::text AND vnd_orcamento_item.produto <> par_faturamento.despreza_produto_view_padrao GROUP BY vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, vnd_orcamento_item.produto, vnd_orcamento_item.vendedor, vnd_orcamento.cliente, vnd_orcamento.data_passou_cx, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornecedor, pro_produto.aplicacao, pro_produto.linha, pro_produto.fornec_fabricante, pro_produto.descricao, pro_produto.unidade, pro_produto.peso_bruto, pro_produto.tolerancia_peso, vnd_orcamento.filial_nota, vnd_orcamento.nota, vnd_orcamento.serie, for_fornecedor.ramo_atividade, cli_cliente.ramo_atividade, vnd_orcamento_item.promocao, pro_produto.familia, vnd_orcamento_item.tipo_entrega, vnd_orcamento.tipo_nf UNION SELECT gar_troca_devoluc_item.filial AS filial_orc, gar_troca_devoluc.orcamento, gar_troca_devoluc_item.sequencia_item AS sequencia, gar_troca_devoluc_item.produto, 0 AS quantidade, 0 AS vlr_unitario, 0 AS vlr_total, 0 AS vlr_pago_itens, 0 AS vlr_custo_reposicao, 0 AS valor_pago, gar_troca_devoluc.vendedor, gar_troca_devoluc.cliente, gar_troca_devoluc.data_emissao AS data_passou_cx, 0 AS vlr_desconto_pedido, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornecedor, pro_produto.aplicacao, pro_produto.linha, pro_produto.fornec_fabricante AS fabricante, for_fornecedor.ramo_atividade AS ramo_ativ_fornec, cli_cliente.ramo_atividade AS ramo_ativ_cliente, sum(gar_troca_devoluc_item.quantidade) AS qtd_item_dev, sum(gar_troca_devoluc_item.preco_total) / sum(gar_troca_devoluc_item.quantidade) AS prc_unit_item_dev, sum(gar_troca_devoluc_item.preco_total) AS prc_tot_item_dev, pro_produto.descricao, pro_produto.unidade, pro_produto.peso_bruto, pro_produto.tolerancia_peso, 1 AS ind_deflacao, gar_troca_devoluc_item.filial AS filial_nota, 0 AS nota, ''::character varying(6) AS serie, 0 AS tp_pgto_1, 0 AS vlr_pgto_1, 0 AS tp_pgto_2, 0 AS vlr_pgto_2, 0 AS tp_pgto_3, 0 AS vlr_pgto_3, 'N'::character varying(1) AS promocao, pro_produto.familia, 0 AS tipo_entrega, 'R' AS tipo_nf FROM gar_troca_devoluc JOIN gar_troca_devoluc_item ON gar_troca_devoluc_item.filial = gar_troca_devoluc.filial AND gar_troca_devoluc_item.sequencia = gar_troca_devoluc.sequencia JOIN pro_produto ON gar_troca_devoluc_item.filial_pro = pro_produto.filial_pro AND gar_troca_devoluc_item.produto = pro_produto.codigo JOIN for_fornecedor ON pro_produto.filial_for = for_fornecedor.filial AND pro_produto.fornecedor = for_fornecedor.codigo JOIN cli_cliente ON gar_troca_devoluc.filial_cli = cli_cliente.filial AND gar_troca_devoluc.cliente = cli_cliente.codigo JOIN par_faturamento ON par_faturamento.filial_par = gar_troca_devoluc.filial AND par_faturamento.codigo = 1 WHERE (gar_troca_devoluc.situacao::text <> 'C'::text OR par_faturamento.utiliza_data_view_padrao::text = 'T'::text) AND NOT (gar_troca_devoluc.orcamento IN ( SELECT vnd_orcamento.orcamento FROM vnd_orcamento WHERE vnd_orcamento.filial_orc = gar_troca_devoluc.filial_orc AND vnd_orcamento.orcamento = gar_troca_devoluc.orcamento)) AND par_faturamento.utiliza_troca_sem_pedido_view_padrao::text = 'S'::text AND gar_troca_devoluc_item.produto <> par_faturamento.despreza_produto_view_padrao GROUP BY gar_troca_devoluc_item.filial, gar_troca_devoluc.orcamento, gar_troca_devoluc_item.sequencia_item, gar_troca_devoluc_item.produto, gar_troca_devoluc.vendedor, gar_troca_devoluc.cliente, gar_troca_devoluc.data_emissao, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornecedor, pro_produto.aplicacao, pro_produto.linha, pro_produto.fornec_fabricante, pro_produto.descricao, pro_produto.unidade, pro_produto.peso_bruto, pro_produto.tolerancia_peso, for_fornecedor.ramo_atividade, cli_cliente.ramo_atividade, pro_produto.familia UNION SELECT vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, vnd_orcamento_item.produto, sum(gar_troca_devoluc_item.quantidade) AS quantidade, TRUNC(sum(gar_troca_devoluc_item.preco_total) / sum(gar_troca_devoluc_item.quantidade), 6)AS vlr_unitario, sum(gar_troca_devoluc_item.preco_total) AS vlr_total, sum(gar_troca_devoluc_item.preco_total) AS vlr_pago_itens, TRUNC(((sum(vnd_orcamento_item.vlr_custo_reposicao) / sum(vnd_orcamento_item.quantidade)) * sum(gar_troca_devoluc_item.quantidade)), 6) AS vlr_custo_reposicao, sum(gar_troca_devoluc_item.preco_total) AS valor_pago, vnd_orcamento_item.vendedor, vnd_orcamento.cliente, log_gar_troca_devoluc.data AS data_passou_cx, 0 AS vlr_desconto_pedido, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornecedor, pro_produto.aplicacao, pro_produto.linha, pro_produto.fornec_fabricante AS fabricante, for_fornecedor.ramo_atividade AS ramo_ativ_fornec, cli_cliente.ramo_atividade AS ramo_ativ_cliente, 0 AS qtd_item_dev, 0 AS prc_unit_item_dev, 0 AS prc_tot_item_dev, pro_produto.descricao, pro_produto.unidade, pro_produto.peso_bruto, pro_produto.tolerancia_peso, 1 AS ind_deflacao, vnd_orcamento.filial_nota, vnd_orcamento.nota, vnd_orcamento.serie, 0 AS tp_pgto_1, 0 AS vlr_pgto_1, 0 AS tp_pgto_2, 0 AS vlr_pgto_2, 0 AS tp_pgto_3, 0 AS vlr_pgto_3, vnd_orcamento_item.promocao, pro_produto.familia, vnd_orcamento_item.tipo_entrega, vnd_orcamento.tipo_nf FROM vnd_orcamento JOIN vnd_orcamento_item ON vnd_orcamento.filial_orc = vnd_orcamento_item.filial_orc AND vnd_orcamento.orcamento = vnd_orcamento_item.orcamento JOIN gar_troca_devoluc ON vnd_orcamento_item.filial_orc = gar_troca_devoluc.filial AND vnd_orcamento_item.orcamento = gar_troca_devoluc.orcamento JOIN log_gar_troca_devoluc ON gar_troca_devoluc.filial = log_gar_troca_devoluc.ant_filial AND gar_troca_devoluc.sequencia = log_gar_troca_devoluc.ant_sequencia JOIN gar_troca_devoluc_item ON gar_troca_devoluc_item.filial = gar_troca_devoluc.filial AND gar_troca_devoluc_item.sequencia = gar_troca_devoluc.sequencia AND gar_troca_devoluc_item.filial_pro = vnd_orcamento_item.filial_pro AND gar_troca_devoluc_item.produto = vnd_orcamento_item.produto AND gar_troca_devoluc_item.sequencia_item_pedido = vnd_orcamento_item.sequencia JOIN pro_produto ON vnd_orcamento_item.filial_pro = pro_produto.filial_pro AND vnd_orcamento_item.produto = pro_produto.codigo JOIN for_fornecedor ON pro_produto.filial_for = for_fornecedor.filial AND pro_produto.fornecedor = for_fornecedor.codigo JOIN cli_cliente ON vnd_orcamento.filial_cli = cli_cliente.filial AND vnd_orcamento.cliente = cli_cliente.codigo JOIN par_faturamento ON par_faturamento.filial_par = vnd_orcamento_item.filial_orc AND par_faturamento.codigo = 1 WHERE gar_troca_devoluc.situacao::text = 'C'::text AND vnd_orcamento.situacao::text <> 'C'::text AND par_faturamento.utiliza_data_view_padrao::text = 'T'::text AND vnd_orcamento_item.produto <> par_faturamento.despreza_produto_view_padrao AND log_gar_troca_devoluc.log_tipo_operacao= 16 GROUP BY vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, vnd_orcamento_item.produto, vnd_orcamento_item.vendedor, vnd_orcamento.cliente, log_gar_troca_devoluc.data, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornecedor, pro_produto.aplicacao, pro_produto.linha, pro_produto.fornec_fabricante, pro_produto.descricao, pro_produto.unidade, pro_produto.peso_bruto, pro_produto.tolerancia_peso, vnd_orcamento.filial_nota, vnd_orcamento.nota, vnd_orcamento.serie, for_fornecedor.ramo_atividade, cli_cliente.ramo_atividade, vnd_orcamento_item.promocao, pro_produto.familia, vnd_orcamento_item.tipo_entrega, vnd_orcamento.tipo_nf UNION SELECT gar_troca_devoluc_item.filial AS filial_orc, gar_troca_devoluc.orcamento, gar_troca_devoluc_item.sequencia_item AS sequencia, gar_troca_devoluc_item.produto, sum(gar_troca_devoluc_item.quantidade) AS quantidade, TRUNC(sum(gar_troca_devoluc_item.preco_total) / sum(gar_troca_devoluc_item.quantidade), 6) AS vlr_unitario, sum(gar_troca_devoluc_item.preco_total) AS vlr_total, sum(gar_troca_devoluc_item.preco_total) AS vlr_pago_itens, 0 AS vlr_custo_reposicao, sum(gar_troca_devoluc_item.preco_total) AS valor_pago, gar_troca_devoluc.vendedor, gar_troca_devoluc.cliente, gar_troca_devoluc.data_emissao AS data_passou_cx, 0 AS vlr_desconto_pedido, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornecedor, pro_produto.aplicacao, pro_produto.linha, pro_produto.fornec_fabricante AS fabricante, for_fornecedor.ramo_atividade AS ramo_ativ_fornec, cli_cliente.ramo_atividade AS ramo_ativ_cliente, 0 AS qtd_item_dev, 0 AS prc_unit_item_dev, 0 AS prc_tot_item_dev, pro_produto.descricao, pro_produto.unidade, pro_produto.peso_bruto, pro_produto.tolerancia_peso, 1 AS ind_deflacao, gar_troca_devoluc_item.filial AS filial_nota, 0 AS nota, ''::character varying(6) AS serie, 0 AS tp_pgto_1, 0 AS vlr_pgto_1, 0 AS tp_pgto_2, 0 AS vlr_pgto_2, 0 AS tp_pgto_3, 0 AS vlr_pgto_3, 'N'::character varying(1) AS promocao, pro_produto.familia, 0 AS tipo_entrega, 'R' AS tipo_nf FROM log_gar_troca_devoluc JOIN gar_troca_devoluc ON gar_troca_devoluc.filial = log_gar_troca_devoluc.ant_filial AND gar_troca_devoluc.sequencia = log_gar_troca_devoluc.ant_sequencia JOIN gar_troca_devoluc_item ON gar_troca_devoluc_item.filial = gar_troca_devoluc.filial AND gar_troca_devoluc_item.sequencia = gar_troca_devoluc.sequencia JOIN pro_produto ON gar_troca_devoluc_item.filial_pro = pro_produto.filial_pro AND gar_troca_devoluc_item.produto = pro_produto.codigo JOIN for_fornecedor ON pro_produto.filial_for = for_fornecedor.filial AND pro_produto.fornecedor = for_fornecedor.codigo JOIN cli_cliente ON gar_troca_devoluc.filial_cli = cli_cliente.filial AND gar_troca_devoluc.cliente = cli_cliente.codigo JOIN par_faturamento ON par_faturamento.filial_par = gar_troca_devoluc.filial AND par_faturamento.codigo = 1 WHERE gar_troca_devoluc.situacao::text = 'C'::text AND NOT (gar_troca_devoluc.orcamento IN ( SELECT vnd_orcamento.orcamento FROM vnd_orcamento WHERE vnd_orcamento.filial_orc = gar_troca_devoluc.filial_orc AND vnd_orcamento.orcamento = gar_troca_devoluc.orcamento)) AND par_faturamento.utiliza_data_view_padrao::text = 'T'::text AND par_faturamento.utiliza_troca_sem_pedido_view_padrao::text = 'S'::text AND gar_troca_devoluc_item.produto <> par_faturamento.despreza_produto_view_padrao AND log_gar_troca_devoluc.log_tipo_operacao = 16 GROUP BY gar_troca_devoluc_item.filial, gar_troca_devoluc.orcamento, gar_troca_devoluc_item.sequencia_item, gar_troca_devoluc_item.produto, gar_troca_devoluc.vendedor, gar_troca_devoluc.cliente, gar_troca_devoluc.data_emissao, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornecedor, pro_produto.aplicacao, pro_produto.linha, pro_produto.fornec_fabricante, pro_produto.descricao, pro_produto.unidade, pro_produto.peso_bruto, pro_produto.tolerancia_peso, for_fornecedor.ramo_atividade, cli_cliente.ramo_atividade, pro_produto.familia ) view_vnd_padrao GROUP BY filial_orc, orcamento, sequencia, produto, vendedor, cliente, data_passou_cx, grupo, subgrupo, fornecedor, aplicacao, linha, fabricante, ramo_ativ_fornec, ramo_ativ_cliente, descricao, unidade, peso_bruto, filial_nota, nota, serie, promocao, familia, tipo_entrega, tipo_nf ORDER BY filial_orc, orcamento, produto; ALTER TABLE public.view_vnd_padrao OWNER TO postgres; COMMENT ON VIEW public.view_vnd_padrao IS 'View PadrĂ£o para Estatisticas de Vendas - ORIGEM DO PEDIDO: I - INSPIRE T - TRAY S - SHOPEE M - MERCADO LIVRE A - AMAZON N - NETSHOES L - MAGAZINE LUIZA B - CASAS BAHIA'; -- View: public.view_vnd_padrao_filiais -- DROP VIEW public.view_vnd_padrao_filiais; CREATE OR REPLACE VIEW public.view_vnd_padrao_filiais AS SELECT filial_orc, orcamento, sequencia, produto, quantidade, vlr_unitario, vlr_total, vlr_pago_itens, vlr_custo_reposicao, vlr_lucro, venda_deflacionada, vlr_custo_reposicao_liqu, ind_lucro, vendedor, cliente, data_passou_cx, vlr_desconto_pedido, grupo, subgrupo, fornecedor, aplicacao, linha, fabricante, ramo_ativ_fornec, ramo_ativ_cliente, qtd_item_dev, prc_unit_item_dev, prc_tot_item_dev, vlr_tot_liquido, qtd_tot_liquido, descricao, unidade, peso_bruto, tolerancia_peso, ind_deflacao, filial_nota, nota, serie, tp_pgto_1, vlr_pgto_1, tp_pgto_2, vlr_pgto_2, tp_pgto_3, vlr_pgto_3, promocao, familia, tipo_entrega, tipo_nf, origem_pedido FROM view_vnd_padrao; ALTER TABLE public.view_vnd_padrao_filiais OWNER TO postgres;