-- Vendas por Atendente - Média de Atendimento
-- Itens
SELECT	r.nome_empresa,
	r.nome_atendente,
	r.codigo_atendente,
	r.denominacao_item,
	r.codigo_item,
	r.categoria_item,
	r.quantidade_vendida,
	r.valor_total,
	r.nr_vendas,
	ROUND((r.valor_total / r.nr_vendas), 2) AS ticket_medio,
	((((r.duracao_venda_media_seg / 60) * 100) + (r.duracao_venda_media_seg - ((r.duracao_venda_media_seg / 60) * 60))) / 100.0) AS duracao_venda_media_seg
FROM	(
	SELECT	se.nome AS nome_empresa,
		p.nome AS nome_atendente,
		p.codigo AS codigo_atendente,
		i.denominacao AS denominacao_item,
		i.codigo AS codigo_item,
		ci.denominacao AS categoria_item,
		SUM(iv.quantidade) AS quantidade_vendida,
		SUM(iv.total_item - (iv.desconto_rateado + iv.desconto_ajuste_rateado + iv.desconto_automatico_rateado + iv.desconto_fidelidade_rateado)
			+ (iv.acrescimo_rateado + iv.acrescimo_ajuste_rateado + iv.acrescimo_automatico_rateado)) AS valor_total,
		COUNT(v.id_venda_cf) AS nr_vendas,
		(SUM(v.duracao_venda) / COUNT(v.id_venda_cf)) AS duracao_venda_media_seg
	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 iv ON (v.id_venda_cf =iv.id_venda_cf)
		INNER JOIN item AS i ON (iv.id_item = i.id_item)
		INNER JOIN categoria_item AS ci ON (i.id_categoria_item = ci.id_categoria_item)
		INNER JOIN pessoa AS p ON (p.id_pessoa = iv.id_atendente)
		INNER JOIN sis_empresa AS se ON (se.id_empresa = mvt.id_empresa)
	WHERE	mvt.id_empresa IN (:IdEmpresaMultSlc)
	AND	mvt.data_movimento BETWEEN :DataInicial AND :DataFinal
	AND	DATE(v.data_cupom) BETWEEN :DataInicial AND :DataFinal
	AND	DATE(iv.data_venda) BETWEEN :DataInicial AND :DataFinal
	AND	(:IdColaborador = -1 OR iv.id_atendente = :IdColaborador)
	AND	iv.cancelado = 'N'
	AND	v.cancelada = 'N'
	GROUP BY se.nome,
		p.nome,
		ci.denominacao,
		i.denominacao,
		p.codigo,
		i.codigo ) AS r