-- View: public.view_vnd_busca_vendas_integracao_esphera -- DROP VIEW public.view_vnd_busca_vendas_integracao_esphera; CREATE OR REPLACE VIEW public.view_vnd_busca_vendas_integracao_esphera AS SELECT view_vnd_integracao.id_venda, view_vnd_integracao.valor_total, view_vnd_integracao.data_hora, view_vnd_integracao.cancelamento, view_vnd_integracao.devolucao FROM (( SELECT vnd_orcamento.orcamento AS id_venda, vnd_orcamento.vlr_total_liquido AS valor_total, COALESCE(( SELECT (max(flx_mov_financ.data) || ' '::text) || max(flx_mov_financ.hora) FROM flx_mov_financ WHERE vnd_orcamento.filial_orc = flx_mov_financ.filial_pedido AND vnd_orcamento.orcamento = flx_mov_financ.pedido), vnd_orcamento.data_passou_cx || ' 00:00:00'::text) AS data_hora, false AS cancelamento, false AS devolucao FROM vnd_orcamento JOIN nfs_nota_fiscal_eletronica ON nfs_nota_fiscal_eletronica.nfs_filial = vnd_orcamento.filial_orc AND nfs_nota_fiscal_eletronica.nfs_nota = vnd_orcamento.nota AND nfs_nota_fiscal_eletronica.nfs_serie = vnd_orcamento.serie 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 WHERE vnd_orcamento.situacao::text = 'A'::text AND (vnd_orcamento.tipo::text = ANY (ARRAY['P'::character varying::text, 'E'::character varying::text])) AND vnd_orcamento.venda_sn::text = 'S'::text AND bas_tipo_pagto.soma_estatist::text = 'S'::text AND COALESCE(( SELECT max(flx_mov_financ.data) AS max FROM flx_mov_financ WHERE vnd_orcamento.filial_orc = flx_mov_financ.filial_pedido AND vnd_orcamento.orcamento = flx_mov_financ.pedido), vnd_orcamento.data_passou_cx) >= ('now'::text::date - 90) AND vnd_orcamento.serie = 'CFE' AND nfs_nota_fiscal_eletronica.situacao = 'E' GROUP BY vnd_orcamento.filial_orc, vnd_orcamento.orcamento, vnd_orcamento.vlr_total_liquido ORDER BY vnd_orcamento.orcamento) UNION ALL SELECT gar_troca_devoluc.orcamento AS id_venda, gar_troca_devoluc.vlr_restante AS valor_total, (gar_troca_devoluc.data_emissao || ' '::text) || gar_troca_devoluc.hora_emissao AS data_hora, false AS cancelamento, true AS devolucao FROM gar_troca_devoluc WHERE gar_troca_devoluc.situacao::text <> 'C'::text AND gar_troca_devoluc.data_emissao >= ('now'::text::date - 90) UNION ALL SELECT vnd_cancela_orcamento.orcamento AS id_venda, vnd_orcamento.vlr_total_liquido AS valor_total, (vnd_cancela_orcamento.data_cancelamento || ' '::text) || vnd_cancela_orcamento.hora_cancelamento AS data_hora, true AS cancelamento, false AS devolucao FROM vnd_cancela_orcamento JOIN vnd_orcamento ON vnd_cancela_orcamento.filial_orc = vnd_orcamento.filial_orc AND vnd_cancela_orcamento.orcamento = vnd_orcamento.orcamento WHERE vnd_orcamento.situacao::text = 'C'::text AND vnd_orcamento.tipo::text <> 'O'::text AND vnd_cancela_orcamento.data_cancelamento >= ('now'::text::date - 90) AND vnd_orcamento.serie = 'CFE') view_vnd_integracao ORDER BY view_vnd_integracao.id_venda, view_vnd_integracao.data_hora; ALTER TABLE public.view_vnd_busca_vendas_integracao_esphera OWNER TO postgres;