init
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
DROP FUNCTION IF EXISTS fnGetDokumentumKapcsolodoOsztalycsoportok
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumKapcsolodoOsztalycsoportok (@osztalyCsoportId int, @ptanevId int, @csakTanoraiCelu INT= 1)
|
||||
RETURNS @ocs TABLE (ID int)
|
||||
AS BEGIN
|
||||
|
||||
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId)
|
||||
|
||||
INSERT INTO @ocs
|
||||
|
||||
SELECT @osztalyCsoportId AS ID
|
||||
|
||||
UNION
|
||||
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN T_CSOPORTTIPUS_OSSZES cst ON cs.C_TIPUSA = cst.ID AND cs.C_ALTANEVID = cst.C_ALTANEVID
|
||||
WHERE C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
AND (@csakTanoraiCelu = 0 OR C_ISTANORAICELU = 'T')
|
||||
|
||||
UNION
|
||||
|
||||
SELECT tcs.C_OSZTALYCSOPORTID
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = tcs.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_CSOPORTTIPUS_OSSZES cst ON cs.C_TIPUSA = cst.ID AND cs.C_ALTANEVID = cst.C_ALTANEVID
|
||||
INNER JOIN (
|
||||
SELECT DISTINCT x.C_TANULOID, x.C_BELEPESDATUM, x.C_KILEPESDATUM
|
||||
FROM T_TANULOCSOPORT_OSSZES x
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_OSZTALYCSOPORT_OSSZES.ID = x.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANEV_OSSZES ON T_TANEV_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.C_TANEVID
|
||||
WHERE x.C_OSZTALYCSOPORTID = @osztalyCsoportId AND x.TOROLT = 'F' AND (x.C_KILEPESDATUM > T_TANEV_OSSZES.C_KEZDONAP OR x.C_KILEPESDATUM IS NULL)
|
||||
) OSZTALY_TANULO ON OSZTALY_TANULO.C_TANULOID = tcs.C_TANULOID
|
||||
AND tcs.C_BELEPESDATUM >= OSZTALY_TANULO.C_BELEPESDATUM
|
||||
AND (OSZTALY_TANULO.C_KILEPESDATUM IS NULL OR tcs.C_BELEPESDATUM < OSZTALY_TANULO.C_KILEPESDATUM)
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @kategoriaId
|
||||
WHERE tcs.C_OSZTALYCSOPORTID <> @osztalyCsoportId AND tcs.TOROLT = 'F'
|
||||
AND (@csakTanoraiCelu = 0 OR C_ISTANORAICELU = 'T')
|
||||
|
||||
UNION
|
||||
|
||||
SELECT C_OSZTALYBONTASID AS ID
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN T_CSOPORTTIPUS_OSSZES cst ON cs.C_TIPUSA = cst.ID AND cs.C_ALTANEVID = cst.C_ALTANEVID
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
AND C_OSZTALYBONTASID IS NOT NULL
|
||||
AND (@csakTanoraiCelu = 0 OR C_ISTANORAICELU = 'T')
|
||||
|
||||
UNION
|
||||
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN T_CSOPORTTIPUS_OSSZES cst ON cs.C_TIPUSA = cst.ID AND cs.C_ALTANEVID = cst.C_ALTANEVID
|
||||
WHERE C_OSZTALYBONTASID IN (SELECT C_OSZTALYBONTASID FROM T_CSOPORT_OSSZES WHERE ID = @osztalyCsoportId)
|
||||
AND (@csakTanoraiCelu = 0 OR C_ISTANORAICELU = 'T')
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
Reference in New Issue
Block a user