189 lines
4.5 KiB
Transact-SQL
189 lines
4.5 KiB
Transact-SQL
set xact_abort on
|
|
go
|
|
|
|
begin transaction
|
|
go
|
|
|
|
set ANSI_NULLS on
|
|
go
|
|
|
|
/**********************************************************
|
|
* STORED stp_baz_creaBulkByIdxFase
|
|
*
|
|
* clona in blocco i dati dalla sett precedente a quella richiesta (anno e settimana), valori a zero...
|
|
*
|
|
* mod: S.E.L. 2013.09.13
|
|
*
|
|
**********************************************************/
|
|
create PROCEDURE stp_BAZ_clonePrevWeek
|
|
(
|
|
@Anno INT = 0,
|
|
@Sett INT = 0
|
|
)
|
|
AS
|
|
|
|
-- calcolo sett precedente..
|
|
|
|
DECLARE @AnnoFrom INT = 0
|
|
DECLARE @SettFrom INT = 0
|
|
|
|
SELECT @AnnoFrom = CASE WHEN @Sett = 1 THEN @Anno - 1 ELSE @Anno END
|
|
SELECT @SettFrom = CASE WHEN @Sett = 1 THEN (SELECT ISNULL(MAX(Sett),0) FROM BazaarRisorse WHERE Anno = @Anno - 1) ELSE @Sett - 1 END
|
|
|
|
INSERT INTO BazaarRisorse(Anno,Sett,idxDipendente,idxFase,Allocazione)
|
|
SELECT @Anno, @Sett, idxDipendente, idxFase, 0
|
|
FROM BazaarRisorse
|
|
WHERE Anno = @AnnoFrom
|
|
AND Sett = @SettFrom
|
|
AND idxFase NOT IN (
|
|
SELECT DISTINCT idxFase
|
|
FROM BazaarRisorse
|
|
WHERE Anno = @Anno
|
|
AND Sett = @Sett
|
|
)
|
|
|
|
RETURN
|
|
go
|
|
|
|
/**********************************************************
|
|
* STORED stp_BAZ_getByAnnoSettCC
|
|
*
|
|
* recupera record di Bazaar Risorse per anno, settimana e CC selezionati (SOLO del CC)
|
|
*
|
|
* mod: S.E.L. 2013.09.13
|
|
*
|
|
**********************************************************/
|
|
create PROCEDURE stp_BAZ_getByAnnoSettCC
|
|
(
|
|
@Anno INT,
|
|
@Sett INT,
|
|
@idxDipendente INT = 1,
|
|
@CapoCommessa NVARCHAR(50)
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
SELECT Anno, Sett, idxDipendente, idxFase, Allocazione, SchemaWeek, OreTot
|
|
FROM BazaarRisorse
|
|
WHERE Anno = @Anno AND Sett = @Sett AND idxDipendente = @idxDipendente
|
|
AND idxFase IN (SELECT DISTINCT idxFase FROM DatiCommessa WHERE CapoCommessa = @CapoCommessa)
|
|
go
|
|
|
|
commit
|
|
go
|
|
|
|
|
|
set xact_abort on
|
|
go
|
|
|
|
begin transaction
|
|
go
|
|
|
|
set ANSI_NULLS on
|
|
go
|
|
|
|
/**********************************************************
|
|
* STORED stp_IR_getFullSettPareto
|
|
*
|
|
* recupera riga tabella PIENA x anno, settimana x DIPENDENTE FINTO (=0) ordinando commesse in logica pareto ore tot settimana
|
|
*
|
|
* mod: S.E.L. 2013.09.12
|
|
*
|
|
**********************************************************/
|
|
alter PROCEDURE stp_IR_getFullSettPareto
|
|
(
|
|
@Anno INT = 0,
|
|
@Settimana INT = 0
|
|
)
|
|
AS
|
|
/*
|
|
SELECT Anno, Sett, 0 as idxDipendente, idxFase, SUM(OreTot) as OreTot
|
|
FROM ImpiegoRisorse
|
|
WHERE Anno = @Anno AND Sett = @Settimana
|
|
GROUP BY Anno, Sett, idxFase
|
|
ORDER BY SUM(OreTot)
|
|
*/
|
|
|
|
-- creo CTE di appoggio x generare matrice
|
|
;WITH cteFasi AS
|
|
(
|
|
SELECT DISTINCT idxFase
|
|
FROM BazaarRisorse
|
|
WHERE Anno = @Anno AND Sett = @Settimana
|
|
)
|
|
, cteExpl AS
|
|
(
|
|
--SELECT @Anno as Anno, @Sett AS Sett, 0 as idxDipendente, cte.idxFase, 0 as OreTot
|
|
--FROM cteFasi cte
|
|
--WHERE ISNULL(d2a.Gruppo,'') <>''
|
|
SELECT @Anno as Anno, @Settimana AS Sett, cte.idxFase
|
|
FROM cteFasi cte
|
|
)
|
|
|
|
|
|
|
|
SELECT cte.Anno, cte.Sett, 0 AS idxDipendente, cte.idxFase, ISNULL(SUM(ir.OreTot),0) as OreTot
|
|
FROM cteExpl cte LEFT OUTER JOIN ImpiegoRisorse ir ON cte.Anno = ir.Anno AND cte.Sett = ir.Sett
|
|
GROUP BY cte.Anno, cte.Sett, cte.idxFase
|
|
ORDER BY SUM(ir.OreTot)
|
|
|
|
|
|
RETURN
|
|
go
|
|
|
|
/**********************************************************
|
|
* STORED stp_IR_getFullSettParetoCC
|
|
*
|
|
* recupera riga tabella PIENA x anno, settimana x DIPENDENTE FINTO (=0) ordinando commesse in logica pareto ore tot settimana SOLO X COMMESSE DI CUI é CC
|
|
*
|
|
* mod: S.E.L. 2013.09.12
|
|
*
|
|
**********************************************************/
|
|
create PROCEDURE stp_IR_getFullSettParetoCC
|
|
(
|
|
@Anno INT = 0,
|
|
@Settimana INT = 0,
|
|
@CapoCommessa NVARCHAR(50)
|
|
)
|
|
AS
|
|
|
|
|
|
-- creo CTE di appoggio x generare matrice
|
|
;WITH cteFasi AS
|
|
(
|
|
SELECT DISTINCT idxFase
|
|
FROM BazaarRisorse
|
|
WHERE Anno = @Anno AND Sett = @Settimana
|
|
AND idxFase IN (SELECT DISTINCT idxFase FROM DatiCommessa WHERE CapoCommessa = @CapoCommessa)
|
|
)
|
|
, cteExpl AS
|
|
(
|
|
--SELECT @Anno as Anno, @Sett AS Sett, 0 as idxDipendente, cte.idxFase, 0 as OreTot
|
|
--FROM cteFasi cte
|
|
--WHERE ISNULL(d2a.Gruppo,'') <>''
|
|
SELECT @Anno as Anno, @Settimana AS Sett, cte.idxFase
|
|
FROM cteFasi cte
|
|
)
|
|
|
|
|
|
|
|
SELECT cte.Anno, cte.Sett, 0 AS idxDipendente, cte.idxFase, ISNULL(SUM(ir.OreTot),0) as OreTot
|
|
FROM cteExpl cte LEFT OUTER JOIN ImpiegoRisorse ir ON cte.Anno = ir.Anno AND cte.Sett = ir.Sett
|
|
GROUP BY cte.Anno, cte.Sett, cte.idxFase
|
|
ORDER BY SUM(ir.OreTot)
|
|
|
|
RETURN
|
|
go
|
|
|
|
commit
|
|
go
|
|
|
|
|
|
|
|
|
|
|
|
-- registro versione...
|
|
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(210, GETDATE())
|
|
GO
|
|
SELECT TOP 10 * FROM LogUpdateDb ORDER BY Versione DESC
|
|
GO
|