-- Títulos Pendentes de Colaborador
WITH rateio_caixa AS (

SELECT	se.nome AS empresa_financeiro,
	emc.nome AS empresa_funcionario,
	p.codigo,
	p.nome AS nome_colaborador,
	tf.data_emissao,
	tf.valor_titulo * POSITION(CAST('2' AS CHAR) IN CAST(tf.pagar_receber AS CHAR(1))) AS valor_entrada,
	tf.valor_titulo * POSITION(CAST('1' AS CHAR) IN CAST(tf.pagar_receber AS CHAR(1))) AS valor_saida,
	tf.numero_titulo,
	olvnt.titulo AS denominacao_natureza_titulo,
	tf.observacao_lancamento,
	c.situacao AS situacao_colaborador,
	tf.situacao
FROM	titulo_financeiro AS tf
	INNER JOIN colaborador AS c ON (c.id_colaborador = tf.id_credor_devedor AND c.id_empresa = tf.id_empresa)
	INNER JOIN pessoa AS p ON (p.id_pessoa = c.id_colaborador)
	INNER JOIN sis_empresa AS se ON (se.id_empresa = tf.id_empresa)
	INNER JOIN sis_empresa AS emc ON (emc.id_empresa = c.id_empresa)
	INNER JOIN sis_opcao_lista_valor AS olvnt ON (olvnt.id = tf.natureza_titulo AND olvnt.id_lista_valor = 'C043EFC0EDD5414995003170978F8878')
WHERE	tf.id_empresa = :IdEmpresaObrigatorio
AND	tf.data_emissao <= :DataFinal
AND	tf.situacao = 1
AND	tf.natureza_titulo IN (107,110,111,207,210,211)
ORDER BY emc.nome,
	p.nome,
	tf.data_emissao
	
)

SELECT  empresa_funcionario,
		codigo,
		nome_colaborador,
		(CASE WHEN UPPER(TRIM(observacao_lancamento)) = 'VALE'
			THEN 'VALE'
			ELSE ''
		END) AS observacao,
		Sum(valor_saida - valor_entrada) as valor_rateio
		

FROM 	rateio_caixa	
GROUP BY 1,2,3,4
ORDER BY codigo	