-- View: public.view_vnd_calcula_bitola DROP VIEW public.view_vnd_calcula_bitola; CREATE OR REPLACE VIEW public.view_vnd_calcula_bitola AS SELECT tabaux.nivel, tabaux.filial_orc, tabaux.orcamento, tabaux.sequencia, tabaux.produto_servico, tabaux.orc_produto, tabaux.orc_descricao, tabaux.orc_unidade, tabaux.orc_quantidade, tabaux.orc_vlr_total, tabaux.esp_sequencia_dimensao, tabaux.esp_sequencia_item, tabaux.esp_produto, tabaux.esp_descricao, tabaux.esp_preco_kg, tabaux.esp_comprimento, tabaux.esp_largura, tabaux.esp_altura, tabaux.esp_acrescimo, tabaux.esp_peso, tabaux.det_sequencia, tabaux.det_quantidade, tabaux.det_cod_especificacao, tabaux.det_descricao, tabaux.det_fator_peso, tabaux.det_comprimento, tabaux.det_produto_ref, tabaux.det_produto_ref_descricao, tabaux.det_peso FROM (( SELECT 'NV_1'::text AS nivel, vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, pro_produto.produto_servico, vnd_orcamento_item.produto AS orc_produto, pro_produto.descricao AS orc_descricao, pro_produto.unidade AS orc_unidade, vnd_orcamento_item.quantidade AS orc_quantidade, vnd_orcamento_item.vlr_total AS orc_vlr_total, NULL::integer AS esp_sequencia_dimensao, NULL::integer AS esp_sequencia_item, NULL::integer AS esp_produto, NULL::text AS esp_descricao, NULL::numeric AS esp_preco_kg, NULL::numeric AS esp_comprimento, NULL::numeric AS esp_largura, NULL::numeric AS esp_altura, NULL::numeric AS esp_acrescimo, NULL::numeric AS esp_peso, NULL::integer AS det_sequencia, NULL::numeric AS det_quantidade, NULL::integer AS det_cod_especificacao, NULL::text AS det_descricao, NULL::numeric AS det_fator_peso, NULL::numeric AS det_comprimento, NULL::integer AS det_produto_ref, NULL::text AS det_produto_ref_descricao, NULL::numeric AS det_peso FROM vnd_orcamento JOIN vnd_orcamento_item ON vnd_orcamento_item.filial_orc = vnd_orcamento.filial_orc AND vnd_orcamento_item.orcamento = vnd_orcamento.orcamento JOIN pro_produto ON pro_produto.codigo = vnd_orcamento_item.produto AND pro_produto.produto_servico::text = 'F'::text ORDER BY vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia) UNION ALL ( SELECT 'NV_2'::text AS nivel, vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, NULL::character varying AS produto_servico, NULL::integer AS orc_produto, NULL::character varying AS orc_descricao, NULL::character varying AS orc_unidade, NULL::numeric AS orc_quantidade, NULL::numeric AS orc_vlr_total, vnd_orcamento_item_especificacao.sequencia_dimensao AS esp_sequencia_dimensao, vnd_orcamento_item_especificacao.sequencia_item AS esp_sequencia_item, vnd_orcamento_item_especificacao.cod_especificacao_estribo AS esp_produto, pro_especificacao_vergalhao.descricao AS esp_descricao, vnd_orcamento_item_especificacao.preco_kg AS esp_preco_kg, vnd_orcamento_item_especificacao.comprimento AS esp_comprimento, vnd_orcamento_item_especificacao.largura AS esp_largura, vnd_orcamento_item_especificacao.altura AS esp_altura, vnd_orcamento_item_especificacao.acrescimo AS esp_acrescimo, ( SELECT fnc_calcula_peso_ferragem_especificacao(vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia) AS fnc_calcula_peso_ferragem_especificacao) AS esp_peso, NULL::integer AS det_sequencia, NULL::numeric AS det_quantidade, NULL::integer AS det_cod_especificacao, NULL::text AS det_descricao, NULL::numeric AS det_fator_peso, NULL::numeric AS det_comprimento, NULL::integer AS det_produto_ref, NULL::text AS det_produto_ref_descricao, NULL::numeric AS det_peso FROM vnd_orcamento JOIN vnd_orcamento_item ON vnd_orcamento_item.filial_orc = vnd_orcamento.filial_orc AND vnd_orcamento_item.orcamento = vnd_orcamento.orcamento JOIN vnd_orcamento_item_especificacao ON vnd_orcamento_item_especificacao.filial = vnd_orcamento_item.filial_orc AND vnd_orcamento_item_especificacao.orcamento = vnd_orcamento_item.orcamento AND vnd_orcamento_item_especificacao.sequencia_item = vnd_orcamento_item.sequencia JOIN pro_especificacao_vergalhao ON pro_especificacao_vergalhao.codigo = vnd_orcamento_item_especificacao.cod_especificacao_estribo ORDER BY vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia) UNION ALL ( SELECT 'NV_3'::text AS nivel, vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, NULL::character varying AS produto_servico, NULL::integer AS orc_produto, NULL::character varying AS orc_descricao, NULL::character varying AS orc_unidade, NULL::numeric AS orc_quantidade, NULL::numeric AS orc_vlr_total, NULL::integer AS esp_sequencia_dimensao, NULL::integer AS esp_sequencia_item, NULL::integer AS esp_produto, NULL::text AS esp_descricao, vnd_orcamento_item_especificacao.preco_kg AS esp_preco_kg, NULL::numeric AS esp_comprimento, NULL::numeric AS esp_largura, NULL::numeric AS esp_altura, NULL::numeric AS esp_acrescimo, NULL::numeric AS esp_peso, vnd_orcamento_item_especificacao_detalhe.sequencia AS det_sequencia, vnd_orcamento_item_especificacao_detalhe.quantidade AS det_quantidade, vnd_orcamento_item_especificacao_detalhe.cod_especificacao AS det_cod_especificacao, pro_especificacao_vergalhao.descricao AS det_descricao, pro_especificacao_vergalhao.fator_peso AS det_fator_peso, pro_especificacao_vergalhao.comprimento AS det_comprimento, pro_especificacao_vergalhao.produto_ref AS det_produto_ref, pro_produto.descricao AS det_produto_ref_descricao, (SELECT fnc_calcula_peso_ferragem_detalhe_dimensao_item(vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia, vnd_orcamento_item_especificacao_detalhe.sequencia_dimensao, vnd_orcamento_item_especificacao_detalhe.sequencia) AS fnc_calcula_peso_ferragem_detalhe) AS det_peso FROM vnd_orcamento JOIN vnd_orcamento_item ON vnd_orcamento_item.filial_orc = vnd_orcamento.filial_orc AND vnd_orcamento_item.orcamento = vnd_orcamento.orcamento JOIN vnd_orcamento_item_especificacao ON vnd_orcamento_item_especificacao.filial = vnd_orcamento_item.filial_orc AND vnd_orcamento_item_especificacao.orcamento = vnd_orcamento_item.orcamento AND vnd_orcamento_item_especificacao.sequencia_item = vnd_orcamento_item.sequencia JOIN vnd_orcamento_item_especificacao_detalhe ON vnd_orcamento_item_especificacao_detalhe.filial = vnd_orcamento_item_especificacao.filial AND vnd_orcamento_item_especificacao_detalhe.orcamento = vnd_orcamento_item_especificacao.orcamento AND vnd_orcamento_item_especificacao_detalhe.sequencia_item = vnd_orcamento_item_especificacao.sequencia_item AND vnd_orcamento_item_especificacao_detalhe.sequencia_dimensao = vnd_orcamento_item_especificacao.sequencia_dimensao JOIN pro_especificacao_vergalhao ON pro_especificacao_vergalhao.codigo = vnd_orcamento_item_especificacao_detalhe.cod_especificacao JOIN pro_produto ON pro_produto.codigo = pro_especificacao_vergalhao.produto_ref ORDER BY vnd_orcamento_item.filial_orc, vnd_orcamento_item.orcamento, vnd_orcamento_item.sequencia)) tabaux ORDER BY tabaux.filial_orc, tabaux.orcamento, tabaux.sequencia, tabaux.nivel; ALTER TABLE public.view_vnd_calcula_bitola OWNER TO postgres; COMMENT ON VIEW public.view_vnd_calcula_bitola IS 'View Calculo de Bitola do Pedido';