 SELECT	
        tf.pagar_receber,
        tf.natureza_titulo as codigo_natureza_titulo,
        ovl1.titulo AS natureza_titulo,
        se.nome AS nome_empresa,
        p.codigo,
        p.nome,
        tf.numero_titulo,
        tf.numero_parcela,
        tf.data_emissao,
        tf.data_vencimento,
        tf.data_liquidacao,
        tf.valor_titulo,
        tf.valor_liquidado,
        (tf.valor_titulo
        - (tf.desconto_financeiro + tf.desconto_cobranca + tf.retencao_tributaria + tf.valor_taxa_administracao + tf.tarifa_transacao)
        + (tf.acrescimo_financeiro + tf.juros_cobranca + tf.multa_cobranca)) AS valor_pagar_receber,
        (CASE WHEN tdr.denominacao is not null THEN tdr.denominacao
                ELSE (select array_to_string(array(
                select 	tdr2.denominacao 
                        from despesa_receita AS dr2 
                        LEFT OUTER JOIN tipo_despesa_receita AS tdr2 ON tdr2.id_tipo_despesa_receita = dr2.id_tipo_despesa_receita
                        where dr2.id_empresa = tf.id_empresa and  tf.id_credor_devedor = dr2.id_pessoa 
                        and dr2.data_despesa_receita = tf.data_emissao and tf.numero_titulo = dr2.numero_documento
                        group by tdr2.denominacao 
                        ),',' ))
        END) AS denominacao,
        tf.observacao,
        tf.situacao,
        uap.nome AS usuario_aprovador,
        cf.denominacao AS denominacao_conta_financeira,
        cf.codigo AS codigo_conta
    FROM	titulo_financeiro AS tf
        INNER JOIN pessoa AS p ON (p.id_pessoa = tf.id_credor_devedor)
        LEFT OUTER JOIN parcela_despesa_receita AS pdr ON (pdr.id_titulo_financeiro = tf.id_titulo_financeiro)
        LEFT OUTER JOIN despesa_receita AS dr ON (dr.id_despesa_receita = pdr.id_despesa_receita)
        LEFT OUTER JOIN sis_usuario AS uap ON (uap.id_usuario = dr.id_usuario_aprovador)
        LEFT OUTER JOIN tipo_despesa_receita AS tdr ON (tdr.id_tipo_despesa_receita = dr.id_tipo_despesa_receita)
        INNER JOIN sis_empresa AS se ON (se.id_empresa = tf.id_empresa)
        LEFT JOIN conta_financeira AS cf ON (cf.id_conta_financeira = tf.id_conta_liquidacao)
    LEFT JOIN sis_opcao_lista_valor AS ovl1 ON (ovl1.id = tf.natureza_titulo AND ovl1.id_lista_valor = 'C043EFC0EDD5414995003170978F8878')
    WHERE	tf.id_empresa IN (:IdEmpresaMultSlc)
    AND (CASE WHEN tf.pagar_receber = 1 THEN tf.data_vencimento <=  date(CURRENT_DATE) + :DiasContasVencer ELSE tf.data_vencimento <=  date(CURRENT_DATE) END)
    -- AND	tf.pagar_receber = 1 --Pagar
    AND	tf.situacao IN (1, 9) 
    AND	tf.natureza_titulo IN (101, 106, 116, 109, 114, 222, 201, 202, 203, 204, 205, 209, 220, 221) -- 206 = adiantamennto a fornecedores
    ORDER BY se.nome, tf.data_vencimento,  p.nome