diff --git a/ETS_Data/SQL/ETS_PROJ/ETS_PROJ_00218.sql b/ETS_Data/SQL/ETS_PROJ/ETS_PROJ_00218.sql index 1dc3551..855dd28 100644 --- a/ETS_Data/SQL/ETS_PROJ/ETS_PROJ_00218.sql +++ b/ETS_Data/SQL/ETS_PROJ/ETS_PROJ_00218.sql @@ -1,3 +1,209 @@ +set ANSI_NULLS on; +go + +/*********************************************************** +* Function f_getFaseOldest +* +* fornisce il valore idxFase della (sotto) fase più vecchia tra quelle attive (da idxFaseAncest) +* +***********************************************************/ +create FUNCTION f_getFaseOldest +( + @idxFaseAncest INT = 0 +) +RETURNS INT +AS +BEGIN + DECLARE @answ INT = 0 + + + SELECT TOP 1 @answ = idxFase + FROM AnagFasi + WHERE idxFaseAncest = @idxFaseAncest + AND enableTime=1 + ORDER BY codFase + + RETURN ISNULL(@answ,0) +END +go + + +create table ReleasedWeek( + Anno int not null, + Sett int not null, + UsernameAD nvarchar(50), + dataConf datetime, + + constraint PK_ReleasedWeek primary key(Anno,Sett) +); +go + + +set xact_abort on; +go + +begin transaction; +go + +set ANSI_NULLS on; +go + +/********************************************************** +* STORED stp_BAZ_copy2GPW +* +* crea in blocco registrazioni attività in GPW +* +* mod: S.E.L. 2013.09.19 +* +**********************************************************/ +create PROCEDURE stp_BAZ_copy2GPW +( + @Anno INT = 0, + @Sett INT = 0, + @UsernameAD NVARCHAR(50) +) +AS + +BEGIN TRAN + -- variabili accessorie + DECLARE @InizioAnno AS DATETIME; + DECLARE @SettInizioAnno AS INT; + DECLARE @StartDate AS DATETIME; + DECLARE @EndDate AS DATETIME; + + -- CALCOLO DIFFERENZA SETTIMANA DA GIORNO 0 A INIZIO ANNO + SET @InizioAnno = CONVERT( DATETIME, CONVERT(CHAR(4), @anno ) + '0101' ); + SET @SettInizioAnno = datediff(week, 0, @InizioAnno); + + -- Calcolo il giorno di inizio settimana richiesta e il primo gg della settimana successiva + SET @StartDate = dateadd(week, @SettInizioAnno + @Sett -1 , 0 ); + SET @EndDate = dateadd(week, @SettInizioAnno + @Sett , 0 ); + + ---------------------------------------------------------------------------------------------- + -- elimino RA in intervallo settimanale + ---------------------------------------------------------------------------------------------- + DELETE FROM RegAttivita + WHERE inizio BETWEEN @StartDate AND @EndDate + + ---------------------------------------------------------------------------------------------- + -- inserisco nuove RA intervallo settimanale + ---------------------------------------------------------------------------------------------- + ;WITH myCte AS + ( + -- lunedì + SELECT *, 1 as gg, dbo.f_getFaseOldest(idxFase) as idxFaseOld, DATEADD(DD,0,DATEADD(HOUR,8,@StartDate)) as inizio, SUBSTRING(SchemaWeek,1,1) as ore,ROW_NUMBER() OVER(PARTITION BY Anno, Sett, IdxDipendente ORDER BY IdxFase) AS Row + FROM BazaarRisorse + WHERE Anno=@Anno AND Sett=@Sett + AND Allocazione > 0 + AND SUBSTRING(SchemaWeek,1,1) <> '0' + UNION + -- martedì + SELECT *, 2 as gg, dbo.f_getFaseOldest(idxFase) as idxFaseOld, DATEADD(DD,1,DATEADD(HOUR,8,@StartDate)) as inizio, SUBSTRING(SchemaWeek,2,1) as ore,ROW_NUMBER() OVER(PARTITION BY Anno, Sett, IdxDipendente ORDER BY IdxFase) AS Row + FROM BazaarRisorse + WHERE Anno=@Anno AND Sett=@Sett + AND Allocazione > 0 + AND SUBSTRING(SchemaWeek,2,1) <> '0' + UNION + -- mercoledì + SELECT *, 3 as gg, dbo.f_getFaseOldest(idxFase) as idxFaseOld, DATEADD(DD,2,DATEADD(HOUR,8,@StartDate)) as inizio, SUBSTRING(SchemaWeek,3,1) as ore,ROW_NUMBER() OVER(PARTITION BY Anno, Sett, IdxDipendente ORDER BY IdxFase) AS Row + FROM BazaarRisorse + WHERE Anno=@Anno AND Sett=@Sett + AND Allocazione > 0 + AND SUBSTRING(SchemaWeek,3,1) <> '0' + UNION + -- giovedì + SELECT *, 4 as gg, dbo.f_getFaseOldest(idxFase) as idxFaseOld, DATEADD(DD,3,DATEADD(HOUR,8,@StartDate)) as inizio, SUBSTRING(SchemaWeek,4,1) as ore,ROW_NUMBER() OVER(PARTITION BY Anno, Sett, IdxDipendente ORDER BY IdxFase) AS Row + FROM BazaarRisorse + WHERE Anno=@Anno AND Sett=@Sett + AND Allocazione > 0 + AND SUBSTRING(SchemaWeek,4,1) <> '0' + UNION + -- venerdì + SELECT *, 5 as gg, dbo.f_getFaseOldest(idxFase) as idxFaseOld, DATEADD(DD,4,DATEADD(HOUR,8,@StartDate)) as inizio, SUBSTRING(SchemaWeek,5,1) as ore,ROW_NUMBER() OVER(PARTITION BY Anno, Sett, IdxDipendente ORDER BY IdxFase) AS Row + FROM BazaarRisorse + WHERE Anno=@Anno AND Sett=@Sett + AND Allocazione > 0 + AND SUBSTRING(SchemaWeek,5,1) <> '0' + ) + + INSERT INTO RegAttivita(idxDipendente, idxFase, inizio, fine, descrizione) + SELECT idxDipendente, idxFaseOld, DATEADD(HOUR,(Row-1)*4,inizio) as inizio, DATEADD(HOUR,(Row-1)*4+ore,inizio) as fine, '...completare...' as descrizione + FROM myCte + + ---------------------------------------------------------------------------------------------- + -- registro che al settimana è stata confermata (e quindi solo superuser può sbloccare...) + ---------------------------------------------------------------------------------------------- + DELETE FROM ReleasedWeek WHERE Anno=@Anno and Sett=@Sett + INSERT INTO ReleasedWeek + VALUES(@Anno,@Sett,@UsernameAD,GETDATE()) + +COMMIT TRAN +RETURN +go + +/********************************************************** +* STORED stp_BAZ_ResetCopyGPW +* +* sblocca rilascio delal settimana ed elimina registrazioni attività in GPW +* +* mod: S.E.L. 2013.09.19 +* +**********************************************************/ +create PROCEDURE stp_BAZ_ResetCopyGPW +( + @Anno INT = 0, + @Sett INT = 0, + @UsernameAD NVARCHAR(50) +) +AS + +BEGIN TRAN + -- variabili accessorie + DECLARE @InizioAnno AS DATETIME; + DECLARE @SettInizioAnno AS INT; + DECLARE @StartDate AS DATETIME; + DECLARE @EndDate AS DATETIME; + + -- CALCOLO DIFFERENZA SETTIMANA DA GIORNO 0 A INIZIO ANNO + SET @InizioAnno = CONVERT( DATETIME, CONVERT(CHAR(4), @anno ) + '0101' ); + SET @SettInizioAnno = datediff(week, 0, @InizioAnno); + + -- Calcolo il giorno di inizio settimana richiesta e il primo gg della settimana successiva + SET @StartDate = dateadd(week, @SettInizioAnno + @Sett -1 , 0 ); + SET @EndDate = dateadd(week, @SettInizioAnno + @Sett , 0 ); + + ---------------------------------------------------------------------------------------------- + -- elimino RA in intervallo settimanale + ---------------------------------------------------------------------------------------------- + DELETE FROM RegAttivita + WHERE inizio BETWEEN @StartDate AND @EndDate + + + ---------------------------------------------------------------------------------------------- + -- registro che al settimana è stata confermata (e quindi solo superuser può sbloccare...) + ---------------------------------------------------------------------------------------------- + DELETE FROM ReleasedWeek WHERE Anno=@Anno and Sett=@Sett + +COMMIT TRAN +RETURN +go + +create PROCEDURE stp_ReW_getByAnnoSett +( + @Anno int, + @Sett int +) +AS + SET NOCOUNT ON; +SELECT Anno, Sett, UsernameAD, dataConf +FROM dbo.ReleasedWeek +WHERE Anno=@Anno AND Sett=@Sett +go + +commit; +go + + -- registro versione... diff --git a/ETS_Data/bin/ETS/ETS_Data.dll b/ETS_Data/bin/ETS/ETS_Data.dll index 247e4bf..b3e8def 100644 Binary files a/ETS_Data/bin/ETS/ETS_Data.dll and b/ETS_Data/bin/ETS/ETS_Data.dll differ diff --git a/ETS_Data/obj/ETS/DesignTimeResolveAssemblyReferencesInput.cache b/ETS_Data/obj/ETS/DesignTimeResolveAssemblyReferencesInput.cache index 2a9274b..aaa3c2d 100644 Binary files a/ETS_Data/obj/ETS/DesignTimeResolveAssemblyReferencesInput.cache and b/ETS_Data/obj/ETS/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/ETS_Data/obj/ETS/ETS_Data.dll b/ETS_Data/obj/ETS/ETS_Data.dll index 247e4bf..b3e8def 100644 Binary files a/ETS_Data/obj/ETS/ETS_Data.dll and b/ETS_Data/obj/ETS/ETS_Data.dll differ diff --git a/ETS_Data/obj/ETS/TempPE/DS_utilsProjEts.Designer.cs.dll b/ETS_Data/obj/ETS/TempPE/DS_utilsProjEts.Designer.cs.dll index 7a16adc..befe593 100644 Binary files a/ETS_Data/obj/ETS/TempPE/DS_utilsProjEts.Designer.cs.dll and b/ETS_Data/obj/ETS/TempPE/DS_utilsProjEts.Designer.cs.dll differ diff --git a/ETS_Data/obj/ETS/TempPE/Ds_ProjEts1.Designer.cs.dll b/ETS_Data/obj/ETS/TempPE/Ds_ProjEts1.Designer.cs.dll index 1431640..f512686 100644 Binary files a/ETS_Data/obj/ETS/TempPE/Ds_ProjEts1.Designer.cs.dll and b/ETS_Data/obj/ETS/TempPE/Ds_ProjEts1.Designer.cs.dll differ diff --git a/PROJ-ETS/PROJ-ETS/PROJ-ETS.csproj.user b/PROJ-ETS/PROJ-ETS/PROJ-ETS.csproj.user index 1637e80..aeaf85a 100644 --- a/PROJ-ETS/PROJ-ETS/PROJ-ETS.csproj.user +++ b/PROJ-ETS/PROJ-ETS/PROJ-ETS.csproj.user @@ -2,7 +2,7 @@ ShowAllFiles - 218 + ETS diff --git a/PROJ-ETS/PROJ-ETS/bin/ETS_Data.dll b/PROJ-ETS/PROJ-ETS/bin/ETS_Data.dll index 33c7a67..b3e8def 100644 Binary files a/PROJ-ETS/PROJ-ETS/bin/ETS_Data.dll and b/PROJ-ETS/PROJ-ETS/bin/ETS_Data.dll differ diff --git a/PROJ-ETS/PROJ-ETS/bin/PROJ-ETS.dll b/PROJ-ETS/PROJ-ETS/bin/PROJ-ETS.dll index 638705b..5fa02d6 100644 Binary files a/PROJ-ETS/PROJ-ETS/bin/PROJ-ETS.dll and b/PROJ-ETS/PROJ-ETS/bin/PROJ-ETS.dll differ diff --git a/PROJ-ETS/ReleaseClienti/ETS/PROJ-ETS.zip b/PROJ-ETS/ReleaseClienti/ETS/PROJ-ETS.zip index 44ff09b..f4fb942 100644 Binary files a/PROJ-ETS/ReleaseClienti/ETS/PROJ-ETS.zip and b/PROJ-ETS/ReleaseClienti/ETS/PROJ-ETS.zip differ