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

51 lines
1.8 KiB
SQL

/**************************************************
* update cognome nome dipendenti
**************************************************/
UPDATE Dipendenti
SET codDipendenteExt = Nome + ' ' + Cognome
UPDATE Dipendenti
SET codDipendenteExt='Bohdan Khomonchak'
WHERE cognome='Khomonchak'
/**************************************************
* importo records!
**************************************************/
-- faccio un sort x dipendente-giorno x accodare i records
-- faccio un sort x dipendente-giorno x accodare i records
;WITH myCteStep1 AS
(
SELECT CognomeNome
,Data
, ROW_NUMBER() OVER(PARTITION BY CognomeNome,Data ORDER BY CognomeNome,Data) as riga
, codCom
, Fase
, attivita
, durata*60 as minuti
, descrizione
FROM zzz_rawData_SPS
)
, myCteStep2 AS
(
SELECT *
, DATEADD(MINUTE,480+120*(riga-1),Data) AS Inizio
, DATEADD(MINUTE,480+120*(riga-1)+minuti,Data) AS Fine
FROM myCteStep1
)
INSERT INTO RegAttivita(idxDipendente, idxFase, inizio, fine, descrizione)
SELECT Dip.idxDipendente, Fas.idxFase, cte.Inizio,cte.Fine, ISNULL(cte.Descrizione,'-')
FROM myCteStep2 cte
INNER JOIN Dipendenti Dip ON cte.CognomeNome = dip.codDipendenteExt
INNER JOIN AnagProgetti Pro ON cte.codCom = Pro.codExt -- and pro.idxCliente=cli.idxCliente
INNER JOIN AnagFasi Fas ON Fas.nomeFase = cte.Fase AND Fas.idxProgetto = Pro.idxProgetto AND Fas.idxFaseAncest=0
INNER JOIN AnagFasi SFas ON SFas.nomeFase = cte.attivita AND SFas.idxProgetto = Pro.idxProgetto AND SFas.idxFaseAncest=fas.idxFase
LEFT OUTER JOIN RegAttivita dati ON dati.inizio = cte.Inizio AND dati.fine = cte.Fine AND dati.descrizione = cte.Descrizione AND dati.idxDipendente = Dip.idxDipendente
WHERE dati.idxRA IS NULL
--- forzo ricalcolo attività expl!
EXEC stp_ricalcolaRegAttivitaExpl_byPeriodoUser 0, '20120101', '20130120'