Files
2021-03-26 17:17:28 +01:00

69 lines
1.8 KiB
Transact-SQL

-- richiama update x sistemazione voci PERM --> MPP
BEGIN TRAN ;
WITH cte as (
SELECT g.dataLav
,g.idxDipendente
,codGiust
,minuti
,automatico
,dbo.f_chkFunDip(g.idxDipendente) AS chk
,dbo.f_chkFunDipMin(g.idxDipendente,g.dataLav,'MPP') AS minChk -- calcolo gli eventuali minuti MPP
,t.minArcoPres
,t.minLav
,t.minArcoPres-t.minLav as chkDiff
FROM dbo.Giustificativi AS g
LEFT JOIN TimbratureExpl AS t ON g.idxDipendente = t.idxDipendente AND g.dataLav = t.dataLav
WHERE codGiust = 'PERM'
AND minuti <= 60
AND dbo.f_chkFunDip(g.idxDipendente) <> ''
AND minuti = dbo.f_chkFunDipMin(g.idxDipendente,g.dataLav,'MPP')
)
UPDATE dbo.Giustificativi
SET codGiust = 'MPP'
FROM dbo.Giustificativi AS g
INNER JOIN cte ON g.idxDipendente = cte.idxDipendente
AND g.dataLav = cte.dataLav
AND g.codGiust = 'PERM'
AND g.minuti = cte.minuti
-- test
SELECT g.dataLav
,g.idxDipendente
,codGiust
,minuti
,automatico
,dbo.f_chkFunDip(g.idxDipendente)
,dbo.f_chkFunDipMin(g.idxDipendente,g.dataLav,'MPP') -- calcolo gli eventuali minuti MPP
,t.minArcoPres
,t.minLav
,t.minArcoPres-t.minLav
FROM dbo.Giustificativi AS g
LEFT JOIN TimbratureExpl AS t ON g.idxDipendente = t.idxDipendente AND g.dataLav = t.dataLav
WHERE codGiust = 'MPP'
AND minuti <= 60
AND dbo.f_chkFunDip(g.idxDipendente) <> ''
AND minuti = dbo.f_chkFunDipMin(g.idxDipendente,g.dataLav,'MPP')
COMMIT
-- ricalcolo giornate
DECLARE @RC int
DECLARE @idxDipendente int
DECLARE @inizio datetime
DECLARE @fine datetime
EXECUTE @RC = [dbo].[stp_ricalcolaTimbExpl_byPeriodoUser]
0
,'20130301'
,'20130501'
GO
-- registro versione...
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(330, GETDATE())
GO
SELECT * FROM LogUpdateDb ORDER BY Versione DESC