-- View: public.view_nfs_tributacao_cliente_nota -- DROP VIEW public.view_nfs_tributacao_cliente_nota; CREATE OR REPLACE VIEW public.view_nfs_tributacao_cliente_nota AS SELECT nfs_nota_fiscal.filial_nota, nfs_nota_fiscal.cliente, nfs_nota_fiscal.nota, nfs_nota_fiscal.serie, nfs_op_fiscal.entrada_saida, nfs_nota_fiscal.data_emissao, rlc_receber.doc_destino, CASE WHEN nfs_op_fiscal.entrada_saida::text = 'E'::text THEN COALESCE(nfs_nota_fiscal.vlr_total_nota, 0.000000) * '-1'::integer::numeric ELSE COALESCE(nfs_nota_fiscal.vlr_total_nota, 0.000000) END AS vlr_total_nota, CASE WHEN nfs_nota_fiscal.total_retido_inss > 0::numeric THEN cli_cliente_tributo.aliq_inss ELSE 0.000000 END AS aliq_inss, CASE WHEN nfs_op_fiscal.entrada_saida::text = 'E'::text THEN COALESCE(nfs_nota_fiscal.total_retido_inss, 0.000000) * '-1'::integer::numeric ELSE COALESCE(nfs_nota_fiscal.total_retido_inss, 0.000000) END AS total_retido_inss, CASE WHEN nfs_nota_fiscal.total_retido_irrf > 0::numeric THEN cli_cliente_tributo.aliq_irrf ELSE 0.000000 END AS aliq_irrf, CASE WHEN nfs_op_fiscal.entrada_saida::text = 'E'::text THEN COALESCE(nfs_nota_fiscal.total_retido_irrf, 0.000000) * '-1'::integer::numeric ELSE COALESCE(nfs_nota_fiscal.total_retido_irrf, 0.000000) END AS total_retido_irrf, CASE WHEN nfs_nota_fiscal.total_retido_pis > 0::numeric THEN cli_cliente_tributo.aliq_pis ELSE 0.000000 END AS aliq_pis, CASE WHEN nfs_op_fiscal.entrada_saida::text = 'E'::text THEN COALESCE(nfs_nota_fiscal.total_retido_pis, 0.000000) * '-1'::integer::numeric ELSE COALESCE(nfs_nota_fiscal.total_retido_pis, 0.000000) END AS total_retido_pis, CASE WHEN nfs_nota_fiscal.total_retido_cofins > 0::numeric THEN cli_cliente_tributo.aliq_cofins ELSE 0.000000 END AS aliq_cofins, CASE WHEN nfs_op_fiscal.entrada_saida::text = 'E'::text THEN COALESCE(nfs_nota_fiscal.total_retido_cofins, 0.000000) * '-1'::integer::numeric ELSE COALESCE(nfs_nota_fiscal.total_retido_cofins, 0.000000) END AS total_retido_cofins, CASE WHEN nfs_nota_fiscal.total_retido_csll > 0::numeric THEN cli_cliente_tributo.aliq_csll ELSE 0.000000 END AS aliq_csll, CASE WHEN nfs_op_fiscal.entrada_saida::text = 'E'::text THEN COALESCE(nfs_nota_fiscal.total_retido_csll, 0.000000) * '-1'::integer::numeric ELSE COALESCE(nfs_nota_fiscal.total_retido_csll, 0.000000) END AS total_retido_csll, nfs_nota_fiscal.perc_iss, CASE WHEN nfs_op_fiscal.entrada_saida::text = 'E'::text THEN COALESCE(nfs_nota_fiscal.vlr_iss, 0.000000) * '-1'::integer::numeric ELSE COALESCE(nfs_nota_fiscal.vlr_iss, 0.000000) END AS vlr_iss, CASE WHEN nfs_op_fiscal.entrada_saida::text = 'E'::text THEN COALESCE(nfs_nota_fiscal.total_iss_retido, 0.000000) * '-1'::integer::numeric ELSE COALESCE(nfs_nota_fiscal.total_iss_retido, 0.000000) END AS total_iss_retido, CASE WHEN nfs_op_fiscal.entrada_saida::text = 'E'::text THEN COALESCE(nfs_nota_fiscal.total_retido_base_inss, 0.000000) * '-1'::integer::numeric ELSE COALESCE(nfs_nota_fiscal.total_retido_base_inss, 0.000000) END AS total_retido_base_inss FROM nfs_nota_fiscal LEFT JOIN rlc_receber ON rlc_receber.filial_origem = nfs_nota_fiscal.filial_nota AND rlc_receber.doc_origem = nfs_nota_fiscal.nota AND rlc_receber.serie_origem::text = nfs_nota_fiscal.serie::text LEFT JOIN rcb_dup_rcb ON rcb_dup_rcb.filial_dup = rlc_receber.filial_destino AND rlc_receber.doc_destino = rcb_dup_rcb.duplicata_doc AND nfs_nota_fiscal.cliente = rcb_dup_rcb.cliente AND rlc_receber.transacao::text = 'N'::text AND rcb_dup_rcb.situacao::text <> 'C'::text LEFT JOIN cli_cliente_tributo ON cli_cliente_tributo.filial = nfs_nota_fiscal.filial_nota AND cli_cliente_tributo.cliente = nfs_nota_fiscal.cliente LEFT JOIN cli_cliente ON cli_cliente.filial = nfs_nota_fiscal.filial_nota AND cli_cliente.codigo = nfs_nota_fiscal.cliente LEFT JOIN nfs_op_fiscal ON nfs_op_fiscal.cfop = nfs_nota_fiscal.cfop WHERE nfs_nota_fiscal.cancelada::text = 'N'::text AND rcb_dup_rcb.situacao::text <> 'C'::text AND (nfs_nota_fiscal.total_retido_inss > 0::numeric OR nfs_nota_fiscal.total_retido_irrf > 0::numeric OR nfs_nota_fiscal.total_retido_pis > 0::numeric OR nfs_nota_fiscal.total_retido_cofins > 0::numeric OR nfs_nota_fiscal.total_retido_csll > 0::numeric OR nfs_nota_fiscal.vlr_iss > 0::numeric OR nfs_nota_fiscal.total_iss_retido > 0::numeric) ORDER BY nfs_nota_fiscal.filial_nota, nfs_nota_fiscal.cliente, nfs_nota_fiscal.serie, nfs_nota_fiscal.nota; ALTER TABLE public.view_nfs_tributacao_cliente_nota OWNER TO postgres; COMMENT ON VIEW public.view_nfs_tributacao_cliente_nota IS 'View Tributação Cliente / Nota';