-- Cheques Recebidos por Período - Analítico
SELECT  se.nome AS nome_empresa,
	tf.data_vencimento,
	tf.data_emissao,
	tf.data_liquidacao,
	tf.valor_titulo,
	tf.agencia_cheque AS agencia,
	tf.conta_corrente_cheque AS conta,
	tf.numero_titulo AS numero_cheque,
	bc.codigo AS banco,
	bc.nome AS nome_banco,
	solv2.titulo AS natureza_titulo,
	p.codigo,
	p.nome,
	CASE WHEN (p.natureza = 1) THEN
		SUBSTRING(LPAD(TRANSLATE(p.cnpj_cpf, '.-', ''), 11, '0'), 1, 3) || '.' || SUBSTRING(LPAD(TRANSLATE(p.cnpj_cpf, '.-', ''), 11, '0'), 4, 3) || '.' ||
		SUBSTRING(LPAD(TRANSLATE(p.cnpj_cpf, '.-', ''), 11, '0'), 7, 3) || '-' || SUBSTRING(LPAD(TRANSLATE(p.cnpj_cpf, '.-', ''), 11, '0'), 10)
	WHEN (p.natureza = 2) THEN
		SUBSTRING(LPAD(TRANSLATE(p.cnpj_cpf, '.-/', ''), 14, '0'), 1, 2) || '.' || SUBSTRING(LPAD(TRANSLATE(p.cnpj_cpf, '.-/', ''), 14, '0'), 3, 3) || '.' || SUBSTRING(LPAD(TRANSLATE(p.cnpj_cpf, '.-/', ''), 14, '0'), 6, 3) || '/' ||
		SUBSTRING(LPAD(TRANSLATE(p.cnpj_cpf, '.-/', ''), 14, '0'), 9, 4) || '-' || SUBSTRING(LPAD(TRANSLATE(p.cnpj_cpf, '.-/', ''), 14, '0'), 13) END AS cnpj_cpf,
	ovl.titulo AS situacao_cheque
FROM	titulo_financeiro AS tf
	INNER JOIN pessoa AS p ON (p.id_pessoa = tf.id_credor_devedor)
	INNER JOIN banco AS bc ON (tf.id_banco_cheque = bc.id_banco)
	LEFT OUTER JOIN sis_opcao_lista_valor AS ovl ON (ovl.id = tf.situacao AND ovl.id_lista_valor = 'CEDBEA3BCD98445F98C29C5DAC4B809D')
	LEFT OUTER JOIN sis_opcao_lista_valor AS solv2 ON (solv2.id = tf.natureza_titulo AND solv2.id_lista_valor = 'C043EFC0EDD5414995003170978F8878')
	INNER JOIN sis_empresa AS se ON (se.id_empresa = tf.id_empresa)
WHERE	tf.id_empresa = :IdEmpresaObrigatorio
AND	Date(tf.data_emissao) BETWEEN :DataInicial AND :DataFinal
AND	tf.natureza_titulo IN (204, 205)