DROP VIEW public.view_ctb_livro_entrada; CREATE OR REPLACE VIEW public.view_ctb_livro_entrada AS SELECT ent_nota_fiscal.filial_nota AS filial, ent_nota_fiscal.numero AS nota, ent_nota_fiscal.serie, ent_nota_fiscal.data_entrega AS data, for_fornecedor_endereco.uf, ent_nota_fiscal_item.cfop, nfs_op_fiscal.descricao_cfop, ent_nota_fiscal_item.sit_trib, pro_sit_trib.tributada_isenta_outras AS operacao, ent_nota_fiscal_item.preco_total + ent_nota_fiscal_item.icm_subst + ent_nota_fiscal_item.vlr_ipi + ent_nota_fiscal_item.frete_seguro + ent_nota_fiscal_item.outros_valores - ent_nota_fiscal_item.desconto_item AS vlr_contabil, CASE WHEN bas_filial.tipo_entidade::text = '2'::text THEN 0.000000 WHEN bas_filial.tipo_entidade::text = '1'::text AND pro_sit_trib.tributada_isenta_outras::text = 'O'::text AND ent_nota_fiscal_item.base_icm > 0::numeric AND ent_nota_fiscal_item.credito_icm = 0::numeric THEN 0.000000 ELSE ent_nota_fiscal_item.base_icm END AS base_icms, ent_nota_fiscal_item.aliquota_icms AS aliq_icms, CASE WHEN nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN ent_nota_fiscal_item.credito_icm ELSE 0.000000 END AS vlr_icms, CASE WHEN pro_sit_trib.tributada_isenta_outras::text = 'T'::text AND ent_nota_fiscal_item.sit_trib <> 20::numeric AND ent_nota_fiscal_item.sit_trib <> 70::numeric THEN ent_nota_fiscal_item.base_icm ELSE 0.000000 END AS vlr_tributada, CASE WHEN pro_sit_trib.tributada_isenta_outras::text = 'O'::text AND ent_nota_fiscal_item.base_icm > 0::numeric AND ent_nota_fiscal_item.credito_icm = 0::numeric THEN ent_nota_fiscal_item.preco_total + ent_nota_fiscal_item.icm_subst + ent_nota_fiscal_item.vlr_ipi + ent_nota_fiscal_item.frete_seguro + ent_nota_fiscal_item.outros_valores - ent_nota_fiscal_item.desconto_item - ent_nota_fiscal_item.base_icm WHEN pro_sit_trib.tributada_isenta_outras::text <> 'O'::text AND (pro_sit_trib.tributada_isenta_outras::text = 'I'::text OR pro_sit_trib.reducao_isenta_outras::text = 'I'::text OR bas_filial.tipo_entidade::text <> '1'::text) THEN ent_nota_fiscal_item.preco_total - ent_nota_fiscal_item.desconto_item - ent_nota_fiscal_item.base_icm ELSE 0.000000 END AS vlr_isenta, CASE WHEN pro_sit_trib.tributada_isenta_outras::text = 'O'::text AND ent_nota_fiscal_item.base_icm > 0::numeric AND ent_nota_fiscal_item.credito_icm = 0::numeric THEN ent_nota_fiscal_item.base_icm WHEN pro_sit_trib.tributada_isenta_outras::text <> 'I'::text AND pro_sit_trib.reducao_isenta_outras::text <> 'I'::text AND bas_filial.tipo_entidade::text <> '2'::text THEN ent_nota_fiscal_item.preco_total + ent_nota_fiscal_item.icm_subst + ent_nota_fiscal_item.vlr_ipi + ent_nota_fiscal_item.frete_seguro + ent_nota_fiscal_item.outros_valores - ent_nota_fiscal_item.desconto_item - ent_nota_fiscal_item.base_icm WHEN pro_sit_trib.tributada_isenta_outras::text <> 'I'::text AND pro_sit_trib.reducao_isenta_outras::text <> 'I'::text AND bas_filial.tipo_entidade::text <> '1'::text THEN ent_nota_fiscal_item.base_icm ELSE 0.000000 END AS vlr_outras, ent_nota_fiscal_item.base_ipi, ent_nota_fiscal_item.aliquota_ipi AS aliq_ipi, ent_nota_fiscal_item.vlr_ipi AS valor_ipi, ent_nota_fiscal_item.cst_pis, ent_nota_fiscal_item.base_pis, ent_nota_fiscal_item.aliquota_pis AS aliq_pis, ent_nota_fiscal_item.vlr_pis AS valor_pis, ent_nota_fiscal_item.cst_cofins, ent_nota_fiscal_item.base_cofins, ent_nota_fiscal_item.aliquota_cofins AS aliq_cofins, ent_nota_fiscal_item.vlr_cofins AS valor_cofins, ent_nota_fiscal.almoxarifado, ent_nota_fiscal.tipo_movimento, ent_nota_fiscal_item.produto, ent_nota_fiscal.filial_for AS filial_fornecedor, ent_nota_fiscal.fornecedor, ent_nota_fiscal_item.sequencia, 'E'::text AS tipo, ent_nota_fiscal_item.frete_seguro AS valor_frete, ent_nota_fiscal_item.icm_subst AS valor_icms_st, CASE WHEN nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN ''::character varying ELSE ent_nota_fiscal.observacao END AS observ_icms, ''::text AS observ_ipi, ent_nota_fiscal.modelo FROM ent_nota_fiscal LEFT JOIN for_fornecedor ON for_fornecedor.filial = ent_nota_fiscal.filial_nota AND for_fornecedor.codigo = ent_nota_fiscal.fornecedor LEFT JOIN for_fornecedor_endereco ON for_fornecedor_endereco.filial = ent_nota_fiscal.filial_nota AND for_fornecedor_endereco.fornecedor = ent_nota_fiscal.fornecedor AND for_fornecedor_endereco.sequencia = 1 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 nfs_op_fiscal ON nfs_op_fiscal.cfop = ent_nota_fiscal_item.cfop LEFT JOIN pro_sit_trib ON pro_sit_trib.codigo::numeric = ent_nota_fiscal_item.sit_trib LEFT JOIN bas_tipo_mov ON bas_tipo_mov.codigo = ent_nota_fiscal.tipo_movimento LEFT JOIN bas_filial ON bas_filial.codigo = ent_nota_fiscal.filial_nota WHERE bas_tipo_mov.operacao::text = 'E'::text AND bas_tipo_mov.livro_entrada::text = 'S'::text AND (ent_nota_fiscal.almoxarifado <> ALL (ARRAY[26, 91, 108, 1613, 2291, 2300, 2396, 2397, 2557, 2558, 2627, 2649, 2650, 3763])) AND (ent_nota_fiscal.cfop <> ALL (ARRAY[2, 3])) UNION ALL SELECT nfs_nota_item.filial_nota AS filial, nfs_nota_item.nota, nfs_nota_item.serie, nfs_nota_fiscal.data_emissao AS data, cli_endereco.uf, nfs_nota_item.cfop, nfs_op_fiscal.descricao_cfop, nfs_nota_item.tributo AS sit_trib, pro_sit_trib.tributada_isenta_outras AS operacao, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND nfs_nota_fiscal.vlr_total_produtos = 0::numeric THEN 0::numeric WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header + nfs_nota_item.vlr_icms_subst + nfs_nota_item.vlr_frete + nfs_nota_item.valor_ipi + nfs_nota_item.vlr_liq_rateio_desc_header / nfs_nota_fiscal.vlr_total_produtos * nfs_nota_fiscal.vlr_desp_aces ELSE 0.000000 END AS vlr_contabil, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.base_icms ELSE 0.000000 END as base_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.perc_icms ELSE 0.000000 END AS aliq_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN nfs_nota_item.valor_icms ELSE 0.000000 END AS vlr_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND pro_sit_trib.tributada_isenta_outras::text = 'T'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_tributada, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND pro_sit_trib.tributada_isenta_outras::text = 'I'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND pro_sit_trib.tributada_isenta_outras::text = 'T'::text AND nfs_nota_item.base_icms <> 0::numeric THEN nfs_nota_item.vlr_liq_rateio_desc_header - nfs_nota_item.base_icms ELSE 0.000000 END AS vlr_isenta, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND pro_sit_trib.tributada_isenta_outras::text = 'O'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_outras, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header ELSE 0.000000 END AS base_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.perc_ipi ELSE 0.000000 END AS aliq_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.valor_ipi ELSE 0.000000 END AS valor_ipi, nfs_nota_item.cst_pis, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.base_pis ELSE 0.000000 END AS base_pis, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.aliquota_pis ELSE 0.000000 END AS aliq_pis, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.valor_pis ELSE 0.000000 END AS valor_pis, nfs_nota_item.cst_cofins, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.base_cofins ELSE 0.000000 END as base_cofins, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.aliquota_cofins ELSE 0.000000 END AS aliq_cofins, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.valor_cofins ELSE 0.000000 END as valor_cofins, nfs_nota_fiscal.almoxarifado, 10 AS tipo_movimento, nfs_nota_item.produto, nfs_nota_fiscal.filial_cli AS filial_fornecedor, nfs_nota_fiscal.cliente AS fornecedor, nfs_nota_item.sequencia, 'P'::text AS tipo, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.vlr_frete ELSE 0.000000 END AS valor_frete, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.vlr_icms_subst ELSE 0.000000 END AS valor_icms_st, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN ''::character varying WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_fiscal.observacao2 ELSE 'Cancelada' END AS observ_icms, ''::text AS observ_ipi, CASE nfs_nota_fiscal.serie WHEN 'NFE'::text THEN '55'::text WHEN 'UN'::text THEN '01'::text WHEN 'CF'::text THEN '2D'::text WHEN 'CFE'::text THEN '59'::text WHEN ' 1'::text THEN '65'::text WHEN ' 2'::text THEN '65'::text ELSE NULL::text END AS modelo FROM nfs_nota_fiscal JOIN nfs_nota_item ON nfs_nota_item.filial_nota = nfs_nota_fiscal.filial_nota AND nfs_nota_item.nota = nfs_nota_fiscal.nota AND nfs_nota_item.serie::text = nfs_nota_fiscal.serie::text LEFT JOIN nfs_op_fiscal ON nfs_op_fiscal.cfop = nfs_nota_item.cfop LEFT JOIN pro_sit_trib ON pro_sit_trib.codigo::numeric = nfs_nota_item.tributo LEFT JOIN cli_endereco ON cli_endereco.filial = nfs_nota_fiscal.filial_nota AND cli_endereco.cliente = nfs_nota_fiscal.cliente AND cli_endereco.sequencia = nfs_nota_fiscal.endereco_faturamento LEFT JOIN bas_filial ON bas_filial.codigo = nfs_nota_fiscal.filial_nota LEFT JOIN bas_tipo_mov ON bas_tipo_mov.codigo = nfs_nota_fiscal.tipo_movimento WHERE nfs_op_fiscal.entrada_saida::text = 'E'::text AND bas_tipo_mov.livro_entrada::text = 'S'::text UNION ALL SELECT nfs_nota_servico_catering.filial_nota AS filial, nfs_nota_servico_catering.nota, nfs_nota_servico_catering.serie, nfs_nota_fiscal.data_emissao AS data, cli_endereco.uf, nfs_nota_servico_catering.cfop, nfs_op_fiscal.descricao_cfop, nfs_nota_servico_catering.tributo AS sit_trib, pro_sit_trib.tributada_isenta_outras AS operacao, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND nfs_nota_fiscal.vlr_total_produtos = 0::numeric THEN 0::numeric WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN 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.valor_ipi + nfs_nota_servico_catering.vlr_liq_rateio_desc_header / nfs_nota_fiscal.vlr_total_produtos * nfs_nota_fiscal.vlr_desp_aces ELSE 0.000000 END AS vlr_contabil, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.base_icms ELSE 0.000000 END as base_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.perc_icms ELSE 0.000000 END AS aliq_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN nfs_nota_servico_catering.valor_icms ELSE 0.000000 END AS vlr_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND pro_sit_trib.tributada_isenta_outras::text = 'T'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_tributada, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND pro_sit_trib.tributada_isenta_outras::text = 'I'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_isenta, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND pro_sit_trib.tributada_isenta_outras::text = 'O'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_outras, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS base_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.perc_ipi ELSE 0.000000 END AS aliq_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.valor_ipi ELSE 0.000000 END AS valor_ipi, nfs_nota_servico_catering.cst_pis, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.base_pis ELSE 0.000000 END AS base_pis, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.aliquota_pis ELSE 0.000000 END AS aliq_pis, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.valor_pis ELSE 0.000000 END AS valor_pis, nfs_nota_servico_catering.cst_cofins, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.base_cofins ELSE 0.000000 END AS base_cofins, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.aliquota_cofins ELSE 0.000000 END AS aliq_cofins, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.valor_cofins ELSE 0.000000 END AS valor_cofins, 1 AS almoxarifado, 10 AS tipo_movimento, nfs_nota_servico_catering.servico AS produto, nfs_nota_fiscal.filial_cli AS filial_fornecedor, nfs_nota_fiscal.cliente AS fornecedor, nfs_nota_servico_catering.sequencia, 'S'::text AS tipo, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.vlr_frete ELSE 0.000000 END AS valor_frete, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.vlr_icms_subst ELSE 0.000000 END AS valor_icms_st, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN ''::character varying WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_fiscal.observacao2 ELSE 'Cancelada' END AS observ_icms, ''::text AS observ_ipi, CASE nfs_nota_fiscal.serie WHEN 'NFE'::text THEN '55'::text WHEN 'UN'::text THEN '01'::text WHEN 'CF'::text THEN '2D'::text WHEN 'CFE'::text THEN '59'::text WHEN ' 1'::text THEN '65'::text WHEN ' 2'::text THEN '65'::text ELSE NULL::text END AS modelo FROM nfs_nota_fiscal JOIN nfs_nota_servico_catering ON nfs_nota_servico_catering.filial_nota = nfs_nota_fiscal.filial_nota AND nfs_nota_servico_catering.nota = nfs_nota_fiscal.nota AND nfs_nota_servico_catering.serie::text = nfs_nota_fiscal.serie::text LEFT JOIN nfs_op_fiscal ON nfs_op_fiscal.cfop = nfs_nota_servico_catering.cfop LEFT JOIN pro_sit_trib ON pro_sit_trib.codigo::numeric = nfs_nota_servico_catering.tributo LEFT JOIN cli_endereco ON cli_endereco.filial = nfs_nota_fiscal.filial_nota AND cli_endereco.cliente = nfs_nota_fiscal.cliente AND cli_endereco.sequencia = nfs_nota_fiscal.endereco_faturamento LEFT JOIN bas_filial ON bas_filial.codigo = nfs_nota_fiscal.filial_nota LEFT JOIN bas_tipo_mov ON bas_tipo_mov.codigo = nfs_nota_fiscal.tipo_movimento WHERE nfs_op_fiscal.entrada_saida::text = 'E'::text AND bas_tipo_mov.livro_entrada::text = 'S'::text; ALTER TABLE public.view_ctb_livro_entrada OWNER TO postgres; DROP VIEW public.view_ctb_livro_saida; CREATE OR REPLACE VIEW public.view_ctb_livro_saida AS SELECT nfs_nota_item.filial_nota, nfs_nota_item.nota, nfs_nota_item.serie, nfs_nota_fiscal.data_emissao, nfs_nota_fiscal.data_saida, nfs_nota_fiscal.cancelada, 'NF'::text AS especie, cli_endereco.uf, nfs_nota_item.cfop, UPPER(nfs_op_fiscal.descricao_cfop::text) AS descricao_cfop, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header + nfs_nota_item.vlr_frete + nfs_nota_item.vlr_icms_subst + nfs_nota_item.valor_ipi ELSE 0.000000 END AS vlr_contabil, nfs_nota_item.tributo AS sit_trib_icms, sit_icms.tributada_isenta_outras AS operacao_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.base_icms ELSE 0.000000 END AS base_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.perc_icms ELSE 0.000000 END AS alq_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN nfs_nota_item.valor_icms ELSE 0.000000 END AS vlr_icms, nfs_nota_item.cst_pis, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.base_pis ELSE 0.000000 END AS base_pis, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.aliquota_pis ELSE 0.000000 END AS alq_pis, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.valor_pis ELSE 0.000000 END AS vlr_pis, nfs_nota_item.cst_cofins, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.base_cofins ELSE 0.000000 END AS base_cofins, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.aliquota_cofins ELSE 0.000000 END AS alq_cofins, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.valor_cofins ELSE 0.000000 END AS vlr_cofins, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'T'::text THEN nfs_nota_item.base_icms ELSE 0.000000 END AS vlr_tributada_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'I'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'T'::text AND nfs_nota_item.base_icms <> 0::numeric THEN nfs_nota_item.vlr_liq_rateio_desc_header - nfs_nota_item.base_icms ELSE 0.000000 END AS vlr_isenta_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'T'::text AND (nfs_nota_item.vlr_frete > 0::numeric OR nfs_nota_item.vlr_icms_subst > 0::numeric) THEN nfs_nota_item.vlr_liq_rateio_desc_header - nfs_nota_item.base_icms + nfs_nota_item.vlr_frete + nfs_nota_item.vlr_icms_subst WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'T'::text AND nfs_nota_item.base_icms <> nfs_nota_item.vlr_liq_rateio_desc_header THEN 0.000000::numeric WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_item.vlr_icms_subst = 0::numeric AND nfs_nota_item.base_icms = 0::numeric THEN nfs_nota_item.vlr_liq_rateio_desc_header WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_item.vlr_icms_subst > 0::numeric AND nfs_nota_item.base_icms = 0::numeric THEN nfs_nota_item.vlr_liq_rateio_desc_header + nfs_nota_item.vlr_icms_subst WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_item.vlr_icms_subst = 0::numeric AND nfs_nota_item.base_icms <> 0::numeric THEN 0.000000 WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_item.vlr_icms_subst > 0::numeric AND nfs_nota_item.base_icms <> 0::numeric THEN nfs_nota_item.vlr_icms_subst ELSE 0.000000 END AS vlr_outras_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN ''::character varying WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_fiscal.observacao2 ELSE 'Cancelada' END AS observ_icms, sit_ipi.codigo AS sit_trib_ipi, sit_ipi.tributada_isenta_outras AS operacao_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND nfs_nota_item.valor_ipi > 0::numeric THEN nfs_nota_item.vlr_liq_rateio_desc_header ELSE 0.000000 END AS base_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.perc_ipi ELSE 0.000000 END AS alq_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.valor_ipi ELSE 0.000000 END AS vlr_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_ipi.tributada_isenta_outras::text = 'T'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_tributada_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_ipi.tributada_isenta_outras::text = 'I'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_isenta_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_ipi.tributada_isenta_outras::text = 'O'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_outras_ipi, ''::text AS observ_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_item.vlr_desp_aces ELSE 0.000000 END AS vlr_desp_aces FROM nfs_nota_fiscal JOIN nfs_nota_item ON nfs_nota_item.filial_nota = nfs_nota_fiscal.filial_nota AND nfs_nota_item.nota = nfs_nota_fiscal.nota AND nfs_nota_item.serie::text = nfs_nota_fiscal.serie::text LEFT JOIN nfs_op_fiscal ON nfs_op_fiscal.cfop = nfs_nota_item.cfop LEFT JOIN pro_sit_trib sit_icms ON sit_icms.codigo::numeric = nfs_nota_item.tributo LEFT JOIN pro_sit_trib sit_ipi ON sit_ipi.codigo::numeric = 90::numeric LEFT JOIN cli_endereco ON cli_endereco.filial = nfs_nota_fiscal.filial_nota AND cli_endereco.cliente = nfs_nota_fiscal.cliente AND cli_endereco.sequencia = nfs_nota_fiscal.endereco_faturamento 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 WHERE nfs_op_fiscal.entrada_saida::text = 'S'::text UNION ALL SELECT nfs_nota_servico_catering.filial_nota, nfs_nota_servico_catering.nota, nfs_nota_servico_catering.serie, nfs_nota_fiscal.data_emissao, nfs_nota_fiscal.data_saida, nfs_nota_fiscal.cancelada, 'NF'::text AS especie, cli_endereco.uf, nfs_nota_servico_catering.cfop, UPPER(nfs_op_fiscal.descricao_cfop::text) AS descricao_cfop, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header + nfs_nota_servico_catering.vlr_frete + nfs_nota_servico_catering.vlr_icms_subst + nfs_nota_servico_catering.valor_ipi ELSE 0.000000 END AS vlr_contabil, nfs_nota_servico_catering.tributo AS sit_trib_icms, sit_icms.tributada_isenta_outras AS operacao_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.base_icms ELSE 0.000000 END AS base_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.perc_icms ELSE 0.000000 END AS alq_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN nfs_nota_servico_catering.valor_icms ELSE 0.000000 END AS vlr_icms, nfs_nota_servico_catering.cst_pis, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.base_pis ELSE 0.000000 END AS base_pis, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.aliquota_pis ELSE 0.000000 END AS alq_pis, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.valor_pis ELSE 0.000000 END AS vlr_pis, nfs_nota_servico_catering.cst_cofins, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.base_cofins ELSE 0.000000 END AS base_cofins, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.aliquota_cofins ELSE 0.000000 END AS alq_cofins, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.valor_cofins ELSE 0.000000 END AS vlr_cofins, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'T'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_tributada_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'I'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_isenta_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'T'::text AND (nfs_nota_servico_catering.vlr_frete > 0::numeric OR nfs_nota_servico_catering.vlr_icms_subst > 0::numeric) THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header - nfs_nota_servico_catering.base_icms + nfs_nota_servico_catering.vlr_frete + nfs_nota_servico_catering.vlr_icms_subst WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'T'::text AND nfs_nota_servico_catering.base_icms <> nfs_nota_servico_catering.vlr_liq_rateio_desc_header THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header - nfs_nota_servico_catering.base_icms WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_servico_catering.vlr_icms_subst = 0::numeric AND nfs_nota_servico_catering.base_icms = 0::numeric THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_servico_catering.vlr_icms_subst > 0::numeric AND nfs_nota_servico_catering.base_icms = 0::numeric THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header + nfs_nota_servico_catering.vlr_icms_subst WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_servico_catering.vlr_icms_subst = 0::numeric AND nfs_nota_servico_catering.base_icms <> 0::numeric THEN 0.000000 WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_icms.tributada_isenta_outras::text = 'O'::text AND nfs_nota_servico_catering.vlr_icms_subst > 0::numeric AND nfs_nota_servico_catering.base_icms <> 0::numeric THEN nfs_nota_servico_catering.vlr_icms_subst ELSE 0.000000 END AS vlr_outras_icms, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN ''::character varying WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_fiscal.observacao2 ELSE 'Cancelada' END AS observ_icms, sit_ipi.codigo AS sit_trib_ipi, sit_ipi.tributada_isenta_outras AS operacao_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND nfs_nota_servico_catering.valor_ipi > 0::numeric THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS base_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.perc_ipi ELSE 0.000000 END AS alq_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.valor_ipi ELSE 0.000000 END AS vlr_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_ipi.tributada_isenta_outras::text = 'T'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_tributada_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_ipi.tributada_isenta_outras::text = 'I'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_isenta_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text AND sit_ipi.tributada_isenta_outras::text = 'O'::text THEN nfs_nota_servico_catering.vlr_liq_rateio_desc_header ELSE 0.000000 END AS vlr_outras_ipi, ''::text AS observ_ipi, CASE WHEN nfs_nota_fiscal.cancelada::text = 'N'::text THEN nfs_nota_servico_catering.vlr_desp_aces ELSE 0.000000 END AS vlr_desp_aces FROM nfs_nota_fiscal JOIN nfs_nota_servico_catering ON nfs_nota_servico_catering.filial_nota = nfs_nota_fiscal.filial_nota AND nfs_nota_servico_catering.nota = nfs_nota_fiscal.nota AND nfs_nota_servico_catering.serie::text = nfs_nota_fiscal.serie::text LEFT JOIN nfs_op_fiscal ON nfs_op_fiscal.cfop = nfs_nota_servico_catering.cfop LEFT JOIN pro_sit_trib sit_icms ON sit_icms.codigo::numeric = nfs_nota_servico_catering.tributo LEFT JOIN pro_sit_trib sit_ipi ON sit_ipi.codigo::numeric = 90::numeric LEFT JOIN cli_endereco ON cli_endereco.filial = nfs_nota_fiscal.filial_nota AND cli_endereco.cliente = nfs_nota_fiscal.cliente AND cli_endereco.sequencia = nfs_nota_fiscal.endereco_faturamento 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 WHERE nfs_op_fiscal.entrada_saida::text = 'S'::text; ALTER TABLE public.view_ctb_livro_saida OWNER TO postgres; COMMENT ON VIEW public.view_ctb_livro_saida IS 'View Contabilidade - Livro de Saida';