-- View: public.view_dis_romaneio_loja -- DROP VIEW public.view_dis_romaneio_loja; CREATE OR REPLACE VIEW public.view_dis_romaneio_loja AS SELECT tabaux.filial_orc, tabaux.data_previsao_entrega, tabaux.orcamento, tabaux.cliente, tabaux.nome, tabaux.endereco_entrega, tabaux.uf, tabaux.cidade, tabaux.bairro, tabaux.endereco, tabaux.numero, tabaux.tipo_entrega, tabaux.descr_tp_entrega, tabaux.tp_entr_resum, tabaux.sequencia, tabaux.produto, tabaux.descricao, tabaux.unidade, tabaux.qtd_venda, tabaux.qtd_entregue, tabaux.qtd_devolucao, tabaux.qtd_venda - tabaux.qtd_entregue - tabaux.qtd_devolucao AS qtd_entregar, tabaux.gerou_nf_caixa, tabaux.qtd_entr_futura FROM ( SELECT vnd_orcamento.filial_orc, vnd_orcamento.data_previsao_entrega, vnd_orcamento.orcamento, vnd_orcamento.cliente, cli_cliente.nome, vnd_orcamento.endereco_entrega, cli_endereco.uf, cli_endereco.cidade, cli_endereco.bairro, cli_endereco.endereco, cli_endereco.numero, vnd_orcamento_item.tipo_entrega, bas_tipo_entrega.descricao AS descr_tp_entrega, bas_tipo_entrega.desc_resumida AS tp_entr_resum, vnd_orcamento_item.sequencia, vnd_orcamento_item.produto, pro_produto.descricao, pro_produto.unidade, trunc(COALESCE(min(vnd_orcamento_item.quantidade), 0.000000), 6) AS qtd_venda, trunc(COALESCE(sum( CASE WHEN dis_romaneio.situacao = 'A'::bpchar THEN dis_romaneio_item.qtd_total WHEN dis_romaneio.situacao = 'B'::bpchar THEN dis_romaneio_item.qtd_entregue ELSE 0.000000 END), 0.000000), 6) AS qtd_entregue, trunc(COALESCE(( SELECT sum(gar_troca_devoluc_item.quantidade) AS sum FROM gar_troca_devoluc LEFT 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.sequencia_item_pedido = vnd_orcamento_item.sequencia AND gar_troca_devoluc_item.produto = vnd_orcamento_item.produto AND gar_troca_devoluc_item.tipo_mov = 400 WHERE gar_troca_devoluc.filial_orc = vnd_orcamento.filial_orc AND gar_troca_devoluc.orcamento = vnd_orcamento.orcamento AND gar_troca_devoluc.cliente = vnd_orcamento.cliente AND gar_troca_devoluc.situacao::text <> 'C'::text), 0.000000), 6) AS qtd_devolucao, 0.000000 AS qtd_entregar, vnd_orcamento.gerou_nf_caixa, trunc(COALESCE(sum(vnd_entrega_futura.quantidade_entregue), 0.000000), 6) AS qtd_entr_futura FROM vnd_orcamento JOIN par_distribuicao ON par_distribuicao.filial_par = vnd_orcamento.filial_orc JOIN par_faturamento ON par_faturamento.filial_par = vnd_orcamento.filial_orc JOIN vnd_orcamento_item ON vnd_orcamento_item.filial_orc = vnd_orcamento.filial_orc AND vnd_orcamento_item.orcamento = vnd_orcamento.orcamento JOIN cli_cliente ON cli_cliente.filial = vnd_orcamento.filial_cli AND cli_cliente.codigo = vnd_orcamento.cliente JOIN cli_endereco ON cli_endereco.filial = vnd_orcamento.filial_cli AND cli_endereco.cliente = vnd_orcamento.cliente AND cli_endereco.sequencia = vnd_orcamento.endereco_entrega JOIN bas_tipo_entrega ON bas_tipo_entrega.codigo = vnd_orcamento_item.tipo_entrega::numeric JOIN pro_produto ON pro_produto.filial_pro = vnd_orcamento_item.filial_pro AND pro_produto.codigo = vnd_orcamento_item.produto LEFT JOIN dis_romaneio_item ON dis_romaneio_item.filial = vnd_orcamento_item.filial_orc AND dis_romaneio_item.orcamento = vnd_orcamento_item.orcamento AND dis_romaneio_item.seq_item_orcamento = vnd_orcamento_item.sequencia LEFT JOIN dis_romaneio ON dis_romaneio.filial = dis_romaneio_item.filial AND dis_romaneio.romaneio = dis_romaneio_item.romaneio AND dis_romaneio.situacao <> 'C'::bpchar LEFT JOIN vnd_entrega_futura ON vnd_entrega_futura.filial_orc = vnd_orcamento_item.filial_orc AND vnd_entrega_futura.orcamento = vnd_orcamento_item.orcamento AND vnd_entrega_futura.sequencia = vnd_orcamento_item.sequencia AND vnd_entrega_futura.filial_pro = vnd_orcamento_item.filial_pro AND vnd_entrega_futura.produto = vnd_orcamento_item.produto WHERE vnd_orcamento.situacao::text <> 'C'::text AND vnd_orcamento.tipo::text <> 'O'::text AND bas_tipo_entrega.distribuicao::text = 'S'::text AND vnd_orcamento.data_previsao_entrega >= (CURRENT_DATE - par_distribuicao.dias_inicio_distribuicao) AND CASE WHEN par_faturamento.monta_viagem_apos_passar_caixa::text = 'S'::text THEN 'S'::character varying ELSE vnd_orcamento.gerou_nf_caixa END::text = vnd_orcamento.gerou_nf_caixa::text GROUP BY vnd_orcamento.filial_orc, vnd_orcamento.data_previsao_entrega, vnd_orcamento.orcamento, vnd_orcamento.cliente, cli_cliente.nome, vnd_orcamento.endereco_entrega, cli_endereco.uf, cli_endereco.cidade, cli_endereco.bairro, cli_endereco.endereco, cli_endereco.numero, vnd_orcamento_item.tipo_entrega, bas_tipo_entrega.descricao, vnd_orcamento_item.sequencia, vnd_orcamento_item.produto, pro_produto.descricao, pro_produto.unidade, vnd_orcamento.gerou_nf_caixa, bas_tipo_entrega.desc_resumida) tabaux WHERE (tabaux.qtd_venda - tabaux.qtd_entregue - tabaux.qtd_devolucao) > 0::numeric ORDER BY tabaux.filial_orc, tabaux.data_previsao_entrega, tabaux.cliente, tabaux.orcamento; ALTER TABLE public.view_dis_romaneio_loja OWNER TO postgres; COMMENT ON VIEW public.view_dis_romaneio_loja IS 'View para Montar Romaneio da Loja';