kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/sp_GetNemKotottMunkaidoReszletezo.sql
2024-03-13 00:33:46 +01:00

75 lines
3.3 KiB
Transact-SQL

-- ==========================================================================================
-- Nem kötött munkaidő részletező nyomtatványhoz tárolt eljárás -- Rudlof Kristóf
-- ==========================================================================================
DROP PROCEDURE IF EXISTS [dbo].[sp_GetNemKotottMunkaidoReszletezo]
GO
CREATE PROCEDURE [dbo].[sp_GetNemKotottMunkaidoReszletezo]
@tanevId int
,@intezmenyId int
,@tanarId int
,@honapId int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Honap int = (
SELECT
dictionaryItemBase.C_VALUE
FROM T_DICTIONARYITEMBASE_OSSZES dictionaryItemBase
WHERE dictionaryItemBase.ID = @honapId
AND dictionaryItemBase.C_TANEVID = @tanevId
AND dictionaryItemBase.C_INTEZMENYID = @intezmenyId
)
IF @honapId = -1 BEGIN
SELECT
FORMAT(nkm.C_KEZDETE, 'yyyy.MM.dd.') AS Datum
,FORMAT(nkm.C_KEZDETE, 'HH:mm') AS Kezdete
,FORMAT(nkm.C_VEGE, 'HH:mm') AS Vege
,f.C_NYOMTATASINEV AS Tanar
,IIF(nkm.C_ISTANARALTALTOROLT = 'T', 'Törölt', d.C_NAME) AS Tevekenyseg
,ISNULL(nkm.C_NAPLOZOTTMEGJEGYZES, nkm.C_MEGJEGYZES) AS Megjegyzes
,nn.C_HETSORSZAMA AS Het
FROM T_FELHASZNALO_OSSZES f
LEFT JOIN T_NEMKOTOTTMUNKAIDO_OSSZES nkm ON f.ID=nkm.C_TANARID AND nkm.TOROLT='F' AND nkm.C_TANEVID=@tanevId AND nkm.C_MEGTARTOTT='T'
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID=nkm.C_TEVEKENYSEGTIPUSA AND d.C_TANEVID=nkm.C_TANEVID AND d.C_INTEZMENYID=nkm.C_INTEZMENYID
LEFT JOIN T_NAPTARINAP_OSSZES nn ON CONVERT(DATE,nn.C_NAPDATUMA)=CONVERT(DATE,nkm.C_KEZDETE) AND nn.C_INTEZMENYID=@intezmenyId AND nn.C_TANEVID=@tanevId AND nn.TOROLT='F'
WHERE f.ID = @tanarId
END
ELSE BEGIN
SELECT
FORMAT(nkm.C_KEZDETE, 'yyyy.MM.dd.') AS Datum
,FORMAT(nkm.C_KEZDETE, 'HH:mm') AS Kezdete
,FORMAT(nkm.C_VEGE, 'HH:mm') AS Vege
,f.C_NYOMTATASINEV AS Tanar
,IIF(nkm.C_ISTANARALTALTOROLT = 'T', 'Törölt', d.C_NAME) AS Tevekenyseg
,ISNULL(nkm.C_NAPLOZOTTMEGJEGYZES, nkm.C_MEGJEGYZES) AS Megjegyzes
,nn.C_HETSORSZAMA AS Het
,@Honap AS Honap
FROM T_FELHASZNALO_OSSZES f
LEFT JOIN T_NEMKOTOTTMUNKAIDO_OSSZES nkm ON f.ID=nkm.C_TANARID AND nkm.TOROLT='F' AND nkm.C_TANEVID=@tanevId AND nkm.C_MEGTARTOTT='T' AND DATEPART(MONTH,nkm.C_KEZDETE) = @Honap
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID=nkm.C_TEVEKENYSEGTIPUSA AND d.C_TANEVID=nkm.C_TANEVID AND d.C_INTEZMENYID=nkm.C_INTEZMENYID
LEFT JOIN T_NAPTARINAP_OSSZES nn ON CONVERT(DATE,nn.C_NAPDATUMA)=CONVERT(DATE,nkm.C_KEZDETE) AND nn.C_INTEZMENYID=@intezmenyId AND nn.C_TANEVID=@tanevId AND nn.TOROLT='F'
WHERE f.ID = @tanarId
SELECT TOP(1)
FORMAT(naptariNap.C_NAPDATUMA, 'yyyy') AS Ev
,FORMAT(naptariNap.C_NAPDATUMA, 'MM') AS Honap
FROM T_NAPTARINAP_OSSZES naptariNap
WHERE DATEPART(MONTH, naptariNap.C_NAPDATUMA) = @Honap
AND naptariNap.C_TANEVID = @TanevId
AND naptariNap.TOROLT = 'F'
END
-- Iktatási adatok
SELECT
f.ID AS PedagogusId
,f.C_OKTATASIAZONOSITO AS PedagogusOktAzon
,mua.C_FELADATELLATASIHELYID AS FeladatEllatasiHelyId
FROM T_FELHASZNALO_OSSZES f
INNER JOIN T_MUNKAUGYIADATOK_OSSZES mua ON mua.C_ALKALMAZOTTID = f.ID
WHERE f.ID = @tanarId
AND f.C_TANEVID = @tanevId AND f.C_INTEZMENYID = @intezmenyId
END
GO