-- Vendas de Combustivceis por Atendente
SELECT	
	i.denominacao,
	i.codigo,
	ci.denominacao AS categoria_item,
	
	CASE WHEN (ab.id_atendente IS NULL)
		THEN
		'NÃO IDENTIFICADO'
		ELSE
		p.nome
		END 
	
	as nome_atendente,
	
	CASE WHEN (ab.id_atendente IS NULL)
		THEN
		'-'
		ELSE
		p.codigo
		END 
	
	as codigo_atendente,
	
	SUM(ivc.quantidade) AS quantidade_vendida,
    SUM(ivc.total_bruto) AS valor_bruto,
    SUM(ivc.desconto + ivc.desconto_automatico + ivc.desconto_rateado + ivc.desconto_ajuste_rateado + ivc.desconto_automatico_rateado + ivc.desconto_fidelidade_rateado) AS desconto,
    SUM(ivc.acrescimo + ivc.acrescimo_automatico + ivc.acrescimo_rateado + ivc.acrescimo_ajuste_rateado + ivc.acrescimo_automatico_rateado) AS acrescimo,
    COUNT(ivc.id_item) AS quantidade_venda
	
FROM	movimento_venda_terminal AS mvt
	INNER JOIN venda_cf AS v ON (mvt.id_movimento_venda_terminal = v.id_movimento_venda_terminal)
	INNER JOIN item_venda_cf AS ivc ON (v.id_venda_cf =ivc.id_venda_cf)
	INNER JOIN item AS i ON (ivc.id_item = i.id_item)
	INNER JOIN categoria_item AS ci ON (i.id_categoria_item = ci.id_categoria_item)
	INNER JOIN local_estoque AS le ON (le.id_item_tanque = i.id_item)
	LEFT JOIN abastecimento AS ab ON (ab.id_abastecimento = ivc.id_abastecimento)
	LEFT JOIN pessoa AS p ON (p.id_pessoa = ab.id_atendente)
WHERE	mvt.data_movimento BETWEEN :DataInicial AND :DataFinal
AND	DATE(v.data_cupom) BETWEEN :DataInicial AND :DataFinal
AND	DATE(ivc.data_venda) BETWEEN :DataInicial AND :DataFinal
AND	mvt.id_empresa IN (:IdEmpresaMultSlc)
AND	(:IdColaborador = -1 OR ivc.id_atendente = :IdColaborador)
AND	ivc.cancelado = 'N' 
AND	v.cancelada = 'N'
AND le.tipo = 2 --Tanque

GROUP BY 4,
	ci.denominacao,
	i.denominacao,
	ab.id_atendente,
	i.codigo,
	p.nome,
	p.codigo
ORDER BY 4,
	ci.denominacao,
	i.denominacao
