51 lines
1.8 KiB
SQL
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' |