-- View: view_ctb_livro_entrada -- DROP VIEW view_ctb_livro_entrada; CREATE OR REPLACE VIEW 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.vlr_total_produtos = 0::numeric THEN 0::numeric ELSE 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 END AS vlr_contabil, nfs_nota_item.base_icms, nfs_nota_item.perc_icms AS aliq_icms, CASE WHEN nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN nfs_nota_item.valor_icms ELSE 0.000000 END AS vlr_icms, CASE WHEN 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 pro_sit_trib.tributada_isenta_outras::text = 'I'::text THEN nfs_nota_item.vlr_liq_rateio_desc_header WHEN 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 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, nfs_nota_item.vlr_liq_rateio_desc_header AS base_ipi, nfs_nota_item.perc_ipi AS aliq_ipi, nfs_nota_item.valor_ipi, nfs_nota_item.cst_pis, nfs_nota_item.base_pis, nfs_nota_item.aliquota_pis AS aliq_pis, nfs_nota_item.valor_pis, nfs_nota_item.cst_cofins, nfs_nota_item.base_cofins, nfs_nota_item.aliquota_cofins AS aliq_cofins, nfs_nota_item.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, nfs_nota_item.vlr_frete AS valor_frete, nfs_nota_item.vlr_icms_subst AS valor_icms_st, CASE WHEN nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN ''::character varying ELSE nfs_nota_fiscal.observacao2 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_nota_fiscal.cancelada::text = 'N'::text AND 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, 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 AS vlr_contabil, nfs_nota_servico_catering.base_icms, nfs_nota_servico_catering.perc_icms AS aliq_icms, CASE WHEN nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN nfs_nota_servico_catering.valor_icms ELSE 0.000000 END AS vlr_icms, CASE WHEN 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 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 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, nfs_nota_servico_catering.vlr_liq_rateio_desc_header AS base_ipi, nfs_nota_servico_catering.perc_ipi AS aliq_ipi, nfs_nota_servico_catering.valor_ipi, nfs_nota_servico_catering.cst_pis, nfs_nota_servico_catering.base_pis, nfs_nota_servico_catering.aliquota_pis AS aliq_pis, nfs_nota_servico_catering.valor_pis, nfs_nota_servico_catering.cst_cofins, nfs_nota_servico_catering.base_cofins, nfs_nota_servico_catering.aliquota_cofins AS aliq_cofins, nfs_nota_servico_catering.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, nfs_nota_servico_catering.vlr_frete AS valor_frete, nfs_nota_servico_catering.vlr_icms_subst AS valor_icms_st, CASE WHEN nfs_op_fiscal.transferencia_icms::text = 'N'::text THEN ''::character varying ELSE nfs_nota_fiscal.observacao2 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_nota_fiscal.cancelada::text = 'N'::text AND nfs_op_fiscal.entrada_saida::text = 'E'::text AND bas_tipo_mov.livro_entrada::text = 'S'::text; ALTER TABLE view_ctb_livro_entrada OWNER TO postgres;