-- View: public.view_ctb_gerencial_nfe -- DROP VIEW public.view_ctb_gerencial_nfe; CREATE OR REPLACE VIEW public.view_ctb_gerencial_nfe AS SELECT notas_fiscais.filial_nota, notas_fiscais.nota, notas_fiscais.serie, notas_fiscais.data_emissao, notas_fiscais.cfop1, notas_fiscais.valor_produto, notas_fiscais.valor_icms_subst, notas_fiscais.valor_frete, notas_fiscais.valor_seguro, notas_fiscais.valor_ipi, notas_fiscais.valor_desp_aces, notas_fiscais.valor_desconto, notas_fiscais.valor_base_icms, notas_fiscais.valor_icms, notas_fiscais.tipo, notas_fiscais.entrada_saida, notas_fiscais.nfe_chave_acesso, notas_fiscais.protocolo, notas_fiscais.data, notas_fiscais.hora, notas_fiscais.cliente, notas_fiscais.valor_pis, notas_fiscais.valor_cofins, notas_fiscais.base_pis, notas_fiscais.base_cofins, notas_fiscais.venda, notas_fiscais.valor_iss, notas_fiscais.valor_total_liquido, notas_fiscais.almoxarifado, notas_fiscais.tributo, notas_fiscais.nr_extrato, notas_fiscais.nr_sat, notas_fiscais.cst_pis, notas_fiscais.cst_cofins, notas_fiscais.base_csll, notas_fiscais.valor_csll, notas_fiscais.classificacao_fiscal, notas_fiscais.produto FROM ( SELECT nfs_nota_fiscal.filial_nota, nfs_nota_fiscal.nota, nfs_nota_fiscal.serie, nfs_nota_fiscal.data_emissao, nfs_nota_item.cfop AS cfop1, nfs_nota_item.prc_total AS valor_produto, nfs_nota_item.vlr_icms_subst AS valor_icms_subst, nfs_nota_item.vlr_frete AS valor_frete, nfs_nota_item.vlr_seguro AS valor_seguro, nfs_nota_item.valor_ipi, nfs_nota_item.vlr_desp_aces AS valor_desp_aces, nfs_nota_item.vlr_rateio_desc_header AS valor_desconto, nfs_nota_item.base_icms AS valor_base_icms, nfs_nota_item.valor_icms, CASE btrim(nfs_nota_fiscal_eletronica.situacao::text) WHEN 'I'::text THEN 'INUTILIZADA'::text WHEN 'C'::text THEN 'CANCELADA'::text WHEN 'D'::text THEN 'DENEGADA'::text WHEN 'E'::text THEN 'EMITIDA'::text ELSE 'NAO EMITIDA'::text END AS tipo, nfs_op_fiscal.entrada_saida, nfs_nota_fiscal_eletronica.nfe_chave_acesso, CASE WHEN btrim(nfs_nota_fiscal_eletronica.inutiliza_protocolo::text) <> ''::text THEN nfs_nota_fiscal_eletronica.inutiliza_protocolo WHEN btrim(nfs_nota_fiscal_eletronica.cancelamento_protocolo::text) <> ''::text THEN nfs_nota_fiscal_eletronica.cancelamento_protocolo ELSE nfs_nota_fiscal_eletronica.envio_protocolo END AS protocolo, CASE WHEN btrim(nfs_nota_fiscal_eletronica.inutiliza_protocolo::text) <> ''::text THEN nfs_nota_fiscal_eletronica.inutiliza_data WHEN btrim(nfs_nota_fiscal_eletronica.cancelamento_protocolo::text) <> ''::text THEN nfs_nota_fiscal_eletronica.cancelamento_data ELSE nfs_nota_fiscal_eletronica.envio_data END AS data, CASE WHEN btrim(nfs_nota_fiscal_eletronica.inutiliza_protocolo::text) <> ''::text THEN nfs_nota_fiscal_eletronica.inutiliza_hora WHEN btrim(nfs_nota_fiscal_eletronica.cancelamento_protocolo::text) <> ''::text THEN nfs_nota_fiscal_eletronica.cancelamento_hora ELSE nfs_nota_fiscal_eletronica.envio_hora END AS hora, nfs_nota_fiscal.cliente, nfs_nota_item.valor_pis, nfs_nota_item.valor_cofins, nfs_nota_item.base_pis, nfs_nota_item.base_cofins, nfs_op_fiscal.venda, 0 AS valor_iss, nfs_nota_item.vlr_liq_rateio_desc_header + nfs_nota_item.vlr_icms_subst + nfs_nota_item.vlr_frete + nfs_nota_item.vlr_seguro + nfs_nota_item.valor_ipi + nfs_nota_item.vlr_desp_aces AS valor_total_liquido, nfs_nota_fiscal.almoxarifado, CASE WHEN nfs_nota_item.tributo <> 999 THEN nfs_nota_item.tributo ELSE nfs_nota_item.cod_csosn END tributo, CASE WHEN nfs_nota_fiscal.serie::text = 'CFE'::text AND substr(replace(nfs_nota_fiscal_eletronica.nfe_chave_acesso::text, 'CFe'::text, ''::text), 32, 6) <> ''::text THEN substr(replace(nfs_nota_fiscal_eletronica.nfe_chave_acesso::text, 'CFe'::text, ''::text), 32, 6)::integer ELSE 0 END::text AS nr_extrato, CASE WHEN nfs_nota_fiscal.serie::text = 'CFE'::text AND substr(replace(nfs_nota_fiscal_eletronica.nfe_chave_acesso::text, 'CFe'::text, ''::text), 23, 9) <> ''::text THEN substr(replace(nfs_nota_fiscal_eletronica.nfe_chave_acesso::text, 'CFe'::text, ''::text), 23, 9)::integer ELSE 0 END::text AS nr_sat, nfs_nota_item.cst_pis, nfs_nota_item.cst_cofins, nfs_nota_item.base_csll, nfs_nota_item.valor_csll, nfs_nota_item.classificacao_fiscal, nfs_nota_item.produto FROM nfs_nota_fiscal JOIN nfs_nota_item ON nfs_nota_fiscal.filial_nota = nfs_nota_item.filial_nota AND nfs_nota_fiscal.nota = nfs_nota_item.nota AND nfs_nota_fiscal.serie::text = nfs_nota_item.serie::text LEFT JOIN nfs_op_fiscal ON nfs_op_fiscal.cfop = nfs_nota_fiscal.cfop LEFT JOIN nfs_nota_fiscal_eletronica ON nfs_nota_fiscal_eletronica.nfs_filial = nfs_nota_fiscal.filial_nota AND nfs_nota_fiscal_eletronica.nfs_nota = nfs_nota_fiscal.nota AND nfs_nota_fiscal_eletronica.nfs_serie::text = nfs_nota_fiscal.serie::text UNION ALL SELECT nfs_nota_fiscal.filial_nota, nfs_nota_fiscal.nota, nfs_nota_fiscal.serie, nfs_nota_fiscal.data_emissao, nfs_nota_servico_catering.cfop AS cfop1, nfs_nota_servico_catering.prc_total AS valor_produto, nfs_nota_servico_catering.vlr_icms_subst AS valor_icms_subst, nfs_nota_servico_catering.vlr_frete AS valor_frete, nfs_nota_servico_catering.vlr_seguro AS valor_seguro, nfs_nota_servico_catering.valor_ipi, nfs_nota_servico_catering.vlr_desp_aces AS valor_desp_aces, nfs_nota_servico_catering.vlr_rateio_desc_header AS valor_desconto, nfs_nota_servico_catering.base_icms AS valor_base_icms, nfs_nota_servico_catering.valor_icms, CASE btrim(nfs_nota_fiscal_eletronica.situacao::text) WHEN 'I'::text THEN 'INUTILIZADA'::text WHEN 'C'::text THEN 'CANCELADA'::text WHEN 'D'::text THEN 'DENEGADA'::text WHEN 'E'::text THEN 'EMITIDA'::text ELSE 'NAO EMITIDA'::text END AS tipo, nfs_op_fiscal.entrada_saida, nfs_nota_fiscal_eletronica.nfe_chave_acesso, CASE WHEN btrim(nfs_nota_fiscal_eletronica.inutiliza_protocolo::text) <> ''::text THEN nfs_nota_fiscal_eletronica.inutiliza_protocolo WHEN btrim(nfs_nota_fiscal_eletronica.cancelamento_protocolo::text) <> ''::text THEN nfs_nota_fiscal_eletronica.cancelamento_protocolo ELSE nfs_nota_fiscal_eletronica.envio_protocolo END AS protocolo, CASE WHEN btrim(nfs_nota_fiscal_eletronica.inutiliza_protocolo::text) <> ''::text THEN nfs_nota_fiscal_eletronica.inutiliza_data WHEN btrim(nfs_nota_fiscal_eletronica.cancelamento_protocolo::text) <> ''::text THEN nfs_nota_fiscal_eletronica.cancelamento_data ELSE nfs_nota_fiscal_eletronica.envio_data END AS data, CASE WHEN btrim(nfs_nota_fiscal_eletronica.inutiliza_protocolo::text) <> ''::text THEN nfs_nota_fiscal_eletronica.inutiliza_hora WHEN btrim(nfs_nota_fiscal_eletronica.cancelamento_protocolo::text) <> ''::text THEN nfs_nota_fiscal_eletronica.cancelamento_hora ELSE nfs_nota_fiscal_eletronica.envio_hora END AS hora, nfs_nota_fiscal.cliente, nfs_nota_servico_catering.valor_pis, nfs_nota_servico_catering.valor_cofins, nfs_nota_servico_catering.base_pis, nfs_nota_servico_catering.base_cofins, nfs_op_fiscal.venda, 0 AS valor_iss, nfs_nota_servico_catering.vlr_liq_rateio_desc_header + nfs_nota_servico_catering.vlr_icms_subst + nfs_nota_servico_catering.vlr_frete + nfs_nota_servico_catering.vlr_seguro + nfs_nota_servico_catering.valor_ipi + nfs_nota_servico_catering.vlr_desp_aces AS valor_total_liquido, nfs_nota_fiscal.almoxarifado, CASE WHEN nfs_nota_servico_catering.tributo <> 999 THEN nfs_nota_servico_catering.tributo ELSE nfs_nota_servico_catering.cod_csosn END tributo, CASE WHEN nfs_nota_fiscal.serie::text = 'CFE'::text AND substr(replace(nfs_nota_fiscal_eletronica.nfe_chave_acesso::text, 'CFe'::text, ''::text), 32, 6) <> ''::text THEN substr(replace(nfs_nota_fiscal_eletronica.nfe_chave_acesso::text, 'CFe'::text, ''::text), 32, 6)::integer ELSE 0 END::text AS nr_extrato, CASE WHEN nfs_nota_fiscal.serie::text = 'CFE'::text AND substr(replace(nfs_nota_fiscal_eletronica.nfe_chave_acesso::text, 'CFe'::text, ''::text), 23, 9) <> ''::text THEN substr(replace(nfs_nota_fiscal_eletronica.nfe_chave_acesso::text, 'CFe'::text, ''::text), 23, 9)::integer ELSE 0 END::text AS nr_sat, nfs_nota_servico_catering.cst_pis, nfs_nota_servico_catering.cst_cofins, nfs_nota_servico_catering.base_csll, nfs_nota_servico_catering.valor_csll, nfs_nota_servico_catering.classificacao_fiscal, nfs_nota_servico_catering.servico AS produto FROM nfs_nota_fiscal JOIN nfs_nota_servico_catering ON nfs_nota_fiscal.filial_nota = nfs_nota_servico_catering.filial_nota AND nfs_nota_fiscal.nota = nfs_nota_servico_catering.nota AND nfs_nota_fiscal.serie::text = nfs_nota_servico_catering.serie::text LEFT JOIN nfs_op_fiscal ON nfs_op_fiscal.cfop = nfs_nota_fiscal.cfop LEFT JOIN nfs_nota_fiscal_eletronica ON nfs_nota_fiscal_eletronica.nfs_filial = nfs_nota_fiscal.filial_nota AND nfs_nota_fiscal_eletronica.nfs_nota = nfs_nota_fiscal.nota AND nfs_nota_fiscal_eletronica.nfs_serie::text = nfs_nota_fiscal.serie::text UNION ALL SELECT nfs_nota_fiscal.filial_nota, nfs_nota_fiscal.nota, nfs_nota_fiscal.serie, nfs_nota_fiscal.data_emissao, 1 AS cfop1, nfs_nota_servico.prc_total AS valor_produto, 0::numeric AS valor_icms_subst, 0::numeric AS valor_frete, 0::numeric AS valor_seguro, 0::numeric AS valor_ipi, 0::numeric AS valor_desp_aces, 0::numeric AS valor_desconto, 0::numeric AS valor_base_icms, 0::numeric AS valor_icms, CASE btrim(nfs_nota_fiscal.cancelada::text) WHEN 'S'::text THEN 'CANCELADA'::text ELSE 'NAO EMITIDA'::text END AS tipo, nfs_op_fiscal.entrada_saida, ''::character varying AS nfe_chave_acesso, ''::character varying AS protocolo, nfs_nota_fiscal.data_emissao AS data, nfs_nota_fiscal.hora_emissao AS hora, nfs_nota_fiscal.cliente, nfs_nota_servico.valor_pis, nfs_nota_servico.valor_cofins, nfs_nota_servico.base_pis, nfs_nota_servico.base_cofins, nfs_op_fiscal.venda, nfs_nota_servico.valor_iss, nfs_nota_servico.prc_total AS valor_total_liquido, nfs_nota_fiscal.almoxarifado, 999 AS tributo, ''::text AS nr_extrato, ''::text AS nr_sat, nfs_nota_servico.cst_pis, nfs_nota_servico.cst_cofins, 0.00 AS base_csll, 0.00 AS valor_csll, ''::character varying AS classificacao_fiscal, nfs_nota_servico.produto FROM nfs_nota_fiscal JOIN nfs_nota_servico ON nfs_nota_fiscal.filial_nota = nfs_nota_servico.filial_nota AND nfs_nota_fiscal.nota = nfs_nota_servico.nota AND nfs_nota_fiscal.serie::text = nfs_nota_servico.serie::text LEFT JOIN nfs_op_fiscal ON nfs_op_fiscal.cfop = 1) notas_fiscais ORDER BY notas_fiscais.filial_nota, notas_fiscais.nota, notas_fiscais.serie; ALTER TABLE public.view_ctb_gerencial_nfe OWNER TO postgres; COMMENT ON VIEW public.view_ctb_gerencial_nfe IS 'View para o relatorio de gerencial NFE';