begin;
DROP VIEW view_ent_ano_mes;
DROP VIEW view_pesquisa_padrao_venda;
DROP VIEW view_pesquisa_produto_pda;
DROP VIEW view_pesquisa_produto_pda_quebra_linha;
DROP VIEW view_produto_descricao_fabricante;
DROP VIEW view_produto_descricao_fabricante_sem_preco;
DROP VIEW view_vnd_busca_item_auto;
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
ALTER TABLE pro_cod_fabricante ALTER COLUMN cod_fabricante TYPE character varying(60);
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
-- View: public.view_ent_ano_mes
CREATE OR REPLACE VIEW public.view_ent_ano_mes
AS
SELECT ent_nota_fiscal.filial_nota,
ent_nota_fiscal.fornecedor,
ent_nota_fiscal.data_entrega,
to_char(ent_nota_fiscal.data_entrega::timestamp with time zone, 'YYYY'::text) AS ano,
to_char(ent_nota_fiscal.data_entrega::timestamp with time zone, 'MM'::text) AS mes,
ent_nota_fiscal.numero,
ent_nota_fiscal.serie,
pro_grupo_prod.codigo AS grupo,
pro_sub_grupo_prod.codigo AS subgrupo,
ent_nota_fiscal_item.produto,
(((btrim(to_char(ent_nota_fiscal_item.produto, '0000000000'::text)) || ' - '::text) || substr(pro_produto.descricao::text || '..............................................................................'::text, 1, 50)) || ' --> '::text) || btrim((COALESCE(( SELECT pro_cod_fabricante.cod_fabricante
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = ent_nota_fiscal_item.filial_pro AND pro_cod_fabricante.produto = ent_nota_fiscal_item.produto
OFFSET 0
LIMIT 1), ' '::character varying)::text || COALESCE(( SELECT ' <=> '::text || pro_cod_fabricante.cod_fabricante::text
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = ent_nota_fiscal_item.filial_pro AND pro_cod_fabricante.produto = ent_nota_fiscal_item.produto
OFFSET 1
LIMIT 1), ' '::text)) || COALESCE(( SELECT ' <=> '::text || pro_cod_fabricante.cod_fabricante::text
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = ent_nota_fiscal_item.filial_pro AND pro_cod_fabricante.produto = ent_nota_fiscal_item.produto
OFFSET 2
LIMIT 1), ' '::text)) AS cod_desc_fab,
(COALESCE(( SELECT pro_cod_fabricante.cod_fabricante
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = ent_nota_fiscal_item.filial_pro AND pro_cod_fabricante.produto = ent_nota_fiscal_item.produto
OFFSET 0
LIMIT 1), ' '::character varying)::text || COALESCE(( SELECT ' <=> '::text || pro_cod_fabricante.cod_fabricante::text
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = ent_nota_fiscal_item.filial_pro AND pro_cod_fabricante.produto = ent_nota_fiscal_item.produto
OFFSET 1
LIMIT 1), ' '::text)) || COALESCE(( SELECT ' <=> '::text || pro_cod_fabricante.cod_fabricante::text
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = ent_nota_fiscal_item.filial_pro AND pro_cod_fabricante.produto = ent_nota_fiscal_item.produto
OFFSET 2
LIMIT 1), ' '::text) AS cod_fabric,
trunc(ent_nota_fiscal_item.quantidade, 4) AS quantidade,
trunc(prc_tabela_preco.preco_reposicao, 4) AS vlr_repos_tab,
trunc(ent_nota_fiscal_item.preco_total / ent_nota_fiscal_item.quantidade, 4) AS vlr_repos_nota,
trunc(
CASE
WHEN prc_tabela_preco.preco_reposicao = 0::numeric THEN 9999.9999
ELSE (ent_nota_fiscal_item.preco_total / ent_nota_fiscal_item.quantidade / prc_tabela_preco.preco_reposicao - 1::numeric) * 100::numeric
END, 4) AS ind_repos,
trunc(prc_tabela_preco.preco_custo, 4) AS vlr_custo_tab,
trunc(ent_nota_fiscal_item.custo, 4) AS vlr_custo_nota,
trunc(
CASE
WHEN prc_tabela_preco.preco_custo = 0::numeric THEN 9999.9999
ELSE (ent_nota_fiscal_item.custo / prc_tabela_preco.preco_custo - 1::numeric) * 100::numeric
END, 4) AS ind_custo
FROM ent_nota_fiscal
LEFT JOIN ent_nota_fiscal_item ON ent_nota_fiscal_item.filial_nota = ent_nota_fiscal.filial_nota AND ent_nota_fiscal_item.filial_for = ent_nota_fiscal.filial_for AND ent_nota_fiscal_item.fornecedor = ent_nota_fiscal.fornecedor AND ent_nota_fiscal_item.serie::text = ent_nota_fiscal.serie::text AND ent_nota_fiscal_item.numero = ent_nota_fiscal.numero
LEFT JOIN pro_produto ON pro_produto.filial_pro = ent_nota_fiscal_item.filial_pro AND pro_produto.codigo = ent_nota_fiscal_item.produto
LEFT JOIN pro_grupo_prod ON pro_grupo_prod.codigo = pro_produto.grupo
LEFT JOIN pro_sub_grupo_prod ON pro_sub_grupo_prod.codigo = pro_produto.subgrupo
LEFT JOIN prc_tabela_preco ON prc_tabela_preco.filial_tab = ent_nota_fiscal_item.filial_pro AND prc_tabela_preco.tabela = 1 AND prc_tabela_preco.filial_pro = ent_nota_fiscal_item.filial_pro AND prc_tabela_preco.produto = ent_nota_fiscal_item.produto
GROUP BY ent_nota_fiscal.filial_nota, ent_nota_fiscal.fornecedor, ent_nota_fiscal.data_entrega, ent_nota_fiscal.numero, ent_nota_fiscal.serie, pro_grupo_prod.codigo, pro_sub_grupo_prod.codigo, ent_nota_fiscal_item.produto, pro_produto.descricao, ((COALESCE(( SELECT pro_cod_fabricante.cod_fabricante
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = ent_nota_fiscal_item.filial_pro AND pro_cod_fabricante.produto = ent_nota_fiscal_item.produto
OFFSET 0
LIMIT 1), ' '::character varying)::text || COALESCE(( SELECT ' <=> '::text || pro_cod_fabricante.cod_fabricante::text
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = ent_nota_fiscal_item.filial_pro AND pro_cod_fabricante.produto = ent_nota_fiscal_item.produto
OFFSET 1
LIMIT 1), ' '::text)) || COALESCE(( SELECT ' <=> '::text || pro_cod_fabricante.cod_fabricante::text
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = ent_nota_fiscal_item.filial_pro AND pro_cod_fabricante.produto = ent_nota_fiscal_item.produto
OFFSET 2
LIMIT 1), ' '::text)), ent_nota_fiscal_item.quantidade, (trunc(prc_tabela_preco.preco_reposicao, 4)), (trunc(ent_nota_fiscal_item.preco_total / ent_nota_fiscal_item.quantidade, 4)), (trunc(
CASE
WHEN prc_tabela_preco.preco_reposicao = 0::numeric THEN 9999.9999
ELSE (ent_nota_fiscal_item.preco_total / ent_nota_fiscal_item.quantidade / prc_tabela_preco.preco_reposicao - 1::numeric) * 100::numeric
END, 4)), (trunc(prc_tabela_preco.preco_custo, 4)), (trunc(ent_nota_fiscal_item.custo, 4)), (trunc(
CASE
WHEN prc_tabela_preco.preco_custo = 0::numeric THEN 9999.9999
ELSE (ent_nota_fiscal_item.custo / prc_tabela_preco.preco_custo - 1::numeric) * 100::numeric
END, 4))
ORDER BY ent_nota_fiscal.filial_nota, ent_nota_fiscal.fornecedor, ent_nota_fiscal.data_entrega, ent_nota_fiscal.numero, ent_nota_fiscal.serie, pro_grupo_prod.codigo, pro_sub_grupo_prod.codigo, ((COALESCE(( SELECT pro_cod_fabricante.cod_fabricante
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = ent_nota_fiscal_item.filial_pro AND pro_cod_fabricante.produto = ent_nota_fiscal_item.produto
OFFSET 0
LIMIT 1), ' '::character varying)::text || COALESCE(( SELECT ' <=> '::text || pro_cod_fabricante.cod_fabricante::text
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = ent_nota_fiscal_item.filial_pro AND pro_cod_fabricante.produto = ent_nota_fiscal_item.produto
OFFSET 1
LIMIT 1), ' '::text)) || COALESCE(( SELECT ' <=> '::text || pro_cod_fabricante.cod_fabricante::text
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = ent_nota_fiscal_item.filial_pro AND pro_cod_fabricante.produto = ent_nota_fiscal_item.produto
OFFSET 2
LIMIT 1), ' '::text)), ent_nota_fiscal_item.produto, pro_produto.descricao, (trunc(ent_nota_fiscal_item.quantidade, 4)), (trunc(prc_tabela_preco.preco_reposicao, 4)), (trunc(ent_nota_fiscal_item.preco_total / ent_nota_fiscal_item.quantidade, 4)), (trunc(
CASE
WHEN prc_tabela_preco.preco_reposicao = 0::numeric THEN 9999.9999
ELSE (ent_nota_fiscal_item.preco_total / ent_nota_fiscal_item.quantidade / prc_tabela_preco.preco_reposicao - 1::numeric) * 100::numeric
END, 4)), (trunc(prc_tabela_preco.preco_custo, 4)), (trunc(ent_nota_fiscal_item.custo, 4)), (trunc(
CASE
WHEN prc_tabela_preco.preco_custo = 0::numeric THEN 9999.9999
ELSE (ent_nota_fiscal_item.custo / prc_tabela_preco.preco_custo - 1::numeric) * 100::numeric
END, 4));
ALTER TABLE public.view_ent_ano_mes
OWNER TO postgres;
COMMENT ON VIEW public.view_ent_ano_mes
IS 'View Padrao de Entradas por Ano / Mes';
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
-- View: public.view_pesquisa_padrao_venda
CREATE OR REPLACE VIEW public.view_pesquisa_padrao_venda
AS
SELECT pro_produto.filial_pro,
pro_produto.codigo,
pro_produto.descricao,
pro_produto.grupo,
pro_produto.subgrupo,
pro_produto.aplicacao,
prc_tabela_preco.filial_tab,
prc_tabela_preco.tabela,
prc_tabela_preco.preco_custo,
prc_tabela_preco.preco_venda,
prc_tabela_preco.preco_servico,
prc_tabela_preco.preco_reposicao,
pro_complem_prod.filial,
pro_complem_prod.complemento,
COALESCE(( SELECT stq_saldo_estoque.quantidade
FROM stq_saldo_estoque
WHERE stq_saldo_estoque.filial_stq = pro_produto.filial_pro AND stq_saldo_estoque.almoxarifado = 1 AND pro_produto.filial_pro = stq_saldo_estoque.filial_pro AND stq_saldo_estoque.produto = pro_produto.codigo AND stq_saldo_estoque.data = (( SELECT max(stq_saldo_estoque_1.data) AS max
FROM stq_saldo_estoque stq_saldo_estoque_1
WHERE stq_saldo_estoque_1.filial_stq = pro_produto.filial_pro AND stq_saldo_estoque_1.almoxarifado = 1 AND stq_saldo_estoque_1.filial_pro = pro_produto.filial_pro AND stq_saldo_estoque_1.produto = pro_produto.codigo))), 0::numeric) AS quantidade_estoque,
COALESCE(( SELECT min(pro_cod_fabricante.cod_fabricante::text) AS min
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = pro_produto.filial_pro AND pro_cod_fabricante.produto = pro_produto.codigo), ''::text) AS codigo_fabricante
FROM pro_produto
JOIN prc_tabela_preco ON pro_produto.filial_pro = prc_tabela_preco.filial_tab AND pro_produto.filial_pro = prc_tabela_preco.filial_pro AND pro_produto.codigo = prc_tabela_preco.produto AND prc_tabela_preco.tabela = 1
LEFT JOIN pro_complem_prod ON pro_produto.filial_pro = pro_complem_prod.filial AND pro_produto.codigo = pro_complem_prod.produto
ORDER BY pro_produto.descricao;
ALTER TABLE public.view_pesquisa_padrao_venda
OWNER TO postgres;
COMMENT ON VIEW public.view_pesquisa_padrao_venda
IS 'padrao';
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
-- View: public.view_pesquisa_produto_pda
CREATE OR REPLACE VIEW public.view_pesquisa_produto_pda
AS
SELECT pro_produto.codigo,
(((((substr(rpad(pro_produto.descricao::text, 100, '.'::text), 1, 60) || ' Int: '::text) || lpad(pro_produto.codigo::text, 9, '0'::text)) || ' -> Loc: '::text) || rpad(COALESCE(( SELECT (pro_depto_prod.desc_resum::text || '-'::text) || pro_local_prod.desc_resum::text
FROM pro_sub_local_prod
LEFT JOIN pro_depto_prod ON pro_depto_prod.codigo = pro_sub_local_prod.departamento
LEFT JOIN pro_local_prod ON pro_local_prod.codigo = pro_sub_local_prod.localizacao
WHERE pro_sub_local_prod.filial = pro_produto.filial_pro AND pro_sub_local_prod.produto = pro_produto.codigo
LIMIT 1), '..........'::text), 10, '.'::text)) || ' -> Fbr: '::text) || rpad(COALESCE(pro_cod_fabricante.cod_fabricante, '..........'::character varying)::text, 30, '.'::text) AS descricao
FROM pro_produto
LEFT JOIN pro_cod_fabricante ON pro_cod_fabricante.filial = pro_produto.filial_pro AND pro_cod_fabricante.produto = pro_produto.codigo
WHERE pro_produto.flag_ativo_inativo::text = 'A'::text;
ALTER TABLE public.view_pesquisa_produto_pda
OWNER TO postgres;
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
-- View: public.view_pesquisa_produto_pda_quebra_linha
CREATE OR REPLACE VIEW public.view_pesquisa_produto_pda_quebra_linha
AS
SELECT pro_produto.codigo,
(((((substr(rpad(pro_produto.descricao::text, 100, '.'::text), 1, 32) || '
Int: '::text) || lpad(pro_produto.codigo::text, 9, '0'::text)) || ' / Loc: '::text) || rpad(COALESCE(( SELECT (pro_depto_prod.desc_resum::text || '-'::text) || pro_local_prod.desc_resum::text
FROM pro_sub_local_prod
LEFT JOIN pro_depto_prod ON pro_depto_prod.codigo = pro_sub_local_prod.departamento
LEFT JOIN pro_local_prod ON pro_local_prod.codigo = pro_sub_local_prod.localizacao
WHERE pro_sub_local_prod.filial = pro_produto.filial_pro AND pro_sub_local_prod.produto = pro_produto.codigo
LIMIT 1), '..........'::text), 10, '.'::text)) || '
Fbr: '::text) || substr(rpad(COALESCE(pro_cod_fabricante.cod_fabricante, '..........'::character varying)::text, 30, '.'::text), 1, 27) AS descricao
FROM pro_produto
LEFT JOIN pro_cod_fabricante ON pro_cod_fabricante.filial = pro_produto.filial_pro AND pro_cod_fabricante.produto = pro_produto.codigo
WHERE pro_produto.flag_ativo_inativo::text = 'A'::text;
ALTER TABLE public.view_pesquisa_produto_pda_quebra_linha
OWNER TO postgres;
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
-- View: public.view_produto_descricao_fabricante
CREATE OR REPLACE VIEW public.view_produto_descricao_fabricante
AS
SELECT tabaux.codigo,
tabaux.descricao
FROM ( SELECT pro_produto.codigo,
((((((((((' ==> '::text || rpad(pro_produto.descricao::text, 60, ' '::text)) || ' // '::text) ||
CASE
WHEN pro_complem_prod.complemento IS NOT NULL THEN rpad(pro_complem_prod.complemento::text, 60, ' '::text)
ELSE ' '::text
END) || '
'::text) ||
CASE
WHEN (( SELECT max(pro_cod_fabricante.cod_fabricante::text) AS max
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = pro_produto.filial_pro AND pro_cod_fabricante.produto = pro_produto.codigo)) IS NOT NULL THEN fnc_pro_junta_cod_fabricante(pro_produto.filial_pro, pro_produto.codigo)
ELSE ''::character varying
END::text) || '(Codigo.: '::text) || (lpad(pro_produto.codigo::text, 9, '0'::text) || ')___(Estoque.: '::text)) || lpad((( SELECT trunc(COALESCE(stq_saldo_estoque_atual.quantidade, 0.000000), 2) AS trunc
FROM stq_saldo_estoque_atual
WHERE stq_saldo_estoque_atual.filial_stq = pro_produto.filial_pro AND stq_saldo_estoque_atual.almoxarifado = 1 AND stq_saldo_estoque_atual.filial_pro = pro_produto.filial_pro AND stq_saldo_estoque_atual.produto = pro_produto.codigo))::text, 15, ' '::text)) || ')___(R$.: '::text) || lpad((( SELECT trunc(COALESCE(prc_tabela_preco.preco_venda, 0.000000), 2) AS trunc
FROM prc_tabela_preco
WHERE prc_tabela_preco.filial_tab = pro_produto.filial_pro AND prc_tabela_preco.tabela = 1 AND prc_tabela_preco.filial_pro = pro_produto.filial_pro AND prc_tabela_preco.produto = pro_produto.codigo))::text, 18, ' '::text)) || ')'::text AS descricao
FROM pro_produto
LEFT JOIN pro_complem_prod ON pro_complem_prod.filial = pro_produto.filial_pro AND pro_complem_prod.produto = pro_produto.codigo
WHERE pro_produto.flag_ativo_inativo::text = 'A'::text) tabaux
ORDER BY tabaux.descricao;
ALTER TABLE public.view_produto_descricao_fabricante
OWNER TO postgres;
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
-- View: public.view_produto_descricao_fabricante_sem_preco
CREATE OR REPLACE VIEW public.view_produto_descricao_fabricante_sem_preco
AS
SELECT tabaux.codigo,
tabaux.descricao
FROM ( SELECT pro_produto.codigo,
((((((((('==> '::text || rpad(pro_produto.descricao::text, 60, ' '::text)) || ' // '::text) ||
CASE
WHEN pro_complem_prod.complemento IS NOT NULL THEN rpad(pro_complem_prod.complemento::text, 60, ' '::text)
ELSE ' '::text
END) || ' '::text) || rpad((((
CASE
WHEN (( SELECT pro_cod_fabricante.cod_fabricante
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = pro_produto.filial_pro AND pro_cod_fabricante.produto = pro_produto.codigo
OFFSET 0
LIMIT 1)) IS NOT NULL THEN ( SELECT pro_cod_fabricante.cod_fabricante
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = pro_produto.filial_pro AND pro_cod_fabricante.produto = pro_produto.codigo
OFFSET 0
LIMIT 1)
ELSE ''::character varying
END::text ||
CASE
WHEN (( SELECT pro_cod_fabricante.cod_fabricante
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = pro_produto.filial_pro AND pro_cod_fabricante.produto = pro_produto.codigo
OFFSET 1
LIMIT 1)) IS NOT NULL THEN ' // '::text || ((( SELECT pro_cod_fabricante.cod_fabricante
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = pro_produto.filial_pro AND pro_cod_fabricante.produto = pro_produto.codigo
OFFSET 1
LIMIT 1))::text)
ELSE ''::text
END) ||
CASE
WHEN (( SELECT pro_cod_fabricante.cod_fabricante
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = pro_produto.filial_pro AND pro_cod_fabricante.produto = pro_produto.codigo
OFFSET 2
LIMIT 1)) IS NOT NULL THEN ' // '::text || ((( SELECT pro_cod_fabricante.cod_fabricante
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = pro_produto.filial_pro AND pro_cod_fabricante.produto = pro_produto.codigo
OFFSET 2
LIMIT 1))::text)
ELSE ''::text
END) ||
CASE
WHEN (( SELECT pro_cod_fabricante.cod_fabricante
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = pro_produto.filial_pro AND pro_cod_fabricante.produto = pro_produto.codigo
OFFSET 3
LIMIT 1)) IS NOT NULL THEN ' // '::text || ((( SELECT pro_cod_fabricante.cod_fabricante
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = pro_produto.filial_pro AND pro_cod_fabricante.produto = pro_produto.codigo
OFFSET 3
LIMIT 1))::text)
ELSE ''::text
END) ||
CASE
WHEN (( SELECT pro_cod_fabricante.cod_fabricante
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = pro_produto.filial_pro AND pro_cod_fabricante.produto = pro_produto.codigo
OFFSET 4
LIMIT 1)) IS NOT NULL THEN ' // '::text || ((( SELECT pro_cod_fabricante.cod_fabricante
FROM pro_cod_fabricante
WHERE pro_cod_fabricante.filial = pro_produto.filial_pro AND pro_cod_fabricante.produto = pro_produto.codigo
OFFSET 4
LIMIT 1))::text)
ELSE ''::text
END, 55, '_'::text)) || '(Codigo.: '::text) || (lpad(pro_produto.codigo::text, 9, '0'::text) || ')___(Estoque.: '::text)) || lpad((( SELECT trunc(COALESCE(stq_saldo_estoque_atual.quantidade, 0.000000), 2) AS trunc
FROM stq_saldo_estoque_atual
WHERE stq_saldo_estoque_atual.filial_stq = pro_produto.filial_pro AND stq_saldo_estoque_atual.almoxarifado = 1 AND stq_saldo_estoque_atual.filial_pro = pro_produto.filial_pro AND stq_saldo_estoque_atual.produto = pro_produto.codigo))::text, 15, ' '::text)) || ')'::text) || ')'::text AS descricao
FROM pro_produto
LEFT JOIN pro_complem_prod ON pro_complem_prod.filial = pro_produto.filial_pro AND pro_complem_prod.produto = pro_produto.codigo
WHERE pro_produto.flag_ativo_inativo::text = 'A'::text) tabaux
ORDER BY tabaux.descricao;
ALTER TABLE public.view_produto_descricao_fabricante_sem_preco
OWNER TO postgres;
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
-- View: public.view_vnd_busca_item_auto
CREATE OR REPLACE VIEW public.view_vnd_busca_item_auto
AS
SELECT pro_produto.filial_pro,
pro_produto.codigo,
pro_produto.descricao,
min(pro_produto_foto.foto) AS foto,
pro_produto.unidade,
pro_produto.flag_liberado AS liberado,
pro_produto.flag_ativo_inativo,
pro_produto.fornecedor AS cod_fornecedor,
pro_produto.grupo AS cod_grupo,
pro_produto.subgrupo AS cod_subgrupo,
pro_produto.fornec_fabricante AS fabricante,
pro_linha.descricao AS linha,
pro_cod_fabricante.cod_fabricante,
prc_tabela_preco.preco_venda,
prc_tabela_preco.tabela,
pro_complem_prod.complemento,
COALESCE(view_stq_saldo_estoque.quantidade, 0::numeric) AS saldo_estoque,
pro_grupo_prod.descricao AS grupo,
pro_sub_grupo_prod.descricao AS subgrupo,
for_fornecedor.nome AS fornecedor
FROM pro_produto
JOIN prc_tabela_preco ON prc_tabela_preco.filial_pro = pro_produto.filial_pro AND prc_tabela_preco.produto = pro_produto.codigo
LEFT JOIN pro_produto_foto ON pro_produto.filial_pro = pro_produto_foto.filial_produto AND pro_produto.codigo = pro_produto_foto.produto
JOIN for_fornecedor ON pro_produto.filial_for = for_fornecedor.filial AND pro_produto.fornecedor = for_fornecedor.codigo
JOIN pro_linha ON pro_produto.linha = pro_linha.codigo
JOIN pro_grupo_prod ON pro_produto.grupo = pro_grupo_prod.codigo
JOIN pro_sub_grupo_prod ON pro_produto.subgrupo = pro_sub_grupo_prod.codigo
LEFT JOIN pro_complem_prod ON pro_produto.filial_pro = pro_complem_prod.filial AND pro_produto.codigo = pro_complem_prod.produto
LEFT JOIN pro_cod_fabricante ON pro_produto.filial_pro = pro_cod_fabricante.filial AND pro_produto.codigo = pro_cod_fabricante.produto
LEFT JOIN view_stq_saldo_estoque ON pro_produto.filial_pro = view_stq_saldo_estoque.filial_stq AND pro_produto.filial_pro = view_stq_saldo_estoque.filial_pro AND pro_produto.codigo = view_stq_saldo_estoque.produto
GROUP BY pro_produto.filial_pro, pro_produto.codigo, pro_produto.descricao, pro_produto_foto.foto, pro_produto.unidade, pro_produto.flag_liberado, pro_produto.flag_ativo_inativo, pro_produto.fornecedor, pro_produto.grupo, pro_produto.subgrupo, pro_produto.fornec_fabricante, pro_cod_fabricante.cod_fabricante, prc_tabela_preco.preco_venda, prc_tabela_preco.tabela, pro_complem_prod.complemento, view_stq_saldo_estoque.quantidade, for_fornecedor.nome, pro_linha.descricao, pro_grupo_prod.descricao, pro_sub_grupo_prod.descricao
ORDER BY pro_produto.descricao;
ALTER TABLE public.view_vnd_busca_item_auto
OWNER TO postgres;
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
--########################################################################################################################
commit;