SELECT   
	se.nome AS empresa,
	tc.denominacao AS denominacao_tipo_cobranca,
	p.codigo AS codigo_credor_devedor,
	p.nome AS credor_devedor,
	tf.id_titulo_financeiro,
	tf.id_titulo_filho,
	tf.numero_titulo,
	tf.numero_parcela,
	tf.data_emissao,
	tf.data_vencimento,
	tf.valor_principal,
	tf.valor_titulo,
	(tf.desconto_financeiro + tf.desconto_cobranca + tf.valor_taxa_administracao + tf.tarifa_transacao + tf.retencao_tributaria) AS total_desconto,
	(tf.acrescimo_financeiro + tf.juros_cobranca + tf.multa_cobranca) AS total_acrescimo,
	tf.valor_liquidado,
	tf.data_liquidacao,
	COALESCE(ef.denominacao, '') AS forma_recebimento,
	COALESCE(cf.denominacao, '') AS denominacao_conta,
	ovl.titulo AS situacao_titulo,
	ovl1.titulo AS natureza_titulo,
	(SELECT COUNT(*) FROM titulo_financeiro WHERE id_titulo_pai = tf.id_titulo_financeiro) AS total_titulos_filho
FROM	titulo_financeiro AS tf
	INNER JOIN pessoa AS p ON (tf.id_credor_devedor = p.id_pessoa)
	INNER JOIN tipo_cobranca AS tc ON (tc.id_tipo_cobranca = tf.id_tipo_cobranca)
	INNER JOIN sis_empresa AS se ON (se.id_empresa = tf.id_empresa)
	LEFT OUTER JOIN conta_financeira AS cf ON (cf.id_conta_financeira = tf.id_conta_liquidacao)
	LEFT OUTER JOIN movimento_financeiro AS mf ON (mf.id_movimento_financeiro = tf.id_movimento_liquidacao)
	LEFT OUTER JOIN especie_financeira AS ef ON (ef.id_especie_financeira = mf.id_especie_financeira)
	INNER JOIN sis_opcao_lista_valor AS ovl ON (ovl.id = tf.situacao AND ovl.id_lista_valor = 'CEDBEA3BCD98445F98C29C5DAC4B809D')
	INNER JOIN sis_opcao_lista_valor AS ovl1 ON (ovl1.id = tf.natureza_titulo AND ovl1.id_lista_valor = 'C043EFC0EDD5414995003170978F8878')
WHERE	tf.data_liquidacao BETWEEN :DataInicial AND :DataFinal
AND	tf.id_empresa IN (:IdEmpresaMultSlc)
AND	tf.natureza_titulo IN (201,221)
AND	(:IdDevedorNO = -1 OR p.id_pessoa = :IdDevedorNO)
AND	tf.situacao IN (2,3,10)
ORDER BY se.nome,
	ovl1.titulo,
	tc.denominacao,
	p.nome,
	tf.data_liquidacao,
	tf.id_titulo_financeiro