/***************************************
* STORED stp_ContaCelle4Tipo
*
* effettua conteggio celle x blocco, dato filtro su attive (si/no) e su posizioen assegnata (0 = non assegnata, 1 = assegnata)
*
* Steamware, S.E.L.
* mod: 2010.05.18
*
****************************************/
create PROCEDURE [dbo].[stp_ContaCelleBlocco]
(
	@CodCS VARCHAR(2),
	@CodMag VARCHAR(50),
	@FiltAttive BIT,
	@PosAssegnata BIT,
	@TotCelle INT OUTPUT
)
AS

	SET @TotCelle = (SELECT		Count(IdxCella) AS Totale
	FROM		Celle
	WHERE		(IdxBlocco IN (SELECT IdxBlocco FROM Blocchi WHERE (CodCS = @CodCS) AND (CodMag = @CodMag))) -- cerco i blocchi
	AND			(Attiva = @FiltAttive) -- cerco attive/non attive
	AND			((ISNULL(X,0)+ISNULL(Y,0)+ISNULL(Z,0)) = (CASE @PosAssegnata WHEN 0 THEN 0 ELSE (ISNULL(X,0)+ISNULL(Y,0)+ISNULL(Z,0)) END))
	AND			((ISNULL(X,0)+ISNULL(Y,0)+ISNULL(Z,0)) > (CASE @PosAssegnata WHEN 0 THEN (ISNULL(X,0)+ISNULL(Y,0)+ISNULL(Z,0)) - 1 ELSE 0 END))
	)

RETURN @TotCelle
