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

51 lines
2.2 KiB
Transact-SQL

-- ===================================================================================================
-- KIRSTAT - Felhasználó - Konduktiv
-- ===================================================================================================
-- 17. MUNKALAP JOBB FELSŐ - A02T86 - KONDUKTÍV PEDAGÓGIAI ELLÁTOTTAK SZÁMA KORÉV SZERINT, BESZÁMOLÁSI IDŐSZAK
DROP PROCEDURE IF EXISTS uspKIRstat_FelhasznaloKonduktiv
GO
CREATE PROCEDURE uspKIRstat_FelhasznaloKonduktiv
@pFeladatellatasiHelyId int
,@pTanevId int
,@pIsKirstat bit = 1
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@statDatum datetime
SET @statDatum = (SELECT LEFT(C_NEV, 4) FROM T_TANEV WHERE ID = @pTanevId) + IIF(@pIsKirstat = 1, '1001', '1008')
SELECT DISTINCT
fh.ID AS TanuloId
,fh.C_NYOMTATASINEV AS TanuloNev
,tta.C_NYILVANTARTASKEZDETE AS NyilvantartasKezdete
,DATEDIFF(year, fh.C_SZULETESIDATUM, fh.C_NYILVANTARTASKEZDETE) AS Eletkor
,IIF(fh.C_NEME = 5, 'Leány','Fiú') AS Neme
FROM T_FELHASZNALO_OSSZES fh
INNER JOIN T_TANULO_OSSZES dk ON fh.ID = dk.ID AND dk.TOROLT = 'F'
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = fh.ID
AND tcs.C_BELEPESDATUM <= @statDatum
AND (tcs.C_KILEPESDATUM > @statDatum OR tcs.C_KILEPESDATUM IS NULL)
AND tcs.TOROLT = 'F'
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F'
WHERE fh.TOROLT = 'F'
AND fh.C_TANEVID = @pTanevId
AND EXISTS (
SELECT 1
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = tcs.C_OSZTALYCSOPORTID AND tcs.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
AND ocs.C_FELADATELLATASIHELYID = @pFeladatellatasiHelyId
AND ocs.TOROLT = 'F'
INNER JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID AND feh.TOROLT = 'F'
WHERE dk.ID = tcs.C_TANULOID
AND (/*cs.C_TIPUSA = 7728 OR*/ feh.C_OKTATASINEVELESIFELADATTIPUS IN (1173,1195,7759))
AND tcs.C_BELEPESDATUM <= @statDatum
AND (tcs.C_KILEPESDATUM > @statDatum OR tcs.C_KILEPESDATUM IS NULL)
AND tcs.TOROLT = 'F'
)
END
GO