677 lines
15 KiB
Transact-SQL
677 lines
15 KiB
Transact-SQL
-- modifiche 2021.10 x gestione assegnazione gruppi, ordinamento, visualizzazione gruppi in Bazaar
|
|
USE [ETS_PROJ]
|
|
GO
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- modifica tab Dip2ATR
|
|
alter TABLE [dbo].[Dip2ATR]
|
|
ADD [GrpOrder] [int] NOT NULL DEFAULT 1
|
|
GO
|
|
|
|
-- fix ordinamento dipendenti in gruppi
|
|
update Dip2ATR
|
|
set GrpOrder = RIGHT(Gruppo,2)
|
|
GO
|
|
|
|
-- rimozione ordinamento dal gruppi ( riduzione a VERI gruppi)
|
|
update Dip2ATR
|
|
set gruppo = REPLACE(gruppo, RIGHT(Gruppo,3),'')
|
|
GO
|
|
|
|
-- tab gruppi
|
|
CREATE TABLE [dbo].[AnagGruppi](
|
|
[Gruppo] [nvarchar](50) NOT NULL,
|
|
[Descrizione] [nvarchar](250) NOT NULL,
|
|
[OrdGruppo] [int] NOT NULL,
|
|
[Visibile] [bit] NOT NULL,
|
|
CONSTRAINT [PK_AnagGruppi] PRIMARY KEY CLUSTERED
|
|
(
|
|
[Gruppo] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[AnagGruppi] ADD CONSTRAINT [DF_AnagGruppi_Gruppo] DEFAULT ('') FOR [Gruppo]
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[AnagGruppi] ADD CONSTRAINT [DF_AnagGruppi_Descrizione] DEFAULT ('-') FOR [Descrizione]
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[AnagGruppi] ADD CONSTRAINT [DF_AnagGruppi_OrdGruppo] DEFAULT ((1)) FOR [OrdGruppo]
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[AnagGruppi] ADD CONSTRAINT [DF_AnagGruppi_Visibile] DEFAULT ((1)) FOR [Visibile]
|
|
GO
|
|
|
|
|
|
|
|
-- popolamento tab gruppi già ordinati
|
|
insert into AnagGruppi
|
|
select distinct REPLACE(gruppo, LEFT(gruppo,3),'') as gruppo, gruppo as descrizione, left(gruppo, 2) as OrdGruppo, 1 as visibile from dip2atr
|
|
GO
|
|
|
|
-- gruppo zzz non visibile...
|
|
UPDATE AnagGruppi
|
|
SET Visibile = 0
|
|
, Descrizione = 'NON ASSEGNATO'
|
|
WHERE Gruppo = 'ZZZ'
|
|
GO
|
|
|
|
|
|
-- sistemo gruppi sugli utenti
|
|
UPDATE Dip2ATR
|
|
SET Gruppo = REPLACE(gruppo, LEFT(gruppo,3),'')
|
|
GO
|
|
|
|
-- sistemo le stored collegate
|
|
|
|
/**********************************************************
|
|
* STORED stp_D2ATR_getBazOrd
|
|
*
|
|
* recupera elenco dipendenti abilitati a bazaar ordinati x i gruppi validi
|
|
*
|
|
* mod: S.E.L. 2013.09.04 - release
|
|
* mod: S.E.L. 2021.10.15 revisione sistema gruppi ed ordinamento
|
|
*
|
|
**********************************************************/
|
|
ALTER PROCEDURE [dbo].[stp_D2ATR_getBazOrd]
|
|
|
|
AS
|
|
|
|
SELECT D2A.*
|
|
FROM Dip2ATR D2A
|
|
INNER JOIN AnagGruppi AG ON D2A.Gruppo = AG.Gruppo
|
|
ORDER BY AG.OrdGruppo, D2A.GrpOrder
|
|
|
|
RETURN
|
|
GO
|
|
|
|
/**********************************************************
|
|
* STORED stp_D2ATR_getBazOrd
|
|
*
|
|
* recupera elenco dipendenti abilitati a bazaar
|
|
*
|
|
* mod: S.E.L. 2017.07.18
|
|
* mod: S.E.L. 2021.10.15 revisione sistema gruppi ed ordinamento
|
|
**********************************************************/
|
|
ALTER PROCEDURE [dbo].[stp_Dip_Baz]
|
|
|
|
AS
|
|
|
|
SELECT dip.*
|
|
FROM Dipendenti dip
|
|
INNER JOIN Dip2ATR D2A ON dip.idxDipendente=D2A.idxDipendente
|
|
INNER JOIN AnagGruppi AG ON D2A.Gruppo = AG.Gruppo
|
|
ORDER BY AG.OrdGruppo, D2A.GrpOrder
|
|
|
|
RETURN
|
|
GO
|
|
|
|
/**********************************************************
|
|
* STORED stp_AG_updateQuery
|
|
*
|
|
* update gruppo
|
|
*
|
|
* mod: S.E.L. 2021.10.15
|
|
*
|
|
**********************************************************/
|
|
CREATE PROCEDURE [dbo].[stp_AG_updateQuery]
|
|
(
|
|
@Original_Gruppo NVARCHAR(50),
|
|
@Descrizione NVARCHAR(250),
|
|
@OrdGruppo INT,
|
|
@Visibile BIT
|
|
)
|
|
AS
|
|
|
|
SET NOCOUNT OFF;
|
|
UPDATE AnagGruppi
|
|
SET Descrizione = @Descrizione,
|
|
OrdGruppo = @OrdGruppo,
|
|
Visibile = @Visibile
|
|
WHERE Gruppo = @Original_Gruppo;
|
|
|
|
SELECT *
|
|
FROM AnagGruppi
|
|
WHERE Gruppo = @Original_Gruppo;
|
|
|
|
GO
|
|
|
|
|
|
/**********************************************************
|
|
* STORED stp_AG_deleteQuery
|
|
*
|
|
* elimina gruppo (SE NON Impiegato)
|
|
*
|
|
* mod: S.E.L. 2021.10.15
|
|
*
|
|
**********************************************************/
|
|
CREATE PROCEDURE [dbo].[stp_AG_deleteQuery]
|
|
(
|
|
@Original_Gruppo int
|
|
)
|
|
AS
|
|
SET NOCOUNT OFF;
|
|
|
|
-- controllo: se ci sono record assegnati a fase NON cancello ma archivio...
|
|
DECLARE @trovate INT = 0;
|
|
|
|
SET @trovate = ( SELECT ISNULL(COUNT(*),0) FROM Dip2ATR WHERE Gruppo = @Original_Gruppo )
|
|
|
|
IF(@trovate < 1)
|
|
BEGIN
|
|
-- elimino gruppo
|
|
DELETE
|
|
FROM AnagGruppi
|
|
WHERE Gruppo = @Original_Gruppo
|
|
END
|
|
GO
|
|
|
|
|
|
/**********************************************************
|
|
* STORED stp_AG_InsertQuery
|
|
*
|
|
* crezione nuovo gruppo
|
|
*
|
|
* mod: S.E.L. 2021.10.15
|
|
*
|
|
**********************************************************/
|
|
create PROCEDURE [dbo].[stp_AG_InsertQuery]
|
|
(
|
|
@Gruppo NVARCHAR(50),
|
|
@Descrizione NVARCHAR(250)
|
|
)
|
|
AS
|
|
|
|
SET NOCOUNT OFF;
|
|
|
|
DECLARE @maxOrd INT = 999;
|
|
|
|
SELECT @maxOrd = MAX(OrdGruppo)
|
|
FROM AnagGruppi
|
|
|
|
|
|
INSERT INTO AnagGruppi ( Gruppo, Descrizione, OrdGruppo, Visibile)
|
|
VALUES (@Gruppo, @Descrizione, @maxOrd+1, 1);
|
|
|
|
SELECT *
|
|
FROM AnagGruppi
|
|
WHERE Gruppo = @Gruppo
|
|
|
|
GO
|
|
|
|
|
|
/**********************************************************
|
|
* STORED stp_AG_GetData
|
|
*
|
|
* crezione nuovo gruppo
|
|
*
|
|
* mod: S.E.L. 2021.10.15
|
|
*
|
|
**********************************************************/
|
|
CREATE PROCEDURE [dbo].[stp_AG_GetData]
|
|
AS
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT *
|
|
FROM v_AnagGruppi
|
|
ORDER BY OrdGruppo
|
|
GO
|
|
|
|
-- viste e altri parametri x gestione Gruppi
|
|
CREATE VIEW [dbo].[v_AnagGruppi]
|
|
AS
|
|
SELECT AG.Gruppo
|
|
,AG.Descrizione
|
|
,AG.OrdGruppo
|
|
,AG.Visibile
|
|
,ISNULL(dbo.v_Dip2Group.NumDip, 0) AS NumDip
|
|
FROM dbo.AnagGruppi AG
|
|
LEFT OUTER JOIN dbo.v_Dip2Group ON AG.Gruppo = dbo.v_Dip2Group.Gruppo
|
|
|
|
GO
|
|
|
|
CREATE VIEW [dbo].[v_Dip2ATR]
|
|
AS
|
|
|
|
|
|
SELECT D2A.*, D.Cognome, D.Nome, ISNULL(D.dataNascita, '1900-01-01') AS dataNascita, D.SIGLA, D.attivo
|
|
FROM dbo.Dip2ATR D2A
|
|
INNER JOIN Dipendenti D ON D2a.idxDipendente = D.idxDipendente
|
|
|
|
GO
|
|
|
|
/**********************************************************
|
|
* STORED stp_D2ATR_getBazOrd
|
|
*
|
|
* recupera elenco dipendenti abilitati a bazaar ordinati x i gruppi validi
|
|
*
|
|
* mod: S.E.L. 2013.09.04 - release
|
|
* mod: S.E.L. 2021.10.15 revisione sistema gruppi ed ordinamento
|
|
*
|
|
**********************************************************/
|
|
ALTER PROCEDURE [dbo].[stp_D2ATR_getBazOrd]
|
|
|
|
AS
|
|
|
|
SELECT D2A.*
|
|
FROM v_Dip2ATR D2A
|
|
INNER JOIN AnagGruppi AG ON D2A.Gruppo = AG.Gruppo
|
|
ORDER BY AG.OrdGruppo, D2A.GrpOrder
|
|
|
|
RETURN
|
|
|
|
GO
|
|
|
|
/**********************************************************
|
|
* STORED stp_D2ATR_getByGroup
|
|
*
|
|
* recupera elenco dipendenti da gruppo
|
|
*
|
|
* mod: S.E.L. 2021.10.15 release
|
|
*
|
|
**********************************************************/
|
|
CREATE PROCEDURE [dbo].[stp_D2ATR_getByGroup]
|
|
(
|
|
@Gruppo NVARCHAR(50) = ''
|
|
)
|
|
AS
|
|
|
|
SELECT D2A.*
|
|
FROM v_Dip2ATR D2A
|
|
WHERE Gruppo = @Gruppo
|
|
ORDER BY GrpOrder
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
/**********************************************************
|
|
* STORED stp_D2ATR_updateQuery
|
|
*
|
|
* update dipentente x editing tipo, gruppo, ordinamento
|
|
*
|
|
* mod: S.E.L. 2021.10.15 release
|
|
*
|
|
**********************************************************/
|
|
CREATE PROCEDURE [dbo].[stp_D2ATR_updateQuery]
|
|
(
|
|
@Original_idxDipendente INT = 0,
|
|
@CodTipoRisorsa NVARCHAR(50),
|
|
@Gruppo NVARCHAR(50),
|
|
@GrpOrder INT
|
|
)
|
|
AS
|
|
|
|
UPDATE Dip2ATR
|
|
SET CodTipoRisorsa = @CodTipoRisorsa
|
|
, Gruppo = @Gruppo
|
|
, GrpOrder = @GrpOrder
|
|
WHERE idxDipendente = @Original_idxDipendente
|
|
|
|
SELECT *
|
|
FROM Dip2ATR
|
|
WHERE idxDipendente = @Original_idxDipendente
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
insert into AnagTipoRisorse(CodTipoRisorsa, DescrTipoRisorsa, costoOrario)
|
|
VALUES ('ND', 'NON ASSEGNATO', 40)
|
|
GO
|
|
|
|
/**********************************************************
|
|
* STORED stp_D2ATR_insertMissing
|
|
*
|
|
* aggiunta dipententi mancanti in gruppo zzz
|
|
*
|
|
* mod: S.E.L. 2021.10.16 release
|
|
*
|
|
**********************************************************/
|
|
CREATE PROCEDURE [dbo].[stp_D2ATR_insertMissing]
|
|
|
|
AS
|
|
|
|
WITH cteNewUser AS
|
|
(
|
|
SELECT D.idxDipendente
|
|
FROM Dipendenti D
|
|
LEFT OUTER JOIN Dip2ATR D2A ON D.idxDipendente = D2A.idxDipendente
|
|
WHERE D.gruppo = 'ETS' AND D2A.idxDipendente IS NULL
|
|
)
|
|
|
|
INSERT INTO Dip2ATR(idxDipendente, CodTipoRisorsa, Gruppo, GrpOrder)
|
|
SELECT idxDipendente, 'ND', 'ZZZ', 999
|
|
FROM cteNewUser
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
-- fix primary key
|
|
ALTER TABLE Dip2ATR
|
|
DROP CONSTRAINT PK_Dip2ATR
|
|
ALTER TABLE Dip2ATR
|
|
ADD CONSTRAINT PK_Dip2ATR PRIMARY KEY (idxDipendente)
|
|
GO
|
|
|
|
/**********************************************************
|
|
* STORED stp_D2ATR_deleteQuery
|
|
*
|
|
* eliminazione dipentente NON gestito in Bazaar
|
|
*
|
|
* mod: S.E.L. 2021.10.19 release
|
|
*
|
|
**********************************************************/
|
|
create PROCEDURE [dbo].[stp_D2ATR_deleteQuery]
|
|
(
|
|
@Original_idxDipendente INT = 0
|
|
)
|
|
AS
|
|
|
|
DELETE
|
|
FROM Dip2ATR
|
|
WHERE idxDipendente = @Original_idxDipendente
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
/*************************************
|
|
* STORED PROCEDURE stp_VSCom_getByWeek
|
|
*
|
|
* elenco commesse impegnate nel periodo
|
|
*
|
|
* mod : 2021.10.19
|
|
* aut : S.E. Locatelli
|
|
**************************************/
|
|
CREATE PROCEDURE [dbo].[stp_VSCom_getByWeek]
|
|
(
|
|
@Anno INT = 0,
|
|
@Sett INT = 0
|
|
)
|
|
AS
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
;WITH cteFasi AS
|
|
(
|
|
SELECT DISTINCT idxFase
|
|
FROM BazaarRisorse
|
|
WHERE Anno = @Anno
|
|
AND Sett = @Sett
|
|
)
|
|
|
|
SELECT vsc.*
|
|
FROM v_selCommesse vsc
|
|
INNER JOIN cteFasi cte ON vsc.value = cte.idxFase
|
|
|
|
GO
|
|
|
|
|
|
/*************************************
|
|
* STORED PROCEDURE stp_VSCom_getShortByWeek
|
|
*
|
|
* elenco commesse impegnate nel periodo
|
|
*
|
|
* mod : 2021.10.19
|
|
* aut : S.E. Locatelli
|
|
**************************************/
|
|
CREATE PROCEDURE [dbo].[stp_VSCom_getShortByWeek]
|
|
(
|
|
@Anno INT = 0,
|
|
@Sett INT = 0
|
|
)
|
|
AS
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
;WITH cteFasi AS
|
|
(
|
|
SELECT DISTINCT idxFase
|
|
FROM BazaarRisorse
|
|
WHERE Anno = @Anno
|
|
AND Sett = @Sett
|
|
)
|
|
|
|
SELECT vsc.*
|
|
FROM v_selCommesseShort vsc
|
|
INNER JOIN cteFasi cte ON vsc.value = cte.idxFase
|
|
|
|
GO
|
|
|
|
|
|
/*************************************
|
|
* STORED PROCEDURE stp_VSCom_getShortByIrWeek
|
|
*
|
|
* elenco commesse con IMPIEGO RISORSE nel periodo
|
|
*
|
|
* mod : 2021.10.19
|
|
* aut : S.E. Locatelli
|
|
**************************************/
|
|
CREATE PROCEDURE [dbo].[stp_VSCom_getShortByIrWeek]
|
|
(
|
|
@Anno INT = 0,
|
|
@Sett INT = 0
|
|
)
|
|
AS
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
;WITH cteFasi AS
|
|
(
|
|
SELECT DISTINCT idxFase
|
|
FROM ImpiegoRisorse
|
|
WHERE Anno = @Anno
|
|
AND Sett = @Sett
|
|
)
|
|
|
|
SELECT vsc.*
|
|
FROM v_selCommesseShort vsc
|
|
INNER JOIN cteFasi cte ON vsc.value = cte.idxFase
|
|
|
|
|
|
GO
|
|
|
|
|
|
/**********************************************************
|
|
* STORED stp_BAZ_getByAnnoSett
|
|
*
|
|
* recupera record di Bazaar Risorse per anno e settimana selezionate
|
|
*
|
|
* mod: S.E.L. 2013.09.04
|
|
* mod: S.E.L. 2021.10.19
|
|
*
|
|
**********************************************************/
|
|
ALTER PROCEDURE [dbo].[stp_BAZ_getByAnnoSett]
|
|
(
|
|
@Anno int,
|
|
@Sett int,
|
|
@showAll BIT = 1 -- 1 = mostra tutti, 0 = solo impostati a visibili in gruppi
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
|
|
-- seleziono i dip (TUTTI distinct)
|
|
WITH cteDip AS
|
|
(
|
|
SELECT DISTINCT D2A.idxDipendente
|
|
FROM Dip2ATR D2A
|
|
INNER JOIN AnagGruppi AG ON D2A.Gruppo = AG.Gruppo
|
|
WHERE (AG.Visibile = 1 OR @showAll = 1)
|
|
)
|
|
-- le fasi
|
|
, cteFasi AS
|
|
(
|
|
SELECT DISTINCT idxFase
|
|
FROM dbo.BazaarRisorse
|
|
WHERE Anno = @Anno AND Sett = @Sett
|
|
)
|
|
-- le combinazioni (TUTTE) a zero...
|
|
, cteComb AS
|
|
(
|
|
SELECT @Anno as Anno, @Sett as Sett, cteDip.idxDipendente, cteFasi.idxFase, 0 as Allocazione, '00000' as SchemaWeek, 0 as OreTot
|
|
FROM cteDip CROSS JOIN cteFasi
|
|
)
|
|
-- le combinazioni NON esplicite
|
|
, cteMiss AS
|
|
(
|
|
SELECT cte.*
|
|
FROM cteComb cte LEFT OUTER JOIN BazaarRisorse br ON cte.Anno=br.anno AND cte.Sett=br.Sett AND cte.idxDipendente=br.idxDipendente AND cte.idxFase = br.idxFase
|
|
WHERE br.Allocazione is null
|
|
)
|
|
|
|
SELECT *
|
|
FROM cteMiss
|
|
|
|
UNION
|
|
|
|
SELECT BR.*
|
|
FROM dbo.BazaarRisorse BR
|
|
INNER JOIN Dip2ATR D2A ON BR.idxDipendente = D2A.idxDipendente
|
|
INNER JOIN AnagGruppi AG ON D2A.Gruppo = AG.Gruppo
|
|
WHERE (AG.Visibile = 1 OR @showAll = 1)
|
|
AND Anno = @Anno AND Sett = @Sett
|
|
|
|
GO
|
|
|
|
|
|
|
|
/**********************************************************
|
|
* STORED stp_D2ATR_getBazOrd
|
|
*
|
|
* recupera elenco dipendenti abilitati a bazaar
|
|
*
|
|
* mod: S.E.L. 2017.07.18
|
|
* mod: S.E.L. 2021.10.15 revisione sistema gruppi ed ordinamento
|
|
* mod: S.E.L. 2021.10.19 criterio show SOLO se visibili (x display filtrato)
|
|
**********************************************************/
|
|
alter PROCEDURE [dbo].[stp_Dip_Baz]
|
|
(
|
|
@showAll BIT = 1 -- 1 = mostra tutti, 0 = solo impostati a visibili in gruppi
|
|
)
|
|
AS
|
|
|
|
SELECT dip.*
|
|
FROM Dipendenti dip
|
|
INNER JOIN Dip2ATR D2A ON dip.idxDipendente=D2A.idxDipendente
|
|
INNER JOIN AnagGruppi AG ON D2A.Gruppo = AG.Gruppo
|
|
WHERE (AG.Visibile = 1 OR @showAll = 1)
|
|
ORDER BY AG.OrdGruppo, D2A.GrpOrder
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
/**********************************************************
|
|
* STORED stp_D2ATR_getBazOrd
|
|
*
|
|
* recupera elenco dipendenti abilitati a bazaar ordinati x i gruppi validi
|
|
*
|
|
* mod: S.E.L. 2013.09.04 - release
|
|
* mod: S.E.L. 2021.10.15 revisione sistema gruppi ed ordinamento
|
|
* mod: S.E.L. 2021.10.19 revisione x filtraggio visibili o tutti
|
|
*
|
|
**********************************************************/
|
|
ALTER PROCEDURE [dbo].[stp_D2ATR_getBazOrd]
|
|
(
|
|
@showAll BIT = 1 -- 1 = mostra tutti, 0 = solo impostati a visibili in gruppi
|
|
)
|
|
AS
|
|
|
|
SELECT D2A.*
|
|
FROM v_Dip2ATR D2A
|
|
INNER JOIN AnagGruppi AG ON D2A.Gruppo = AG.Gruppo
|
|
WHERE (AG.Visibile = 1 OR @showAll = 1)
|
|
ORDER BY AG.OrdGruppo, D2A.GrpOrder
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
-- sistemazione finale gestione registro timbrature cona ttività
|
|
CREATE SYNONYM [dbo].[syn_GPW_TimbratureExpl] FOR [ETS_GPW].[dbo].[TimbratureExpl]
|
|
GO
|
|
|
|
|
|
CREATE VIEW [dbo].TimbratureExpl
|
|
AS
|
|
SELECT dataLav
|
|
,idxDipendente
|
|
,YEAR(dataLav) AS Anno
|
|
,DATEPART(wk, dataLav) AS Sett
|
|
,CognomeNome
|
|
,entrata_1
|
|
,uscita_1
|
|
,entrata_2
|
|
,uscita_2
|
|
,entrata_3
|
|
,uscita_3
|
|
,entrata_4
|
|
,uscita_4
|
|
,h_lav
|
|
,minLav
|
|
,minOrd
|
|
,minNonLav
|
|
,minStra
|
|
,minPerm
|
|
,minFer
|
|
,minMal
|
|
,minFest
|
|
,minMpp
|
|
,minArcoPres
|
|
,isOkTim
|
|
,isOkApp
|
|
,block
|
|
,chkFunCod
|
|
,chkFunRes
|
|
,isOk
|
|
,isOkLav
|
|
,h_giust
|
|
FROM syn_GPW_TimbratureExpl
|
|
|
|
GO
|
|
|
|
/**********************************************************
|
|
* STORED stp_TE_getByAnnoSett
|
|
*
|
|
* recupera record TImbrature Expl per anno e settimana selezionate
|
|
*
|
|
* mod: S.E.L. 2021.10.19
|
|
*
|
|
**********************************************************/
|
|
CREATE PROCEDURE [dbo].[stp_TE_getByAnnoSett]
|
|
(
|
|
@Anno int,
|
|
@Sett int,
|
|
@showAll BIT = 1 -- 1 = mostra tutti, 0 = solo impostati a visibili in gruppi
|
|
)
|
|
AS
|
|
SET NOCOUNT ON;
|
|
|
|
-- seleziono i dip (TUTTI distinct)
|
|
WITH cteDip AS
|
|
(
|
|
SELECT DISTINCT D2A.idxDipendente
|
|
FROM Dip2ATR D2A
|
|
INNER JOIN AnagGruppi AG ON D2A.Gruppo = AG.Gruppo
|
|
WHERE (AG.Visibile = 1 OR @showAll = 1)
|
|
)
|
|
|
|
SELECT TE.*
|
|
FROM dbo.TimbratureExpl TE
|
|
INNER JOIN Dip2ATR D2A ON TE.idxDipendente = D2A.idxDipendente
|
|
INNER JOIN AnagGruppi AG ON D2A.Gruppo = AG.Gruppo
|
|
WHERE (AG.Visibile = 1 OR @showAll = 1)
|
|
AND Anno = @Anno AND Sett = @Sett
|
|
|
|
GO
|