init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,9 @@
|
|||
fnGetDokumentumOsztalyokCsoportokTanuloi.sql
|
||||
fnGetTanoraiCeluCsoportTipusok.sql
|
||||
fnGetDokumentumOsztalyVagyTanoraiCsoport.sql
|
||||
fnGetDokumentumTanulokOsztalybanToltottNapjai.sql
|
||||
fnGetKapcsolodoOsztalycsoportok.sql
|
||||
fnGetDokumentumKapcsolodoOsztalycsoportok.sql
|
||||
fnGetDokumentumOrakezdetToOraszam.sql
|
||||
fnGetDokumentumTanulokEvesOraszamaiOsztalyonkent.sql
|
||||
fnGetDokumentumErtekelesekOsztalyonkent.sql
|
|
@ -0,0 +1,22 @@
|
|||
IF OBJECT_ID('[fnConvertStringIntListToTable]') IS NOT NULL BEGIN
|
||||
DROP FUNCTION [fnConvertStringIntListToTable]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [fnConvertStringIntListToTable] (
|
||||
@pString NVARCHAR(4000),
|
||||
@pDelimiter NCHAR(1)
|
||||
) RETURNS TABLE AS RETURN (
|
||||
WITH Split(stpos, endpos) AS (
|
||||
SELECT 0 AS stpos, CHARINDEX(@pDelimiter,@pString) AS endpos
|
||||
UNION ALL
|
||||
SELECT endpos + 1, CHARINDEX(@pDelimiter,@pString,endpos+1)
|
||||
FROM Split
|
||||
WHERE endpos > 0
|
||||
)
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS Rn
|
||||
,CAST(SUBSTRING(@pString, stpos, COALESCE(NULLIF(endpos, 0), LEN(@pString) + 1) - stpos) AS int) AS Data
|
||||
FROM Split
|
||||
);
|
||||
GO
|
|
@ -0,0 +1,14 @@
|
|||
IF OBJECT_ID('[fnConvertXmlIntListToTable]') IS NOT NULL BEGIN
|
||||
DROP FUNCTION [fnConvertXmlIntListToTable]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [fnConvertXmlIntListToTable](
|
||||
@pXml xml
|
||||
,@pRootName varchar(100)
|
||||
,@pNodeName varchar(100)
|
||||
) RETURNS TABLE AS RETURN (
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) Rn, t.value('.','int') AS Data
|
||||
FROM @pXml.nodes('/*[local-name()=sql:variable("@pRootName")]/*[local-name()=sql:variable("@pNodeName")]') AS x(t)
|
||||
);
|
||||
GO
|
|
@ -0,0 +1,204 @@
|
|||
DROP FUNCTION IF EXISTS dbo.fnGetBankszamlaVezetoBank;
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetBankszamlaVezetoBank (@bankszamlaszam NVARCHAR(25))
|
||||
RETURNS NVARCHAR(MAX)
|
||||
BEGIN
|
||||
DECLARE @Nev NVARCHAR(MAX)
|
||||
SELECT @Nev =
|
||||
CASE SUBSTRING(@bankszamlaszam, 1, 3)
|
||||
WHEN '807' THEN 'Általános Közlekedési Hitelszövetkezet'
|
||||
WHEN '187' THEN 'Banco Primus Fióktelep, Magyarország'
|
||||
WHEN '175' THEN 'Bank of China (CEE) Zrt.'
|
||||
WHEN '197' THEN 'Bank of China (CEE) Zrt.'
|
||||
WHEN '179' THEN 'Bank Plus Bank Zrt.'
|
||||
WHEN '131' THEN 'BNP Paribas Hungária Bank Zrt.'
|
||||
WHEN '178' THEN 'BNP Paribas Magyarországi Fióktelepe'
|
||||
WHEN '183' THEN 'BNP Paribas Magyarországi Fióktelepe'
|
||||
WHEN '186' THEN 'BNP Paribas Securities Services'
|
||||
WHEN '194' THEN 'BORGUN hf.'
|
||||
WHEN '136' THEN 'CaLyon Bank Magyarország Zrt.'
|
||||
WHEN '185' THEN 'CaLyon S.A. Magyarország Bankfióktelep'
|
||||
WHEN '107' THEN 'CIB Bank Zrt. (CIB Közép-Európai Nemzetközi Bank Zrt.)'
|
||||
WHEN '111' THEN 'CIB Bank Zrt. (Inter-Európa Bank Zrt.)'
|
||||
WHEN '108' THEN 'Citibank (Citibank Europe)'
|
||||
WHEN '196' THEN 'CLS Bank International'
|
||||
WHEN '180' THEN 'Cofidis Magyarországi Fióktelep'
|
||||
WHEN '142' THEN 'Commerzbank Zrt.'
|
||||
WHEN '172' THEN 'Credigen Bank Zrt.'
|
||||
WHEN '163' THEN 'Deutsche Bank AG Zrt.'
|
||||
WHEN '177' THEN 'Dresdner Bank AG Magyarországi Fióktelepe'
|
||||
WHEN '586' THEN 'DUNA Takarék Bank Zrt.'
|
||||
WHEN '199' THEN 'eCOMM Merchant Solutions Ltd.'
|
||||
WHEN '125' THEN 'Erste Bank Zrt.'
|
||||
WHEN '119' THEN 'Erste Bank Zrt.'
|
||||
WHEN '116' THEN 'Erste Bank Zrt.'
|
||||
WHEN '193' THEN 'Euronet 360 Finance Limited'
|
||||
WHEN '148' THEN 'Eximbank Zrt.'
|
||||
WHEN '883' THEN 'Fundamenta Lakáskassza Lakástakarékpénztár Zrt.'
|
||||
WHEN '882' THEN 'Fundamenta Lakáskassza Lakástakarékpénztár Zrt.'
|
||||
WHEN '880' THEN 'Fundamenta Lakáskassza Lakástakarékpénztár Zrt.'
|
||||
WHEN '121' THEN 'Gránit Bank Zrt.'
|
||||
WHEN '147' THEN 'IC Bank Zrt.'
|
||||
WHEN '118' THEN 'iCard AD'
|
||||
WHEN '137' THEN 'ING Bank Magyarország Zrt.'
|
||||
WHEN '135' THEN 'KDB Bank Európa Zrt.'
|
||||
WHEN '888' THEN 'K&H Jelzálogbank Zrt.'
|
||||
WHEN '102' THEN 'K&H Bank Zrt. (Kereskedelmi és Hitelbank Zrt.)'
|
||||
WHEN '104' THEN 'K&H Bank Zrt. (Kereskedelmi és Hitelbank Zrt.)'
|
||||
WHEN '144' THEN 'KELER Zrt. (Központi Elszámolóház és Értéktár Zrt.)'
|
||||
WHEN '296' THEN 'Libra Internet Bank S.A.'
|
||||
WHEN '162' THEN 'MagNet Bank Zrt.'
|
||||
WHEN '146' THEN 'Magyar Fejlesztési Bank Zrt.'
|
||||
WHEN '100' THEN 'Magyar Államkincstár'
|
||||
WHEN '167' THEN 'Magyar Cetelem Bank Zrt.'
|
||||
WHEN '190' THEN 'Magyar Nemzeti Bank'
|
||||
WHEN '115' THEN 'Magyar Takarékszövetkezeti Bank Zrt.'
|
||||
WHEN '500' THEN 'Magyar Takarékszövetkezeti Bank Zrt.'
|
||||
WHEN '128' THEN 'Merkantil Bank Zrt.'
|
||||
WHEN '101' THEN 'MKB Bank Nyrt. (Budapest Bank Zrt.)'
|
||||
WHEN '103' THEN 'MKB Bank Nyrt. (Magyar Külkereskedelmi Bank)'
|
||||
WHEN '114' THEN 'NHB Növekedési Hitel Bank Zrt.'
|
||||
WHEN '184' THEN 'Oberbank AG Magyarországi Fióktelepe'
|
||||
WHEN '222' THEN 'Országos Fizetési Szolgáltató Zrt.'
|
||||
WHEN '117' THEN 'OTP Bank Nyrt.'
|
||||
WHEN '170' THEN 'OTP Bank Nyrt.'
|
||||
WHEN '884' THEN 'OTP Jelzálogbank Zrt.'
|
||||
WHEN '881' THEN 'OTP Lakástakarékpénztár Zrt.'
|
||||
WHEN '200' THEN 'OTP Pénztárszolgáltató Zrt.'
|
||||
WHEN '151' THEN 'Paystrax UAB'
|
||||
WHEN '612' THEN 'Polgári Bank Zrt.'
|
||||
WHEN '160' THEN 'Porsche Bank Hungária Zrt.'
|
||||
WHEN '903' THEN 'Postai Elszámoló Központ'
|
||||
WHEN '120' THEN 'Raiffeisen Bank Zrt.'
|
||||
WHEN '506' THEN 'Siklós és Vidéke Takarékszövetkezet, Siklós'
|
||||
WHEN '527' THEN 'Soltvadkert és Vidéke Takarékszövetkezet, Soltvadkert'
|
||||
WHEN '176' THEN 'Sopron Bank Zrt.'
|
||||
WHEN '808' THEN 'Széchenyi István Hitelszövetkezet'
|
||||
WHEN '168' THEN 'Takarék Jelzálogbank Nyrt.'
|
||||
WHEN '501' THEN 'Takarékbank Zrt.'
|
||||
WHEN '504' THEN 'Takarékbank Zrt.'
|
||||
WHEN '507' THEN 'Takarékbank Zrt.'
|
||||
WHEN '508' THEN 'Takarékbank Zrt.'
|
||||
WHEN '510' THEN 'Takarékbank Zrt.'
|
||||
WHEN '511' THEN 'Takarékbank Zrt.'
|
||||
WHEN '512' THEN 'Takarékbank Zrt.'
|
||||
WHEN '514' THEN 'Takarékbank Zrt.'
|
||||
WHEN '515' THEN 'Takarékbank Zrt.'
|
||||
WHEN '517' THEN 'Takarékbank Zrt.'
|
||||
WHEN '519' THEN 'Takarékbank Zrt.'
|
||||
WHEN '520' THEN 'Takarékbank Zrt.'
|
||||
WHEN '523' THEN 'Takarékbank Zrt.'
|
||||
WHEN '525' THEN 'Takarékbank Zrt.'
|
||||
WHEN '526' THEN 'Takarékbank Zrt.'
|
||||
WHEN '528' THEN 'Takarékbank Zrt.'
|
||||
WHEN '531' THEN 'Takarékbank Zrt.'
|
||||
WHEN '532' THEN 'Takarékbank Zrt.'
|
||||
WHEN '533' THEN 'Takarékbank Zrt.'
|
||||
WHEN '535' THEN 'Takarékbank Zrt.'
|
||||
WHEN '536' THEN 'Takarékbank Zrt.'
|
||||
WHEN '537' THEN 'Takarékbank Zrt.'
|
||||
WHEN '540' THEN 'Takarékbank Zrt.'
|
||||
WHEN '542' THEN 'Takarékbank Zrt.'
|
||||
WHEN '543' THEN 'Takarékbank Zrt.'
|
||||
WHEN '545' THEN 'Takarékbank Zrt.'
|
||||
WHEN '546' THEN 'Takarékbank Zrt.'
|
||||
WHEN '551' THEN 'Takarékbank Zrt.'
|
||||
WHEN '554' THEN 'Takarékbank Zrt.'
|
||||
WHEN '556' THEN 'Takarékbank Zrt.'
|
||||
WHEN '558' THEN 'Takarékbank Zrt.'
|
||||
WHEN '568' THEN 'Takarékbank Zrt.'
|
||||
WHEN '569' THEN 'Takarékbank Zrt.'
|
||||
WHEN '571' THEN 'Takarékbank Zrt.'
|
||||
WHEN '574' THEN 'Takarékbank Zrt.'
|
||||
WHEN '576' THEN 'Takarékbank Zrt.'
|
||||
WHEN '577' THEN 'Takarékbank Zrt.'
|
||||
WHEN '578' THEN 'Takarékbank Zrt.'
|
||||
WHEN '581' THEN 'Takarékbank Zrt.'
|
||||
WHEN '589' THEN 'Takarékbank Zrt.'
|
||||
WHEN '590' THEN 'Takarékbank Zrt.'
|
||||
WHEN '591' THEN 'Takarékbank Zrt.'
|
||||
WHEN '592' THEN 'Takarékbank Zrt.'
|
||||
WHEN '593' THEN 'Takarékbank Zrt.'
|
||||
WHEN '595' THEN 'Takarékbank Zrt.'
|
||||
WHEN '596' THEN 'Takarékbank Zrt.'
|
||||
WHEN '598' THEN 'Takarékbank Zrt.'
|
||||
WHEN '599' THEN 'Takarékbank Zrt.'
|
||||
WHEN '606' THEN 'Takarékbank Zrt.'
|
||||
WHEN '614' THEN 'Takarékbank Zrt.'
|
||||
WHEN '616' THEN 'Takarékbank Zrt.'
|
||||
WHEN '620' THEN 'Takarékbank Zrt.'
|
||||
WHEN '621' THEN 'Takarékbank Zrt.'
|
||||
WHEN '623' THEN 'Takarékbank Zrt.'
|
||||
WHEN '626' THEN 'Takarékbank Zrt.'
|
||||
WHEN '627' THEN 'Takarékbank Zrt.'
|
||||
WHEN '628' THEN 'Takarékbank Zrt.'
|
||||
WHEN '629' THEN 'Takarékbank Zrt.'
|
||||
WHEN '632' THEN 'Takarékbank Zrt.'
|
||||
WHEN '633' THEN 'Takarékbank Zrt.'
|
||||
WHEN '636' THEN 'Takarékbank Zrt.'
|
||||
WHEN '638' THEN 'Takarékbank Zrt.'
|
||||
WHEN '640' THEN 'Takarékbank Zrt.'
|
||||
WHEN '647' THEN 'Takarékbank Zrt.'
|
||||
WHEN '648' THEN 'Takarékbank Zrt.'
|
||||
WHEN '651' THEN 'Takarékbank Zrt.'
|
||||
WHEN '660' THEN 'Takarékbank Zrt.'
|
||||
WHEN '669' THEN 'Takarékbank Zrt.'
|
||||
WHEN '670' THEN 'Takarékbank Zrt.'
|
||||
WHEN '676' THEN 'Takarékbank Zrt.'
|
||||
WHEN '678' THEN 'Takarékbank Zrt.'
|
||||
WHEN '679' THEN 'Takarékbank Zrt.'
|
||||
WHEN '680' THEN 'Takarékbank Zrt.'
|
||||
WHEN '682' THEN 'Takarékbank Zrt.'
|
||||
WHEN '685' THEN 'Takarékbank Zrt.'
|
||||
WHEN '687' THEN 'Takarékbank Zrt.'
|
||||
WHEN '688' THEN 'Takarékbank Zrt.'
|
||||
WHEN '693' THEN 'Takarékbank Zrt.'
|
||||
WHEN '694' THEN 'Takarékbank Zrt.'
|
||||
WHEN '695' THEN 'Takarékbank Zrt.'
|
||||
WHEN '698' THEN 'Takarékbank Zrt.'
|
||||
WHEN '701' THEN 'Takarékbank Zrt.'
|
||||
WHEN '703' THEN 'Takarékbank Zrt.'
|
||||
WHEN '704' THEN 'Takarékbank Zrt.'
|
||||
WHEN '705' THEN 'Takarékbank Zrt.'
|
||||
WHEN '706' THEN 'Takarékbank Zrt.'
|
||||
WHEN '709' THEN 'Takarékbank Zrt.'
|
||||
WHEN '718' THEN 'Takarékbank Zrt.'
|
||||
WHEN '719' THEN 'Takarékbank Zrt.'
|
||||
WHEN '721' THEN 'Takarékbank Zrt.'
|
||||
WHEN '726' THEN 'Takarékbank Zrt.'
|
||||
WHEN '727' THEN 'Takarékbank Zrt.'
|
||||
WHEN '728' THEN 'Takarékbank Zrt.'
|
||||
WHEN '729' THEN 'Takarékbank Zrt.'
|
||||
WHEN '732' THEN 'Takarékbank Zrt.'
|
||||
WHEN '736' THEN 'Takarékbank Zrt.'
|
||||
WHEN '739' THEN 'Takarékbank Zrt.'
|
||||
WHEN '740' THEN 'Takarékbank Zrt.'
|
||||
WHEN '745' THEN 'Takarékbank Zrt.'
|
||||
WHEN '750' THEN 'Takarékbank Zrt.'
|
||||
WHEN '755' THEN 'Takarékbank Zrt.'
|
||||
WHEN '757' THEN 'Takarékbank Zrt.'
|
||||
WHEN '806' THEN 'Takarékbank Zrt.'
|
||||
WHEN '181' THEN 'Takarékbank Zrt. (Allianz Bank Zrt.)'
|
||||
WHEN '644' THEN 'Takarékbank Zrt. (Alsónémedi és Vidéke Takarékszövetkezet)'
|
||||
WHEN '182' THEN 'Takarékbank Zrt. (FHB Kereskedelmi Bank Zrt.)'
|
||||
WHEN '619' THEN 'Takarékbank Zrt. (Füzesabony és Vidéke Takarékszövetkezet)'
|
||||
WHEN '603' THEN 'Takarékbank Zrt. (Hajdúdorog és Vidéke Takarékszövetkezet)'
|
||||
WHEN '503' THEN 'Takarékbank Zrt. (Mecsek-Vidéke Takarékszövetkezet)'
|
||||
WHEN '652' THEN 'Takarékbank Zrt. (Nagykáta és Vidéke Takarékszövetkezet)'
|
||||
WHEN '655' THEN 'Takarékbank Zrt. (Örkényi Takarékszövetkezet)'
|
||||
WHEN '657' THEN 'Takarékbank Zrt. (Pilisvörösvár és Vidéke Takarékszövetkezet)'
|
||||
WHEN '539' THEN 'Takarékbank Zrt. (Szarvas és Vidéke Takarékszövetkezet)'
|
||||
WHEN '572' THEN 'Takarékbank Zrt. (Szegvár és Vidéke Takarékszövetkezet)'
|
||||
WHEN '803' THEN 'Takarékbank Zrt. (Tiszántúli Első Hitelszövetkezet)'
|
||||
WHEN '659' THEN 'Takarékbank Zrt. (Turai Takarékszövetkezet)'
|
||||
WHEN '700' THEN 'Tiszaföldvár és Vidéke Takarékszövetkezet, Tiszaföldvár'
|
||||
WHEN '126' THEN 'TransferWise Europe SA'
|
||||
WHEN '109' THEN 'UniCredit Bank Hungary Zrt.'
|
||||
WHEN '171' THEN 'UniCredit Jelzálogbank Zrt.'
|
||||
WHEN '192' THEN 'WIRECARD Bank AG'
|
||||
END
|
||||
RETURN @Nev
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,20 @@
|
|||
IF OBJECT_ID('dbo.fnGetDokumentumDatumFormatum') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetDokumentumDatumFormatum
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetDokumentumDatumFormatum (@datum DATE)
|
||||
RETURNS NVARCHAR(MAX)
|
||||
BEGIN
|
||||
DECLARE @value NVARCHAR(MAX)
|
||||
|
||||
SELECT @value =
|
||||
FORMAT(@datum, 'yyyy.MM.dd.')
|
||||
|
||||
RETURN @value
|
||||
END;
|
|
@ -0,0 +1,150 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP FUNCTION IF EXISTS fnGetDokumentumErtekelesekMuveszetiOktatasbanOsztalyonkent
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumErtekelesekMuveszetiOktatasbanOsztalyonkent (
|
||||
@tanevId int
|
||||
,@osztalyCsoportId int
|
||||
,@ertekelesTipusa int = NULL
|
||||
,@csakTanorai bit = 1
|
||||
,@csakKivlasztottOsztalyCsoport bit = 0
|
||||
,@atsoroltTanuloErtekelesek int = 0
|
||||
,@osztalyzatTipusTypeID int = 44
|
||||
,@magatartasErtekelesTipusTypeID int = 50
|
||||
,@szorgalomErtekelesTipusTypeID int = 51
|
||||
)
|
||||
RETURNS @retTanuloErtekeles TABLE
|
||||
(
|
||||
ErtekelesId INT NOT NULL,
|
||||
Datum DATE,
|
||||
TipusId INT,
|
||||
ErtekelesSzoveg NVARCHAR(MAX),
|
||||
ErtekelesSzovegFormazott NVARCHAR(MAX),
|
||||
ErtekelesSzovegRovidNev NVARCHAR(3),
|
||||
ErtekelesOsztalyzatId INT,
|
||||
ErtekelesOsztalyzatValue INT,
|
||||
ErtekelesOsztalyzatNev NVARCHAR(MAX),
|
||||
ErtekelesSzazalek NVARCHAR(MAX),
|
||||
MagatartasOsztalyzatId INT,
|
||||
MagatartasOsztalyzatValue INT,
|
||||
MagatartasOsztalyzatNev NVARCHAR(MAX),
|
||||
MagatartasSzoveg NVARCHAR(MAX),
|
||||
MagatartasSzovegFormazott NVARCHAR(MAX),
|
||||
MagatartasSzovegRovidNev NVARCHAR(3),
|
||||
MagatartasErtekId INT,
|
||||
MagatartasErtek NVARCHAR(MAX),
|
||||
MagatartasErtekOsztalyzatkent INT,
|
||||
SzorgalomOsztalyzatId INT,
|
||||
SzorgalomOsztalyzatValue INT,
|
||||
SzorgalomOsztalyzatNev NVARCHAR(MAX),
|
||||
SzorgalomSzoveg NVARCHAR(MAX),
|
||||
SzorgalomSzovegFormazott NVARCHAR(MAX),
|
||||
SzorgalomSzovegRovidNev NVARCHAR(3),
|
||||
SzorgalomErtekId INT,
|
||||
SzorgalomErtek NVARCHAR(MAX),
|
||||
SzorgalomErtekOsztalyzatkent INT,
|
||||
TanuloId INT,
|
||||
OsztalyCsoportId INT,
|
||||
TantargyId INT,
|
||||
TantargyNevZarojellel NVARCHAR(MAX),
|
||||
TantargyNevNyomtatvanyban NVARCHAR(MAX),
|
||||
TantargyNev NVARCHAR(MAX),
|
||||
TantargyAngolNev NVARCHAR(MAX),
|
||||
TantargyNemetNev NVARCHAR(MAX),
|
||||
TargyKategoriaId INT,
|
||||
FotargyE CHAR(1),
|
||||
Altantargy CHAR(1),
|
||||
FotargyId INT,
|
||||
ErtekelesTema NVARCHAR(MAX),
|
||||
ErtekeloId INT,
|
||||
ErtekelesModjaId INT,
|
||||
IsMagatartasSzorgalom CHAR(1),
|
||||
Jeloles NVARCHAR(MAX),
|
||||
JelolesAndErtekelesTema NVARCHAR(MAX),
|
||||
RENDEZ0 int,
|
||||
RENDEZ1 INT,
|
||||
RENDEZ2 NVARCHAR(MAX),
|
||||
RENDEZ3 INT,
|
||||
RENDEZ4 INT,
|
||||
RENDEZ5 NVARCHAR(MAX)
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
INSERT INTO @retTanuloErtekeles
|
||||
SELECT
|
||||
ErtekelesId,
|
||||
Datum,
|
||||
TipusId,
|
||||
ErtekelesSzoveg,
|
||||
ErtekelesSzovegFormazott,
|
||||
ErtekelesSzovegRovidNev,
|
||||
ErtekelesOsztalyzatId,
|
||||
ErtekelesOsztalyzatValue,
|
||||
ErtekelesOsztalyzatNev,
|
||||
ErtekelesSzazalek,
|
||||
MagatartasOsztalyzatId,
|
||||
MagatartasOsztalyzatValue,
|
||||
MagatartasOsztalyzatNev,
|
||||
MagatartasSzoveg,
|
||||
MagatartasSzovegFormazott,
|
||||
MagatartasSzovegRovidNev,
|
||||
MagatartasErtekId,
|
||||
MagatartasErtek,
|
||||
MagatartasErtekOsztalyzatkent,
|
||||
SzorgalomOsztalyzatId,
|
||||
SzorgalomOsztalyzatValue,
|
||||
SzorgalomOsztalyzatNev,
|
||||
SzorgalomSzoveg,
|
||||
SzorgalomSzovegFormazott,
|
||||
SzorgalomSzovegRovidNev,
|
||||
SzorgalomErtekId,
|
||||
SzorgalomErtek,
|
||||
SzorgalomErtekOsztalyzatkent,
|
||||
TanuloId,
|
||||
OsztalyCsoportId,
|
||||
TantargyId,
|
||||
TantargyNevZarojellel,
|
||||
TantargyNevNyomtatvanyban,
|
||||
TantargyNev,
|
||||
TantargyAngolNev,
|
||||
TantargyNemetNev,
|
||||
TargyKategoriaId,
|
||||
FotargyE,
|
||||
Altantargy,
|
||||
FotargyId,
|
||||
ErtekelesTema,
|
||||
ErtekeloId,
|
||||
ErtekelesModjaId,
|
||||
IsMagatartasSzorgalom,
|
||||
Jeloles,
|
||||
JelolesAndErtekelesTema,
|
||||
RENDEZ0,
|
||||
RENDEZ1,
|
||||
RENDEZ2,
|
||||
RENDEZ3,
|
||||
RENDEZ4,
|
||||
RENDEZ5
|
||||
FROM fnGetDokumentumErtekelesekOsztalyonkent(@tanevId, @osztalyCsoportId, @ertekelesTipusa, 0, @csakKivlasztottOsztalyCsoport, @atsoroltTanuloErtekelesek, DEFAULT, @osztalyzatTipusTypeID, @magatartasErtekelesTipusTypeID, @szorgalomErtekelesTipusTypeID) ErtekelesekTable
|
||||
INNER JOIN T_CSOPORT_OSSZES CsoportTable ON ErtekelesekTable.OsztalyCsoportId = CsoportTable.Id
|
||||
WHERE
|
||||
C_TIPUSA IN
|
||||
(
|
||||
1067 --Alapf. müv. okt. zeneművészeti csoport - egyéni főtanszak
|
||||
,1068 --Alapf. müv. okt. zeneművészeti csoport - csoportos főtanszak
|
||||
,1069 --Alapf. müv. okt. képző- és iparművészeti csoport
|
||||
,1070 --Alapf. müv. okt. táncművészeti csoport
|
||||
,1071 --Alapf. müv. okt. szín- és bábművészeti csoport
|
||||
,6756 --Alapf. műv. okt. zeneművészeti csoport - csoportos kötelezően választható
|
||||
,6757 --Alapf. műv. okt. zeneművészeti csoport - egyéni kötelezően választható
|
||||
,6758 --Alapf. műv. okt. zeneművészeti csoport - csoportos kötelező
|
||||
,6759 --Alapf. műv. okt. zeneművészeti csoport - egyéni kötelező
|
||||
,6760 --Alapf. műv. okt. zeneművészeti csoport - csoportos választható
|
||||
,6761 --Alapf. műv. okt. zeneművészeti csoport - egyéni választható
|
||||
)
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,238 @@
|
|||
DROP FUNCTION IF EXISTS fnGetDokumentumErtekelesekOsztalyonkent
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumErtekelesekOsztalyonkent (
|
||||
@tanevId int
|
||||
,@osztalyCsoportId int
|
||||
,@ertekelesTipusa int = NULL
|
||||
,@csakTanorai bit = 1
|
||||
,@csakKivlasztottOsztalyCsoport bit = 0
|
||||
,@atsoroltTanuloErtekelesek int = 0
|
||||
,@includeOsztalyfonokiKategoria bit = 0
|
||||
,@osztalyzatTipusTypeID int = 44
|
||||
,@magatartasErtekelesTipusTypeID int = 50
|
||||
,@szorgalomErtekelesTipusTypeID int = 51
|
||||
)
|
||||
RETURNS @retTanuloErtekeles TABLE
|
||||
(
|
||||
ErtekelesId INT NOT NULL
|
||||
,Datum DATE
|
||||
,TipusId INT
|
||||
,ErtekelesSzoveg NVARCHAR(MAX)
|
||||
,ErtekelesSzovegFormazott NVARCHAR(MAX)
|
||||
,ErtekelesSzovegRovidNev NVARCHAR(3)
|
||||
,ErtekelesOsztalyzatId INT
|
||||
,ErtekelesOsztalyzatValue INT
|
||||
,ErtekelesOsztalyzatNev NVARCHAR(500)
|
||||
,ErtekelesSzazalek NVARCHAR(4)
|
||||
,MagatartasOsztalyzatId INT
|
||||
,MagatartasOsztalyzatValue INT
|
||||
,MagatartasOsztalyzatNev NVARCHAR(500)
|
||||
,MagatartasSzoveg NVARCHAR(MAX)
|
||||
,MagatartasSzovegFormazott NVARCHAR(MAX)
|
||||
,MagatartasSzovegRovidNev NVARCHAR(6)
|
||||
,MagatartasErtekId INT
|
||||
,MagatartasErtek NVARCHAR(500)
|
||||
,MagatartasErtekOsztalyzatkent INT
|
||||
,SzorgalomOsztalyzatId INT
|
||||
,SzorgalomOsztalyzatValue INT
|
||||
,SzorgalomOsztalyzatNev NVARCHAR(500)
|
||||
,SzorgalomSzoveg NVARCHAR(MAX)
|
||||
,SzorgalomSzovegFormazott NVARCHAR(MAX)
|
||||
,SzorgalomSzovegRovidNev NVARCHAR(6)
|
||||
,SzorgalomErtekId INT
|
||||
,SzorgalomErtek NVARCHAR(500)
|
||||
,SzorgalomErtekOsztalyzatkent INT
|
||||
,TanuloId INT
|
||||
,TanuloCsoportId INT
|
||||
,OsztalyCsoportId INT
|
||||
,TantargyId INT
|
||||
,TantargyNevZarojellel NVARCHAR(1023)
|
||||
,TantargyNevNyomtatvanyban NVARCHAR(510)
|
||||
,TantargyNev NVARCHAR(510)
|
||||
,TantargyAngolNev NVARCHAR(510)
|
||||
,TantargyNemetNev NVARCHAR(510)
|
||||
,TargyKategoriaId INT
|
||||
,FotargyE CHAR(1)
|
||||
,Altantargy CHAR(1)
|
||||
,FotargyId INT
|
||||
,ErtekelesTema NVARCHAR(2100)
|
||||
,ErtekeloId INT
|
||||
,ErtekelesModjaId INT
|
||||
,IsMagatartasSzorgalom CHAR(1)
|
||||
,Jeloles NVARCHAR(MAX)
|
||||
,JelolesAndErtekelesTema NVARCHAR(MAX)
|
||||
,RogzitesDatum DATETIME
|
||||
,RENDEZ0 int
|
||||
,RENDEZ1 INT
|
||||
,RENDEZ2 NVARCHAR(510)
|
||||
,RENDEZ3 INT
|
||||
,RENDEZ4 INT
|
||||
,RENDEZ5 NVARCHAR(510)
|
||||
,IsTanulmanyiatlagbanemszamit CHAR(1)
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId)
|
||||
|
||||
DECLARE @kapcsolodoOcsID TABLE(ID INT)
|
||||
INSERT INTO @kapcsolodoOcsID (ID)
|
||||
SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId, 0, DEFAULT)
|
||||
|
||||
DECLARE @DefaultFeladatKategoriaId int = 7553
|
||||
|
||||
INSERT INTO @retTanuloErtekeles
|
||||
SELECT
|
||||
tanuloErtekeles.ID as ErtekelesId
|
||||
,tanuloErtekeles.C_DATUM as Datum
|
||||
,tanuloErtekeles.C_TIPUSID as TipusId
|
||||
,tanuloErtekeles.C_ERTEKELESSZOVEG as ErtekelesSzoveg
|
||||
,tanuloErtekeles.C_ERTEKELESSZOVEGFORMAZOTT as ErtekelesSzovegFormazott
|
||||
,tanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV as ErtekelesSzovegRovidNev
|
||||
,tanuloErtekeles.C_ERTEKELESOSZTALYZATID as ErtekelesOsztalyzatId
|
||||
,ertekelesOsztalyzat.C_VALUE as ErtekelesOsztalyzatValue
|
||||
,ertekelesOsztalyzat.C_NAME as ErtekelesOsztalyzatNev
|
||||
,CONVERT(NVARCHAR(3), tanuloErtekeles.C_ERTEKELESSZAZALEK)+'%' as ErtekelesSzazalek
|
||||
,tanuloErtekeles.C_MAGATARTASOSZTALYZATID as MagatartasOsztalyzatId
|
||||
,magatartasOsztalyzat.C_VALUE as MagatartasOsztalyzatValue
|
||||
,magatartasOsztalyzat.C_NAME as MagatartasOsztalyzatNev
|
||||
,tanuloErtekeles.C_MAGATARTASSZOVEG as MagatartasSzoveg
|
||||
,tanuloErtekeles.C_MAGATARTASSZOVEGFORMAZOTT as MagatartasSzovegFormazott
|
||||
,tanuloErtekeles.C_MAGATARTASSZOVEGROVIDNEV as MagatartasSzovegRovidNev
|
||||
,tanuloErtekeles.C_MAGATARTASERTEKID as MagatartasErtekId
|
||||
,magatartasErtek.C_NAME as MagatartasErtek
|
||||
,magatartasErtek.C_VALUE + 1 as MagatartasErtekOsztalyzatken
|
||||
,tanuloErtekeles.C_SZORGALOMOSZTALYZATID as SzorgalomOsztalyzatId
|
||||
,szorgalomOsztalyzat.C_VALUE as SzorgalomOsztalyzatValue
|
||||
,szorgalomOsztalyzat.C_NAME as SzorgalomOsztalyzatNev
|
||||
,tanuloErtekeles.C_SZORGALOMSZOVEG as SzorgalomSzoveg
|
||||
,tanuloErtekeles.C_SZORGALOMSZOVEGFORMAZOTT as SzorgalomSzovegFormazott
|
||||
,tanuloErtekeles.C_SZORGALOMSZOVEGROVIDNEV as SzorgalomSzovegRovidNev
|
||||
,tanuloErtekeles.C_SZORGALOMERTEKID as SzorgalomErtekId
|
||||
,szorgalomErtek.C_NAME as SzorgalomErtek
|
||||
,szorgalomErtek.C_VALUE + 1 as SzorgalomErtekOsztalyzatkent
|
||||
,tanuloErtekeles.C_TANULOID as TanuloId
|
||||
,TanuloCsoport.ID AS TanuloCsoportId
|
||||
,tanuloErtekeles.C_OSZTALYCSOPORTID as OsztalyCsoportId
|
||||
,tanuloErtekeles.C_TANTARGYID as TantargyId
|
||||
,IIF(tantargy.C_NEV <> tantargy.C_NEVNYOMTATVANYBAN AND tantargy.C_NEVNYOMTATVANYBAN IS NOT NULL, tantargy.C_NEVNYOMTATVANYBAN +' (' + tantargy.C_NEV + ')', tantargy.C_NEV) as TantargyNevZarojellel
|
||||
,tantargy.C_NEVNYOMTATVANYBAN as TantargyNevNyomtatvanyban
|
||||
,tantargy.C_NEV as TantargyNev
|
||||
,tantargy.C_ANGOLNEV as TantargyAngolNev
|
||||
,tantargy.C_NEMETNEV as TantargyNemetNev
|
||||
,tantargy.C_TARGYKATEGORIA as TargyKategoriaId
|
||||
,tantargy.C_FOTARGYE as FotargyE
|
||||
,tantargy.C_ALTANTARGYKENTNYOMTATVANYBAN as Altantargy
|
||||
,tantargy.C_FOTARGYID as FotargyId
|
||||
,tanuloErtekeles.C_ERTEKELESTEMA as ErtekelesTema
|
||||
,tanuloErtekeles.C_ERTEKELOID as ErtekeloId
|
||||
,tanuloErtekeles.C_ERTEKELESMODID as ErtekelesModjaId
|
||||
,tanuloErtekeles.C_ISMAGATARTASSZORGALOM as IsMagatartasSzorgalom
|
||||
,CASE
|
||||
WHEN tanuloErtekeles.C_TIPUSID = 1518 THEN
|
||||
CASE
|
||||
WHEN tanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'T' THEN
|
||||
CASE
|
||||
WHEN tanuloErtekeles.C_MAGATARTASSZOVEG IS NOT NULL THEN
|
||||
'<sup>' + CAST(ROW_NUMBER() OVER(PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_MAGATARTASSZOVEG IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_ROGZITESDATUM) AS NVARCHAR(10))+'</sup>'
|
||||
WHEN tanuloErtekeles.C_SZORGALOMSZOVEG IS NOT NULL THEN
|
||||
'<sup>' + CAST(ROW_NUMBER() OVER(PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_SZORGALOMSZOVEG IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_ROGZITESDATUM) AS NVARCHAR(10))+'</sup>'
|
||||
END
|
||||
WHEN tanuloErtekeles.C_ISMAGATARTASSZORGALOM = 'F' THEN
|
||||
'<sup>' + CAST(ROW_NUMBER() OVER(PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_ERTEKELESSZOVEG IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_ROGZITESDATUM) AS NVARCHAR(10))+'</sup>'
|
||||
END
|
||||
WHEN tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL AND tanuloErtekeles.C_TIPUSID IN (1519, 1520) THEN
|
||||
'<i>(' + CAST(CHAR(ROW_NUMBER() OVER(PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_DATUM) + 96) AS NVARCHAR(10))+')</i>'
|
||||
WHEN tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL AND tanuloErtekeles.C_TIPUSID IN (1522, 1523, 1524, 1525) THEN
|
||||
'<i>(' + CAST(CHAR(ROW_NUMBER() OVER(PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_DATUM) + 96) AS NVARCHAR(10))+')</i>'
|
||||
END as Jeloles
|
||||
,CASE
|
||||
WHEN tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL AND tanuloErtekeles.C_TIPUSID IN (1519, 1520) THEN
|
||||
'<i>(' + CAST(CHAR(ROW_NUMBER() OVER(PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_DATUM) + 96) AS NVARCHAR(10)) + ')</i>: ' + tanuloErtekeles.C_ERTEKELESTEMA
|
||||
WHEN tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL AND tanuloErtekeles.C_TIPUSID IN (1522, 1523, 1524, 1525) THEN
|
||||
'<i>(' + CAST(CHAR(ROW_NUMBER() OVER(PARTITION BY tanuloErtekeles.C_TANULOID, tanuloErtekeles.C_TIPUSID, IIF(tanuloErtekeles.C_ERTEKELESTEMA IS NOT NULL, 1, 0) ORDER BY tanuloErtekeles.C_DATUM) + 96) AS NVARCHAR(10)) + ')</i>: ' + tanuloErtekeles.C_ERTEKELESTEMA
|
||||
END as JelolesAndErtekelesTema
|
||||
,tanuloErtekeles.C_ROGZITESDATUM as RogzitesDatum
|
||||
,tantargy.C_SORSZAM as RENDEZ0
|
||||
,CASE WHEN tantargy.C_FOTARGYID IS NULL THEN ISNULL(TargyKategoriaDictionary.C_ORDER, 10000) ELSE ISNULL(FotargyKategoriaDictionary.C_ORDER, 10000) END as RENDEZ1
|
||||
,COALESCE(FotargyTable.C_NEVNYOMTATVANYBAN, FotargyTable.C_NEV, tantargy.C_NEV) as RENDEZ2
|
||||
,ISNULL(tantargy.C_FOTARGYID, tantargy.ID) as RENDEZ3
|
||||
,tantargy.C_FOTARGYID as RENDEZ4
|
||||
,ISNULL(tantargy.C_NEVNYOMTATVANYBAN, tantargy.C_NEV) as RENDEZ5
|
||||
,tantargy.C_ISTANULMANYIATLAGBANEMSZAMIT as IsTanulmanyiatlagbanemszamit
|
||||
FROM T_TANULOERTEKELES_OSSZES tanuloErtekeles
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON TanuloCsoport.C_TANULOID = tanuloErtekeles.C_TANULOID
|
||||
AND TanuloCsoport.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND TanuloCsoport.C_BELEPESDATUM <= tanuloErtekeles.C_DATUM
|
||||
AND (TanuloCsoport.C_KILEPESDATUM >= tanuloErtekeles.C_DATUM OR TanuloCsoport.C_KILEPESDATUM IS NULL)
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES ErtekeleshezTartozoOsztalyCsoport ON ErtekeleshezTartozoOsztalyCsoport.C_TANULOID = tanuloErtekeles.C_TANULOID
|
||||
AND ErtekeleshezTartozoOsztalyCsoport.C_OSZTALYCSOPORTID = tanuloErtekeles.C_OSZTALYCSOPORTID
|
||||
AND ErtekeleshezTartozoOsztalyCsoport.C_BELEPESDATUM <= tanuloErtekeles.C_DATUM
|
||||
AND (ErtekeleshezTartozoOsztalyCsoport.C_KILEPESDATUM >= tanuloErtekeles.C_DATUM OR ErtekeleshezTartozoOsztalyCsoport.C_KILEPESDATUM IS NULL)
|
||||
AND ErtekeleshezTartozoOsztalyCsoport.TOROLT = 'F'
|
||||
AND ErtekeleshezTartozoOsztalyCsoport.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = tanuloErtekeles.C_TANTARGYID AND tantargy.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES ertekelesOsztalyzat ON ertekelesOsztalyzat.ID = tanuloErtekeles.C_ERTEKELESOSZTALYZATID
|
||||
AND ertekelesOsztalyzat.C_TANEVID = @tanevId
|
||||
AND ertekelesOsztalyzat.C_DICTIONARYTYPEID = @osztalyzatTipusTypeID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magatartasOsztalyzat ON magatartasOsztalyzat.ID = tanuloErtekeles.C_MAGATARTASOSZTALYZATID
|
||||
AND magatartasOsztalyzat.C_TANEVID = @tanevId
|
||||
AND magatartasOsztalyzat.C_DICTIONARYTYPEID = @osztalyzatTipusTypeID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgalomOsztalyzat ON szorgalomOsztalyzat.ID = tanuloErtekeles.C_SZORGALOMOSZTALYZATID
|
||||
AND szorgalomOsztalyzat.C_TANEVID = @tanevId
|
||||
AND szorgalomOsztalyzat.C_DICTIONARYTYPEID = @osztalyzatTipusTypeID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES magatartasErtek ON magatartasErtek.ID = tanuloErtekeles.C_MAGATARTASERTEKID
|
||||
AND magatartasErtek.C_TANEVID = @tanevId
|
||||
AND magatartasErtek.C_DICTIONARYTYPEID = @magatartasErtekelesTipusTypeID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES szorgalomErtek ON szorgalomErtek.ID = tanuloErtekeles.C_SZORGALOMERTEKID
|
||||
AND szorgalomErtek.C_TANEVID = @tanevId
|
||||
AND szorgalomErtek.C_DICTIONARYTYPEID = @szorgalomErtekelesTipusTypeID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES TargyKategoriaDictionary ON TargyKategoriaDictionary.Id = tantargy.C_TARGYKATEGORIA
|
||||
AND TargyKategoriaDictionary.TOROLT = 'F'
|
||||
AND TargyKategoriaDictionary.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_TANTARGY_OSSZES FotargyTable ON tantargy.C_FOTARGYID = FotargyTable.ID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES FotargyKategoriaDictionary ON FotargyKategoriaDictionary.ID = FotargyTable.C_TARGYKATEGORIA
|
||||
AND FotargyKategoriaDictionary.TOROLT = 'F'
|
||||
AND FotargyKategoriaDictionary.C_TANEVID = FotargyTable.C_TANEVID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON osztalyCsoport.ID = tanuloErtekeles.C_OSZTALYCSOPORTID
|
||||
AND osztalyCsoport.TOROLT = 'F' and osztalyCsoport.C_FELADATKATEGORIAID = @kategoriaId
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tanorai.ID as tanoraiId
|
||||
,cs.ID as CsoportId
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN fnGetTanoraiCeluCsoportTipusok(@tanevId) tanorai ON tanorai.ID = cs.C_TIPUSA
|
||||
) tanorai ON tanorai.CsoportId = OsztalyCsoport.ID
|
||||
LEFT JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = tanuloErtekeles.C_OSZTALYCSOPORTID
|
||||
WHERE tanuloErtekeles.C_TANEVID = @tanevId
|
||||
AND tanuloErtekeles.TOROLT = 'F'
|
||||
AND (@atsoroltTanuloErtekelesek = 1 OR (tanuloErtekeles.C_OSZTALYCSOPORTID IN(SELECT ID FROM @kapcsolodoOcsID)))
|
||||
AND (@ertekelesTipusa IS NULL OR C_TIPUSID = @ertekelesTipusa)
|
||||
AND (@csakKivlasztottOsztalyCsoport = 0 OR tanuloErtekeles.C_OSZTALYCSOPORTID = @osztalyCsoportId)
|
||||
AND (@csakTanorai = 0 OR osztaly.ID IS NOT NULL OR tanorai.tanoraiId IS NOT NULL)
|
||||
AND ((ISNULL(tantargy.C_TARGYKATEGORIA,0) <> 1248) OR @includeOsztalyfonokiKategoria = 1)
|
||||
|
||||
IF @atsoroltTanuloErtekelesek > 0
|
||||
BEGIN
|
||||
DECLARE @osztalyTantargyak TABLE (TantargyId INT)
|
||||
|
||||
INSERT INTO @osztalyTantargyak (TantargyId)
|
||||
SELECT DISTINCT
|
||||
TantargyId
|
||||
FROM @retTanuloErtekeles
|
||||
WHERE OsztalyCsoportId IN (SELECT ID FROM @kapcsolodoOcsID)
|
||||
UNION
|
||||
SELECT DISTINCT
|
||||
C_TANTARGYID
|
||||
FROM T_FOGLALKOZAS_OSSZES
|
||||
INNER JOIN @kapcsolodoOcsID AS OSZTALYCSOPORT ON OSZTALYCSOPORT.ID = T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID
|
||||
WHERE T_FOGLALKOZAS_OSSZES.TOROLT = 'F'
|
||||
|
||||
DELETE FROM @retTanuloErtekeles
|
||||
WHERE TantargyId NOT IN (SELECT TantargyId FROM @osztalyTantargyak)
|
||||
END
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,28 @@
|
|||
DROP FUNCTION IF EXISTS dbo.fnGetDokumentumGondviselok;
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumGondviselok (@osztalyCsoportId INT, @tanevId INT, @isCsokkentettGondviselo NVARCHAR(1), @isTorvenyesGondviselo NVARCHAR(1) = NULL)
|
||||
RETURNS @Result TABLE (
|
||||
GondviseloId INT NOT NULL
|
||||
,GondviseloNev NVARCHAR(MAX) NOT NULL
|
||||
,TanuloId INT NOT NULL
|
||||
,RokonsagifokId INT
|
||||
) AS
|
||||
BEGIN
|
||||
INSERT INTO @Result (GondviseloId, GondviseloNev, TanuloId, RokonsagifokId)
|
||||
SELECT DISTINCT
|
||||
Gondviselo.ID GondviseloId
|
||||
,Gondviselo.C_NEV GondviseloNev
|
||||
,Gondviselo.C_TANULOID TanuloId
|
||||
,Gondviselo.C_ROKONSAGFOKA RokonsagifokId
|
||||
FROM T_GONDVISELO_OSSZES Gondviselo
|
||||
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') OsztalyTanuloi ON OsztalyTanuloi.TanuloId = Gondviselo.C_TANULOID
|
||||
WHERE
|
||||
Gondviselo.TOROLT = 'F'
|
||||
AND (@isTorvenyesGondviselo IS NULL OR Gondviselo.C_ISTORVENYESKEPVISELO = @isTorvenyesGondviselo)
|
||||
AND (Gondviselo.C_ISCSOKKENTETTGONDVISELO IS NULL OR Gondviselo.C_ISCSOKKENTETTGONDVISELO = @isCsokkentettGondviselo)
|
||||
AND Gondviselo.C_TANEVID = @tanevId
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,29 @@
|
|||
DROP FUNCTION IF EXISTS fnGetDokumentumIdegenNyelv
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumIdegenNyelv (@nyomtatvanyNyelvEnum INT, @Id INT, @tanevId INT)
|
||||
RETURNS NVARCHAR(MAX)
|
||||
BEGIN
|
||||
DECLARE @value NVARCHAR(MAX)
|
||||
DECLARE @intezmenyId INT
|
||||
|
||||
SELECT @intezmenyId = (SELECT C_INTEZMENYID FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT= 'F')
|
||||
|
||||
SELECT @value = (SELECT
|
||||
CASE @nyomtatvanyNyelvEnum
|
||||
WHEN 0 THEN
|
||||
C_NAME
|
||||
WHEN 1 THEN
|
||||
C_NAME_2
|
||||
WHEN 2 THEN
|
||||
C_NAME_1
|
||||
END
|
||||
FROM T_DICTIONARYITEMBASE_OSSZES WHERE ID = @Id AND C_TANEVID = @tanevId AND C_INTEZMENYID = @intezmenyId AND TOROLT = 'F')
|
||||
|
||||
RETURN @value
|
||||
END;
|
|
@ -0,0 +1,25 @@
|
|||
IF OBJECT_ID('dbo.fnGetDokumentumIntezmenyCime') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetDokumentumIntezmenyCime
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetDokumentumIntezmenyCime (@tanevId INT)
|
||||
RETURNS NVARCHAR(MAX)
|
||||
BEGIN
|
||||
DECLARE @value NVARCHAR(MAX)
|
||||
|
||||
SELECT
|
||||
@value = C_IRANYITOSZAM + ' ' + C_VAROS + ISNULL( ', ' + C_KOZTERULETNEV + ' ', '') + ISNULL(C_KOZTERULETJELLEGENEV + ' ','') + ISNULL(C_HAZSZAM, '') + ISNULL(', ' + C_EMELET + '. emelet', '') + ISNULL(', ' + C_AJTO + '. ajtó', '')
|
||||
FROM T_INTEZMENYADATOK_OSSZES
|
||||
WHERE
|
||||
C_TANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
|
||||
RETURN @value
|
||||
|
||||
END;
|
|
@ -0,0 +1,23 @@
|
|||
IF OBJECT_ID('fnGetDokumentumIntezmenyPedagogusok') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetDokumentumIntezmenyPedagogusok
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumIntezmenyPedagogusok (@pIntezmenyId INT, @pTanevId INT)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT
|
||||
f.ID AS ID,
|
||||
f.C_NYOMTATASINEV Nev
|
||||
FROM T_ALKALMAZOTT_OSSZES a
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f on f.ID = a.ID
|
||||
WHERE
|
||||
f.TOROLT = 'F'
|
||||
AND f.C_TANEVID = @pTanevId
|
||||
AND f.C_INTEZMENYID = @pIntezmenyId
|
||||
)
|
|
@ -0,0 +1,166 @@
|
|||
DROP FUNCTION IF EXISTS dbo.fnGetDokumentumKapcsolodoOsztalyCsoportokByDateRange
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetDokumentumKapcsolodoOsztalyCsoportokByDateRange (
|
||||
@pOsztalyCsoportId int
|
||||
,@pStartDate datetime
|
||||
,@pEndDate datetime
|
||||
,@pIntezmenyId int
|
||||
,@pTanevId int
|
||||
)
|
||||
RETURNS @Result TABLE (
|
||||
Id int primary key NOT NULL
|
||||
,Kezdete datetime NOT NULL
|
||||
,Vege datetime NOT NULL
|
||||
) AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
@tanevStart datetime
|
||||
,@tanevEnd datetime
|
||||
,@osztalyId int
|
||||
|
||||
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId)
|
||||
|
||||
IF EXISTS (SELECT 1 FROM T_OSZTALY_OSSZES WHERE ID = @pOsztalyCsoportId) BEGIN
|
||||
|
||||
INSERT INTO @Result (Id, Kezdete, Vege) /* maga az osztály */
|
||||
SELECT
|
||||
o.Id
|
||||
,@pStartDate
|
||||
,@pEndDate
|
||||
FROM T_OSZTALY_OSSZES o
|
||||
WHERE o.ID = @pOsztalyCsoportId
|
||||
AND o.C_ALTANEVID = @pTanevID
|
||||
AND o.C_ALINTEZMENYID = @pIntezmenyId
|
||||
AND o.TOROLT = 'F'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT /* Az osztály bontott csoportjai */
|
||||
cs.ID
|
||||
,@pStartDate
|
||||
,@pEndDate
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
WHERE C_OSZTALYBONTASID = @pOsztalyCsoportId
|
||||
AND cs.TOROLT = 'F'
|
||||
AND cs.C_ALTANEVID = @pTanevID
|
||||
AND cs.C_ALINTEZMENYID = @pIntezmenyId
|
||||
|
||||
INSERT INTO @Result (Id, Kezdete, Vege) /* Az osztály tanulóinak más csoportjai */
|
||||
SELECT
|
||||
tcs.C_OSZTALYCSOPORTID AS Id
|
||||
,CASE
|
||||
WHEN MIN(tcs.C_BELEPESDATUM) > MIN(oszt.C_BELEPESDATUM) AND MIN(tcs.C_BELEPESDATUM) > @pStartDate THEN MIN(tcs.C_BELEPESDATUM)
|
||||
WHEN MIN(oszt.C_BELEPESDATUM) > MIN(tcs.C_BELEPESDATUM) AND MIN(oszt.C_BELEPESDATUM) > @pStartDate THEN MIN(oszt.C_BELEPESDATUM)
|
||||
ELSE @pStartDate
|
||||
END AS Kezdete -- A három közül a legnagyobb
|
||||
,CASE
|
||||
WHEN MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) < MAX(ISNULL(oszt.C_KILEPESDATUM, @pEndDate)) AND MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) < @pEndDate THEN MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate))
|
||||
WHEN MAX(ISNULL(oszt.C_KILEPESDATUM, @pEndDate)) < MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) AND MAX(ISNULL(oszt.C_KILEPESDATUM, @pEndDate)) < @pEndDate THEN MAX(ISNULL(oszt.C_KILEPESDATUM, @pEndDate))
|
||||
ELSE @pEndDate -- A három közül a legkisebb
|
||||
END AS Vege
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES oszt
|
||||
ON oszt.C_TANULOID = tcs.C_TANULOID
|
||||
AND oszt.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
||||
AND oszt.C_BELEPESDATUM <= @pEndDate
|
||||
AND (oszt.C_KILEPESDATUM > @pStartDate OR oszt.C_KILEPESDATUM IS NULL)
|
||||
-- Csak azok a tanulócsoportok kellenek, amiknek tagja az adott osztályban tartózkodáskor
|
||||
AND oszt.C_BELEPESDATUM <= ISNULL(tcs.C_KILEPESDATUM, @pEndDate) AND ISNULL(oszt.C_KILEPESDATUM, @pEndDate) > tcs.C_BELEPESDATUM
|
||||
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = tcs.C_OSZTALYCSOPORTID AND cs.C_OSZTALYBONTASID IS NULL
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = cs.ID AND ocs.TOROLT = 'F' AND ocs.C_FELADATKATEGORIAID = @kategoriaId
|
||||
WHERE tcs.TOROLT = 'F'
|
||||
AND oszt.TOROLT = 'F'
|
||||
AND tcs.C_TANEVID = @pTanevId
|
||||
AND tcs.C_INTEZMENYID = @pIntezmenyId
|
||||
AND tcs.C_BELEPESDATUM <= @pEndDate
|
||||
AND (tcs.C_KILEPESDATUM > @pStartDate OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND NOT EXISTS (SELECT 1 FROM @Result r WHERE r.ID = tcs.C_OSZTALYCSOPORTID)
|
||||
GROUP BY tcs.C_OSZTALYCSOPORTID
|
||||
END
|
||||
|
||||
IF EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId AND C_OSZTALYBONTASID IS NOT NULL AND TOROLT = 'F') BEGIN
|
||||
|
||||
SELECT @osztalyId = C_OSZTALYBONTASID FROM T_CSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId
|
||||
|
||||
INSERT INTO @Result (Id, Kezdete, Vege) /* Az osztály, amelyiknek a bontása */
|
||||
SELECT
|
||||
@osztalyId
|
||||
,@pStartDate
|
||||
,@pEndDate
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT /* Maga a csoport */
|
||||
@pOsztalyCsoportId
|
||||
,@pStartDate
|
||||
,@pEndDate
|
||||
|
||||
INSERT INTO @Result (Id, Kezdete, Vege) /* Az csoport tanulóinak más csoportjai */
|
||||
SELECT
|
||||
tcs.C_OSZTALYCSOPORTID AS Id
|
||||
,CASE
|
||||
WHEN MIN(tcs.C_BELEPESDATUM) > MIN(csop.C_BELEPESDATUM) AND MIN(tcs.C_BELEPESDATUM) > @pStartDate THEN MIN(tcs.C_BELEPESDATUM)
|
||||
WHEN MIN(csop.C_BELEPESDATUM) > MIN(tcs.C_BELEPESDATUM) AND MIN(csop.C_BELEPESDATUM) > @pStartDate THEN MIN(csop.C_BELEPESDATUM)
|
||||
ELSE @pStartDate
|
||||
END AS Kezdete -- A három közül a legnagyobb
|
||||
,CASE
|
||||
WHEN MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) < MAX(ISNULL(csop.C_KILEPESDATUM, @pEndDate)) AND MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) < @pEndDate THEN MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate))
|
||||
WHEN MAX(ISNULL(csop.C_KILEPESDATUM, @pEndDate)) < MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) AND MAX(ISNULL(csop.C_KILEPESDATUM, @pEndDate)) < @pEndDate THEN MAX(ISNULL(csop.C_KILEPESDATUM, @pEndDate))
|
||||
ELSE @pEndDate
|
||||
END AS Vege -- A három közül a legkisebb
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES csop
|
||||
ON tcs.C_TANULOID = csop.C_TANULOID
|
||||
AND csop.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
||||
AND csop.C_BELEPESDATUM <= @pEndDate
|
||||
AND (csop.C_KILEPESDATUM > @pStartDate OR csop.C_KILEPESDATUM IS NULL)
|
||||
AND csop.TOROLT = 'F'
|
||||
INNER JOIN T_CSOPORT_OSSZES cs
|
||||
ON cs.ID = tcs.C_OSZTALYCSOPORTID
|
||||
AND (cs.C_OSZTALYBONTASID IS NULL OR cs.C_OSZTALYBONTASID = @osztalyId)
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = cs.ID AND ocs.TOROLT='F' AND ocs.C_FELADATKATEGORIAID = @kategoriaId
|
||||
WHERE tcs.C_OSZTALYCSOPORTID <> @pOsztalyCsoportId
|
||||
AND tcs.C_TANEVID = @pTanevId
|
||||
AND tcs.C_INTEZMENYID = @pIntezmenyId
|
||||
AND tcs.C_BELEPESDATUM <= @pEndDate
|
||||
AND (tcs.C_KILEPESDATUM > @pStartDate OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND tcs.TOROLT = 'F' AND csop.TOROLT = 'F'
|
||||
GROUP BY tcs.C_OSZTALYCSOPORTID
|
||||
END
|
||||
|
||||
IF EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId AND C_OSZTALYBONTASID IS NULL AND TOROLT = 'F') BEGIN
|
||||
|
||||
INSERT INTO @Result (Id, Kezdete, Vege) /* Az csoport tanulóinak más csoportjai */
|
||||
SELECT
|
||||
tcs.C_OSZTALYCSOPORTID AS Id
|
||||
,CASE
|
||||
WHEN MIN(tcs.C_BELEPESDATUM) > MIN(csop.C_BELEPESDATUM) AND MIN(tcs.C_BELEPESDATUM) > @pStartDate THEN MIN(tcs.C_BELEPESDATUM)
|
||||
WHEN MIN(csop.C_BELEPESDATUM) > MIN(tcs.C_BELEPESDATUM) AND MIN(csop.C_BELEPESDATUM) > @pStartDate THEN MIN(csop.C_BELEPESDATUM)
|
||||
ELSE @pStartDate
|
||||
END AS Kezdete -- A három közül a legnagyobb
|
||||
,CASE
|
||||
WHEN MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) < MAX(ISNULL(csop.C_KILEPESDATUM, @pEndDate)) AND MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) < @pEndDate THEN MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate))
|
||||
WHEN MAX(ISNULL(csop.C_KILEPESDATUM, @pEndDate)) < MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) AND MAX(ISNULL(csop.C_KILEPESDATUM, @pEndDate)) < @pEndDate THEN MAX(ISNULL(csop.C_KILEPESDATUM, @pEndDate))
|
||||
ELSE @pEndDate
|
||||
END AS Vege -- A három közül a legkisebb
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES csop
|
||||
ON tcs.C_TANULOID = csop.C_TANULOID
|
||||
AND csop.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
||||
AND csop.C_BELEPESDATUM <= @pEndDate
|
||||
AND (csop.C_KILEPESDATUM > @pStartDate OR csop.C_KILEPESDATUM IS NULL)
|
||||
AND csop.TOROLT = 'F'
|
||||
AND csop.C_BELEPESDATUM <= ISNULL(tcs.C_KILEPESDATUM, @pEndDate) AND ISNULL(csop.C_KILEPESDATUM, @pEndDate) > tcs.C_BELEPESDATUM
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT='F' AND ocs.C_FELADATKATEGORIAID = @kategoriaId
|
||||
WHERE tcs.C_TANEVID = @pTanevId
|
||||
AND tcs.C_INTEZMENYID = @pIntezmenyId
|
||||
AND tcs.C_BELEPESDATUM <= @pEndDate
|
||||
AND (tcs.C_KILEPESDATUM > @pStartDate OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND tcs.TOROLT = 'F' AND csop.TOROLT = 'F'
|
||||
GROUP BY tcs.C_OSZTALYCSOPORTID
|
||||
END
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,61 @@
|
|||
DROP FUNCTION IF EXISTS fnGetDokumentumKapcsolodoOsztalycsoportok
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumKapcsolodoOsztalycsoportok (@osztalyCsoportId int, @ptanevId int, @csakTanoraiCelu INT= 1, @kapcsolodoCsoportokSzureseOsztalyBesorolasra INT = 0)
|
||||
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 AND (cs.C_OSZTALYBONTASID IS NULL OR cs.C_OSZTALYBONTASID = @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_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > 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')
|
||||
AND (@kapcsolodoCsoportokSzureseOsztalyBesorolasra = 0 OR (OSZTALY_TANULO.C_KILEPESDATUM IS NULL OR OSZTALY_TANULO.C_KILEPESDATUM >= tcs.C_KILEPESDATUM))
|
||||
|
||||
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
|
|
@ -0,0 +1,57 @@
|
|||
DROP FUNCTION IF EXISTS fnGetDokumentumKozossegiSzolgalatOsztalyonkent
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumKozossegiSzolgalatOsztalyonkent (@tanevId int, @osztalyId int, @idegenNyelvId int)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT
|
||||
tk.ID AS KozossegiSzolgalatId
|
||||
,tk.C_TANEVID AS KozossegiSzolgalatTanevId
|
||||
,currentTanulo.TanuloNev AS TanuloNev
|
||||
,currentTanulo.TanuloId AS TanuloId
|
||||
,currentTanulo.TanuloCsoportId AS TanuloCsoportId
|
||||
,currentTanulo.OktatasiAzonosito AS TanuloOktAzon
|
||||
,FORMAT(C_INTERVALLUMKEZDETE, 'yyyy. MM. dd') + ' -' + char(13) + char(10) + FORMAT(C_INTERVALLUMVEGE, 'yyyy. MM. dd') AS Datum
|
||||
,tk.C_MEGJEGYZES AS Megjegyzes
|
||||
,tkny.C_MEGJEGYZES AS MegjegyzesIdegenNyelven
|
||||
,tk.C_ORASZAM AS Oraszam
|
||||
,tk.C_TELJESITESIHELYE AS TeljesitesHelye
|
||||
,feljegyzo.C_NYOMTATASINEV AS FeljegyzoNeve
|
||||
,tipus.C_NAME AS Tipus
|
||||
,tk.C_INTERVALLUMKEZDETE AS IntervallumKezdete
|
||||
,tk.C_INTERVALLUMVEGE AS IntervallumVege
|
||||
,tipusNy.C_NAME AS TipusIdegenNyelven
|
||||
,tkny.C_TELJESITESIHELYE AS TeljesitesHelyeIdegenNyelven
|
||||
,feljegyzo.C_ELOTAG AS FeljegyzoNevElotag
|
||||
,feljegyzo.C_VEZETEKNEV AS FeljegyzoNevVezeteknev
|
||||
,feljegyzo.C_UTONEV AS FeljegyzoNevUtonev
|
||||
FROM T_FELHASZNALO_OSSZES tanulo
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
f.C_OKTATASIAZONOSITO as OktatasiAzonosito
|
||||
,f.ID as TanuloId
|
||||
,f.C_NYOMTATASINEV as TanuloNev
|
||||
,tanulocsoport.ID as TanuloCsoportId
|
||||
,CASE WHEN (SELECT C_AKTIV FROM T_TANEV_OSSZES WHERE ID = tanulocsoport.C_TANEVID AND TOROLT = 'F') = 'T'
|
||||
THEN 1
|
||||
ELSE (SELECT C_SORSZAM FROM T_TANEV_OSSZES WHERE ID = tanulocsoport.C_TANEVID AND TOROLT = 'F')
|
||||
END as IsAktivTanevOrTanevSorszama
|
||||
FROM T_FELHASZNALO_OSSZES f
|
||||
CROSS APPLY (
|
||||
SELECT TOP 1
|
||||
ID
|
||||
,C_TANEVID
|
||||
FROM T_TANULOCSOPORT_OSSZES subTanuloCsoport
|
||||
WHERE subTanuloCsoport.TOROLT = 'F' AND subTanuloCsoport.C_OSZTALYCSOPORTID = @osztalyId AND subTanuloCsoport.C_TANULOID = f.ID
|
||||
ORDER BY ISNULL(subTanuloCsoport.C_KILEPESDATUM, '22000101') DESC
|
||||
) tanulocsoport
|
||||
WHERE f.TOROLT = 'F'
|
||||
) currentTanulo ON tanulo.C_OKTATASIAZONOSITO = currentTanulo.OktatasiAzonosito
|
||||
INNER JOIN T_TANULOKOZOSSEGISZOLGALAT_OSSZES tk ON tk.C_TANULOID = Tanulo.ID AND tk.TOROLT = 'F'
|
||||
AND (currentTanulo.IsAktivTanevOrTanevSorszama = 1 OR tk.C_TANEVID IN (SELECT ID FROM T_TANEV_OSSZES WHERE C_SORSZAM <= IsAktivTanevOrTanevSorszama AND C_INTEZMENYID = tk.C_INTEZMENYID AND TOROLT = 'F'))
|
||||
LEFT JOIN T_TANULOKOZOSSEGISZOLGALATNYEL_OSSZES tkny ON tkny.C_TANULOKOZOSSEGISZOLGALATID = tk.ID AND tkny.C_NYELVID = @idegenNyelvId AND tkny.TOROLT = 'F' AND tkny.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES feljegyzo ON feljegyzo.ID = tk.C_FELJEGYZOID AND feljegyzo.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES tipus ON tipus.Id = tk.C_KOZOSSEGISZOLGALATTIPUSA AND tipus.C_TANEVID = tk.C_TANEVID
|
||||
LEFT JOIN T_DICTIONARYITEMBASENYELV_OSSZES tipusNy ON tipusNy.ID = tk.C_KOZOSSEGISZOLGALATTIPUSA AND tipusNy.C_NYELVID = @idegenNyelvId AND tipusNy.C_TANEVID = @tanevId AND tipusNy.TOROLT = 'F'
|
||||
WHERE tanulo.TOROLT = 'F'
|
||||
)
|
|
@ -0,0 +1,46 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('fnGetDokumentumMegtartottOrak') IS NOT NULL
|
||||
BEGIN
|
||||
DROP FUNCTION fnGetDokumentumMegtartottOrak
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumMegtartottOrak (@pOsztalyCsoportId INT, @pTanevId INT)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
|
||||
SELECT
|
||||
tao.Id TanitasioraId
|
||||
,tao.C_DATUM Datum
|
||||
,tao.C_ORASZAM Oraszam
|
||||
,pedagogus.ID PedagogusId
|
||||
,IIF(C_MEGTARTOTT = 'T', pedagogus.C_NYOMTATASINEV, '-') PedagogusNev
|
||||
,IIF(C_MEGTARTOTT = 'T', REPLACE(REPLACE(REPLACE(C_TEMA, CHAR(0x0007),''), CHAR(0x000B), ''), CHAR(0x0002), ''), 'Elmaradt')
|
||||
+ IIF(C_HELYETTESITESTIPUSA = 1496, ' (Óraösszevonás: ' + helyettesito.C_NYOMTATASINEV +')', '')
|
||||
+ IIF(C_HELYETTESITESTIPUSA IN (1494, 1495), '(Helyettesitve: ' + helyettesito.C_NYOMTATASINEV +') ', '' ) Tema
|
||||
,tao.C_HETNAPJA HetNapja
|
||||
,nh.C_HETSORSZAMA HetSorszama
|
||||
,C_MEGTARTOTT Megtartott
|
||||
,tao.C_TANTARGYID TantargyId
|
||||
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) Tantargynev
|
||||
,tao.C_OSZTALYCSOPORTID OsztalyCsoportId
|
||||
,C_NAPSORSZAMA NapSorszama
|
||||
,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL,
|
||||
IIF(LEN(C_NEVNYOMTATVANYBAN) + LEN(tantargy.C_NEV) < 90,
|
||||
C_NEVNYOMTATVANYBAN + ' (' + tantargy.C_NEV + ')',
|
||||
C_NEVNYOMTATVANYBAN), tantargy.C_NEV) + '-' + CHAR(13) + CHAR(10)
|
||||
+ IIF(C_MEGTARTOTT = 'T', REPLACE(REPLACE(ISNULL(pedagogus.C_NYOMTATASINEV, ''), '[', ''), ']', ''), 'Elmaradt') TantargyPedagogussal
|
||||
FROM T_TANITASIORA_OSSZES tao
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES pedagogus ON pedagogus.Id = tao.C_TANARID
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.Id = tao.C_HELYETTESITOTANARID
|
||||
INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = tao.C_TANTARGYID
|
||||
INNER JOIN T_NAPTARIHET_OSSZES nh ON tao.C_DATUM BETWEEN nh.C_HETKEZDONAPJA AND nh.C_HETUTOLSONAPJA AND nh.C_TANEVID = @pTanevId AND nh.TOROLT='F'
|
||||
WHERE
|
||||
tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@pOsztalyCsoportId, @pTanevId, DEFAULT, DEFAULT))
|
||||
AND tao.TOROLT = 'F'
|
||||
)
|
||||
GO
|
|
@ -0,0 +1,135 @@
|
|||
DROP FUNCTION IF EXISTS fnGetDokumentumMulasztasokOsztalyonkentReszletes
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumMulasztasokOsztalyonkentReszletes (
|
||||
@tanevId int
|
||||
,@osztalyCsoportId int
|
||||
,@iskolaErdekuSzamit bit
|
||||
,@csakKivlasztottOsztalyCsoport bit = 0
|
||||
,@atsoroltTanuloMulasztas bit = 1
|
||||
,@idoszakEleje date = NULL
|
||||
,@idoszakVege date = NULL
|
||||
,@csakTanoraiCelu int = 1
|
||||
)
|
||||
RETURNS @result TABLE (
|
||||
TanuloId int
|
||||
,TanuloCsoportId int
|
||||
,OsztalyCsoportId int
|
||||
,OsztalyCsoportNev nvarchar (255)
|
||||
,Tipusa int
|
||||
,Igazolt char (1)
|
||||
,IgazolasTipusa int
|
||||
,KesesPercben int null
|
||||
,Datum datetime
|
||||
,Oraszam nvarchar (255)
|
||||
,OraszamWithOrakezdeteVege nvarchar (255)
|
||||
,TantargyId int
|
||||
,TantargyNev nvarchar (255)
|
||||
,HetSorszama int
|
||||
,Gyakorlati char(1)
|
||||
,Tanorai char(1)
|
||||
,RENDEZ0 int
|
||||
,RENDEZ1 int
|
||||
,RENDEZ2 nvarchar(255)
|
||||
,RENDEZ3 int
|
||||
,RENDEZ4 int
|
||||
,RENDEZ5 nvarchar(255)
|
||||
)
|
||||
AS BEGIN
|
||||
|
||||
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId)
|
||||
DECLARE @defaultCsengetesiRendId int
|
||||
|
||||
DECLARE @tanoraiCsoportok TABLE(
|
||||
OsztalyCsoportId int
|
||||
)
|
||||
|
||||
SELECT @defaultCsengetesiRendId = ID
|
||||
FROM T_CSENGETESIREND_OSSZES csr
|
||||
WHERE csr.TOROLT='F'
|
||||
AND csr.C_AKTIV = 'T'
|
||||
AND csr.C_TANEVID = @tanevId
|
||||
|
||||
IF @kategoriaId <> 7555 -- NEM AMI-s osztályoknál
|
||||
BEGIN
|
||||
INSERT INTO @tanoraiCsoportok(OsztalyCsoportId)
|
||||
SELECT
|
||||
ID
|
||||
FROM fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
-- AMI törzslapoknál ezekhez az osztálycsoportokhoz szedjük össze a mulasztásokat
|
||||
INSERT INTO @tanoraiCsoportok(OsztalyCsoportId)
|
||||
SELECT ID
|
||||
FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId, 0, DEFAULT)
|
||||
END
|
||||
|
||||
INSERT INTO @result
|
||||
SELECT
|
||||
tm.C_ORATANULOIID AS TanuloId
|
||||
,tcs2.ID AS TanuloCsoportId
|
||||
,tao.C_OSZTALYCSOPORTID AS OsztalyCsoportId
|
||||
,ocs.C_NEV AS OsztalyCsoportNev
|
||||
,tm.C_TIPUS AS Tipusa
|
||||
,tm.C_IGAZOLT AS Igazolt
|
||||
,tm.C_IGAZOLASTIPUSA AS IgazolasTipusa
|
||||
,tm.C_KESESPERCBEN AS KesesPercben
|
||||
,tao.C_DATUM AS Datum
|
||||
,IIF(tao.C_CSENGETESIRENDORAID IS NULL,
|
||||
(SELECT
|
||||
ISNULL(MAX(csro.C_ORASZAM), 0)
|
||||
FROM T_CSENGETESIRENDORA_OSSZES csro
|
||||
WHERE csro.TOROLT = 'F'
|
||||
AND csro.C_CSENGETESIRENDID = @defaultCsengetesiRendId
|
||||
AND CONVERT(nvarchar(5), C_KEZDETE, 108) <= CONVERT(nvarchar(5), C_ORAKEZDETE, 108)
|
||||
),tao.C_ORASZAM) as Oraszam
|
||||
,IIF(tao.C_CSENGETESIRENDORAID IS NULL, CONCAT(CONVERT(nvarchar(5), tao.C_ORAKEZDETE, 108), '-',
|
||||
CONVERT(nvarchar(5), tao.C_ORAVEGE, 108)), CAST(tao.C_ORASZAM AS nvarchar(5))) AS OraszamWithOrakezdeteVege
|
||||
,tao.C_TANTARGYID AS TantargyId
|
||||
,ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV) AS TantargyNev
|
||||
,tao.C_HETSORSZAMA AS HetSorszama
|
||||
,tgy.C_GYAKORLATI AS Gyakorlati
|
||||
,IIF(tanorai.OsztalyCsoportId IS NULL, 'F', 'T') AS Tanorai
|
||||
,tgy.C_SORSZAM AS RENDEZ0
|
||||
,IIF(tgy.C_FOTARGYID IS NULL,ISNULL(dibtgykat.C_ORDER, 10000),ISNULL(dibftgykat.C_ORDER, 10000)) AS RENDEZ1
|
||||
,COALESCE(ftgy.C_NEVNYOMTATVANYBAN, ftgy.C_NEV, tgy.C_NEV) AS RENDEZ2
|
||||
,ISNULL(tgy.C_FOTARGYID, tgy.ID) AS RENDEZ3
|
||||
,tgy.C_FOTARGYID AS RENDEZ4
|
||||
,ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV) AS RENDEZ5
|
||||
FROM T_TANULOMULASZTAS_OSSZES tm
|
||||
INNER JOIN T_TANITASIORA_OSSZES tao ON tao.ID = tm.C_TANITASIORAKID
|
||||
AND tao.TOROLT='F'
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = tm.C_ORATANULOIID
|
||||
AND tcs.TOROLT = 'F'
|
||||
AND tao.C_DATUM >= tcs.C_BELEPESDATUM
|
||||
AND tao.C_DATUM <= ISNULL(tcs.C_KILEPESDATUM, GETDATE())
|
||||
AND tcs.C_OSZTALYCSOPORTID= tao.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs2 ON tcs2.C_TANULOID = tm.C_ORATANULOIID
|
||||
AND tcs2.TOROLT = 'F'
|
||||
AND tao.C_DATUM >= tcs2.C_BELEPESDATUM
|
||||
AND tao.C_DATUM < ISNULL(tcs2.C_KILEPESDATUM, GETDATE())
|
||||
AND tcs2.C_OSZTALYCSOPORTID= @osztalyCsoportId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID
|
||||
AND ocs.C_FELADATKATEGORIAID = @kategoriaId
|
||||
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = tao.C_TANTARGYID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dibtgykat ON dibtgykat.Id = tgy.C_TARGYKATEGORIA
|
||||
AND dibtgykat.TOROLT = 'F'
|
||||
AND dibtgykat.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_TANTARGY_OSSZES ftgy ON tgy.C_FOTARGYID = ftgy.ID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dibftgykat ON dibftgykat.ID = ftgy.C_TARGYKATEGORIA
|
||||
AND dibftgykat.TOROLT = 'F'
|
||||
AND dibftgykat.C_TANEVID = ftgy.C_TANEVID
|
||||
LEFT JOIN @tanoraiCsoportok tanorai ON tanorai.OsztalyCsoportId = ocs.ID
|
||||
WHERE tm.C_TIPUS BETWEEN 1499 AND 1500
|
||||
AND tm.TOROLT = 'F'
|
||||
AND (@csakTanoraiCelu = 0 OR tanorai.OsztalyCsoportId IS NOT NULL)
|
||||
AND (@iskolaErdekuSzamit = 1 OR (tm.C_IGAZOLASTIPUSA IS NULL OR tm.C_IGAZOLASTIPUSA <> 1533))
|
||||
AND (@atsoroltTanuloMulasztas = 1 OR (tao.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyCsoportId, @tanevId, @csakTanoraiCelu, DEFAULT))))
|
||||
AND (@csakKivlasztottOsztalyCsoport = 0 OR tao.C_OSZTALYCSOPORTID = @osztalyCsoportId)
|
||||
AND (@idoszakEleje IS NULL OR tao.C_DATUM >= @idoszakEleje)
|
||||
AND (@idoszakVege IS NULL OR tao.C_DATUM <= @idoszakVege)
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,27 @@
|
|||
IF OBJECT_ID('dbo.fnGetDokumentumOrakezdetToOraszam') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetDokumentumOrakezdetToOraszam
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetDokumentumOrakezdetToOraszam (@oraKezdete VARCHAR(5), @tanevId INT)
|
||||
RETURNS INT
|
||||
BEGIN
|
||||
DECLARE @value INT
|
||||
SELECT
|
||||
@value = ISNULL(MAX(C_ORASZAM), 0)
|
||||
FROM T_CSENGETESIRENDORA_OSSZES CsengetesiRendOra
|
||||
INNER JOIN T_CSENGETESIREND_OSSZES CsengetesiRend ON CsengetesiRend.Id = CsengetesiRendOra.C_CSENGETESIRENDID
|
||||
WHERE
|
||||
CsengetesiRendOra.C_TANEVID = @tanevId
|
||||
AND CsengetesiRendOra.TOROLT = 'F'
|
||||
AND CsengetesiRend.TOROLT = 'F'
|
||||
AND CsengetesiRend.C_AKTIV = 'T'
|
||||
AND CONVERT(VARCHAR(5), C_KEZDETE, 108) <= @oraKezdete
|
||||
|
||||
RETURN @value
|
||||
END
|
|
@ -0,0 +1,28 @@
|
|||
IF OBJECT_ID('fnGetDokumentumOsszefuggoSzakmaiGyakorlat') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetDokumentumOsszefuggoSzakmaiGyakorlat
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumOsszefuggoSzakmaiGyakorlat(@tanevId INT, @osztalyId INT)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT
|
||||
Tanulok.TanuloId TanuloId
|
||||
,Tanulok.TanuloCsoportId TanuloCsoportId
|
||||
,C_TELJESITETT isTeljesitett
|
||||
,ISNULL(Ertekeles.C_ERTEKELESSZOVEG, Osztalyzat.C_VALUE) Ertekeles
|
||||
,'[' + C_MEGJEGYZES + ']' Megjegyzes
|
||||
,dbo.fnGetDokumentumDatumFormatum(OsszefuggoSzakGyak.C_TELJESITESDATUM) Datum
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi (@tanevid, @osztalyid, 'T') Tanulok
|
||||
INNER JOIN T_OSSZEFUGGOSZAKGYAK_OSSZES OsszefuggoSzakGyak ON OsszefuggoSzakGyak.C_TANULOID = Tanulok.TanuloId AND OsszefuggoSzakGyak.TOROLT = 'F' AND OsszefuggoSzakGyak.C_TANEVID = @tanevid
|
||||
LEFT JOIN T_TANULOERTEKELES_OSSZES Ertekeles ON Ertekeles.C_OSSZEFUGGOSZAKGYAKID = OsszefuggoSzakGyak.ID AND Ertekeles.TOROLT = 'F' AND Ertekeles.C_TANEVID = @tanevid
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES Osztalyzat ON Osztalyzat.ID = Ertekeles.C_ERTEKELESOSZTALYZATID AND Osztalyzat.C_TANEVID = @tanevid
|
||||
WHERE
|
||||
Tanulok.BelepesDatum <= OsszefuggoSzakGyak.C_TELJESITESDATUM
|
||||
AND (Tanulok.KilepesDatum >= OsszefuggoSzakGyak.C_TELJESITESDATUM OR Tanulok.KilepesDatum IS NULL)
|
||||
)
|
|
@ -0,0 +1,35 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('fnGetDokumentumOsztalyMegtartottOrakSzama') IS NOT NULL
|
||||
BEGIN
|
||||
DROP FUNCTION fnGetDokumentumOsztalyMegtartottOrakSzama
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumOsztalyMegtartottOrakSzama (@tanevId INT, @osztalyId INT)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT
|
||||
naptariNap.C_NAPDATUMA AS Datum
|
||||
,Oraszam.Orakszama AS OrakSzama
|
||||
FROM T_NAPTARINAP_OSSZES naptariNap
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
COUNT(DISTINCT C_ORAKEZDETE) AS Orakszama
|
||||
,C_DATUM AS Datum
|
||||
FROM T_TANITASIORA_OSSZES
|
||||
WHERE
|
||||
C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyId, @tanevId, DEFAULT, DEFAULT))
|
||||
AND TOROLT = 'F'
|
||||
AND C_MEGTARTOTT = 'T'
|
||||
GROUP BY C_DATUM
|
||||
) AS Oraszam ON Oraszam.Datum = naptariNap.C_NAPDATUMA
|
||||
WHERE
|
||||
C_TANEVID = @tanevId
|
||||
AND naptariNap.TOROLT = 'F'
|
||||
)
|
||||
|
||||
GO
|
|
@ -0,0 +1,21 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('fnGetDokumentumOsztalyTanuloinakMegtarthatoOrakTantargyankent') IS NOT NULL
|
||||
BEGIN
|
||||
DROP FUNCTION fnGetDokumentumOsztalyTanuloinakMegtarthatoOrakTantargyankent
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumOsztalyTanuloinakMegtarthatoOrakTantargyankent (@tanevId INT, @osztalyCsoportId INT, @atsoroltTanuloOrak BIT = 1, @tanitasiHetekSzamaVegzos INT, @tanitasiHetekSzamaNemVegzos INT, @isAltantargyBeszamitasa BIT)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT Megtarthato.Oraszam AS Orakszama, Megtarthato.TanuloId, Megtarthato.TantargyId,
|
||||
ISNULL(TANTARGY.C_NEVNYOMTATVANYBAN, TANTARGY.C_NEV) AS TantargyNev, C_FOTARGYE AS Fotargye, C_ALTANTARGYKENTNYOMTATVANYBAN AS Altargye, C_GYAKORLATI AS Gyakorlati
|
||||
FROM fnGetDokumentumTanulokEvesOraszamaiOsztalyonkent (@tanevId, @osztalyCsoportId, @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos, @isAltantargyBeszamitasa) AS Megtarthato
|
||||
INNER JOIN T_TANTARGY_OSSZES AS TANTARGY ON TANTARGY.ID = Megtarthato.TantargyId
|
||||
)
|
||||
|
||||
GO
|
|
@ -0,0 +1,53 @@
|
|||
DROP FUNCTION IF EXISTS fnGetDokumentumOsztalyTanuloinakMegtartottOrakTantargyankent
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumOsztalyTanuloinakMegtartottOrakTantargyankent (
|
||||
@tanevId int
|
||||
,@osztalyCsoportId int
|
||||
)
|
||||
RETURNS @result TABLE (
|
||||
Orakszama int
|
||||
,TanuloId int
|
||||
,TantargyId int
|
||||
,TantargyNev nvarchar(255)
|
||||
,Fotargye char(1)
|
||||
,Altargye char(1)
|
||||
,Gyakorlati char(1)
|
||||
)
|
||||
AS BEGIN
|
||||
|
||||
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId)
|
||||
|
||||
INSERT INTO @result
|
||||
SELECT
|
||||
COUNT(1) AS Orakszama
|
||||
,tcs.C_TANULOID AS TanuloId
|
||||
,tgy.ID AS TantargyId
|
||||
,ISNULL(tgy.C_NEVNYOMTATVANYBAN, tgy.C_NEV) AS TantargyNev
|
||||
,C_FOTARGYE AS Fotargye
|
||||
,C_ALTANTARGYKENTNYOMTATVANYBAN AS Altargye
|
||||
,C_GYAKORLATI AS Gyakorlati
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES AS tcsAll ON tcsAll.C_TANULOID = tcs.C_TANULOID AND tcsAll.TOROLT='F'
|
||||
INNER JOIN T_TANITASIORA_OSSZES AS tao ON tao.C_OSZTALYCSOPORTID = tcsAll.C_OSZTALYCSOPORTID AND tao.TOROLT='F'
|
||||
AND tao.C_DATUM >= tcsAll.C_BELEPESDATUM AND (tcsAll.C_KILEPESDATUM IS NULL OR tcsAll.C_KILEPESDATUM >=tao.C_DATUM)
|
||||
AND tao.C_DATUM >= tcs.C_BELEPESDATUM AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= tao.C_DATUM)
|
||||
AND tao.C_OSZTALYCSOPORTID IN (SELECT Id FROM fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId))
|
||||
AND tao.C_MEGTARTOTT = 'T'
|
||||
AND tao.C_TANEVID = @TanevId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS ocs ON ocs.ID = tao.C_OSZTALYCSOPORTID AND ocs.TOROLT='F'
|
||||
AND ocs.C_FELADATKATEGORIAID = @kategoriaId AND ocs.C_TANEVID = @TanevId
|
||||
INNER JOIN T_TANTARGY_OSSZES AS tgy ON tgy.ID = tao.C_TANTARGYID AND tgy.TOROLT='F'
|
||||
AND tgy.C_TANEVID = @TanevId
|
||||
WHERE tcs.C_OSZTALYCSOPORTID = @osztalyCsoportId AND tcs.TOROLT='F'
|
||||
GROUP BY
|
||||
tcs.C_TANULOID
|
||||
,tgy.ID
|
||||
,C_GYAKORLATI
|
||||
,tgy.C_NEVNYOMTATVANYBAN
|
||||
,tgy.C_NEV
|
||||
,tgy.C_FOTARGYE
|
||||
,tgy.C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,24 @@
|
|||
IF OBJECT_ID('fnGetDokumentumOsztalyVagyTanoraiCsoport') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetDokumentumOsztalyVagyTanoraiCsoport
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumOsztalyVagyTanoraiCsoport (@tanevId int)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT
|
||||
T_OSZTALYCSOPORT_OSSZES.ID
|
||||
FROM T_OSZTALYCSOPORT_OSSZES
|
||||
WHERE
|
||||
( EXISTS (SELECT TOP 1 ID FROM T_OSZTALY_OSSZES WHERE T_OSZTALY_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID )
|
||||
OR
|
||||
EXISTS (SELECT TOP 1 ID FROM T_CSOPORT_OSSZES WHERE C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)) AND T_CSOPORT_OSSZES.ID = T_OSZTALYCSOPORT_OSSZES.ID)
|
||||
)
|
||||
AND T_OSZTALYCSOPORT_OSSZES.C_TANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
)
|
|
@ -0,0 +1,47 @@
|
|||
IF OBJECT_ID('fnGetDokumentumOsztalyokCsoportokTanuloi') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetDokumentumOsztalyokCsoportokTanuloi
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumOsztalyokCsoportokTanuloi (@tanevId INT, @osztalyId INT, @isKilepettTanulokMegjelenjenek NVARCHAR(1))
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT DISTINCT
|
||||
C_TANULOID AS TanuloId
|
||||
,tanuloCsoport.ID AS TanuloCsoportId
|
||||
,tanuloCsoport.C_BELEPESDATUM AS BelepesDatum
|
||||
,tanuloCsoport.C_KILEPESDATUM AS KilepesDatum
|
||||
--OKJ
|
||||
,IIF(tanugyiAdatok.C_AGAZATID IS NULL,osztalyAdatok.C_AGAZAT, tanugyiAdatok.C_AGAZATID) AgazatId
|
||||
,IIF(tanugyiAdatok.C_SZAKKEPESITESID IS NULL,osztalyAdatok.C_SZAKKEPESITES, tanugyiAdatok.C_SZAKKEPESITESID) SzakkepesitesId
|
||||
,IIF(tanugyiAdatok.C_RESZSZAKKEPESITESID IS NULL,osztalyAdatok.C_RESZSZAKKEPESITES, tanugyiAdatok.C_RESZSZAKKEPESITESID) ReszSzakkepeitesId
|
||||
,IIF(tanugyiAdatok.C_SZAKMACSOPORTID IS NULL,osztalyAdatok.C_SZAKMACSOPORT, tanugyiAdatok.C_SZAKMACSOPORTID) SzakmaCsoportId
|
||||
--SZKT
|
||||
,IIF(tanugyiAdatok.C_AGAZATUJSZKTTIPUSID IS NULL,osztalyAdatok.C_AGAZATUJSZKTTIPUSID, tanugyiAdatok.C_AGAZATUJSZKTTIPUSID) AgazatTipusId
|
||||
,IIF(tanugyiAdatok.C_SZAKMATIPUSID IS NULL,osztalyAdatok.C_SZAKMATIPUSID, tanugyiAdatok.C_SZAKMATIPUSID) SzakmaTipusId
|
||||
,IIF(tanugyiAdatok.C_SZAKMAIRANYTIPUSID IS NULL,osztalyAdatok.C_SZAKMAIRANYTIPUSID, tanugyiAdatok.C_SZAKMAIRANYTIPUSID) SzakiranyTipusId
|
||||
--NKT
|
||||
,IIF(tanugyiAdatok.C_SZAKIRANYNKTTIPUSID IS NULL,osztalyAdatok.C_SZAKIRANYNKTTIPUSID, tanugyiAdatok.C_SZAKIRANYNKTTIPUSID) NktSzakiranyTipusId
|
||||
,IIF(tanugyiAdatok.C_SZAKKEPESITESNKTTIPUSID IS NULL,osztalyAdatok.C_SZAKKEPESITESNKTTIPUSID, tanugyiAdatok.C_SZAKKEPESITESNKTTIPUSID) NktSzakkepesitesTipusId
|
||||
,IIF(tanugyiAdatok.C_TANULMANYITERULETNKTTIPUSID IS NULL,osztalyAdatok.C_TANULMANYITERULETNKTTIPUSID, tanugyiAdatok.C_TANULMANYITERULETNKTTIPUSID) NktTanulmanyiTeruletId
|
||||
--Részszakma
|
||||
,tanugyiAdatok.C_AGAZATRESZSZAKMATIPUSID AgazatReszszakmaTipusId
|
||||
,tanugyiAdatok.C_RESZSZAKMATIPUSID ReszszakmaTipusId
|
||||
,tanugyiAdatok.C_SZAKMARESZSZAKMATIPUSID SzakmaReszszakmaId
|
||||
|
||||
,tanugyiAdatok.C_NAPLOSORSZAM AS NaploSorszam
|
||||
,tanugyiAdatok.C_TORZSLAPSZAM AS Torzslapszam
|
||||
,tanugyiAdatok.C_BEIRASINAPLOSORSZAM AS BeirasiNaploSorszam
|
||||
FROM T_TANULOCSOPORT_OSSZES tanuloCsoport
|
||||
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tanugyiAdatok ON tanugyiAdatok.C_TANULOCSOPORTID = tanuloCsoport.ID AND tanugyiAdatok.TOROLT = 'F'
|
||||
LEFT JOIN T_OSZTALY_OSSZES osztalyAdatok ON osztalyAdatok.ID = tanuloCsoport.C_OSZTALYCSOPORTID AND osztalyAdatok.TOROLT = 'F'
|
||||
WHERE
|
||||
tanuloCsoport.C_OSZTALYCSOPORTID = @osztalyId
|
||||
AND tanuloCsoport.C_TANEVID = @tanevId
|
||||
AND tanuloCsoport.TOROLT = 'F'
|
||||
)
|
|
@ -0,0 +1,69 @@
|
|||
DROP FUNCTION IF EXISTS dbo.fnGetDokumentumPedagogusOraszam
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetDokumentumPedagogusOraszam (@PedagogusId INT, @isKlebersberg BIT)
|
||||
RETURNS NVARCHAR(MAX)
|
||||
BEGIN
|
||||
DECLARE @value NVARCHAR(MAX)
|
||||
IF (@isKlebersberg = 0)
|
||||
BEGIN
|
||||
SET @value = (SELECT TOP 1 CAST(C_KOTELEZOORASZAM AS NVARCHAR(MAX)) FROM T_MUNKAUGYIADATOK_OSSZES WHERE C_ALKALMAZOTTID = @PedagogusId AND TOROLT = 'F')
|
||||
END
|
||||
|
||||
ELSE
|
||||
|
||||
BEGIN
|
||||
DECLARE @isKollegium INT =(
|
||||
SELECT TOP 1
|
||||
munk.C_ALKALMAZOTTID
|
||||
FROM T_MUNKAUGYIADATOK_OSSZES munk
|
||||
INNER JOIN T_FELADATELLATASIHELY_OSSZES fhely ON fhely.Id = munk.C_FELADATELLATASIHELYID
|
||||
WHERE fhely.C_OKTATASINEVELESIFELADATTIPUS = 1165
|
||||
AND munk.TOROLT = 'F'
|
||||
AND fhely.TOROLT = 'F'
|
||||
AND munk.C_ALKALMAZOTTID = @PedagogusId)
|
||||
|
||||
DECLARE @isEgyMi INT=(
|
||||
SELECT TOP 1
|
||||
munk.C_ALKALMAZOTTID
|
||||
FROM T_MUNKAUGYIADATOK_OSSZES munk
|
||||
INNER JOIN T_FELADATELLATASIHELY_OSSZES fhely ON fhely.Id = munk.C_FELADATELLATASIHELYID
|
||||
WHERE fhely.C_OKTATASINEVELESIFELADATTIPUS IN (1177 /* óvoda gyógy.*/, 1178 /*ált. isk. gyógyp.*/, 6711 /*utazó gyógyp.*/, 1173 /*konduktív ped. ell*/, 6570 /*fejlesztő nev-okt*/)
|
||||
AND munk.C_MUNKAKORTIPUSA IN (597 /*gyógypedagógus*/, 598 /*konduktor*/, 555 /*logopédus*/, 6421 /*pszichopedagógus*/)
|
||||
AND munk.C_ALKALMAZOTTID = @PedagogusId
|
||||
AND munk.TOROLT = 'F'
|
||||
AND fhely.TOROLT = 'F')
|
||||
|
||||
SELECT DISTINCT @value =
|
||||
IIF(C_VEZETOIORASZAMOK != 6571, CAST(C_KOTELEZOORASZAM AS NVARCHAR(MAX)) + ' (vezető)', --van vezetői óraszáma, ha nincs
|
||||
--ha teljes munkaidős
|
||||
CASE
|
||||
WHEN C_FOGLALKOZTATASTIPUS = 6465 AND C_MUNKAKORTIPUSA NOT IN (557,559,560,561,562,563,564,565,566,567,568,583,584,585,589,594,633,3026,6382,6388,6421,6438,7356, --ha teljes munkaidős és nem NOKS
|
||||
569,6345,6346,572,582,581,6404,571,586,588,587,6347,570,590) -- és nem egyéb
|
||||
THEN IIF(@isKollegium IS NOT NULL, '30', --ha kollégiumi feh-n alkalmazott, ha nem
|
||||
IIF(C_SZAKERTOMESTERPEDAGOGUS = 'T', '18', --ha szakértőmesterpedagógus, ha nem
|
||||
IIF(@isEgyMi IS NOT NULL, '20', --ha gyógypedagógus, ha nem
|
||||
IIF(C_BESOROLASIFOKOZAT = 3044, '20', --ha gyakornok, ha nem akkor
|
||||
'22-26'))))
|
||||
WHEN C_FOGLALKOZTATASTIPUS = 6466 --Részmunkaidős
|
||||
THEN CAST(C_RESZMUNKAIDOSZAZALEK AS NVARCHAR(MAX)) + '%'
|
||||
WHEN C_FOGLALKOZTATASTIPUS = 6467 --Óraadó
|
||||
THEN CAST(C_KOTELEZOORASZAM AS NVARCHAR(MAX))
|
||||
ELSE --betöltetlen álláshely
|
||||
'-'
|
||||
END
|
||||
)
|
||||
FROM T_MUNKAUGYIADATOK_OSSZES munk
|
||||
WHERE munk.TOROLT = 'F'
|
||||
AND munk.C_ALKALMAZOTTID = @PedagogusId
|
||||
|
||||
END
|
||||
|
||||
RETURN @value
|
||||
|
||||
END;
|
|
@ -0,0 +1,21 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('fnGetDokumentumRendszerbeallitasLogikaiErtek') IS NOT NULL
|
||||
BEGIN
|
||||
DROP FUNCTION fnGetDokumentumRendszerbeallitasLogikaiErtek
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumRendszerbeallitasLogikaiErtek (
|
||||
@tanevId INT,
|
||||
@beallitasTipusId INT
|
||||
) RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT TOP (1) IIF(C_ERTEK LIKE '%value%:%true%', 1, 0) AS LogikaiErtek
|
||||
FROM T_RENDSZERBEALLITAS_OSSZES
|
||||
WHERE C_BEALLITASTIPUS = @beallitasTipusId AND C_TANEVID = @tanevId AND TOROLT = 'F'
|
||||
)
|
||||
GO
|
|
@ -0,0 +1,26 @@
|
|||
|
||||
IF OBJECT_ID('dbo.fnGetDokumentumTanuloAktualisCsoportvezeto') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetDokumentumTanuloAktualisCsoportvezeto
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetDokumentumTanuloAktualisCsoportvezeto (@tanuloId INT, @osztalyCsoportId INT)
|
||||
RETURNS NVARCHAR(MAX)
|
||||
BEGIN
|
||||
DECLARE @value NVARCHAR(MAX)
|
||||
|
||||
SELECT TOP 1
|
||||
@value = f.C_NYOMTATASINEV
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_CSOPORT_OSSZES cs ON tcs.C_OSZTALYCSOPORTID = cs.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON cs.C_CSOPORTVEZETOID = f.ID
|
||||
WHERE
|
||||
tcs.C_TANULOID = @tanuloId
|
||||
AND tcs.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND tcs.TOROLT = 'F'
|
||||
ORDER BY C_KILEPESDATUM
|
||||
|
||||
RETURN @value
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
DROP FUNCTION IF EXISTS fnGetDokumentumTanuloAktualisOsztaly
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetDokumentumTanuloAktualisOsztaly (@tanuloId INT)
|
||||
RETURNS NVARCHAR(MAX)
|
||||
BEGIN
|
||||
DECLARE @value NVARCHAR(MAX)
|
||||
SELECT TOP 1
|
||||
@value = ocs.C_NEV
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON tcs.C_OSZTALYCSOPORTID = o.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID
|
||||
WHERE C_TANULOID = @tanuloId AND tcs.TOROLT = 'F'
|
||||
ORDER BY C_KILEPESDATUM
|
||||
RETURN @value
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
IF OBJECT_ID('dbo.fnGetDokumentumTanuloAktualisOsztalyId') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetDokumentumTanuloAktualisOsztalyId
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetDokumentumTanuloAktualisOsztalyId (@tanuloId INT)
|
||||
RETURNS INT
|
||||
BEGIN
|
||||
DECLARE @value INT
|
||||
|
||||
SELECT TOP 1
|
||||
@value = ocs.ID
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON tcs.C_OSZTALYCSOPORTID = o.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID
|
||||
WHERE
|
||||
C_TANULOID = @tanuloId
|
||||
AND tcs.TOROLT = 'F'
|
||||
ORDER BY C_KILEPESDATUM
|
||||
|
||||
RETURN @value
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
IF OBJECT_ID('dbo.fnGetDokumentumTanuloAktualisOsztalyfonok') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetDokumentumTanuloAktualisOsztalyfonok
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetDokumentumTanuloAktualisOsztalyfonok (@tanuloId INT)
|
||||
RETURNS NVARCHAR(MAX)
|
||||
BEGIN
|
||||
DECLARE @value NVARCHAR(MAX)
|
||||
|
||||
SELECT TOP 1
|
||||
@value = f.C_NYOMTATASINEV
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON tcs.C_OSZTALYCSOPORTID = o.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON o.C_OSZTALYFONOKID = f.ID
|
||||
WHERE
|
||||
C_TANULOID = @tanuloId
|
||||
AND tcs.TOROLT = 'F'
|
||||
ORDER BY C_KILEPESDATUM
|
||||
|
||||
RETURN @value
|
||||
END;
|
||||
GO
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
IF OBJECT_ID('fnGetDokumentumTanuloMentessegei') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetDokumentumTanuloMentessegei
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumTanuloMentessegei (@tanevId INT, @osztalyId INT, @nyomtatvanyNyelvEnum INT = 0)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
|
||||
SELECT
|
||||
OsztalyTanuloi.TanuloId TanuloId
|
||||
,OsztalyTanuloi.TanuloCsoportId TanuloCsoportId
|
||||
,mentesseg.mentessegOka MentessegOka
|
||||
,mentesseg.tantargyNev + ' ' + ISNULL(IIF(mentesseg = '', '', '(' + LEFT(mentesseg, LEN(mentesseg)- 1) + ')'),' ') TantargyNev
|
||||
,mentesseg.tantargyNev TantargyNevMentessegNelkul
|
||||
,C_KEZDETE Kezdete
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') OsztalyTanuloi
|
||||
INNER JOIN (SELECT DISTINCT
|
||||
mentesseg.C_TANULOID tanuloId
|
||||
,s.TanuloCsoportId
|
||||
,CASE
|
||||
WHEN @nyomtatvanyNyelvEnum = 0 THEN
|
||||
IIF(t.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + t.C_NEV + ')', t.C_NEV)
|
||||
WHEN @nyomtatvanyNyelvEnum = 1 THEN
|
||||
ISNULL(C_NEMETNEV, IIF(t.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + t.C_NEV + ')', t.C_NEV) )
|
||||
WHEN @nyomtatvanyNyelvEnum = 2 THEN
|
||||
ISNULL(C_ANGOLNEV, IIF(t.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN + ' (' + t.C_NEV + ')', t.C_NEV) )
|
||||
END tantargyNev
|
||||
,CASE
|
||||
WHEN C_KEZDETE IS NULL AND C_VEGE IS NULL THEN mentesseg.C_MENTESSEGOKA
|
||||
WHEN C_KEZDETE IS NOT NULL AND C_VEGE IS NOT NULL THEN mentesseg.C_MENTESSEGOKA + ' ' + '(a felmentés érvényessége: ' + FORMAT(C_KEZDETE, 'yyyy.MM.dd.') + ' - ' + FORMAT(C_VEGE, 'yyyy.MM.dd.') + ')'
|
||||
WHEN C_KEZDETE IS NULL AND C_VEGE IS NOT NULL THEN mentesseg.C_MENTESSEGOKA + ' ' + '(a felmentés érvényessége: ' + ' - ' + FORMAT(C_VEGE, 'yyyy.MM.dd.') + ')'
|
||||
WHEN C_KEZDETE IS NOT NULL AND C_VEGE IS NULL THEN mentesseg.C_MENTESSEGOKA + ' ' + '(a felmentés érvényessége: ' + FORMAT(C_KEZDETE, 'yyyy.MM.dd.') + ' - ' + ')'
|
||||
END AS mentessegOka
|
||||
,IIF(mentesseg.C_ERTEKELESMENTESITES = 'T', 'Értékelésmentesség, ', '') + IIF(mentesseg.C_ORAMENTESITES = 'T', 'Óramentesség, ', '') as mentesseg
|
||||
,mentesseg.C_KEZDETE
|
||||
FROM T_TANULOMENTESSEG_OSSZES mentesseg
|
||||
INNER JOIN T_TANTARGY_OSSZES t on t.ID = mentesseg.C_TANTARGYID
|
||||
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T') s ON s.TanuloId = mentesseg.C_TANULOID
|
||||
WHERE
|
||||
mentesseg.TOROLT='F'
|
||||
) mentesseg ON OsztalyTanuloi.TanuloId = mentesseg.TANULOID AND OsztalyTanuloi.TanuloCsoportId = mentesseg.TanuloCsoportId
|
||||
)
|
|
@ -0,0 +1,72 @@
|
|||
DROP FUNCTION IF EXISTS fnGetDokumentumTanuloOrGondviseloCim
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumTanuloOrGondviseloCim (@TanuloOrGondviselo BIT, @pTanevId INT, @pOsztalyId INT, @isAlapertelmezettTanuloCim BIT = NULL, @isAlapertelmezettGondviseloCim BIT = NULL)
|
||||
|
||||
RETURNS @result TABLE
|
||||
(
|
||||
TanuloId INT,
|
||||
Cim NVARCHAR(MAX),
|
||||
CimTipusa INT,
|
||||
GondviseloId INT,
|
||||
IsAlapertelmezett CHAR
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @Magyarorszagmegnevezes NVARCHAR(20) = (SELECT dib_MO.C_NAME FROM T_DICTIONARYITEMBASE_OSSZES dib_MO WHERE dib_MO.ID = 765 AND dib_MO.C_TANEVID = @pTanevId AND dib_MO.TOROLT = 'F')
|
||||
|
||||
IF @TanuloOrGondviselo = 0
|
||||
BEGIN
|
||||
|
||||
INSERT INTO @result(TanuloId, Cim, CimTipusa, GondviseloId, IsAlapertelmezett)
|
||||
SELECT
|
||||
Tanulo.C_TANULOID AS TanuloId
|
||||
,ISNULL(dib_orszag.C_NAME,@Magyarorszagmegnevezes) + ', '
|
||||
+ cim.C_IRANYITOSZAM + ' ' + cim.C_VAROS + ', ' + cim.C_KOZTERULET + ' ' + cim.C_KOZTERULETJELLEGENEV + ' ' + cim.C_HAZSZAM + IIF(RIGHT(C_HAZSZAM, 1) = '.', '', '.') + ' ' + ISNULL(cim.C_EMELET + '/', '') + ISNULL(cim.C_AJTO, '') AS Cim
|
||||
,cim.C_CIMTIPUSA AS CimTipusa
|
||||
,cim.C_GONDVISELOID AS GondviseloId
|
||||
,cim.C_ALAPERTELMEZETT
|
||||
FROM T_TANULOCSOPORT_OSSZES Tanulo
|
||||
INNER JOIN T_CIM_OSSZES cim on cim.C_FELHASZNALOID = Tanulo.C_TANULOID AND cim.C_GONDVISELOID IS NULL AND cim.TOROLT = 'F'
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa on cimTipusa.ID = cim.C_CIMTIPUSA AND cimTipusa.C_TANEVID = @pTanevId
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dib_orszag on dib_orszag.ID = cim.C_ORSZAG AND dib_orszag.C_TANEVID = @pTanevId AND dib_orszag.TOROLT = 'F'
|
||||
WHERE Tanulo.C_TANEVID = @pTanevId
|
||||
AND Tanulo.C_OSZTALYCSOPORTID = @pOsztalyId
|
||||
AND Tanulo.TOROLT = 'F'
|
||||
AND (@isAlapertelmezettTanuloCim IS NULL OR (@isAlapertelmezettTanuloCim = 0 AND cim.C_ALAPERTELMEZETT = 'F') OR (@isAlapertelmezettTanuloCim = 1 AND cim.C_ALAPERTELMEZETT = 'T'))
|
||||
ORDER BY cimTipusa.C_NAME ASC, cim.C_ALAPERTELMEZETT DESC
|
||||
|
||||
END
|
||||
ELSE IF @TanuloOrGondviselo = 1
|
||||
BEGIN
|
||||
|
||||
INSERT INTO @result(TanuloId, Cim, CimTipusa, GondviseloId, IsAlapertelmezett)
|
||||
SELECT
|
||||
Tanulo.C_TANULOID AS TanuloId
|
||||
,ISNULL(dib_orszag.C_NAME,@Magyarorszagmegnevezes) + ', '
|
||||
+ cim.C_IRANYITOSZAM + ' ' + cim.C_VAROS + ', ' + cim.C_KOZTERULET + ' ' + cim.C_KOZTERULETJELLEGENEV + ' ' + cim.C_HAZSZAM + IIF(RIGHT(C_HAZSZAM, 1) = '.', '', '.') + ' ' + ISNULL(cim.C_EMELET + '/', '') + ISNULL(cim.C_AJTO, '') AS Cim
|
||||
,cim.C_CIMTIPUSA AS CimTipusa
|
||||
,cim.C_GONDVISELOID AS GondviseloId
|
||||
,cim.C_ALAPERTELMEZETT
|
||||
FROM T_TANULOCSOPORT_OSSZES Tanulo
|
||||
INNER JOIN T_GONDVISELO_OSSZES Gondviselo ON Gondviselo.C_TANULOID = Tanulo.C_TANULOID
|
||||
INNER JOIN T_CIM_OSSZES cim ON cim.C_GONDVISELOID = Gondviselo.ID AND cim.TOROLT = 'F'
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa on cimTipusa.ID = cim.C_CIMTIPUSA AND cimTipusa.C_TANEVID = @pTanevId
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dib_orszag on dib_orszag.ID = cim.C_ORSZAG AND dib_orszag.C_TANEVID = @pTanevId AND dib_orszag.TOROLT = 'F'
|
||||
WHERE Tanulo.C_TANEVID = @pTanevId
|
||||
AND Tanulo.C_OSZTALYCSOPORTID = @pOsztalyId
|
||||
AND Tanulo.TOROLT = 'F'
|
||||
AND (@isAlapertelmezettGondviseloCim IS NULL OR (@isAlapertelmezettGondviseloCim = 0 AND cim.C_ALAPERTELMEZETT = 'F') OR (@isAlapertelmezettGondviseloCim = 1 AND cim.C_ALAPERTELMEZETT = 'T'))
|
||||
ORDER BY cimTipusa.C_NAME ASC, cim.C_ALAPERTELMEZETT DESC
|
||||
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
END
|
|
@ -0,0 +1,79 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('fnGetDokumentumTanuloiAlapadatok') IS NOT NULL
|
||||
BEGIN
|
||||
DROP FUNCTION fnGetDokumentumTanuloiAlapadatok
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumTanuloiAlapadatok (@pOsztalyCsoportId INT, @pTanevId INT, @isKilepettTanulokMegjelenjenek NVARCHAR(1))
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT DISTINCT
|
||||
tanuloID
|
||||
,torzslapSzam
|
||||
,oktAzon
|
||||
,tajSzam
|
||||
,anyjaNeve
|
||||
,szulHely
|
||||
,dbo.fnGetDokumentumDatumFormatum(szulIdo) AS szulIdo
|
||||
,IIF(socAdat = '', '', LEFT(socAdat, len(socAdat)- 1)) AS socAdat
|
||||
,kepzes
|
||||
,tanuloNeve
|
||||
,allampolgarsaga
|
||||
,diakIgazolvanySzam
|
||||
,dbo.fnGetDokumentumDatumFormatum(kilepesDatum) AS kilepesDatum
|
||||
,beirasiNaploSorszam
|
||||
FROM (
|
||||
SELECT
|
||||
t.ID AS tanuloID
|
||||
,f.C_NYILVANTARTASISZAM AS torzslapSzam
|
||||
,f.C_OKTATASIAZONOSITO AS oktAzon
|
||||
,f.C_TAJSZAM AS tajSzam
|
||||
,f.C_ANYJANEVE AS anyjaNeve
|
||||
,f.C_SZULETESIHELY AS szulHely
|
||||
,f.C_SZULETESIDATUM AS szulIdo
|
||||
,IIF(t.C_MAGANTANULO = 'T', 'Magántanuló (eü. ok), ', '') +
|
||||
IIF(t.C_JOGVISZONYATSZUNETELTETO = 'T', 'Jogviszony szüneteltetve, ', '') +
|
||||
IIF(t.C_SZAKMAIGYAKORLATON = 'T', 'Szakmai gyakorlat, ', '') +
|
||||
IIF(t.C_SZOCIALISTAMOGATAS = 'T', 'Szociális támogatás, ', '') +
|
||||
IIF(t.C_SAJATOSNEVELESU = 'T', 'Sajátos nevelési igényű, ', '') +
|
||||
IIF(t.C_BEJARO = 'T', 'Bejáró, ', '') AS socAdat
|
||||
,tt.C_NEV AS kepzes
|
||||
,f.C_NYOMTATASINEV AS tanuloNeve
|
||||
,d.C_NAME AS allampolgarsaga
|
||||
,t.C_DIAKIGAZOLVANYSZAM AS diakIgazolvanySzam
|
||||
,MAX(cs.C_KILEPESDATUM) AS kilepesDatum
|
||||
,t.C_BEIRASINAPLOSORSZAM AS beirasiNaploSorszam
|
||||
FROM T_TANULO_OSSZES t
|
||||
INNER JOIN dbo.fnGetDokumentumOsztalyokCsoportokTanuloi(@pTanevId, @pOsztalyCsoportId, @isKilepettTanulokMegjelenjenek) osztalyokCsoportok ON osztalyokCsoportok.TanuloId = t.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = t.ID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES cs ON osztalyokCsoportok.TanuloId = cs.C_TANULOID AND cs.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND cs.TOROLT = 'F'
|
||||
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = cs.ID AND tta.TOROLT = 'F'
|
||||
LEFT JOIN T_TANTERV_OSSZES tt ON tt.ID = tta.C_TANTERVID
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d on d.id=f.C_ALLAMPOLGARSAGA AND d.C_TANEVID = f.C_TANEVID AND d.C_INTEZMENYID = f.C_INTEZMENYID
|
||||
GROUP BY
|
||||
osztalyokCsoportok.TanuloId
|
||||
,t.ID, f.C_NYILVANTARTASISZAM
|
||||
,f.C_OKTATASIAZONOSITO
|
||||
,f.C_TAJSZAM
|
||||
,f.C_ANYJANEVE
|
||||
,f.C_SZULETESIHELY
|
||||
,f.C_SZULETESIDATUM
|
||||
,t.C_MAGANTANULO
|
||||
,t.C_JOGVISZONYATSZUNETELTETO
|
||||
,t.C_SZAKMAIGYAKORLATON
|
||||
,C_SAJATOSNEVELESU
|
||||
,t.C_BEJARO
|
||||
,t.C_SZOCIALISTAMOGATAS
|
||||
,tt.C_NEV
|
||||
,f.C_NYOMTATASINEV
|
||||
,d.C_NAME
|
||||
,t.C_DIAKIGAZOLVANYSZAM
|
||||
,t.C_BEIRASINAPLOSORSZAM
|
||||
) tbl
|
||||
)
|
||||
GO
|
|
@ -0,0 +1,116 @@
|
|||
DROP FUNCTION IF EXISTS fnGetDokumentumTanulokAdatai
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumTanulokAdatai (
|
||||
@tanevId int
|
||||
,@osztalyCsoportId int
|
||||
)
|
||||
RETURNS @tanuloAdatok TABLE (
|
||||
TanuloId int
|
||||
,TanuloCsoportId int
|
||||
,Sorszam int
|
||||
,TorzslapSzam varchar(1000)
|
||||
,OktAzon nvarchar(40)
|
||||
,TajSzam nvarchar(18)
|
||||
,AnyjaNeve nvarchar(128)
|
||||
,SzulHely nvarchar(100)
|
||||
,SzulIdo nvarchar(20)--formázás miatt
|
||||
,SocAdat nvarchar(200)
|
||||
,Kepzes nvarchar(510)
|
||||
,TanuloNeve nvarchar(510)
|
||||
,NevElotagNelkul nvarchar(510)
|
||||
,Allampolgarsaga nvarchar(500)
|
||||
,DiakIgazolvanySzam nvarchar(510)
|
||||
,KilepesDatum nvarchar(20) --formázás miatt
|
||||
,BeirasiNaploSorszam nvarchar(100)
|
||||
,AktualisOsztaly nvarchar(200)
|
||||
,AktualisOsztalyId int
|
||||
,AdottOsztaly nvarchar(200)
|
||||
,AdottOsztalyId int
|
||||
,BelepesDatum nvarchar(20) --formázás miatt
|
||||
)
|
||||
AS BEGIN
|
||||
|
||||
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId)
|
||||
|
||||
INSERT INTO @tanuloAdatok
|
||||
SELECT DISTINCT
|
||||
tmp.TanuloId
|
||||
,tmp.TanuloCsoportId
|
||||
,tmp.Sorszam
|
||||
,tmp.TorzslapSzam
|
||||
,tmp.OktAzon
|
||||
,tmp.TajSzam
|
||||
,tmp.AnyjaNeve
|
||||
,tmp.SzulHely
|
||||
,dbo.fnGetDokumentumDatumFormatum(tmp.szulIdo) AS SzulIdo
|
||||
,tmp.SocAdat
|
||||
,tmp.Kepzes
|
||||
,tmp.TanuloNeve
|
||||
,tmp.NevElotagNelkul
|
||||
,tmp.Allampolgarsaga
|
||||
,tmp.DiakIgazolvanySzam
|
||||
,dbo.fnGetDokumentumDatumFormatum(tmp.KilepesDatum) AS KilepesDatum
|
||||
,tmp.BeirasiNaploSorszam
|
||||
,tmp.AktualisOsztaly
|
||||
,tmp.AktualisOsztalyId
|
||||
,tmp.AdottOsztaly
|
||||
,tmp.AdottOsztalyId
|
||||
,dbo.fnGetDokumentumDatumFormatum(tmp.BelepesDatum) AS BelepesDatum
|
||||
FROM (
|
||||
SELECT
|
||||
OsztalyCsoportTanuloi.TanuloId AS TanuloId
|
||||
,OsztalyCsoportTanuloi.TanuloCsoportId AS TanuloCsoportId
|
||||
,tta.C_NAPLOSORSZAM AS Sorszam
|
||||
,tta.C_TORZSLAPSZAM AS TorzslapSzam
|
||||
,Felhasznalo.C_OKTATASIAZONOSITO AS OktAzon
|
||||
,Felhasznalo.C_TAJSZAM AS TajSzam
|
||||
,Felhasznalo.C_ANYJANEVE AS AnyjaNeve
|
||||
,Felhasznalo.C_SZULETESIHELY AS SzulHely
|
||||
,Felhasznalo.C_SZULETESIDATUM AS SzulIdo
|
||||
,STUFF(IIF(tta.C_MAGANTANULO = 'T', N', Magántanuló / Egyéni munkarend ('
|
||||
+ ISNULL(MagantanulosagOka.C_NAME, N'-') + N')', N'')
|
||||
+ IIF(tta.C_JOGVISZONYATSZUNETELTETO = 'T', N', Jogviszony szüneteltetve', N'')
|
||||
+ IIF(tta.C_SZAKMAIGYAKORLATON = 'T', N', Szakmai gyakorlat', N'')
|
||||
+ IIF(Tanulo.C_SZOCIALISTAMOGATAS = 'T', N', Szociális támogatás', N'')
|
||||
+ IIF(tta.C_BEJARO = 'T', N', Bejáró', N''), 1, 2, '') AS SocAdat
|
||||
,Tanterv.C_NEV AS Kepzes
|
||||
,Felhasznalo.C_NYOMTATASINEV AS TanuloNeve
|
||||
,IIF(C_NEVSORREND = 'T',
|
||||
C_UTONEV + ' ' + C_VEZETEKNEV,
|
||||
C_VEZETEKNEV + ' ' + C_UTONEV) AS NevElotagNelkul
|
||||
,AllampolgarsagDic.C_NAME AS Allampolgarsaga
|
||||
,Tanulo.C_DIAKIGAZOLVANYSZAM AS DiakIgazolvanySzam
|
||||
,OsztalyCsoportTanuloi.KilepesDatum AS KilepesDatum
|
||||
,tta.C_BEIRASINAPLOSORSZAM AS BeirasiNaploSorszam
|
||||
,dbo.fnGetDokumentumTanuloAktualisOsztaly(OsztalyCsoportTanuloi.TanuloId) AS AktualisOsztaly
|
||||
,dbo.fnGetDokumentumTanuloAktualisOsztalyId(OsztalyCsoportTanuloi.TanuloId) AS AktualisOsztalyId
|
||||
,TanuloOsztaly.OsztalyNev AS AdottOsztaly
|
||||
,TanuloOsztaly.ID AS AdottOsztalyId
|
||||
,OsztalyCsoportTanuloi.BelepesDatum AS BelepesDatum
|
||||
FROM T_TANULO_OSSZES Tanulo
|
||||
INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') OsztalyCsoportTanuloi ON OsztalyCsoportTanuloi.TanuloId = Tanulo.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES Felhasznalo ON Felhasznalo.ID = Tanulo.ID
|
||||
AND Felhasznalo.TOROLT = 'F'
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES AllampolgarsagDic ON AllampolgarsagDic.ID = Felhasznalo.C_ALLAMPOLGARSAGA
|
||||
AND AllampolgarsagDic.C_TANEVID = Felhasznalo.C_TANEVID
|
||||
AND AllampolgarsagDic.TOROLT = 'F'
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1
|
||||
ID
|
||||
,OsztalyNev
|
||||
FROM dbo.fnGetTanuloOsztaly(OsztalyCsoportTanuloi.TanuloId, OsztalyCsoportTanuloi.KilepesDatum, @kategoriaId, 1, DEFAULT)
|
||||
) TanuloOsztaly
|
||||
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON OsztalyCsoportTanuloi.TanuloCsoportId = tta.C_TANULOCSOPORTID
|
||||
LEFT JOIN T_TANTERV_OSSZES AS Tanterv ON Tanterv.ID = tta.C_TANTERVID
|
||||
AND Tanterv.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES MagantanulosagOka ON MagantanulosagOka.ID = tta.C_MAGANTANULOSAGANAKOKAID
|
||||
AND MagantanulosagOka.C_TANEVID = Felhasznalo.C_TANEVID
|
||||
AND MagantanulosagOka.TOROLT = 'F'
|
||||
WHERE Tanulo.TOROLT = 'F'
|
||||
) tmp
|
||||
|
||||
RETURN
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,184 @@
|
|||
IF OBJECT_ID('fnGetDokumentumTanulokEvesOraszamaiOsztalyonkent') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetDokumentumTanulokEvesOraszamaiOsztalyonkent
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumTanulokEvesOraszamaiOsztalyonkent (@tanevId INT, @osztalyId INT, @tanitasiHetekSzamaVegzos INT, @tanitasiHetekSzamaNemVegzos INT, @isFotantargyAltantargyEgyben BIT)
|
||||
RETURNS @result TABLE
|
||||
(
|
||||
TanuloId int,
|
||||
TantargyId int,
|
||||
Oraszam float
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @feladatKategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
|
||||
DECLARE @isVegzos NVARCHAR(1) = (SELECT C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
|
||||
DECLARE @isKeresztfeleves NVARCHAR(1) = (SELECT C_KERESZTFELEVES FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
|
||||
|
||||
DECLARE @utolsoNapForMindenVegzos DATE = (SELECT MIN(C_DATUM) FROM T_TANEVRENDJE_OSSZES WHERE C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND C_NAPTIPUSA IN (1402, 7603) AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
DECLARE @utolsoNapForMindenNemVegzos DATE = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
DECLARE @utolsoNapForOsztalyVegzos DATE = (
|
||||
SELECT MIN(C_DATUM) FROM T_TANEVRENDJE_OSSZES tr
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
WHERE C_NAPTIPUSA IN (1402, 7603) AND C_OSZTALYCSOPORTID = @osztalyId AND tr.TOROLT = 'F')
|
||||
DECLARE @utolsoNapForOsztalyNemVegzos DATE = (
|
||||
SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES tr
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
WHERE C_NAPTIPUSA = 1395 AND C_OSZTALYCSOPORTID = @osztalyId AND tr.TOROLT = 'F')
|
||||
|
||||
DECLARE @utolsoNapForMindenKeresztfelevesVegzos DATE = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND C_NAPTIPUSA = 7602 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
DECLARE @utolsoNapForMindenKeresztfelevesNemVegzos DATE = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND C_NAPTIPUSA = 1400 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
DECLARE @utolsoNapForOsztalyKeresztfelevesVegzos DATE = (
|
||||
SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES tr
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
WHERE C_NAPTIPUSA = 7602 AND C_OSZTALYCSOPORTID = @osztalyId AND tr.TOROLT = 'F')
|
||||
DECLARE @utolsoNapForOsztalyKeresztfelevesNemVegzos DATE = (
|
||||
SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES tr
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
WHERE C_NAPTIPUSA = 1400 AND C_OSZTALYCSOPORTID = @osztalyId AND tr.TOROLT = 'F')
|
||||
|
||||
DECLARE @utolsoNap DATE
|
||||
IF (@isKeresztfeleves = 'T')
|
||||
BEGIN
|
||||
IF (@isVegzos = 'T')
|
||||
BEGIN
|
||||
SET @utolsoNap = (SELECT COALESCE(@utolsoNapForOsztalyKeresztfelevesVegzos, @utolsoNapForMindenKeresztfelevesVegzos, @utolsoNapForOsztalyVegzos, @utolsoNapForMindenVegzos))
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @utolsoNap = (SELECT COALESCE(@utolsoNapForOsztalyKeresztfelevesNemVegzos, @utolsoNapForMindenKeresztfelevesNemVegzos, @utolsoNapForOsztalyNemVegzos, @utolsoNapForMindenNemVegzos))
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
IF (@isVegzos = 'T')
|
||||
BEGIN
|
||||
SET @utolsoNap = (SELECT COALESCE(@utolsoNapForOsztalyVegzos, @utolsoNapForMindenVegzos, @utolsoNapForMindenNemVegzos))
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @utolsoNap = (SELECT COALESCE(@utolsoNapForOsztalyNemVegzos, @utolsoNapForMindenNemVegzos))
|
||||
END
|
||||
END
|
||||
|
||||
DECLARE @temp table (
|
||||
TanuloId int
|
||||
,FotargyId int
|
||||
,TantargyId int
|
||||
,Oraszam float
|
||||
,isFotargy nvarchar(1)
|
||||
,isAltantargykentNyomtatvanyban nvarchar(1)
|
||||
)
|
||||
|
||||
INSERT INTO @temp
|
||||
SELECT
|
||||
C_TANULOID
|
||||
,t.C_FOTARGYID
|
||||
,t.ID
|
||||
,fog.C_ORASZAM
|
||||
,t.C_FOTARGYE
|
||||
,t.C_ALTANTARGYKENTNYOMTATVANYBAN
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES fog ON fog.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID AND fog.TOROLT = 'F' AND fog.C_TANEVID = @tanevId
|
||||
INNER JOIN T_TANTARGY_OSSZES t on t.ID = fog.C_TANTARGYID AND t.C_TANEVID = @tanevId
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES AS ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @feladatKategoriaId AND ocs.C_TANEVID = @tanevID AND ocs.TOROLT = 'F'
|
||||
WHERE
|
||||
tcs.C_TANULOID IN (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T'))
|
||||
AND tcs.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyId, @tanevId, DEFAULT, DEFAULT))
|
||||
AND tcs.TOROLT = 'F'
|
||||
AND tcs.C_TANEVID = @tanevId
|
||||
AND ISNULL(tcs.C_KILEPESDATUM, @utolsoNap) >= @utolsoNap
|
||||
|
||||
DECLARE @default table (
|
||||
TanuloId int
|
||||
,TantargyId int
|
||||
,Orasszam float
|
||||
)
|
||||
|
||||
INSERT INTO @default
|
||||
SELECT
|
||||
TanuloId
|
||||
,TantargyId
|
||||
,Oraszam * IIF(@isVegzos = 'T', @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos)
|
||||
FROM @temp
|
||||
WHERE
|
||||
isFotargy = 'T'
|
||||
UNION ALL
|
||||
SELECT
|
||||
TanuloId
|
||||
,TantargyId
|
||||
,Oraszam * IIF(@isVegzos = 'T', @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos)
|
||||
FROM @temp
|
||||
WHERE
|
||||
isAltantargykentNyomtatvanyban = 'T'
|
||||
UNION ALL
|
||||
SELECT
|
||||
TanuloId
|
||||
,TantargyId
|
||||
,Oraszam * IIF(@isVegzos = 'T', @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos)
|
||||
FROM @temp
|
||||
WHERE
|
||||
isFotargy = 'F' AND isAltantargykentNyomtatvanyban = 'F'
|
||||
UNION ALL
|
||||
SELECT
|
||||
TanuloId
|
||||
,FotargyId
|
||||
,0
|
||||
FROM @temp t1
|
||||
WHERE
|
||||
(isFotargy = 'F' OR isFotargy IS NULL) AND (isAltantargykentNyomtatvanyban = 'F' OR isAltantargykentNyomtatvanyban IS NULL)
|
||||
AND NOT EXISTS (SELECT TOP 1 t2.FotargyId FROM @temp t2 WHERE t2.FotargyId = t1. TantargyId)
|
||||
|
||||
DECLARE @altargy table (
|
||||
TanuloId int
|
||||
,FotargyId int
|
||||
,Oraszam float
|
||||
)
|
||||
|
||||
IF @isFotantargyAltantargyEgyben = 1
|
||||
BEGIN
|
||||
INSERT INTO @altargy
|
||||
SELECT
|
||||
TanuloId
|
||||
,FotargyId
|
||||
,SUM(Oraszam) * IIF(@isVegzos = 'T', @tanitasiHetekSzamaVegzos, @tanitasiHetekSzamaNemVegzos)
|
||||
FROM @temp t
|
||||
WHERE
|
||||
(isFotargy = 'F' OR isFotargy IS NULL) AND (isAltantargykentNyomtatvanyban = 'F' OR isAltantargykentNyomtatvanyban IS NULL)
|
||||
GROUP BY TanuloId, FotargyId
|
||||
END
|
||||
|
||||
IF @isFotantargyAltantargyEgyben = 0
|
||||
BEGIN
|
||||
INSERT INTO @result
|
||||
SELECT
|
||||
defaultTable.TanuloId
|
||||
,defaultTable.TantargyId
|
||||
,SUM(defaultTable.Orasszam)
|
||||
FROM @default defaultTable
|
||||
GROUP BY defaultTable.TanuloId, defaultTable.TantargyId
|
||||
END
|
||||
|
||||
ELSE
|
||||
|
||||
BEGIN
|
||||
INSERT INTO @result
|
||||
SELECT
|
||||
defaultTable.TanuloId
|
||||
,defaultTable.TantargyId
|
||||
,SUM(defaultTable.Orasszam) + ISNULL(altargy.Oraszam, 0)
|
||||
FROM @default defaultTable
|
||||
LEFT JOIN @altargy altargy ON altargy.TanuloId = defaultTable.TanuloId AND altargy.FotargyId = defaultTable.TantargyId
|
||||
GROUP BY defaultTable.TanuloId ,defaultTable.TantargyId, altargy.Oraszam
|
||||
END
|
||||
RETURN
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
DROP FUNCTION IF EXISTS fnGetDokumentumTanulokFeljegyzesei
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE FUNCTION fnGetDokumentumTanulokFeljegyzesei (@tanevId int, @osztalyId int, @idegenNyelvId int)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT
|
||||
tte.C_TANULOID AS TanuloId
|
||||
,te.ID AS EsemenyId
|
||||
,te.C_TARTALOM AS Tartalom
|
||||
,te.C_TIPUS AS Tipusa
|
||||
,feljegyezo.C_NYOMTATASINEV AS FeljegyzoNeve
|
||||
,feljegyezo.ID AS FeljegyzoId
|
||||
,te.C_ESEMENYDATUMA AS Datum
|
||||
,te.C_MEGJEGYZES AS Megjegyzes
|
||||
,teny.C_TARTALOM AS BejegyzesIdegenNyelven
|
||||
,te.C_ROGZITESKORIOSZTALYID AS RogziteskoriOsztalyId
|
||||
FROM T_TANULO_TANULOESEMENY tte
|
||||
INNER JOIN T_TANULOESEMENY_OSSZES te ON te.ID = tte.C_TANULOESEMENYID
|
||||
LEFT JOIN T_TANULOESEMENYNYELV_OSSZES teny ON teny.C_TANULOESEMENYID = te.ID AND teny.C_NYELVID = @idegenNyelvId AND teny.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES feljegyezo ON feljegyezo.ID = te.C_FELJEGYZOID
|
||||
WHERE
|
||||
C_TANULOID IN (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T'))
|
||||
AND te.TOROLT = 'F'
|
||||
AND ((te.C_TIPUS NOT IN (1542, 6324, 6325)) AND (te.C_TIPUS <> 1536 OR te.C_TANITASIORAID IS NULL))
|
||||
)
|
|
@ -0,0 +1,63 @@
|
|||
DROP FUNCTION IF EXISTS fnGetDokumentumTanulokFeljegyzeseiHavibontasban
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumTanulokFeljegyzeseiHavibontasban (
|
||||
@tanevId int
|
||||
,@osztalyId int
|
||||
,@FelevVege date
|
||||
,@BelepesDatum datetime
|
||||
,@KilepesDatum datetime)
|
||||
RETURNS @result TABLE (
|
||||
TanuloId int
|
||||
,Tipus nvarchar (250)
|
||||
,Szeptember int
|
||||
,Oktober int
|
||||
,November int
|
||||
,December int
|
||||
,Januar int
|
||||
,Februar int
|
||||
,Marcius int
|
||||
,Aprilis int
|
||||
,Majus int
|
||||
,Junius int
|
||||
,Felev int
|
||||
,Ossz int
|
||||
)
|
||||
AS BEGIN
|
||||
|
||||
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
|
||||
|
||||
INSERT INTO @result
|
||||
|
||||
SELECT
|
||||
tte.C_TANULOID AS TanuloId
|
||||
,d.C_NAME AS Tipus
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 9 THEN 1 ELSE 0 END) AS Szeptember
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 10 THEN 1 ELSE 0 END) AS Oktober
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 11 THEN 1 ELSE 0 END) AS November
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 12 THEN 1 ELSE 0 END) AS December
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 1 THEN 1 ELSE 0 END) AS Januar
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 2 THEN 1 ELSE 0 END) AS Februar
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 3 THEN 1 ELSE 0 END) AS Marcius
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 4 THEN 1 ELSE 0 END) AS Aprilis
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 5 THEN 1 ELSE 0 END) AS Majus
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 6 THEN 1 ELSE 0 END) AS Junius
|
||||
,SUM(CASE WHEN te.C_ESEMENYDATUMA <= @FelevVege THEN 1 ELSE 0 END) AS Felev
|
||||
,SUM(1) AS Ossz
|
||||
FROM T_TANULO_TANULOESEMENY tte
|
||||
INNER JOIN T_TANULOESEMENY_OSSZES te ON te.ID = tte.C_TANULOESEMENYID AND te.TOROLT = 'F'
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = te.C_TIPUS AND d.TOROLT = 'F' AND d.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tOra ON tOra.ID = te.C_TANITASIORAID AND tOra.Torolt = 'F'
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tOra.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @kategoriaId AND ocs.Torolt = 'F'
|
||||
WHERE
|
||||
tte.C_TANULOID IN (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T'))
|
||||
AND te.TOROLT = 'F'
|
||||
AND ((te.C_TANITASIORAID IS NOT NULL AND tOra.ID IS NOT NULL AND ocs.ID IS NOT NULL) OR te.C_TANITASIORAID IS NULL)
|
||||
AND @BelepesDatum <= te.C_ESEMENYDATUMA
|
||||
AND (@KilepesDatum IS NULL OR @KilepesDatum >= te.C_ESEMENYDATUMA)
|
||||
AND te.C_TIPUS != 5482
|
||||
GROUP BY tte.C_TANULOID, d.C_NAME
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,99 @@
|
|||
DROP FUNCTION IF EXISTS fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumTanulokGyorsFeljegyzeseiHavibontasban (
|
||||
@tanevId int
|
||||
,@osztalyId int
|
||||
,@tipusID int
|
||||
,@CsakOravalRendelkezo bit
|
||||
,@FelevVege date
|
||||
,@BelepesDatum datetime
|
||||
,@KilepesDatum datetime)
|
||||
RETURNS @result TABLE (
|
||||
TanuloId int
|
||||
,Tantargy nvarchar (255)
|
||||
,Szeptember int
|
||||
,Oktober int
|
||||
,November int
|
||||
,December int
|
||||
,Januar int
|
||||
,Februar int
|
||||
,Marcius int
|
||||
,Aprilis int
|
||||
,Majus int
|
||||
,Junius int
|
||||
,Felev int
|
||||
,Ossz int
|
||||
)
|
||||
AS BEGIN
|
||||
|
||||
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId)
|
||||
|
||||
INSERT INTO @result
|
||||
|
||||
SELECT
|
||||
tte.C_TANULOID AS TanuloId
|
||||
,t.C_NEVNYOMTATVANYBAN AS Tantargy
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 9 THEN 1 ELSE 0 END) AS Szeptember
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 10 THEN 1 ELSE 0 END) AS Oktober
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 11 THEN 1 ELSE 0 END) AS November
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 12 THEN 1 ELSE 0 END) AS December
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 1 THEN 1 ELSE 0 END) AS Januar
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 2 THEN 1 ELSE 0 END) AS Februar
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 3 THEN 1 ELSE 0 END) AS Marcius
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 4 THEN 1 ELSE 0 END) AS Aprilis
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 5 THEN 1 ELSE 0 END) AS Majus
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 6 THEN 1 ELSE 0 END) AS Junius
|
||||
,SUM(CASE WHEN te.C_ESEMENYDATUMA <= @FelevVege THEN 1 ELSE 0 END) AS Felev
|
||||
,SUM(1) AS Ossz
|
||||
FROM T_TANULO_TANULOESEMENY tte
|
||||
INNER JOIN T_TANULOESEMENY_OSSZES te ON te.ID = tte.C_TANULOESEMENYID AND te.TOROLT = 'F'
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = te.C_TANTARGYID AND t.TOROLT = 'F'
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tOra ON tOra.ID = te.C_TANITASIORAID AND tOra.Torolt = 'F'
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tOra.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @kategoriaId AND ocs.Torolt = 'F'
|
||||
WHERE
|
||||
tte.C_TANULOID IN (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T'))
|
||||
AND te.TOROLT = 'F'
|
||||
AND te.C_TIPUS = @tipusID
|
||||
AND ((@CsakOravalRendelkezo = 1 AND (te.C_TANITASIORAID IS NOT NULL AND tOra.ID IS NOT NULL AND ocs.ID IS NOT NULL))
|
||||
OR (@CsakOravalRendelkezo = 0 AND (te.C_TANITASIORAID IS NOT NULL AND tOra.ID IS NOT NULL AND ocs.ID IS NOT NULL) OR te.C_TANITASIORAID IS NULL)
|
||||
)
|
||||
AND @BelepesDatum <= te.C_ESEMENYDATUMA
|
||||
AND (@KilepesDatum IS NULL OR @KilepesDatum >= te.C_ESEMENYDATUMA)
|
||||
GROUP BY tte.C_TANULOID, t.C_NEVNYOMTATVANYBAN
|
||||
|
||||
UNION ALL
|
||||
SELECT
|
||||
tte.C_TANULOID AS TanuloId
|
||||
,N'Összesen' AS Tantargy
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 9 THEN 1 ELSE 0 END) AS Szeptember
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 10 THEN 1 ELSE 0 END) AS Oktober
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 11 THEN 1 ELSE 0 END) AS November
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 12 THEN 1 ELSE 0 END) AS December
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 1 THEN 1 ELSE 0 END) AS Januar
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 2 THEN 1 ELSE 0 END) AS Februar
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 3 THEN 1 ELSE 0 END) AS Marcius
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 4 THEN 1 ELSE 0 END) AS Aprilis
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 5 THEN 1 ELSE 0 END) AS Majus
|
||||
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 6 THEN 1 ELSE 0 END) AS Junius
|
||||
,SUM(CASE WHEN te.C_ESEMENYDATUMA <= @FelevVege THEN 1 ELSE 0 END) AS Felev
|
||||
,SUM(1) AS Ossz
|
||||
FROM T_TANULO_TANULOESEMENY tte
|
||||
INNER JOIN T_TANULOESEMENY_OSSZES te ON te.ID = tte.C_TANULOESEMENYID AND te.TOROLT = 'F'
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = te.C_TANTARGYID AND t.TOROLT = 'F'
|
||||
LEFT JOIN T_TANITASIORA_OSSZES tOra ON tOra.ID = te.C_TANITASIORAID AND tOra.Torolt = 'F'
|
||||
LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tOra.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @kategoriaId AND ocs.Torolt = 'F'
|
||||
WHERE
|
||||
tte.C_TANULOID IN (SELECT TanuloId FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T'))
|
||||
AND te.TOROLT = 'F'
|
||||
AND te.C_TIPUS = @tipusID
|
||||
AND ((@CsakOravalRendelkezo = 1 AND (te.C_TANITASIORAID IS NOT NULL AND tOra.ID IS NOT NULL AND ocs.ID IS NOT NULL))
|
||||
OR (@CsakOravalRendelkezo = 0 AND (te.C_TANITASIORAID IS NOT NULL AND tOra.ID IS NOT NULL AND ocs.ID IS NOT NULL) OR te.C_TANITASIORAID IS NULL)
|
||||
)
|
||||
AND @BelepesDatum <= te.C_ESEMENYDATUMA
|
||||
AND (@KilepesDatum IS NULL OR @KilepesDatum >= te.C_ESEMENYDATUMA)
|
||||
GROUP BY tte.C_TANULOID
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,27 @@
|
|||
IF OBJECT_ID('fnGetDokumentumTanulokOsztalybanToltottNapjai') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetDokumentumTanulokOsztalybanToltottNapjai
|
||||
END
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumTanulokOsztalybanToltottNapjai (@tanevId INT, @osztalyId INT)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT
|
||||
C_TANULOID TanuloId
|
||||
, naptar.C_NAPDATUMA NapDatuma
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_NAPTARINAP_OSSZES naptar
|
||||
ON
|
||||
tcs.C_BELEPESDATUM <= naptar.C_NAPDATUMA
|
||||
AND ISNULL(tcs.C_KILEPESDATUM, (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F')) >= naptar.C_NAPDATUMA
|
||||
AND naptar.C_TANEVID = @tanevId
|
||||
AND naptar.TOROLT = 'F'
|
||||
WHERE
|
||||
C_OSZTALYCSOPORTID = @osztalyId
|
||||
AND tcs.TOROLT = 'F'
|
||||
)
|
|
@ -0,0 +1,37 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('fnGetDokumentumTanulokTanultTantargyai') IS NOT NULL
|
||||
BEGIN
|
||||
DROP FUNCTION fnGetDokumentumTanulokTanultTantargyai
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetDokumentumTanulokTanultTantargyai (@tanevId INT, @osztalyCsoportId INT)
|
||||
RETURNS @retTanuloTantargyai TABLE
|
||||
(
|
||||
TanuloId INT,
|
||||
TanuloCsoportId INT,
|
||||
TantargyNev NVARCHAR(MAX)
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @UtolsoNapTanevRendje DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
|
||||
INSERT INTO @retTanuloTantargyai
|
||||
SELECT DISTINCT
|
||||
OsztalyTanuloi.TanuloId TanuloId
|
||||
,OsztalyTanuloi.TanuloCsoportId TanuloCsoportId
|
||||
,Tantargy.C_NEV TantargyNev
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') OsztalyTanuloi
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES TanuloCsoport ON OsztalyTanuloi.TanuloId = TanuloCsoport.C_TANULOID AND TanuloCsoport.TOROLT = 'F'
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES Foglalkozas on TanuloCsoport.C_OSZTALYCSOPORTID = Foglalkozas.C_OSZTALYCSOPORTID AND Foglalkozas.TOROLT = 'F'
|
||||
INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.ID = Foglalkozas.C_TANTARGYID AND Tantargy.TOROLT = 'F'
|
||||
WHERE
|
||||
(TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM BETWEEN OsztalyTanuloi.BelepesDatum AND ISNULL(OsztalyTanuloi.KilepesDatum, @UtolsoNapTanevRendje))
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,128 @@
|
|||
DROP FUNCTION IF EXISTS fnGetElsoUtolsoTanitasiNapFelevVege
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetElsoUtolsoTanitasiNapFelevVege(@tanevId INT, @osztalyCsoportId INT)
|
||||
RETURNS @result TABLE
|
||||
(
|
||||
ElsoTanitasiNap datetime
|
||||
,UtolsoTanitasiNap datetime
|
||||
,FelevVege datetime
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @isVegzos char(1) = (SELECT C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId)
|
||||
DECLARE @isKeresztfeleves char(1) = (SELECT C_KERESZTFELEVES FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyCsoportId)
|
||||
|
||||
DECLARE @utolsoNapForMindenVegzos datetime = (
|
||||
SELECT TOP 1 C_DATUM
|
||||
FROM (
|
||||
SELECT C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
WHERE C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
||||
AND C_NAPTIPUSA IN (1402, 7600, 7601, 7603)
|
||||
AND C_TANEVID = @tanevId
|
||||
AND TOROLT = 'F') o ORDER BY C_DATUM)
|
||||
DECLARE @utolsoNapForMindenNemVegzos datetime = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND C_NAPTIPUSA = 1395 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
DECLARE @utolsoNapForOsztalyVegzos datetime = (
|
||||
SELECT TOP 1 C_DATUM
|
||||
FROM (
|
||||
SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES tr
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
WHERE C_NAPTIPUSA IN (1402, 7600, 7601, 7603)
|
||||
AND C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND tr.C_TANEVID = @tanevId
|
||||
AND tr.TOROLT = 'F') o ORDER BY C_DATUM)
|
||||
DECLARE @utolsoNapForOsztalyNemVegzos datetime = (
|
||||
SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES tr
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
WHERE C_NAPTIPUSA = 1395 AND C_OSZTALYCSOPORTID = @osztalyCsoportId AND tr.TOROLT = 'F')
|
||||
|
||||
DECLARE @utolsoNapForMindenKeresztfelevesVegzos datetime = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND C_NAPTIPUSA = 7602 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
DECLARE @utolsoNapForMindenKeresztfelevesNemVegzos datetime = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND C_NAPTIPUSA = 1400 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
DECLARE @utolsoNapForOsztalyKeresztfelevesVegzos datetime = (
|
||||
SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES tr
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
WHERE C_NAPTIPUSA = 7602 AND C_OSZTALYCSOPORTID = @osztalyCsoportId AND tr.TOROLT = 'F')
|
||||
DECLARE @utolsoNapForOsztalyKeresztfelevesNemVegzos datetime = (
|
||||
SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES tr
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
WHERE C_NAPTIPUSA = 1400 AND C_OSZTALYCSOPORTID = @osztalyCsoportId AND tr.TOROLT = 'F')
|
||||
|
||||
DECLARE @utolsoTanitasiNapTanev datetime = (SELECT TOP 1 C_UTOLSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
|
||||
|
||||
DECLARE @utolsoNap datetime
|
||||
IF (@isKeresztfeleves = 'T')
|
||||
BEGIN
|
||||
IF (@isVegzos = 'T')
|
||||
BEGIN
|
||||
SET @utolsoNap = (SELECT COALESCE(@utolsoNapForOsztalyKeresztfelevesVegzos, @utolsoNapForMindenKeresztfelevesVegzos, @utolsoNapForOsztalyVegzos, @utolsoNapForMindenVegzos, @utolsoTanitasiNapTanev))
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @utolsoNap = (SELECT COALESCE(@utolsoNapForOsztalyKeresztfelevesNemVegzos, @utolsoNapForMindenKeresztfelevesNemVegzos, @utolsoNapForOsztalyNemVegzos, @utolsoNapForMindenNemVegzos, @utolsoTanitasiNapTanev))
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
IF (@isVegzos = 'T')
|
||||
BEGIN
|
||||
SET @utolsoNap = (SELECT COALESCE(@utolsoNapForOsztalyVegzos, @utolsoNapForMindenVegzos, @utolsoTanitasiNapTanev))
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @utolsoNap = (SELECT COALESCE(@utolsoNapForOsztalyNemVegzos, @utolsoNapForMindenNemVegzos, @utolsoTanitasiNapTanev))
|
||||
END
|
||||
END
|
||||
|
||||
DECLARE @elsoNapForMinden datetime = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND C_NAPTIPUSA = 1394 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
DECLARE @elsoNapForOsztaly datetime = (
|
||||
SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES tr
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
WHERE C_NAPTIPUSA = 1394 AND C_OSZTALYCSOPORTID = @osztalyCsoportId AND tr.TOROLT = 'F')
|
||||
|
||||
DECLARE @elsoNapForMindenKeresztfeleves datetime = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND C_NAPTIPUSA = 7604 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
DECLARE @elsoNapForOsztalyKeresztfeleves datetime = (
|
||||
SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES tr
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
WHERE C_NAPTIPUSA = 7604 AND C_OSZTALYCSOPORTID = @osztalyCsoportId AND tr.TOROLT = 'F')
|
||||
|
||||
DECLARE @elsoTanitasiNapTanev datetime = (SELECT TOP 1 C_ELSOTANITASINAP FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
|
||||
|
||||
DECLARE @elsoNap datetime
|
||||
IF (@isKeresztfeleves = 'T')
|
||||
BEGIN
|
||||
SET @elsoNap = (SELECT COALESCE(@elsoNapForOsztalyKeresztfeleves, @elsoNapForMindenKeresztfeleves, @elsoNapForOsztaly, @elsoNapForMinden, @elsoTanitasiNapTanev))
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @elsoNap = (SELECT COALESCE(@elsoNapForOsztaly, @elsoNapForMinden, @elsoTanitasiNapTanev))
|
||||
END
|
||||
|
||||
DECLARE @felevVegeForMinden datetime = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND C_NAPTIPUSA = 1400 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
DECLARE @felevVegeForOsztaly datetime = (
|
||||
SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES tr
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
WHERE C_NAPTIPUSA = 1400 AND C_OSZTALYCSOPORTID = @osztalyCsoportId AND tr.TOROLT = 'F')
|
||||
|
||||
DECLARE @felevVegeForMindenKeresztfeleves datetime = (SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND C_NAPTIPUSA = 7605 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
DECLARE @felevVegeForOsztalyKeresztfeleves datetime = (
|
||||
SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES tr
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON tr.ID = ocstr.C_TANEVRENDJEID
|
||||
WHERE C_NAPTIPUSA = 7605 AND C_OSZTALYCSOPORTID = @osztalyCsoportId AND tr.TOROLT = 'F')
|
||||
|
||||
DECLARE @felevVege datetime
|
||||
IF (@isKeresztfeleves = 'T')
|
||||
BEGIN
|
||||
SET @felevVege = (SELECT COALESCE(@felevVegeForOsztalyKeresztfeleves, @felevVegeForMindenKeresztfeleves, @felevVegeForOsztaly, @felevVegeForMinden))
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @felevVege = (SELECT COALESCE(@felevVegeForOsztaly, @felevVegeForMinden))
|
||||
END
|
||||
|
||||
INSERT INTO @result
|
||||
SELECT @elsoNap, @utolsoNap, @felevVege
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,16 @@
|
|||
DROP FUNCTION IF EXISTS dbo.fnGetEnvironmentName
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetEnvironmentName(
|
||||
@key nvarchar(200) = NULL)
|
||||
RETURNS nvarchar(50)
|
||||
BEGIN
|
||||
DECLARE @value nvarchar(50)
|
||||
|
||||
SELECT @value = [Value]
|
||||
FROM dev.EnvironmentInfo e
|
||||
WHERE [Key] = ISNULL(@key,'Kornyezet')
|
||||
|
||||
RETURN @value
|
||||
END;
|
||||
GO
|
|
@ -0,0 +1,118 @@
|
|||
-- Az óra éves sorszáma tantárgy, osztálycsoport és tanár alapján
|
||||
-- TELEK ÁKOS
|
||||
-- 2017.03.03.
|
||||
|
||||
IF OBJECT_ID('dbo.fnGetEvesOraszam') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetEvesOraszam
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetEvesOraszam (
|
||||
@tantargyId int
|
||||
,@osztalycsoportId int
|
||||
,@tanarId int
|
||||
,@datum datetime
|
||||
,@intezmenyId int
|
||||
,@tanevId int
|
||||
)
|
||||
RETURNS int
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
@tanarSzamit bit
|
||||
,@osztalybontasEgybe bit
|
||||
,@osztalybontasCsoport bit
|
||||
,@cnt int
|
||||
|
||||
SET @tanarSzamit = dbo.fnGetRendszerbeallitasEnumBool(3075, @intezmenyId, @tanevId)
|
||||
SET @osztalybontasEgybe = dbo.fnGetRendszerbeallitasEnumBool(3078, @intezmenyId, @tanevId)
|
||||
SET @osztalybontasCsoport = 0
|
||||
|
||||
IF EXISTS (SELECT 1 FROM T_CSOPORT WHERE (ID = @osztalyCsoportId AND C_OSZTALYBONTASID IS NOT NULL) OR C_OSZTALYBONTASID = @osztalyCsoportId) BEGIN
|
||||
SET @osztalybontasCsoport = 1
|
||||
END
|
||||
|
||||
IF @osztalybontasEgybe = 0 OR @osztalybontasCsoport = 0 BEGIN
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
SELECT @cnt = COUNT(1)
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND t.C_TANARID = @tanarId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.TOROLT ='F'
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT @cnt = COUNT(1)
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.TOROLT ='F'
|
||||
END
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF @tanarSzamit = 1 BEGIN
|
||||
SELECT @cnt = COUNT(1)
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID IN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = (SELECT scs.C_OSZTALYBONTASID FROM T_CSOPORT scs WHERE scs.ID = @osztalyCsoportId)
|
||||
AND cs.TOROLT = 'F'
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
AND cs.TOROLT = 'F'
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
AND cs.TOROLT = 'F'
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND t.C_TANARID = @tanarId
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.TOROLT ='F'
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT @cnt = COUNT(1)
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_OSZTALYCSOPORTID IN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = (SELECT scs.C_OSZTALYBONTASID FROM T_CSOPORT scs WHERE scs.ID = @osztalyCsoportId)
|
||||
AND cs.TOROLT = 'F'
|
||||
UNION
|
||||
SELECT cs.C_OSZTALYBONTASID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.ID = @osztalyCsoportId
|
||||
AND cs.TOROLT = 'F'
|
||||
UNION
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT cs
|
||||
WHERE cs.C_OSZTALYBONTASID = @osztalyCsoportId
|
||||
AND cs.TOROLT = 'F'
|
||||
UNION
|
||||
SELECT @osztalyCsoportId
|
||||
)
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.TOROLT = 'F'
|
||||
END
|
||||
END
|
||||
RETURN @cnt
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
-- Visszaadja a T_TANITASIORA.ID-hoz tartozó éves sorszámot
|
||||
-- TELEK ÁKOS
|
||||
-- 2017.03.03.
|
||||
|
||||
-- Új hívás, összerendelés implementálás
|
||||
-- Zalán Máriusz
|
||||
-- 2020.02.03
|
||||
|
||||
-- A letárolt éves óraszám visszaadása
|
||||
-- Farkas Máté
|
||||
-- 2022.02.01
|
||||
|
||||
DROP FUNCTION IF EXISTS fnGetEvesOraszamByTanitasiOraId
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetEvesOraszamByTanitasiOraId (
|
||||
@tanitasiOraId int
|
||||
)
|
||||
RETURNS int
|
||||
AS
|
||||
BEGIN
|
||||
RETURN (
|
||||
SELECT C_ORAEVESSORSZAMA
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
WHERE ID = @tanitasiOraId
|
||||
AND tn.C_MEGTARTOTT = 'T'
|
||||
AND tn.TOROLT = 'F'
|
||||
)
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,124 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
DROP FUNCTION IF EXISTS [dbo].[fnGetEvesOraszamLista]
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [dbo].[fnGetEvesOraszamLista] (
|
||||
@tantargyId int
|
||||
,@osztalycsoportId int
|
||||
,@tanarId int
|
||||
,@datum datetime
|
||||
,@intezmenyId int
|
||||
,@tanevId int
|
||||
)
|
||||
RETURNS @return TABLE(Id int not null, EvesSorszam int)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @TanarSzamit bit = 0;
|
||||
DECLARE @OsztalybontasEgybe bit = 0;
|
||||
DECLARE @VanOsszerendeles bit = 0;
|
||||
DECLARE @OsztalyTantargy TABLE(OsztalyCsoportId INT NOT NULL, TantargyId INT NOT NULL, TanarSzamit bit, PRIMARY KEY (OsztalyCsoportId, TantargyId));
|
||||
DECLARE @KapcsolodoCsoportok TABLE(OsztalyCsoportId INT NOT NULL PRIMARY KEY);
|
||||
|
||||
-- Ellenőrizzük, hogy az átadott osztalycsoportId + @tantargyId páros előfordul-e sorszámozás összerendelésben
|
||||
-- ha igen, akkor a hozzá tartozó sorszámozás halmaz alatt lévő összes összerendelésből az összes Osztálycsoport + Tantárgy
|
||||
-- kombinációt + a tanári lebontást összegyűjtjük és betöltjük a tábla változóba (legfeljebb 1-3 sor)
|
||||
INSERT INTO @OsztalyTantargy(OsztalyCsoportId, TantargyId, TanarSzamit)
|
||||
SELECT oh.C_OSZTALYCSOPORTID, oh.C_TANTARGYID, IIF(h.C_KOZOSORASORSZAMOZASELTEROTAN = 'T', 1, 0)
|
||||
FROM T_ORASORSZAMOZASHALMAZ_OSSZES h
|
||||
INNER JOIN T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES oh ON h.ID = oh.C_ORASORSZAMOZASHALMAZID AND oh.TOROLT = 'F'
|
||||
WHERE h.C_INTEZMENYID = @IntezmenyId
|
||||
AND h.C_TANEVID = @TanevId
|
||||
AND h.TOROLT = 'F'
|
||||
AND EXISTS(
|
||||
SELECT * FROM T_ORASORSZAMOZASHALMAZOSSZEREN_OSSZES o1
|
||||
WHERE o1.C_INTEZMENYID = @intezmenyId
|
||||
AND o1.C_TANEVID = @tanevId
|
||||
AND o1.TOROLT = 'F'
|
||||
AND o1.C_ORASORSZAMOZASHALMAZID = h.ID
|
||||
AND o1.C_TANTARGYID = @tantargyId
|
||||
AND o1.C_OSZTALYCSOPORTID = @osztalycsoportId
|
||||
);
|
||||
|
||||
-- Elmentjük, hogy találtunk-e bármilyen összerendelést
|
||||
IF @@ROWCOUNT > 0 SET @VanOsszerendeles = 1;
|
||||
|
||||
-- Ha nem találtunk összerendelést, akkor betöltjük az intézmény szintű beállításokat
|
||||
IF @VanOsszerendeles = 0
|
||||
BEGIN
|
||||
|
||||
SET @TanarSzamit = dbo.fnGetRendszerbeallitasEnumBool(3075, @IntezmenyId, @TanevId);
|
||||
SET @OsztalybontasEgybe = dbo.fnGetRendszerbeallitasEnumBool(3078, @IntezmenyId, @TanevId);
|
||||
|
||||
END
|
||||
|
||||
-- Ha találtunk összerendelést, akkor az összes kombinációhoz lekérdezzük a tanóra listát
|
||||
-- a tanári lebontás figyelembe vételével, ez lesz a függvény kimenete
|
||||
IF @VanOsszerendeles = 1
|
||||
INSERT INTO @return(Id, EvesSorszam)
|
||||
SELECT
|
||||
t.ID AS Id
|
||||
,t.C_ORAEVESSORSZAMA AS EvesSorszam
|
||||
FROM @OsztalyTantargy ot
|
||||
INNER JOIN T_TANITASIORA_OSSZES t ON t.C_OSZTALYCSOPORTID = ot.OsztalyCsoportId AND t.C_TANTARGYID = ot.TantargyId
|
||||
WHERE t.C_INTEZMENYID = @intezmenyId
|
||||
AND t.C_TANEVID = @tanevId
|
||||
AND t.C_TANARID = CASE WHEN ot.TanarSzamit = 1 THEN @tanarId ELSE t.C_TANARID END
|
||||
AND t.TOROLT = 'F'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
|
||||
ELSE -- Ha nem találtunk összerendeléseket
|
||||
IF @OsztalybontasEgybe = 1 -- ha az intézményi szintű beállításokban az osztályok bontott csoportjait egybe kell sorszámozni
|
||||
BEGIN
|
||||
-- Megkeressük a megadott @osztalycsoportId-hoz tartozó esetleges bontott csoportokat és egy listába töltjük
|
||||
INSERT INTO @KapcsolodoCsoportok(OsztalyCsoportId)
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
WHERE cs.C_ALINTEZMENYID = @IntezmenyId
|
||||
AND cs.C_ALTANEVID = @TanevId
|
||||
AND cs.TOROLT = 'F'
|
||||
AND (cs.C_OSZTALYBONTASID = @osztalycsoportId OR cs.ID = @osztalycsoportId)
|
||||
UNION -- az @osztalycsoportId-t mindenképp felvesszük a listára
|
||||
SELECT @osztalycsoportId AS ID;
|
||||
-- Lekérdezzük a kimenetre a csoport listához és a tantárgyhoz tartozó tanítási órákat, a tanári lebontás figyelembe vételével
|
||||
INSERT INTO @return(Id, EvesSorszam)
|
||||
SELECT
|
||||
t.ID AS Id
|
||||
,t.C_ORAEVESSORSZAMA AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_INTEZMENYID = @intezmenyId
|
||||
AND t.C_TANEVID = @tanevId
|
||||
AND EXISTS(SELECT * FROM @KapcsolodoCsoportok kcs WHERE kcs.OsztalyCsoportId = t.C_OSZTALYCSOPORTID)
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_TANARID = CASE WHEN @TanarSzamit = 1 THEN @tanarId ELSE t.C_TANARID END
|
||||
AND t.TOROLT = 'F'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
|
||||
END
|
||||
|
||||
ELSE -- Ha a bontott csoportok sorszámozása külön történik, akkor a megadott paraméterek alapján a kiementre küldjük a sorokat
|
||||
INSERT INTO @return(Id, EvesSorszam)
|
||||
SELECT
|
||||
t.ID AS Id
|
||||
,t.C_ORAEVESSORSZAMA AS EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES t
|
||||
WHERE t.C_INTEZMENYID = @intezmenyId
|
||||
AND t.C_TANEVID = @tanevId
|
||||
AND t.C_OSZTALYCSOPORTID = @osztalycsoportId
|
||||
AND t.C_TANTARGYID = @tantargyId
|
||||
AND t.C_TANARID = CASE WHEN @TanarSzamit = 1 THEN @tanarId ELSE t.C_TANARID END
|
||||
AND t.TOROLT = 'F'
|
||||
AND t.C_MEGTARTOTT = 'T'
|
||||
AND t.C_SORSZAMOZANDO = 'T'
|
||||
AND t.C_ORAKEZDETE <= @datum
|
||||
|
||||
RETURN;
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,29 @@
|
|||
-- Visszaadja a T_TANITASIORA.ID-hoz tartozó éves sorszámot
|
||||
-- TELEK ÁKOS
|
||||
-- 2017.03.03.
|
||||
|
||||
-- Új hívás, összerendelés implementálás
|
||||
-- Zalán Máriusz
|
||||
-- 2020.02.03
|
||||
|
||||
-- A letárolt éves óraszám visszaadása
|
||||
-- Farkas Máté
|
||||
-- 2022.02.01
|
||||
|
||||
DROP FUNCTION IF EXISTS fnGetEvesOraszamListaByTanitasiOraId
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetEvesOraszamListaByTanitasiOraId (
|
||||
@tanitasiOraId int
|
||||
)
|
||||
RETURNS TABLE
|
||||
AS
|
||||
RETURN (
|
||||
SELECT ID as Id, C_ORAEVESSORSZAMA as EvesSorszam
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
WHERE ID = @tanitasiOraId
|
||||
AND tn.C_MEGTARTOTT = 'T'
|
||||
AND tn.TOROLT = 'F'
|
||||
)
|
||||
GO
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
DROP FUNCTION IF EXISTS dbo.fnGetFelhaszaloCim;
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [dbo].[fnGetFelhaszaloCim] (@pFelhasznaloId int)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT TOP 1
|
||||
c.ID, C_IRANYITOSZAM, C_VAROS, C_KOZTERULET, C_KOZTERULETJELLEGENEV, C_HAZSZAM, C_EMELET, C_AJTO, c.C_ORSZAG, ot.C_ISOKOD, dic.C_NAME
|
||||
FROM T_CIM_OSSZES c
|
||||
JOIN T_ORSZAGTIPUS_OSSZES ot on ot.ID = c.C_ORSZAG and c.C_TANEVID = ot.C_ALTANEVID
|
||||
JOIN T_DICTIONARYITEMBASE_OSSZES dic on dic.ID = c.C_ORSZAG and dic.C_TANEVID = ot.C_ALTANEVID
|
||||
WHERE
|
||||
c.C_FELHASZNALOID = @pFelhasznaloId AND c.TOROLT = 'F' AND c.C_GONDVISELOID IS NULL
|
||||
ORDER BY
|
||||
CASE C_CIMTIPUSA
|
||||
WHEN 907 THEN 1
|
||||
WHEN 909 THEN 2
|
||||
WHEN 908 THEN 3
|
||||
WHEN 910 THEN 4
|
||||
WHEN 8667 THEN 5
|
||||
END
|
||||
);
|
||||
GO
|
|
@ -0,0 +1,220 @@
|
|||
DROP FUNCTION IF EXISTS fnGetFollowUpColumnMapping
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetFollowUpColumnMapping (@ExludeColumns nvarchar(max) = NULL,@entityName nvarchar(128))
|
||||
RETURNS @ColumnMapping TABLE (
|
||||
insertColName nvarchar(max) COLLATE DATABASE_DEFAULT
|
||||
,selectColName nvarchar(max)
|
||||
,updateColName nvarchar(max)
|
||||
) AS
|
||||
BEGIN
|
||||
SET @ExludeColumns = ISNULL(@ExludeColumns+',','')+'ID,CORE_ID'
|
||||
DECLARE @excludedColumns TABLE(colName nvarchar(128) COLLATE DATABASE_DEFAULT)
|
||||
INSERT INTO @excludedColumns
|
||||
SELECT
|
||||
value
|
||||
FROM string_split(@ExludeColumns,',')
|
||||
|
||||
INSERT INTO @ColumnMapping (insertColName, selectColName) VALUES
|
||||
('TOROLT','''F''')
|
||||
,('SERIAL','0')
|
||||
,('CREATOR','s.MODIFIER')
|
||||
,('CREATED','s.LASTCHANGED')
|
||||
,('ELOZOTANEVIREKORDID','s.ID')
|
||||
|
||||
INSERT INTO @ColumnMapping (insertColName,selectColName)
|
||||
SELECT
|
||||
c.name,'s.'+c.name
|
||||
FROM sys.columns c
|
||||
INNER JOIN sys.tables t ON t.object_id = c.object_id AND t.name = @entityName
|
||||
WHERE c.NAME NOT IN (SELECT colName from @excludedColumns)
|
||||
AND NOT EXISTS (SELECT 1 FROM @ColumnMapping WHERE insertColName = c.name)
|
||||
|
||||
DELETE FROM @ColumnMapping
|
||||
WHERE NOT EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM sys.columns c
|
||||
INNER JOIN sys.tables t ON t.object_id = c.object_id AND t.name = @entityName
|
||||
WHERE c.NAME = insertColName)
|
||||
|
||||
DELETE @ColumnMapping WHERE insertColName IN (select colName FROM @excludedColumns)
|
||||
|
||||
UPDATE @ColumnMapping SET selectColName = '@kovetkezoTanevId' WHERE insertColName IN('C_TANEVID','C_ALTANEVID')
|
||||
UPDATE @ColumnMapping SET selectColName = '@intezmenyId' WHERE insertColName IN('C_INTEZMENYID','C_ALINTEZMENYID')
|
||||
|
||||
IF @entityName = 'T_TANULO' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = '''F''' WHERE insertColName IN ('C_EVISMETLO', 'C_ISBESZAMITASOS', 'C_ISOSZTONDIJBOLKIZARVA', 'C_ISMULASZTASMIATTKIZART')
|
||||
UPDATE @ColumnMapping SET selectColName = '''T''' WHERE insertColName IN ('C_ISATLAGSZAKKEPZESI', 'C_ISBESZAMITASOSFIXSZAZALEK')
|
||||
END
|
||||
ELSE IF @entityName IN('T_CIM','T_EMAIL','T_TELEFON') BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = '@kovFelhasznaloId' WHERE insertColName = 'C_FELHASZNALOID'
|
||||
END
|
||||
ELSE IF @entityName IN('T_MUNKAUGYIADATOK','T_TOVABBIMUNKAUGYIADATOK') BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = '@ujAlkalmazottId' WHERE insertColName = 'C_ALKALMAZOTTID'
|
||||
UPDATE @ColumnMapping SET selectColName = 'f.ID' WHERE insertColName = 'C_FELADATELLATASIHELYID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_ALKALMAZOTT' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 's.ID' WHERE insertColName = 'ELOZOTANEVIREKORDIDA'
|
||||
UPDATE @ColumnMapping SET selectColName = 'IIF((select ic.C_ERTEK from T_INTEZMENYCONFIG ic where ic.C_CONFIGTIPUSID = 23 and ic.TOROLT = ''F'' and ic.C_INTEZMENYID = @intezmenyId) = ''true'',s.C_KKKEPESITESID,NULL)' WHERE insertColName IN('C_KKKEPESITESID')
|
||||
END
|
||||
ELSE IF @entityName IN('T_KKTANITOVEZGETTSEG','T_KKGYOGYPEDVEGZETTSEG','T_KKTANARVEGZETTSEG','T_KKAMIVEGZETTSEG') BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = '@kovAlkalmazottId' WHERE insertColName = 'C_ALKALMAZOTTID'
|
||||
END
|
||||
ELSE IF @entityName IN('T_KKELEKTROAKUZENE','T_KKKLASSZIKUSZENE','T_KKJAZZZENE','T_KKNEPZENE','T_KKTERULET') BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'av.ID' WHERE insertColName = 'C_KKAMIVEGZETTSEGID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_KKTANTARGYKATEGORIA' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'av.ID' WHERE insertColName = 'C_KKTANARVEGZETTSEGID'
|
||||
END
|
||||
ELSE IF @entityName IN ('T_PEDAGOGUSELETPALYAMODELL','T_VEGZETTSEG') BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'fh.ID' WHERE insertColName = 'C_TANARID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_KEPESITES_VEGZETTSEG' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'k.ID' WHERE insertColName = 'C_KEPESITESID'
|
||||
UPDATE @ColumnMapping SET selectColName = 'vKov.ID' WHERE insertColName = 'C_VEGZETTSEGID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_TANULOMENTESSEG' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'tgy.ID' WHERE insertColName = 'C_TANTARGYID'
|
||||
UPDATE @ColumnMapping SET selectColName = 'tKov.ID' WHERE insertColName = 'C_TANULOID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_TANULOSNI' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'tKov.ID' WHERE insertColName = 'C_TANULOID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_GONDVISELO' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'fhNew.ID' WHERE insertColName = 'C_TANULOID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_ORATERVTARGY' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'tgy.ID' WHERE insertColName = 'C_TANTARGYID'
|
||||
UPDATE @ColumnMapping SET selectColName = 'otKov.ID' WHERE insertColName = 'C_ORATERVID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_ORATERV' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'e.ID' WHERE insertColName = 'C_EVFOLYAM'
|
||||
UPDATE @ColumnMapping SET selectColName = 'tr.ID' WHERE insertColName = 'C_TANTERVID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_CSENGETESIREND' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'mh.ID' WHERE insertColName = 'C_MUKODESIHELYID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_CSENGETESIRENDORA' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'csr.ID' WHERE insertColName = 'C_CSENGETESIRENDID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_TEREM' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'mh.ID' WHERE insertColName = 'C_MUKODESIHELYID'
|
||||
UPDATE @ColumnMapping SET selectColName = '@felelosId' WHERE insertColName = 'C_TEREMFELELOSID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_FELADATELLATASIHELY' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'mh.ID' WHERE insertColName = 'C_MUKODESIHELYID'
|
||||
UPDATE @ColumnMapping SET selectColName = 'okt.ID' WHERE insertColName = 'C_OKTATASINEVELESIFELADATTIPUS'
|
||||
END
|
||||
ELSE IF @entityName = 'T_TANTARGY' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'tkt.ID' WHERE insertColName = 'C_TARGYKATEGORIA'
|
||||
UPDATE @ColumnMapping SET selectColName = 'tszt.ID' WHERE insertColName = 'C_TANSZAKTIPUSID'
|
||||
UPDATE @ColumnMapping SET selectColName = 'ftgy.ID' WHERE insertColName = 'C_FOTARGYID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_MUKODESIHELY' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'ia.ID' WHERE insertColName = 'C_INTEZMENYADATOKID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_ESZKOZ' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'te.ID' WHERE insertColName = 'C_TEREMID'
|
||||
UPDATE @ColumnMapping SET selectColName = 'fh.ID' WHERE insertColName = 'C_FELELOSID'
|
||||
UPDATE @ColumnMapping SET selectColName = '@aktTipusId' WHERE insertColName = 'C_TIPUS'
|
||||
END
|
||||
ELSE IF @entityName = 'T_TANTARGYNYELV' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = 'tgy.ID' WHERE insertColName = 'C_TANTARGYID'
|
||||
UPDATE @ColumnMapping SET selectColName = 'dib.ID' WHERE insertColName = 'C_NYELVID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_TBJOGVISZONY' BEGIN
|
||||
UPDATE @ColumnMapping SET selectColName = '@KovFelhasznaloId' WHERE insertColName = 'C_TANULOID'
|
||||
END
|
||||
|
||||
UPDATE @ColumnMapping SET
|
||||
updateColName = 's.'+insertColName
|
||||
WHERE insertColName NOT IN (
|
||||
'CREATED'
|
||||
,'CREATOR'
|
||||
,'ELOZOTANEVIREKORDID'
|
||||
,'ELOZOTANEVIREKORDIDA'
|
||||
,'C_INTEZMENYID'
|
||||
,'C_TANEVID'
|
||||
,'C_ALINTEZMENYID'
|
||||
,'C_ALTANEVID'
|
||||
,'C_ALKALMAZOTTID'
|
||||
,'TOROLT'
|
||||
,'C_KKAMIVEGZETTSEGID'
|
||||
)
|
||||
|
||||
IF @entityName = 'T_TANULO' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = '''F''' WHERE insertColName IN ('C_EVISMETLO', 'C_ISBESZAMITASOS', 'C_ISOSZTONDIJBOLKIZARVA', 'C_ISMULASZTASMIATTKIZART')
|
||||
UPDATE @ColumnMapping SET updateColName = '''T''' WHERE insertColName IN ('C_ISATLAGSZAKKEPZESI', 'C_ISBESZAMITASOSFIXSZAZALEK')
|
||||
END
|
||||
ELSE IF @entityName = 'T_KKTANTARGYKATEGORIA' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_KKTANARVEGZETTSEGID'
|
||||
END
|
||||
ELSE IF @entityName IN('T_MUNKAUGYIADATOK','T_TOVABBIMUNKAUGYIADATOK') BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = 'f.ID' WHERE insertColName = 'C_FELADATELLATASIHELYID'
|
||||
END
|
||||
ELSE IF @entityName IN ('T_VEGZETTSEG','T_PEDAGOGUSELETPALYAMODELL') BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_TANARID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_TANULOMENTESSEG' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = 'tgy.ID' WHERE insertColName = 'C_TANTARGYID'
|
||||
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_TANULOID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_TANULOSNI' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_TANULOID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_GONDVISELO' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName IN ('C_TANULOID','C_EGYEDIAZONOSITO')
|
||||
END
|
||||
ELSE IF @entityName IN('T_CIM','T_TELEFON','T_EMAIL') BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName IN ('C_FELHASZNALOID','C_GONDVISELOID')
|
||||
END
|
||||
ELSE IF @entityName = 'T_ORATERVTARGY' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_ORATERVID'
|
||||
UPDATE @ColumnMapping SET updateColname = 'tgy.ID' WHERE insertColName = 'C_TANTARGYID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_ORATERV' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = 'e.ID' WHERE insertColName = 'C_EVFOLYAM'
|
||||
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_TANTERVID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_CSENGETESIREND' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_MUKODESIHELYID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_CSENGETESIRENDORA' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_CSENGETESIRENDID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_TEREM' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = 'mh.ID' WHERE insertColName = 'C_MUKODESIHELYID'
|
||||
UPDATE @ColumnMapping SET updateColName = '@felelosId' WHERE insertColName = 'C_TEREMFELELOSID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_FELADATELLATASIHELY' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_MUKODESIHELYID'
|
||||
UPDATE @ColumnMapping SET updateColName = 'okt.ID' WHERE insertColName = 'C_OKTATASINEVELESIFELADATTIPUS'
|
||||
END
|
||||
ELSE IF @entityName = 'T_TANTARGY' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = 'tkt.ID' WHERE insertColName = 'C_TARGYKATEGORIA'
|
||||
UPDATE @ColumnMapping SET updateColName = 'tszt.ID' WHERE insertColName = 'C_TANSZAKTIPUSID'
|
||||
UPDATE @ColumnMapping SET updateColName = 'ftgy.ID' WHERE insertColName = 'C_FOTARGYID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_MUKODESIHELY' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName = 'C_INTEZMENYADATOKID'
|
||||
END
|
||||
ELSE IF @entityName = 'T_ESZKOZ' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = 'te.ID' WHERE insertColName = 'C_TEREMID'
|
||||
UPDATE @ColumnMapping SET updateColName = 'fh.ID' WHERE insertColName = 'C_FELELOSID'
|
||||
UPDATE @ColumnMapping SET updateColName = '@aktTipusId' WHERE insertColName = 'C_TIPUS'
|
||||
END
|
||||
ELSE IF @entityName = 'T_TANTARGYNYELV' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName IN ('C_TANTARGYID','C_NYELVID')
|
||||
END
|
||||
ELSE IF @entityName = 'T_RENDSZERBEALLITAS' BEGIN
|
||||
UPDATE @ColumnMapping SET updateColName = NULL WHERE insertColName IN ('C_ALAPERTEK','C_BEALLITASTIPUS','C_ERTEKTIPUS')
|
||||
END
|
||||
|
||||
UPDATE @ColumnMapping SET
|
||||
updateColName = 't.SERIAL + 1'
|
||||
WHERE insertColName = 'SERIAL'
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,20 @@
|
|||
DROP FUNCTION IF EXISTS dbo.fnGetHetNapja
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetHetNapja (
|
||||
@date datetime
|
||||
,@hetNapjaTipusTypeId int = 40
|
||||
)
|
||||
RETURNS int
|
||||
BEGIN
|
||||
DECLARE @value INT
|
||||
|
||||
SELECT @value = MIN(ID)
|
||||
FROM T_DICTIONARYITEMBASE d
|
||||
WHERE d.C_DICTIONARYTYPEID = @hetNapjaTipusTypeId
|
||||
AND d.C_VALUE = DATEPART(dw, @date)
|
||||
|
||||
RETURN @value
|
||||
END
|
||||
|
||||
GO
|
|
@ -0,0 +1,58 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP FUNCTION IF EXISTS fnGetIktatottDokumentumok
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [dbo].[fnGetIktatottDokumentumok](
|
||||
@pTanevId INT
|
||||
)
|
||||
RETURNS TABLE
|
||||
AS
|
||||
RETURN
|
||||
SELECT
|
||||
iktd.ID
|
||||
,iktd.C_DOKUMENTUMKATEGORIA Kategoria
|
||||
,iktd.C_DOKUMENTUMTIPUS DokumentumTipus
|
||||
,iktd.C_DOKUMENTUMNEVE DokumentumNeve
|
||||
,iktd.C_FELADATELLATASIHELYID FeladatellatasihelyId
|
||||
,CASE
|
||||
-- Ahol mûködési hely van megadva feladatellátási helynek
|
||||
WHEN iktd.C_DOKUMENTUMTIPUS IN (7430) THEN
|
||||
IIF (iktd.C_FELADATELLATASIHELYID IS NULL, '', CONCAT(igaziMukodHely.C_NEV, ' - ', DIBM.C_NAME))
|
||||
-- feladatellátási hely van megadva
|
||||
ELSE
|
||||
IIF (iktd.C_FELADATELLATASIHELYID is NULL, '', CONCAT(mukodHely.C_NEV, ' - ', DIB.C_NAME))
|
||||
END AS FeladatellatasihelyNeve
|
||||
,iktd.C_IKTATOSZAM Iktatoszam
|
||||
,CASE iktd.C_DOKUMENTUMSTATUSZ
|
||||
WHEN 7387 THEN iktd.C_GENERALASDATUMA
|
||||
WHEN 7388 THEN iktd.C_IKTATASDATUMA
|
||||
ELSE iktd.C_ELEKTRONIKUSPELDANYFELTOLTES
|
||||
END IktatasDatuma
|
||||
,felhasznalo.C_NYOMTATASINEV IktatoSzemelye
|
||||
,iktd.C_DOKUMENTUMSTATUSZ Statusz
|
||||
,tanev.C_NEV TanevNev
|
||||
,iktd.C_ELEKTRONIKUSPELDANYID ElektronikusPeldanyId
|
||||
,iktd.C_FOSZAMOSIKTATOTTDOKUMENTUMID FoszamosDokumentumId
|
||||
,iktd.C_ISFOSZAMOS IsFoszamos
|
||||
,iktd.TOROLT Torolt
|
||||
FROM T_IKTATOTTDOKUMENTUM_OSSZES iktd
|
||||
LEFT JOIN T_TANEV_OSSZES tanev ON tanev.ID = iktd.C_TANEVID and tanev.TOROLT = 'F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = iktd.C_IKTATOSZEMELYID and felhasznalo.TOROLT = 'F'
|
||||
LEFT JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = iktd.C_FELADATELLATASIHELYID and feh.TOROLT = 'F'
|
||||
LEFT JOIN T_MUKODESIHELY_OSSZES mukodHely ON feh.C_MUKODESIHELYID = mukodHely.ID and mukodHely.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES DIB ON feh.C_OKTATASINEVELESIFELADATTIPUS = DIB.ID
|
||||
AND feh.C_INTEZMENYID = DIB.C_INTEZMENYID
|
||||
AND feh.C_TANEVID = DIB.C_TANEVID
|
||||
AND DIB.TOROLT = 'F'
|
||||
LEFT JOIN T_MUKODESIHELY_OSSZES igaziMukodHely ON iktd.C_FELADATELLATASIHELYID = igaziMukodHely.ID and igaziMukodHely.TOROLT = 'F'
|
||||
LEFT JOIN T_FELADATELLATASIHELY_OSSZES igaziFeh ON igaziFeh.C_MUKODESIHELYID = igaziMukodHely.ID and igaziFeh.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES DIBM ON igaziFeh.C_OKTATASINEVELESIFELADATTIPUS = DIBM.ID
|
||||
AND igaziFeh.C_INTEZMENYID = DIBM.C_INTEZMENYID
|
||||
AND igaziFeh.C_TANEVID = DIBM.C_TANEVID
|
||||
AND DIBM.TOROLT = 'F'
|
||||
WHERE iktd.C_TANEVID = @pTanevId
|
||||
GO
|
|
@ -0,0 +1,174 @@
|
|||
DROP FUNCTION IF EXISTS dbo.fnGetKapcsolodoOsztalyCsoportokByDateRange
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetKapcsolodoOsztalyCsoportokByDateRange (
|
||||
@pOsztalyCsoportId int
|
||||
,@pStartDate datetime
|
||||
,@pEndDate datetime
|
||||
,@pIntezmenyId int
|
||||
,@pTanevId int
|
||||
)
|
||||
RETURNS @Result TABLE (
|
||||
Id int primary key NOT NULL
|
||||
,Kezdete datetime NOT NULL
|
||||
,Vege datetime NOT NULL
|
||||
) AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
@tanevStart datetime
|
||||
,@tanevEnd datetime
|
||||
,@osztalyId int
|
||||
|
||||
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId)
|
||||
|
||||
IF EXISTS (SELECT 1 FROM T_OSZTALY_OSSZES WHERE ID = @pOsztalyCsoportId) BEGIN
|
||||
|
||||
INSERT INTO @Result (Id, Kezdete, Vege) /* maga az osztály */
|
||||
SELECT
|
||||
o.Id
|
||||
,@pStartDate
|
||||
,@pEndDate
|
||||
FROM T_OSZTALY_OSSZES o
|
||||
WHERE o.ID = @pOsztalyCsoportId
|
||||
AND o.C_ALTANEVID = @pTanevID
|
||||
AND o.C_ALINTEZMENYID = @pIntezmenyId
|
||||
AND o.TOROLT = 'F'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT /* Az osztály bontott csoportjai */
|
||||
cs.ID
|
||||
,@pStartDate
|
||||
,@pEndDate
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
WHERE C_OSZTALYBONTASID = @pOsztalyCsoportId
|
||||
AND cs.TOROLT = 'F'
|
||||
AND cs.C_ALTANEVID = @pTanevID
|
||||
AND cs.C_ALINTEZMENYID = @pIntezmenyId
|
||||
|
||||
INSERT INTO @Result (Id, Kezdete, Vege) /* Az osztály tanulóinak más csoportjai */
|
||||
SELECT
|
||||
tcs.C_OSZTALYCSOPORTID AS Id
|
||||
,CASE
|
||||
WHEN MIN(tcs.C_BELEPESDATUM) > MIN(oszt.C_BELEPESDATUM) AND MIN(tcs.C_BELEPESDATUM) > @pStartDate THEN MIN(tcs.C_BELEPESDATUM)
|
||||
WHEN MIN(oszt.C_BELEPESDATUM) > MIN(tcs.C_BELEPESDATUM) AND MIN(oszt.C_BELEPESDATUM) > @pStartDate THEN MIN(oszt.C_BELEPESDATUM)
|
||||
ELSE @pStartDate
|
||||
END AS Kezdete -- A három közül a legnagyobb
|
||||
,CASE
|
||||
WHEN MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) < MAX(ISNULL(oszt.C_KILEPESDATUM, @pEndDate)) AND MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) < @pEndDate THEN MIN(ISNULL(tcs.C_KILEPESDATUM, @pEndDate))
|
||||
WHEN MAX(ISNULL(oszt.C_KILEPESDATUM, @pEndDate)) < MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) AND MAX(ISNULL(oszt.C_KILEPESDATUM, @pEndDate)) < @pEndDate THEN MIN(ISNULL(oszt.C_KILEPESDATUM, @pEndDate))
|
||||
ELSE @pEndDate -- A három közül a legkisebb
|
||||
END AS Vege
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES oszt
|
||||
ON oszt.C_TANULOID = tcs.C_TANULOID
|
||||
AND oszt.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
||||
AND oszt.C_BELEPESDATUM <= @pEndDate
|
||||
AND (oszt.C_KILEPESDATUM > @pStartDate OR oszt.C_KILEPESDATUM IS NULL)
|
||||
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = tcs.C_OSZTALYCSOPORTID AND cs.C_OSZTALYBONTASID IS NULL
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = cs.ID AND ocs.TOROLT = 'F' AND ocs.C_FELADATKATEGORIAID = @kategoriaId
|
||||
WHERE tcs.TOROLT = 'F'
|
||||
AND oszt.TOROLT = 'F'
|
||||
AND tcs.C_TANEVID = @pTanevId
|
||||
AND tcs.C_INTEZMENYID = @pIntezmenyId
|
||||
AND tcs.C_BELEPESDATUM <= @pEndDate
|
||||
AND (tcs.C_KILEPESDATUM > @pStartDate OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND NOT EXISTS (SELECT 1 FROM @Result r WHERE r.ID = tcs.C_OSZTALYCSOPORTID)
|
||||
GROUP BY tcs.C_OSZTALYCSOPORTID
|
||||
END
|
||||
|
||||
IF EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId AND C_OSZTALYBONTASID IS NOT NULL AND TOROLT = 'F') BEGIN
|
||||
|
||||
SELECT @osztalyId = C_OSZTALYBONTASID FROM T_CSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId
|
||||
|
||||
INSERT INTO @Result (Id, Kezdete, Vege) /* Az osztály, amelyiknek a bontása */
|
||||
SELECT
|
||||
@osztalyId
|
||||
,@pStartDate
|
||||
,@pEndDate
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT /* Maga a csoport */
|
||||
@pOsztalyCsoportId
|
||||
,@pStartDate
|
||||
,@pEndDate
|
||||
|
||||
INSERT INTO @Result (Id, Kezdete, Vege) /* Az csoport tanulóinak más csoportjai */
|
||||
SELECT
|
||||
tcs.C_OSZTALYCSOPORTID AS Id
|
||||
,CASE
|
||||
WHEN MIN(tcs.C_BELEPESDATUM) > MIN(csop.C_BELEPESDATUM) AND MIN(tcs.C_BELEPESDATUM) > @pStartDate THEN MIN(tcs.C_BELEPESDATUM)
|
||||
WHEN MIN(csop.C_BELEPESDATUM) > MIN(tcs.C_BELEPESDATUM) AND MIN(csop.C_BELEPESDATUM) > @pStartDate THEN MIN(csop.C_BELEPESDATUM)
|
||||
ELSE @pStartDate
|
||||
END AS Kezdete -- A három közül a legnagyobb
|
||||
,CASE
|
||||
WHEN MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) < MAX(ISNULL(csop.C_KILEPESDATUM, @pEndDate)) AND MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) < @pEndDate THEN MIN(ISNULL(tcs.C_KILEPESDATUM, @pEndDate))
|
||||
WHEN MAX(ISNULL(csop.C_KILEPESDATUM, @pEndDate)) < MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) AND MAX(ISNULL(csop.C_KILEPESDATUM, @pEndDate)) < @pEndDate THEN MIN(ISNULL(csop.C_KILEPESDATUM, @pEndDate))
|
||||
ELSE @pEndDate
|
||||
END AS Vege -- A három közül a legkisebb
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES csop
|
||||
ON tcs.C_TANULOID = csop.C_TANULOID
|
||||
AND csop.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
||||
AND csop.C_BELEPESDATUM <= @pEndDate
|
||||
AND (csop.C_KILEPESDATUM > @pStartDate OR csop.C_KILEPESDATUM IS NULL)
|
||||
AND csop.TOROLT = 'F'
|
||||
INNER JOIN T_CSOPORT_OSSZES cs
|
||||
ON cs.ID = tcs.C_OSZTALYCSOPORTID
|
||||
AND (cs.C_OSZTALYBONTASID IS NULL OR cs.C_OSZTALYBONTASID = @osztalyId)
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = cs.ID AND ocs.TOROLT='F' AND ocs.C_FELADATKATEGORIAID = @kategoriaId
|
||||
WHERE tcs.C_OSZTALYCSOPORTID <> @pOsztalyCsoportId
|
||||
AND tcs.C_TANEVID = @pTanevId
|
||||
AND tcs.C_INTEZMENYID = @pIntezmenyId
|
||||
AND tcs.C_BELEPESDATUM <= @pEndDate
|
||||
AND (tcs.C_KILEPESDATUM > @pStartDate OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND tcs.TOROLT = 'F' AND csop.TOROLT = 'F'
|
||||
GROUP BY tcs.C_OSZTALYCSOPORTID
|
||||
END
|
||||
|
||||
IF EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId AND C_OSZTALYBONTASID IS NULL AND TOROLT = 'F') BEGIN
|
||||
|
||||
INSERT INTO @Result (Id, Kezdete, Vege) /* Az csoport tanulóinak más csoportjai */
|
||||
SELECT
|
||||
tcs.C_OSZTALYCSOPORTID AS Id
|
||||
,CASE
|
||||
WHEN MIN(tcs.C_BELEPESDATUM) > MIN(csop.C_BELEPESDATUM) AND MIN(tcs.C_BELEPESDATUM) > @pStartDate THEN MIN(tcs.C_BELEPESDATUM)
|
||||
WHEN MIN(csop.C_BELEPESDATUM) > MIN(tcs.C_BELEPESDATUM) AND MIN(csop.C_BELEPESDATUM) > @pStartDate THEN MIN(csop.C_BELEPESDATUM)
|
||||
ELSE @pStartDate
|
||||
END AS Kezdete -- A három közül a legnagyobb
|
||||
,CASE
|
||||
WHEN MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) < MAX(ISNULL(csop.C_KILEPESDATUM, @pEndDate)) AND MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) < @pEndDate THEN MIN(ISNULL(tcs.C_KILEPESDATUM, @pEndDate))
|
||||
WHEN MAX(ISNULL(csop.C_KILEPESDATUM, @pEndDate)) < MAX(ISNULL(tcs.C_KILEPESDATUM, @pEndDate)) AND MAX(ISNULL(csop.C_KILEPESDATUM, @pEndDate)) < @pEndDate THEN MIN(ISNULL(csop.C_KILEPESDATUM, @pEndDate))
|
||||
ELSE @pEndDate
|
||||
END AS Vege -- A három közül a legkisebb
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES csop
|
||||
ON tcs.C_TANULOID = csop.C_TANULOID
|
||||
AND csop.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
||||
AND csop.C_BELEPESDATUM <= @pEndDate
|
||||
AND (csop.C_KILEPESDATUM > @pStartDate OR csop.C_KILEPESDATUM IS NULL)
|
||||
AND csop.TOROLT = 'F'
|
||||
AND csop.C_BELEPESDATUM <= ISNULL(tcs.C_KILEPESDATUM, @pEndDate) AND ISNULL(csop.C_KILEPESDATUM, @pEndDate) > tcs.C_BELEPESDATUM
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT='F' AND ocs.C_FELADATKATEGORIAID = @kategoriaId
|
||||
WHERE tcs.C_TANEVID = @pTanevId
|
||||
AND tcs.C_INTEZMENYID = @pIntezmenyId
|
||||
AND tcs.C_BELEPESDATUM <= @pEndDate
|
||||
AND (tcs.C_KILEPESDATUM > @pStartDate OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND tcs.TOROLT = 'F' AND csop.TOROLT = 'F'
|
||||
GROUP BY tcs.C_OSZTALYCSOPORTID
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM @Result WHERE ID = @pOsztalyCsoportId) BEGIN
|
||||
INSERT INTO @Result (Id, Kezdete, Vege)
|
||||
SELECT
|
||||
@pOsztalyCsoportId AS Id
|
||||
,t.C_KEZDONAP as Kezdete
|
||||
,t.C_UTOLSONAP as Vege
|
||||
FROM T_TANEV t
|
||||
WHERE t.ID = @pTanevId
|
||||
END
|
||||
END
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
Minden olyan esetben amikor egy osztályhoz tartozó csoportokat kell meghatározni,
|
||||
akkor az alábbi módon kell ezeket megadni:
|
||||
a. Egy osztályhoz tartozik minden olyan csoport, amelynek tagja az osztály bármelyik tanulója.
|
||||
Tehát ha egy osztályból akár egyetlen tanuló is tagja egy csoportnak, akkor az az osztályhoz is kapcsolódik.
|
||||
b. Továbbá egy osztályhoz mindig kapcsolódnak az osztálybontásosnak jelölt csoportjaik is,
|
||||
függetlenül attól, hogy abban van-e tanuló!
|
||||
*/
|
||||
|
||||
DROP FUNCTION IF EXISTS fnGetKapcsolodoOsztalycsoportok
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetKapcsolodoOsztalycsoportok (
|
||||
@osztalyCsoportId int
|
||||
)
|
||||
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 /* Önmaga */
|
||||
|
||||
UNION
|
||||
|
||||
SELECT ID /* Osztály esetén, a bontott csoportok */
|
||||
FROM T_CSOPORT_OSSZES
|
||||
WHERE C_OSZTALYBONTASID = @osztalyCsoportId AND TOROLT = 'F'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT C_OSZTALYBONTASID AS ID /* Csoport esetén, a ha bontott, akkor az osztálya */
|
||||
FROM T_CSOPORT_OSSZES
|
||||
WHERE ID = @osztalyCsoportId
|
||||
AND C_OSZTALYBONTASID IS NOT NULL AND TOROLT = 'F'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT ID /* Csoport esetén, a ha bontott, akkor az osztályának a többi csoportbontása */
|
||||
FROM T_CSOPORT_OSSZES
|
||||
WHERE C_OSZTALYBONTASID IN (
|
||||
SELECT C_OSZTALYBONTASID FROM T_CSOPORT_OSSZES
|
||||
WHERE ID = @osztalyCsoportId AND TOROLT = 'F'
|
||||
) AND TOROLT ='F'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT tcs2.C_OSZTALYCSOPORTID /* Azok az osztálycsoportok, ahová járnak tanulók a @osztalyCsoportId-ból */
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs2 ON tcs2.C_TANULOID = tcs.C_TANULOID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs2.C_OSZTALYCSOPORTID
|
||||
--NOTE: A T_CSOPORT_OSSZES INNER JOIN-ra azért van szükség, mert az AMI-nál visszaadná a többi osztályt is, amibe még jár, de azok nem kapcsolódóak.
|
||||
INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID AND cs.C_OSZTALYBONTASID IS NULL
|
||||
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = tcs.C_TANEVID AND tanev.TOROLT = 'F'
|
||||
WHERE tcs.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND tcs.C_BELEPESDATUM <= GETDATE() AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= tanev.C_UTOLSOTANITASINAP)
|
||||
AND tcs2.C_BELEPESDATUM <= GETDATE() AND (tcs2.C_KILEPESDATUM > GETDATE() OR tcs2.C_KILEPESDATUM IS NULL OR tcs2.C_KILEPESDATUM >= tanev.C_UTOLSOTANITASINAP)
|
||||
AND tcs.TOROLT = 'F'
|
||||
AND tcs2.TOROLT = 'F'
|
||||
AND ocs.C_FELADATKATEGORIAID = @kategoriaId
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
Minden olyan esetben amikor egy osztályhoz tartozó csoportokat kell meghatározni,
|
||||
akkor az alábbi módon kell ezeket megadni:
|
||||
a. Egy osztályhoz tartozik minden olyan csoport, amelynek tagja az osztály bármelyik tanulója.
|
||||
Tehát ha egy osztályból akár egyetlen tanuló is tagja egy csoportnak, akkor az az osztályhoz is kapcsolódik.
|
||||
b. Továbbá egy osztályhoz mindig kapcsolódnak az osztálybontásosnak jelölt csoportjaik is,
|
||||
függetlenül attól, hogy abban van-e tanuló!
|
||||
*/
|
||||
|
||||
DROP FUNCTION IF EXISTS fnGetKapcsolodoOsztalycsoportokByDate
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetKapcsolodoOsztalycsoportokByDate (
|
||||
@osztalyCsoportId int
|
||||
,@start datetime
|
||||
,@end datetime
|
||||
)
|
||||
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 /* Önmaga */
|
||||
|
||||
UNION
|
||||
|
||||
SELECT ID /* Osztály esetén, a bontott csoportok */
|
||||
FROM T_CSOPORT_OSSZES
|
||||
WHERE C_OSZTALYBONTASID = @osztalyCsoportId AND TOROLT = 'F'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT C_OSZTALYBONTASID AS ID /* Csoport esetén, a ha bontott, akkor az osztálya */
|
||||
FROM T_CSOPORT_OSSZES
|
||||
WHERE ID = @osztalyCsoportId
|
||||
AND C_OSZTALYBONTASID IS NOT NULL AND TOROLT = 'F'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT ID /* Csoport esetén, a ha bontott, akkor az osztályának a többi csoportbontása */
|
||||
FROM T_CSOPORT_OSSZES
|
||||
WHERE C_OSZTALYBONTASID IN (
|
||||
SELECT C_OSZTALYBONTASID FROM T_CSOPORT_OSSZES
|
||||
WHERE ID = @osztalyCsoportId AND TOROLT = 'F'
|
||||
) AND TOROLT ='F'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT tcs2.C_OSZTALYCSOPORTID /* Azok az osztálycsoportok, ahová járnak tanulók a @osztalyCsoportId-ból */
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs2 ON tcs2.C_TANULOID = tcs.C_TANULOID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs2.C_OSZTALYCSOPORTID and ocs.TOROLT='F'
|
||||
WHERE tcs.C_OSZTALYCSOPORTID = @osztalyCsoportId
|
||||
AND tcs.C_BELEPESDATUM <= @end AND (tcs.C_KILEPESDATUM > @start OR tcs.C_KILEPESDATUM IS NULL)
|
||||
AND tcs2.C_BELEPESDATUM <= @end AND (tcs2.C_KILEPESDATUM > @start OR tcs2.C_KILEPESDATUM IS NULL)
|
||||
AND tcs.TOROLT = 'F'
|
||||
AND tcs2.TOROLT = 'F'
|
||||
AND ocs.C_FELADATKATEGORIAID = @kategoriaId
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,40 @@
|
|||
DROP FUNCTION IF EXISTS [dbo].[fnGetKapcsolodoTantargyak]
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [dbo].[fnGetKapcsolodoTantargyak] (
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pTantargyId INT
|
||||
)
|
||||
RETURNS @return TABLE (
|
||||
ID INT
|
||||
,C_FOTARGYID INT
|
||||
,C_NEV NVARCHAR(255)
|
||||
,C_TARGYKATEGORIA INT
|
||||
,C_INTEZMENYID INT
|
||||
,C_TANEVID INT
|
||||
,C_ISTANULMANYIATLAGBANEMSZAMIT CHAR(1)
|
||||
)
|
||||
BEGIN
|
||||
IF @pTantargyId IS NULL
|
||||
BEGIN
|
||||
INSERT INTO @return
|
||||
SELECT ID, C_FOTARGYID, C_NEV, C_TARGYKATEGORIA, C_INTEZMENYID, C_TANEVID, C_ISTANULMANYIATLAGBANEMSZAMIT FROM T_TANTARGY_OSSZES WHERE C_INTEZMENYID = @pIntezmenyId AND C_TANEVID = @pTanevId AND TOROLT = 'F'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @return
|
||||
SELECT ID, C_FOTARGYID, C_NEV, C_TARGYKATEGORIA, C_INTEZMENYID, C_TANEVID, C_ISTANULMANYIATLAGBANEMSZAMIT FROM T_TANTARGY_OSSZES WHERE ID = @pTantargyId AND C_INTEZMENYID = @pIntezmenyId AND C_TANEVID = @pTanevId AND TOROLT = 'F'
|
||||
UNION
|
||||
SELECT ID, C_FOTARGYID, C_NEV, C_TARGYKATEGORIA, C_INTEZMENYID, C_TANEVID, C_ISTANULMANYIATLAGBANEMSZAMIT FROM T_TANTARGY_OSSZES WHERE C_FOTARGYID = @pTantargyId AND C_INTEZMENYID = @pIntezmenyId AND C_TANEVID = @pTanevId AND TOROLT = 'F'
|
||||
UNION
|
||||
SELECT ID, C_FOTARGYID, C_NEV, C_TARGYKATEGORIA, C_INTEZMENYID, C_TANEVID, C_ISTANULMANYIATLAGBANEMSZAMIT FROM T_TANTARGY_OSSZES WHERE C_FOTARGYID = (SELECT C_FOTARGYID FROM T_TANTARGY_OSSZES WHERE ID = @pTantargyId AND C_INTEZMENYID = @pIntezmenyId AND C_TANEVID = @pTanevId AND TOROLT = 'F') AND C_INTEZMENYID = @pIntezmenyId AND C_TANEVID = @pTanevId AND TOROLT = 'F'
|
||||
UNION
|
||||
SELECT ID, C_FOTARGYID, C_NEV, C_TARGYKATEGORIA, C_INTEZMENYID, C_TANEVID, C_ISTANULMANYIATLAGBANEMSZAMIT FROM T_TANTARGY_OSSZES WHERE ID = (SELECT C_FOTARGYID FROM T_TANTARGY_OSSZES WHERE ID = @pTantargyId AND C_INTEZMENYID = @pIntezmenyId AND C_TANEVID = @pTanevId AND TOROLT = 'F') AND C_INTEZMENYID = @pIntezmenyId AND C_TANEVID = @pTanevId AND TOROLT = 'F'
|
||||
ORDER BY C_FOTARGYID ASC, C_NEV ASC
|
||||
END
|
||||
RETURN
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
DROP FUNCTION IF EXISTS fnGetLathatoSzervezetek
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetLathatoSzervezetek (
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pSzervezetId INT = NULL
|
||||
,@pAdatokHalmaza INT = 0 -- 0: megadott szervezet és alszervezetei, 1: megadott szervezet (SzervezetId = NULL esetén az ősszes székhely), 2: megadott szervezet alszervezetei
|
||||
)
|
||||
RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT
|
||||
ID
|
||||
FROM T_SZERVEZET_OSSZES sz
|
||||
WHERE sz.TOROLT = 'F'
|
||||
AND sz.C_TANEVID = @pTanevId
|
||||
AND sz.C_INTEZMENYID = @pIntezmenyId
|
||||
AND ((@pAdatokHalmaza = 1 AND @pSzervezetId IS NOT NULL AND ID = @pSzervezetId)
|
||||
OR (@pAdatokHalmaza = 1 AND @pSzervezetId IS NULL AND C_PARENTSZERVEZETID IS NULL)
|
||||
OR (@pAdatokHalmaza = 2 AND @pSzervezetId IS NOT NULL AND C_PARENTSZERVEZETID = @pSzervezetId)
|
||||
OR (@pAdatokHalmaza = 0 AND @pSzervezetId IS NOT NULL AND (C_PARENTSZERVEZETID = @pSzervezetId OR ID = @pSzervezetId))
|
||||
OR (@pAdatokHalmaza = 0 AND @pSzervezetId IS NULL))
|
||||
);
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,224 @@
|
|||
DROP FUNCTION IF EXISTS fnGetLemorzsolodottTanulokByFelhely
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [dbo].[fnGetLemorzsolodottTanulokByFelhely] (
|
||||
@feladatEllatasiHelyId int
|
||||
,@tanevId int
|
||||
,@isFelevi int
|
||||
,@osztalyzatTipusTypeID int = 44
|
||||
)
|
||||
RETURNS @FHHozTartozoTanulok TABLE(
|
||||
TanuloId int
|
||||
,Evfolyam int
|
||||
,Neme int
|
||||
,TanuloNev nvarchar(510)
|
||||
,OktatasiAzonosito nvarchar(11)
|
||||
,OsztalyNev nvarchar(510)
|
||||
,OsztalyId int
|
||||
,KozepesMiatt bit
|
||||
,RontottMiatt bit
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @Tanulok TABLE(
|
||||
TanuloId int
|
||||
,EvFolyam int
|
||||
,Neme int
|
||||
,NyomtatasiNev nvarchar(510)
|
||||
,OktatasiAzonosito nvarchar(11)
|
||||
,OsztalyNev nvarchar(510)
|
||||
,OsztalyId int
|
||||
)
|
||||
DECLARE @Osztalyzatok TABLE(
|
||||
Id int
|
||||
,Ertek float
|
||||
)
|
||||
DECLARE @TanuloAtlagok TABLE(
|
||||
TanuloId int
|
||||
,AktualisAtlag float
|
||||
,KorabbiAtlag float
|
||||
)
|
||||
DECLARE @KozepesAlattiTanulok TABLE(
|
||||
TanuloId int
|
||||
)
|
||||
DECLARE @RontottTanulok TABLE(
|
||||
TanuloId int
|
||||
)
|
||||
DECLARE @EslTantargyak TABLE(
|
||||
TantargyId int
|
||||
,TanevId int
|
||||
)
|
||||
-- Mi a "Közepes" értéke az adott feladatellátási helyen
|
||||
DECLARE @FelHelyTipusKozepes float = 3.0
|
||||
|
||||
DECLARE @ErtekelesTipus int = IIF(@isFelevi = 0,1520,1519)
|
||||
DECLARE @ExErtekelesTipus int = IIF(@ErtekelesTipus = 1520,1519,1520)
|
||||
|
||||
SELECT
|
||||
@FelHelyTipusKozepes = onf.C_ESLKOZEPESATLAG
|
||||
FROM T_FELADATELLATASIHELY fh
|
||||
INNER JOIN T_OKTATASINEVELESIFELADAT onf ON onf.ID = fh.C_OKTATASINEVELESIFELADATTIPUS AND onf.C_ALTANEVID = fh.C_TANEVID AND onf.TOROLT = 'F'
|
||||
WHERE fh.ID = @feladatEllatasiHelyId AND fh.TOROLT='F'
|
||||
|
||||
-- Az elõzõ tanév ID-ja
|
||||
DECLARE @ElozoTanevId int = 0
|
||||
|
||||
IF @IsFelevi = 0
|
||||
BEGIN
|
||||
SET @ElozoTanevId = @tanevId
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT @ElozoTanevId = ISNULL(elozotanev.ID,0)
|
||||
FROM T_TANEV akttanev
|
||||
INNER JOIN T_TANEV_OSSZES elozotanev ON elozotanev.TOROLT = 'F' AND elozotanev.C_SORSZAM = akttanev.C_SORSZAM-2
|
||||
AND elozotanev.C_INTEZMENYID = akttanev.C_INTEZMENYID
|
||||
WHERE akttanev.ID = @tanevId
|
||||
END
|
||||
|
||||
DECLARE @BesorolasiDatum DATE = (SELECT TOP 1 C_DATUM from T_TANEVRENDJE tr WHERE C_NAPTIPUSA = IIF(@isFelevi = 0,1395,1400) AND C_TANEVID = @tanevid AND TOROLT='F')
|
||||
|
||||
INSERT INTO @Osztalyzatok
|
||||
SELECT
|
||||
ID
|
||||
,CONVERT(float,C_VALUE)
|
||||
FROM T_DICTIONARYITEMBASE
|
||||
WHERE C_DICTIONARYTYPEID = @osztalyzatTipusTypeID AND C_TANEVID = @tanevId AND TOROLT='F'
|
||||
|
||||
INSERT INTO @EslTantargyak (
|
||||
TantargyId
|
||||
,TanevId
|
||||
)
|
||||
SELECT
|
||||
tgy.ID
|
||||
,@tanevId
|
||||
FROM T_TANTARGY tgy
|
||||
WHERE (tgy.C_ALTANTARGYKENTNYOMTATVANYBAN='T' OR tgy.C_FOTARGYE='T')
|
||||
AND tgy.C_TANEVID = @tanevId AND tgy.TOROLT='F'
|
||||
AND tgy.C_ESLTANTARGYKATEGORIAID IS NOT NULL
|
||||
UNION
|
||||
SELECT
|
||||
tgy.ID
|
||||
,@ElozoTanevId
|
||||
FROM T_TANTARGY_OSSZES tgy
|
||||
WHERE (tgy.C_ALTANTARGYKENTNYOMTATVANYBAN='T' OR tgy.C_FOTARGYE='T')
|
||||
AND tgy.C_TANEVID = @ElozoTanevId AND tgy.TOROLT='F'
|
||||
AND tgy.C_ESLTANTARGYKATEGORIAID IS NOT NULL
|
||||
|
||||
-- Egy adott FH-hoz tartozó tanulók kilistázása (évfolyamonként, nemenként) összevont osztályokkal együtt
|
||||
INSERT INTO @Tanulok /*TODO:Tobb Osztaly*//*OM-1582*/
|
||||
SELECT DISTINCT
|
||||
tcs.C_TANULOID
|
||||
,ISNULL(tta.C_TANULOEVFOLYAMTIPUSID,1307)
|
||||
,f.C_NEME
|
||||
,f.C_NYOMTATASINEV
|
||||
,f.C_OKTATASIAZONOSITO
|
||||
,ocs.C_NEV
|
||||
,ocs.ID
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID AND o.TOROLT='F'
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = o.ID AND tcs.TOROLT = 'F'
|
||||
AND @BesorolasiDatum >= tcs.C_BELEPESDATUM AND (@BesorolasiDatum < tcs.C_KILEPESDATUM OR tcs.C_KILEPESDATUM IS NULL)
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F' /*Ha a tanuló összevont évfolyamú osztályba jár, de van megadva neki egyénileg évfolyam a tanügyi adataiban,*/
|
||||
INNER JOIN T_FELHASZNALO f ON f.ID = tcs.C_TANULOID AND f.TOROLT='F' /*akkor azt kell megjeleníteni*/
|
||||
INNER JOIN T_EVFOLYAMTIPUS evtip ON evtip.ID = ocs.C_EVFOLYAMTIPUSA AND evtip.TOROLT = 'F' AND evtip.C_ALTANEVID = ocs.C_TANEVID
|
||||
WHERE ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId
|
||||
AND ocs.C_TANEVID = @tanevId AND ocs.C_KEPZESIFORMA = 1096 --Nappali rendszerű iskolai oktatás
|
||||
AND ocs.TOROLT = 'F'
|
||||
AND evtip.C_ISOSSZEVONT = 'T'
|
||||
UNION
|
||||
SELECT DISTINCT
|
||||
tcs.C_TANULOID
|
||||
,ocs.C_EVFOLYAMTIPUSA
|
||||
,f.C_NEME
|
||||
,f.C_NYOMTATASINEV
|
||||
,f.C_OKTATASIAZONOSITO
|
||||
,ocs.C_NEV
|
||||
,ocs.ID
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.TOROLT = 'F'
|
||||
AND @BesorolasiDatum >= tcs.C_BELEPESDATUM AND (@BesorolasiDatum < tcs.C_KILEPESDATUM OR tcs.C_KILEPESDATUM IS NULL)
|
||||
INNER JOIN T_OSZTALY o ON o.id = tcs.C_OSZTALYCSOPORTID AND o.TOROLT='F'
|
||||
INNER JOIN T_FELHASZNALO f ON f.id = tcs.C_TANULOID AND f.TOROLT='F'
|
||||
INNER JOIN T_EVFOLYAMTIPUS evtip ON evtip.ID = ocs.C_EVFOLYAMTIPUSA AND evtip.TOROLT = 'F' AND evtip.C_ALTANEVID = ocs.C_TANEVID
|
||||
WHERE ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId
|
||||
AND ocs.C_TANEVID = @tanevId AND ocs.C_KEPZESIFORMA = 1096
|
||||
AND ocs.TOROLT = 'F'
|
||||
AND evtip.C_ISOSSZEVONT = 'F'
|
||||
|
||||
DELETE FROM @Tanulok WHERE Evfolyam BETWEEN 1303 AND 1306 --1-4 évfolyamok nem kellenek
|
||||
-- Visszatérési tábla számítása
|
||||
|
||||
INSERT INTO @KozepesAlattiTanulok (TanuloId)
|
||||
SELECT DISTINCT
|
||||
fht.TanuloId
|
||||
FROM T_TANULOERTEKELES te
|
||||
INNER JOIN @EslTantargyak tgy ON tgy.TanevId = te.C_TANEVID AND tgy.TantargyId = te.C_TANTARGYID
|
||||
INNER JOIN @Osztalyzatok o ON o.ID = te.C_ERTEKELESOSZTALYZATID
|
||||
INNER JOIN @Tanulok fht ON fht.TanuloId = te.C_TANULOID
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID=te.C_OSZTALYCSOPORTID AND cs.TOROLT='F'
|
||||
WHERE te.C_TIPUSID = @ErtekelesTipus AND ISNULL(cs.C_TIPUSA,0) NOT IN (SELECT ID FROM T_CSOPORTTIPUS WHERE C_ISMUVESZETI = 'T' AND C_ALTANEVID = @tanevId) --alapf. műv okt csoportok osztályzatai nem kellenek
|
||||
AND te.TOROLT='F' AND te.C_TANEVID = @tanevId
|
||||
GROUP BY fht.TanuloId
|
||||
HAVING ROUND(AVG(o.Ertek),2) < @FelHelyTipusKozepes
|
||||
|
||||
INSERT INTO @TanuloAtlagok (
|
||||
TanuloId
|
||||
,AktualisAtlag
|
||||
,KorabbiAtlag
|
||||
)
|
||||
SELECT
|
||||
fht.TanuloId
|
||||
,(
|
||||
SELECT
|
||||
ROUND(AVG(o.Ertek),2)
|
||||
FROM T_TANULOERTEKELES te
|
||||
INNER JOIN @Osztalyzatok o ON o.ID = te.C_ERTEKELESOSZTALYZATID
|
||||
INNER JOIN @EslTantargyak tgy ON tgy.Tantargyid = te.C_TANTARGYID AND tgy.TanevId = te.C_TANEVID
|
||||
WHERE te.C_TANULOID = tanulo.ID AND te.C_TIPUSID = @ErtekelesTipus AND te.TOROLT='F' AND te.C_TANEVID = tanulo.C_TANEVID
|
||||
AND NOT EXISTS(SELECT 1 FROM T_CSOPORT WHERE ID = te.C_OSZTALYCSOPORTID AND C_TIPUSA IN (SELECT ID FROM T_CSOPORTTIPUS WHERE C_ISMUVESZETI = 'T' AND C_ALTANEVID = @tanevId))
|
||||
) AktualisAtlag
|
||||
,(
|
||||
SELECT
|
||||
ROUND(AVG(o.Ertek),2)
|
||||
FROM T_TANULOERTEKELES_OSSZES te
|
||||
INNER JOIN @Osztalyzatok o ON o.ID = te.C_ERTEKELESOSZTALYZATID
|
||||
INNER JOIN @EslTantargyak tgy ON tgy.Tantargyid = te.C_TANTARGYID AND tgy.TanevId = te.C_TANEVID
|
||||
WHERE te.C_TANULOID = extanulo.ID AND te.C_TIPUSID = @ExErtekelesTipus AND te.TOROLT = 'F' AND te.C_TANEVID = extanulo.C_TANEVID
|
||||
AND NOT EXISTS(SELECT 1 FROM T_CSOPORT_OSSZES WHERE ID = te.C_OSZTALYCSOPORTID AND C_TIPUSA IN (SELECT ID FROM T_CSOPORTTIPUS WHERE C_ISMUVESZETI = 'T' AND C_ALTANEVID = @tanevId) AND TOROLT='F')
|
||||
) KorabbiAtlag
|
||||
FROM @Tanulok fht
|
||||
INNER JOIN T_FELHASZNALO_OSSZES tanulo ON tanulo.ID = fht.TanuloId
|
||||
INNER JOIN T_TANULO_OSSZES t ON t.ID = tanulo.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES extanulo ON tanulo.C_OKTATASIAZONOSITO = extanulo.C_OKTATASIAZONOSITO
|
||||
AND extanulo.C_TANEVID = @ElozoTanevId AND extanulo.TOROLT = 'F'
|
||||
INNER JOIN T_TANULO_OSSZES exT ON exT.ID = extanulo.ID
|
||||
|
||||
INSERT INTO @RontottTanulok (TanuloId)
|
||||
SELECT DISTINCT
|
||||
fht.TanuloId
|
||||
FROM @Tanulok fht
|
||||
INNER JOIN @TanuloAtlagok ta ON ta.TanuloId = fht.TanuloId
|
||||
WHERE (ta.AktualisAtlag+1.1) <= ta.KorabbiAtlag
|
||||
|
||||
INSERT INTO @FhHozTartozoTanulok
|
||||
SELECT
|
||||
fht.TanuloId
|
||||
,fht.Evfolyam
|
||||
,fht.Neme
|
||||
,fht.NyomtatasiNev
|
||||
,fht.OktatasiAzonosito
|
||||
,fht.Osztalynev
|
||||
,fht.OsztalyId
|
||||
,IIF(kozepes.TanuloId IS NULL, 0, 1)
|
||||
,IIF(rontott.TanuloId IS NULL, 0, 1)
|
||||
FROM @Tanulok fht
|
||||
LEFT JOIN @KozepesAlattiTanulok kozepes ON kozepes.TanuloId = fht.TanuloId
|
||||
LEFT JOIN @RontottTanulok rontott ON rontott.TanuloId = fht.TanuloId
|
||||
WHERE (kozepes.TanuloId IS NOT NULL OR rontott.TanuloId IS NOT NULL)
|
||||
|
||||
RETURN
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,36 @@
|
|||
DROP FUNCTION IF EXISTS fnGetNapirendUtkozesByOsztalycsoport
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetNapirendUtkozesByOsztalycsoport (
|
||||
@startTime datetime
|
||||
,@endTime datetime
|
||||
,@osztalyCsoportId int
|
||||
,@intezmenyId int
|
||||
,@tanevId int
|
||||
) RETURNS INT
|
||||
BEGIN
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = n.C_NAPDATUMA
|
||||
INNER JOIN T_ORARENDIORA_OSSZES o ON ISNULL(tr.C_HETIREND, n.C_HETIREND) = o.C_HETIREND
|
||||
AND ISNULL(tr.C_HETNAPJA, n.C_HETNAPJA) = o.C_HETNAPJA
|
||||
AND n.C_INTEZMENYID = o.C_INTEZMENYID
|
||||
AND n.C_TANEVID = o.C_TANEVID
|
||||
WHERE CAST(CAST(@startTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAKEZDETE AS TIME) AS DATETIME) <= @endTime
|
||||
AND CAST(CAST(@endTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAVEGE AS TIME) AS DATETIME) >= @startTime
|
||||
AND o.C_OSZTALYCSOPORTID IN (SELECT ID FROM dbo.fnGetKapcsolodoOsztalycsoportok(@osztalyCsoportId))
|
||||
AND n.C_TANEVID = @tanevId AND n.C_INTEZMENYID = @intezmenyId
|
||||
AND n.C_NAPDATUMA BETWEEN CAST(@startTime AS DATE) AND CAST(@endTime AS DATE)
|
||||
UNION ALL
|
||||
SELECT 1 FROM T_TANITASIORA_OSSZES o
|
||||
WHERE o.C_ORAKEZDETE <= @endTime
|
||||
AND o.C_ORAVEGE >= @startTime
|
||||
AND o.C_OSZTALYCSOPORTID IN (SELECT ID FROM dbo.fnGetKapcsolodoOsztalycsoportok(@osztalyCsoportId))
|
||||
)
|
||||
BEGIN
|
||||
RETURN 1
|
||||
END
|
||||
RETURN 0
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,41 @@
|
|||
IF OBJECT_ID('fnGetNapirendUtkozesByTanar') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetNapirendUtkozesByTanar
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetNapirendUtkozesByTanar (
|
||||
@startTime datetime,
|
||||
@endTime datetime,
|
||||
@tanarId int,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
) RETURNS INT
|
||||
BEGIN
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = n.C_NAPDATUMA
|
||||
INNER JOIN T_ORARENDIORA_OSSZES o ON ISNULL(tr.C_HETIREND, n.C_HETIREND) = o.C_HETIREND
|
||||
AND ISNULL(tr.C_HETNAPJA, n.C_HETNAPJA) = o.C_HETNAPJA
|
||||
AND n.C_INTEZMENYID = o.C_INTEZMENYID
|
||||
AND n.C_TANEVID = o.C_TANEVID
|
||||
WHERE CAST(CAST(@startTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAKEZDETE AS TIME) AS DATETIME) <= @endTime
|
||||
AND CAST(CAST(@endTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAVEGE AS TIME) AS DATETIME) >= @startTime
|
||||
AND o.C_TANARID = @tanarId
|
||||
AND n.C_TANEVID = @tanevId AND n.C_INTEZMENYID = @intezmenyId
|
||||
AND n.C_NAPDATUMA BETWEEN CAST(@startTime AS DATE) AND CAST(@endTime AS DATE)
|
||||
UNION ALL
|
||||
SELECT 1 FROM T_TANITASIORA_OSSZES o
|
||||
WHERE o.C_ORAKEZDETE <= @endTime
|
||||
AND o.C_ORAVEGE >= @startTime
|
||||
AND ISNULL(o.C_HELYETTESITOTANARID, o.C_ORATULAJDONOSID) = @tanarId
|
||||
AND o.C_TANEVID = @tanevId
|
||||
AND o.C_INTEZMENYID = @intezmenyId
|
||||
)
|
||||
BEGIN
|
||||
RETURN 1
|
||||
END
|
||||
RETURN 0
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
DROP FUNCTION IF EXISTS fnGetOrahossz
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetOrahossz (@csengetesiRendOraId int, @oraKezdete datetime, @oraVege datetime, @feladatKategoriaId int, @csoportId int, @oktatasiNevelesiFeladatTipus int, @csoportTipusOraperc int)
|
||||
RETURNS FLOAT
|
||||
AS BEGIN
|
||||
|
||||
DECLARE @result float;
|
||||
|
||||
SET @result =
|
||||
IIF(@csengetesiRendOraId IS NOT NULL
|
||||
,1
|
||||
,CONVERT(FLOAT,
|
||||
(
|
||||
DATEDIFF(minute, @oraKezdete, @oraVege)
|
||||
+ IIF(@feladatKategoriaId = 7556 AND DATEPART(hour, @oraVege) = 23 AND DATEPART(minute, @oraVege) = 59
|
||||
,1
|
||||
,0)
|
||||
)
|
||||
)
|
||||
/
|
||||
IIF(@csoportId IS NULL
|
||||
,IIF(@feladatKategoriaId = 7556 OR (@oktatasiNevelesiFeladatTipus IN (1157, 1166, 1177, 6570, 7762))
|
||||
,60
|
||||
,45)
|
||||
,@csoportTipusOraperc)
|
||||
)
|
||||
|
||||
RETURN @result;
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,34 @@
|
|||
DROP FUNCTION IF EXISTS fnGetOsztalyCsoportTanuloOsztalyList
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetOsztalyCsoportTanuloOsztalyList (
|
||||
@pTanevId int
|
||||
,@pOsztalyCsoportId int
|
||||
,@pFeladatKategoriaId int
|
||||
,@pDatum date = NULL
|
||||
,@pIsFromSzervezet bit = 0
|
||||
)
|
||||
RETURNS TABLE
|
||||
AS RETURN
|
||||
|
||||
--NOTE: Azért kell a DISTINCT, ha ugyanoda ki-/besorolgatják a tanulót!
|
||||
SELECT DISTINCT
|
||||
TanuloCsoport.C_TANULOID
|
||||
,OsztalyCsoport.ID
|
||||
,OsztalyCsoport.C_EVFOLYAMTIPUSA
|
||||
FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES SourceTanuloCsoport ON SourceTanuloCsoport.TOROLT = 'F'
|
||||
AND SourceTanuloCsoport.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
||||
AND SourceTanuloCsoport.C_TANULOID = TanuloCsoport.C_TANULOID
|
||||
INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID AND Osztaly.C_ALTANEVID = TanuloCsoport.C_TANEVID
|
||||
AND Osztaly.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = Osztaly.ID AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
AND (OsztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pIsFromSzervezet = 1)
|
||||
WHERE TanuloCsoport.C_TANEVID = @pTanevId
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND TanuloCsoport.C_BELEPESDATUM <= ISNULL(@pDatum, CONVERT(date, GETDATE()))
|
||||
AND (TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM > ISNULL(@pDatum, CONVERT(date, GETDATE())))
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,366 @@
|
|||
DROP FUNCTION IF EXISTS dbo.fnGetOsztalyCsoportTanuloinakTanugyiAdatai
|
||||
GO
|
||||
|
||||
/*
|
||||
1) Osztály, tudjuk (AMI-nál nem kell pár mező)
|
||||
2) Csoport, bontott, tudjuk
|
||||
3) Csoport, nem bontott, fh-n 1 osztály van ,tudjuk
|
||||
4) Csoport, nem bontott, fh-n több osztály, nem tudjuk
|
||||
5) Ha nincs Osztálya a kategórián, akkor a tanulóét
|
||||
*/
|
||||
|
||||
CREATE FUNCTION dbo.fnGetOsztalyCsoportTanuloinakTanugyiAdatai(
|
||||
@pOsztalyCsoportId int
|
||||
,@pDatum date = NULL)
|
||||
RETURNS @tanugyiAdatok TABLE(
|
||||
ID int
|
||||
,TanuloId int
|
||||
,C_BEIRASINAPLOSORSZAM nvarchar(100)
|
||||
,C_BEJARO char(1)
|
||||
,C_DIAKSPORTKOROS char(1)
|
||||
,C_EGYEBORSZAGOSDONTO char(1)
|
||||
,C_EGYUTTMUKODESES char(1)
|
||||
,C_ELOZOINTEZMENY nvarchar(510)
|
||||
,C_EVISMETLO char(1)
|
||||
,C_ISKOLAIKERETEKKOZOTT char(1)
|
||||
,C_JOGVISZONYATSZUNETELTETO char(1)
|
||||
,C_JOGVISZONYVARHATOBEFEJEZESE datetime
|
||||
,C_MAGANTANULO char(1)
|
||||
,C_MAGANTANULOSAGANAKOKAID int
|
||||
,C_MAGANTANULOSAGKEZDETE datetime
|
||||
,C_MAGANTANULOSAGVEGE datetime
|
||||
,C_NYILVANTARTASKEZDETE datetime
|
||||
,C_OSZTV char(1)
|
||||
,C_POLGARISZERZODESES char(1)
|
||||
,C_SZAKMAIGYAKORLATON char(1)
|
||||
,C_SZETVAGAZAT char(1)
|
||||
,C_SZINTVIZSGA numeric
|
||||
,C_SZKTV char(1)
|
||||
,C_TANDIJATFIZETO char(1)
|
||||
,C_TANKOTELEZETT char(1)
|
||||
,C_TANKOTELEZETTSEGVEGE datetime
|
||||
,C_TANULOEVFOLYAMTIPUSID int
|
||||
,C_TANULOSZERZODESES char(1)
|
||||
,C_TECHNIKUSIEVFOLYAM char(1)
|
||||
,C_TERITESIDIJATFIZETO char(1)
|
||||
,C_VENDEG char(1)
|
||||
,C_NAPLOSORSZAM int
|
||||
,C_TORZSLAPSZAM nvarchar(1000)
|
||||
,C_TANTERVID int
|
||||
,C_FELVETELTANEVEID int
|
||||
,C_TANULOCSOPORTID int
|
||||
,C_HOZOTTIGAZOLATLANHIANYZAS int
|
||||
,C_HOZOTTIGAZOLATLANKESESPERCBE int
|
||||
,C_HOZOTTIGAZOLTHIANYZAS int
|
||||
,C_HOZOTTIGAZOLTKESESPERCBEN int
|
||||
,C_ISESL16EVESUTANBELEPETT char(1)
|
||||
,C_AGAZATID int
|
||||
,C_SZAKMACSOPORTID int
|
||||
,C_RESZSZAKKEPESITESID int
|
||||
,C_SZAKKEPESITESID int
|
||||
,C_AGAZATUJSZKTTIPUSID int
|
||||
,C_SZAKMATIPUSID int
|
||||
,C_SZAKMAIRANYTIPUSID int
|
||||
,C_TANULMANYITERULETNKTTIPUSID int
|
||||
,C_SZAKKEPESITESNKTTIPUSID int
|
||||
,C_SZAKIRANYNKTTIPUSID int
|
||||
,C_TANTERVIJELLEGID int
|
||||
,C_AGAZATIALAPVIZSGAEREDMENYE numeric(10, 2)
|
||||
,C_AGAZATIALAPVIZSGAEREDMENYESZ int
|
||||
,C_ISSZAKKEPZESIMUNKASZERZODESS char(1)
|
||||
,C_DUALISKEPZOHELYNEVE nvarchar(255)
|
||||
,C_DUALISKEPZOHELYADOSZAMA char(20)
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
IF @pDatum IS NULL
|
||||
SET @pDatum = GETDATE()
|
||||
|
||||
DECLARE @TanugyiAdat TABLE (ID int,TanuloId int, Darab int)
|
||||
DECLARE @kategoriaId int = (SELECT C_FELADATKATEGORIAID FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId)
|
||||
DECLARE @bontasId int = (SELECT C_OSZTALYBONTASID FROM T_CSOPORT_OSSZES WHERE ID = @pOsztalyCsoportId)
|
||||
DECLARE @isAmi bit = (SELECT IIF(@kategoriaId = 7555,1,0))
|
||||
DECLARE @isOsztaly bit = 0
|
||||
IF EXISTS(SELECT 1 FROM T_OSZTALY_OSSZES WHERE ID = @pOsztalyCsoportId)
|
||||
SET @isOsztaly=1
|
||||
|
||||
IF @isOsztaly = 1 BEGIN
|
||||
INSERT INTO @TanugyiAdat (ID,TanuloId,Darab)
|
||||
SELECT tta.ID,tcs.C_TANULOID,1
|
||||
FROM T_TANULOTANUGYIADATOK_OSSZES tta
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.ID=tta.C_TANULOCSOPORTID AND tcs.C_OSZTALYCSOPORTID=@posztalyCsoportId
|
||||
AND tcs.C_BELEPESDATUM <= @pDatum AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM>@pDatum) AND tcs.TOROLT='F'
|
||||
WHERE tta.TOROLT='F'
|
||||
END
|
||||
ELSE IF @bontasId IS NOT NULL BEGIN
|
||||
INSERT INTO @TanugyiAdat (ID,TanuloId,Darab)
|
||||
SELECT tta.ID,tcs.C_TANULOID,1
|
||||
FROM T_TANULOTANUGYIADATOK_OSSZES tta
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.ID=tta.C_TANULOCSOPORTID AND tcs.C_OSZTALYCSOPORTID=@bontasId
|
||||
AND tcs.C_BELEPESDATUM <= @pDatum AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM>@pDatum) AND tcs.TOROLT='F'
|
||||
END
|
||||
ELSE BEGIN
|
||||
INSERT INTO @TanugyiAdat (ID,TanuloId,Darab)
|
||||
SELECT tta.ID, tcso.C_TANULOID, ROW_NUMBER() OVER(PARTITION BY tcso.C_TANULOID ORDER BY tta.ID)
|
||||
FROM T_TANULOTANUGYIADATOK_OSSZES tta
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.ID=tta.C_TANULOCSOPORTID
|
||||
AND tcs.C_BELEPESDATUM <= @pDatum AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM>@pDatum) AND tcs.TOROLT='F'
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON o.ID=tcs.C_OSZTALYCSOPORTID AND o.TOROLT='F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID=o.ID AND ocs.TOROLT='F' AND (@kategoriaId IS NULL OR ocs.C_FELADATKATEGORIAID=@kategoriaId)
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcso ON tcso.C_TANULOID=tcs.C_TANULOID
|
||||
AND tcso.C_BELEPESDATUM <= @pDatum AND (tcso.C_KILEPESDATUM IS NULL OR tcso.C_KILEPESDATUM>@pDatum) AND tcso.TOROLT='F' AND tcso.C_OSZTALYCSOPORTID=@pOsztalyCsoportId
|
||||
|
||||
END
|
||||
|
||||
UPDATE ta SET Darab = x.DARAB FROM(
|
||||
SELECT MAX(DARAB) DARAB ,TanuloId
|
||||
FROM @TanugyiAdat
|
||||
GROUP BY TanuloId) x
|
||||
INNER JOIN @TanugyiAdat ta ON ta.TanuloId=x.TanuloId
|
||||
|
||||
INSERT INTO @tanugyiAdatok (
|
||||
ID
|
||||
,TanuloId
|
||||
,C_BEIRASINAPLOSORSZAM
|
||||
,C_BEJARO
|
||||
,C_DIAKSPORTKOROS
|
||||
,C_EGYEBORSZAGOSDONTO
|
||||
,C_EGYUTTMUKODESES
|
||||
,C_ELOZOINTEZMENY
|
||||
,C_EVISMETLO
|
||||
,C_ISKOLAIKERETEKKOZOTT
|
||||
,C_JOGVISZONYATSZUNETELTETO
|
||||
,C_JOGVISZONYVARHATOBEFEJEZESE
|
||||
,C_MAGANTANULO
|
||||
,C_MAGANTANULOSAGANAKOKAID
|
||||
,C_MAGANTANULOSAGKEZDETE
|
||||
,C_MAGANTANULOSAGVEGE
|
||||
,C_NYILVANTARTASKEZDETE
|
||||
,C_OSZTV
|
||||
,C_POLGARISZERZODESES
|
||||
,C_SZAKMAIGYAKORLATON
|
||||
,C_SZETVAGAZAT
|
||||
,C_SZINTVIZSGA
|
||||
,C_SZKTV
|
||||
,C_TANDIJATFIZETO
|
||||
,C_TANKOTELEZETT
|
||||
,C_TANKOTELEZETTSEGVEGE
|
||||
,C_TANULOEVFOLYAMTIPUSID
|
||||
,C_TANULOSZERZODESES
|
||||
,C_TECHNIKUSIEVFOLYAM
|
||||
,C_TERITESIDIJATFIZETO
|
||||
,C_VENDEG
|
||||
,C_NAPLOSORSZAM
|
||||
,C_TORZSLAPSZAM
|
||||
,C_TANTERVID
|
||||
,C_FELVETELTANEVEID
|
||||
,C_TANULOCSOPORTID
|
||||
,C_HOZOTTIGAZOLATLANHIANYZAS
|
||||
,C_HOZOTTIGAZOLATLANKESESPERCBE
|
||||
,C_HOZOTTIGAZOLTHIANYZAS
|
||||
,C_HOZOTTIGAZOLTKESESPERCBEN
|
||||
,C_ISESL16EVESUTANBELEPETT
|
||||
,C_AGAZATID
|
||||
,C_SZAKMACSOPORTID
|
||||
,C_RESZSZAKKEPESITESID
|
||||
,C_SZAKKEPESITESID
|
||||
,C_AGAZATUJSZKTTIPUSID
|
||||
,C_SZAKMATIPUSID
|
||||
,C_SZAKMAIRANYTIPUSID
|
||||
,C_TANULMANYITERULETNKTTIPUSID
|
||||
,C_SZAKKEPESITESNKTTIPUSID
|
||||
,C_SZAKIRANYNKTTIPUSID
|
||||
,C_TANTERVIJELLEGID
|
||||
,C_AGAZATIALAPVIZSGAEREDMENYE
|
||||
,C_AGAZATIALAPVIZSGAEREDMENYESZ
|
||||
,C_ISSZAKKEPZESIMUNKASZERZODESS
|
||||
,C_DUALISKEPZOHELYNEVE
|
||||
,C_DUALISKEPZOHELYADOSZAMA
|
||||
) SELECT DISTINCT
|
||||
0 --ID
|
||||
,TanuloId --TanuloId
|
||||
,NULL --C_BEIRASINAPLOSORSZAM
|
||||
,'F' --C_BEJARO
|
||||
,'F' --C_DIAKSPORTKOROS
|
||||
,'F' --C_EGYEBORSZAGOSDONTO
|
||||
,'F' --C_EGYUTTMUKODESES
|
||||
,NULL --C_ELOZOINTEZMENY
|
||||
,'F' --C_EVISMETLO
|
||||
,'F' --C_ISKOLAIKERETEKKOZOTT
|
||||
,'F' --C_JOGVISZONYATSZUNETELTETO
|
||||
,NULL --C_JOGVISZONYVARHATOBEFEJEZESE
|
||||
,'F' --C_MAGANTANULO
|
||||
,NULL --C_MAGANTANULOSAGANAKOKAID
|
||||
,NULL --C_MAGANTANULOSAGKEZDETE
|
||||
,NULL --C_MAGANTANULOSAGVEGE
|
||||
,'19000101' --C_NYILVANTARTASKEZDETE
|
||||
,'F' --C_OSZTV
|
||||
,'F' --C_POLGARISZERZODESES
|
||||
,'F' --C_SZAKMAIGYAKORLATON
|
||||
,'F' --C_SZETVAGAZAT
|
||||
,NULL --C_SZINTVIZSGA
|
||||
,'F' --C_SZKTV
|
||||
,'F' --C_TANDIJATFIZETO
|
||||
,'F' --C_TANKOTELEZETT
|
||||
,NULL --C_TANKOTELEZETTSEGVEGE
|
||||
,NULL --C_TANULOEVFOLYAMTIPUSID
|
||||
,'F' --C_TANULOSZERZODESES
|
||||
,'F' --C_TECHNIKUSIEVFOLYAM
|
||||
,'F' --C_TERITESIDIJATFIZETO
|
||||
,'F' --C_VENDEG
|
||||
,NULL --C_NAPLOSORSZAM
|
||||
,NULL --C_TORZSLAPSZAM
|
||||
,0 --C_TANTERVID
|
||||
,0 --C_FELVETELTANEVEID
|
||||
,0 --C_TANULOCSOPORTID
|
||||
,0 --C_HOZOTTIGAZOLATLANHIANYZAS
|
||||
,0 --C_HOZOTTIGAZOLATLANKESESPERCBE
|
||||
,0 --C_HOZOTTIGAZOLTHIANYZAS
|
||||
,0 --C_HOZOTTIGAZOLTKESESPERCBEN
|
||||
,'F' --C_ISESL16EVESUTANBELEPETT
|
||||
,0 --C_AGAZATID
|
||||
,0 --C_SZAKMACSOPORTID
|
||||
,0 --C_RESZSZAKKEPESITESID
|
||||
,0 --C_SZAKKEPESITESID
|
||||
,0 --C_AGAZATUJSZKTTIPUSID
|
||||
,0 --C_SZAKMATIPUSID
|
||||
,0 --C_SZAKMAIRANYTIPUSID
|
||||
,0 --C_TANULMANYITERULETNKTTIPUSID
|
||||
,0 --C_SZAKKEPESITESNKTTIPUSID
|
||||
,0 --C_SZAKIRANYNKTTIPUSID
|
||||
,0 --C_TANTERVIJELLEGID
|
||||
,NULL --C_AGAZATIALAPVIZSGAEREDMENYE
|
||||
,NULL --C_AGAZATIALAPVIZSGAEREDMENYESZ
|
||||
,'F' --C_ISSZAKKEPZESIMUNKASZERZODESS
|
||||
,NULL --C_DUALISKEPZOHELYNEVE
|
||||
,NULL --C_DUALISKEPZOHELYADOSZAMA
|
||||
FROM @TanugyiAdat
|
||||
WHERE Darab>1
|
||||
|
||||
INSERT INTO @tanugyiAdatok (
|
||||
ID
|
||||
,TanuloId
|
||||
,C_BEIRASINAPLOSORSZAM
|
||||
,C_BEJARO
|
||||
,C_DIAKSPORTKOROS
|
||||
,C_EGYEBORSZAGOSDONTO
|
||||
,C_EGYUTTMUKODESES
|
||||
,C_ELOZOINTEZMENY
|
||||
,C_EVISMETLO
|
||||
,C_ISKOLAIKERETEKKOZOTT
|
||||
,C_JOGVISZONYATSZUNETELTETO
|
||||
,C_JOGVISZONYVARHATOBEFEJEZESE
|
||||
,C_MAGANTANULO
|
||||
,C_MAGANTANULOSAGANAKOKAID
|
||||
,C_MAGANTANULOSAGKEZDETE
|
||||
,C_MAGANTANULOSAGVEGE
|
||||
,C_NYILVANTARTASKEZDETE
|
||||
,C_OSZTV
|
||||
,C_POLGARISZERZODESES
|
||||
,C_SZAKMAIGYAKORLATON
|
||||
,C_SZETVAGAZAT
|
||||
,C_SZINTVIZSGA
|
||||
,C_SZKTV
|
||||
,C_TANDIJATFIZETO
|
||||
,C_TANKOTELEZETT
|
||||
,C_TANKOTELEZETTSEGVEGE
|
||||
,C_TANULOEVFOLYAMTIPUSID
|
||||
,C_TANULOSZERZODESES
|
||||
,C_TECHNIKUSIEVFOLYAM
|
||||
,C_TERITESIDIJATFIZETO
|
||||
,C_VENDEG
|
||||
,C_NAPLOSORSZAM
|
||||
,C_TORZSLAPSZAM
|
||||
,C_TANTERVID
|
||||
,C_FELVETELTANEVEID
|
||||
,C_TANULOCSOPORTID
|
||||
,C_HOZOTTIGAZOLATLANHIANYZAS
|
||||
,C_HOZOTTIGAZOLATLANKESESPERCBE
|
||||
,C_HOZOTTIGAZOLTHIANYZAS
|
||||
,C_HOZOTTIGAZOLTKESESPERCBEN
|
||||
,C_ISESL16EVESUTANBELEPETT
|
||||
,C_AGAZATID
|
||||
,C_SZAKMACSOPORTID
|
||||
,C_RESZSZAKKEPESITESID
|
||||
,C_SZAKKEPESITESID
|
||||
,C_AGAZATUJSZKTTIPUSID
|
||||
,C_SZAKMATIPUSID
|
||||
,C_SZAKMAIRANYTIPUSID
|
||||
,C_TANULMANYITERULETNKTTIPUSID
|
||||
,C_SZAKKEPESITESNKTTIPUSID
|
||||
,C_SZAKIRANYNKTTIPUSID
|
||||
,C_TANTERVIJELLEGID
|
||||
,C_AGAZATIALAPVIZSGAEREDMENYE
|
||||
,C_AGAZATIALAPVIZSGAEREDMENYESZ
|
||||
,C_ISSZAKKEPZESIMUNKASZERZODESS
|
||||
,C_DUALISKEPZOHELYNEVE
|
||||
,C_DUALISKEPZOHELYADOSZAMA
|
||||
)
|
||||
SELECT
|
||||
tta.ID
|
||||
,t.ID
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_BEIRASINAPLOSORSZAM, t.C_BEIRASINAPLOSORSZAM)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_BEJARO, t.C_BEJARO)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_DIAKSPORTKOROS, t.C_DIAKSPORTKOROS)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_EGYEBORSZAGOSDONTO, t.C_EGYEBDONTO)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_EGYUTTMUKODESES, t.C_EGYUTTMUKODESES)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_ELOZOINTEZMENY, t.C_ELOZOINTEZMENY)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_EVISMETLO, t.C_EVISMETLO)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_ISKOLAIKERETEKKOZOTT, t.C_ISKOLAIKERETEKKOZOTT)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_JOGVISZONYATSZUNETELTETO, t.C_JOGVISZONYATSZUNETELTETO)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_JOGVISZONYVARHATOBEFEJEZESE, t.C_JOGVISZONYVARHATOBEFEJEZESE)
|
||||
,CASE WHEN @isAmi = 1 THEN 'F' ELSE IIF(tta.ID IS NOT NULL,tta.C_MAGANTANULO, t.C_MAGANTANULO) END
|
||||
,CASE WHEN @isAmi = 1 THEN NULL ELSE IIF(tta.ID IS NOT NULL,tta.C_MAGANTANULOSAGANAKOKAID, t.C_MAGANTANULOSAGANAKOKA) END
|
||||
,CASE WHEN @isAmi = 1 THEN NULL ELSE IIF(tta.ID IS NOT NULL,tta.C_MAGANTANULOSAGKEZDETE, t.C_MAGANTANULOSAGKEZDETE) END
|
||||
,CASE WHEN @isAmi = 1 THEN NULL ELSE IIF(tta.ID IS NOT NULL,tta.C_MAGANTANULOSAGVEGE, t.C_MAGANTANULOSAGVEGE) END
|
||||
,tta.C_NYILVANTARTASKEZDETE
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_OSZTV, t.C_OSZTV)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_POLGARISZERZODESES, t.C_POLGARISZERZODESES)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_SZAKMAIGYAKORLATON, t.C_SZAKMAIGYAKORLATON)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_SZETVAGAZAT, t.C_SZETVAGAZAT)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_SZINTVIZSGA, t.C_SZINTVIZSGA)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_SZKTV, t.C_SZKTV)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_TANDIJATFIZETO, t.C_TANDIJATFIZETO)
|
||||
,CASE WHEN @isAmi = 1 THEN 'F' ELSE IIF(tta.ID IS NOT NULL,tta.C_TANKOTELEZETT, t.C_TANKOTELEZETT) END
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_TANKOTELEZETTSEGVEGE, t.C_TANKOTELEZETTSEGVEGE)
|
||||
,tta.C_TANULOEVFOLYAMTIPUSID
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_TANULOSZERZODESES, t.C_TANULOSZERZODESES)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_TECHNIKUSIEVFOLYAM, t.C_TECHNIKUSIEVFOLYAM)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_TERITESIDIJATFIZETO, t.C_TERITESIDIJATFIZETO)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_VENDEG, t.C_VENDEG)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_NAPLOSORSZAM, t.C_NAPLOSORSZAM)
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_TORZSLAPSZAM, t.C_TORZSLAPSZAM)
|
||||
,tta.C_TANTERVID
|
||||
,IIF(tta.ID IS NOT NULL,tta.C_FELVETELTANEVEID, t.C_FELVETELTANEVEID)
|
||||
,tta.C_TANULOCSOPORTID
|
||||
,tta.C_HOZOTTIGAZOLATLANHIANYZAS
|
||||
,tta.C_HOZOTTIGAZOLATLANKESESPERCBE
|
||||
,tta.C_HOZOTTIGAZOLTHIANYZAS
|
||||
,tta.C_HOZOTTIGAZOLTKESESPERCBEN
|
||||
,tta.C_ISESL16EVESUTANBELEPETT
|
||||
,tta.C_AGAZATID
|
||||
,tta.C_SZAKMACSOPORTID
|
||||
,tta.C_RESZSZAKKEPESITESID
|
||||
,tta.C_SZAKKEPESITESID
|
||||
,tta.C_AGAZATUJSZKTTIPUSID
|
||||
,tta.C_SZAKMATIPUSID
|
||||
,tta.C_SZAKMAIRANYTIPUSID
|
||||
,tta.C_TANULMANYITERULETNKTTIPUSID
|
||||
,tta.C_SZAKKEPESITESNKTTIPUSID
|
||||
,tta.C_SZAKIRANYNKTTIPUSID
|
||||
,tta.C_TANTERVIJELLEGID
|
||||
,IIF(tta.ID IS NOT NULL, tta.C_AGAZATIALAPVIZSGAEREDMENYE, t.C_AGAZATIALAPVIZSGAEREDMENYE)
|
||||
,IIF(tta.ID IS NOT NULL, tta.C_AGAZATIALAPVIZSGAEREDMENYESZ, t.C_AGAZATIALAPVIZSGAEREDMENYESZ)
|
||||
,IIF(tta.ID IS NOT NULL, tta.C_ISSZAKKEPZESIMUNKASZERZODESS, t.C_ISSZAKKEPZESIMUNKASZERZODESS)
|
||||
,IIF(tta.ID IS NOT NULL, tta.C_DUALISKEPZOHELYNEVE, t.C_DUALISKEPZOHELYNEVE)
|
||||
,IIF(tta.ID IS NOT NULL, tta.C_DUALISKEPZOHELYADOSZAMA, t.C_DUALISKEPZOHELYADOSZAMA)
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
LEFT JOIN @TanugyiAdat ta ON ta.TanuloId=tcs.C_TANULOID
|
||||
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.ID=ta.ID AND tta.TOROLT='F'
|
||||
LEFT JOIN T_TANULO_OSSZES t ON t.ID=tcs.C_TANULOID AND t.TOROLT='F'
|
||||
WHERE tcs.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND tcs.TOROLT='F' AND tcs.C_BELEPESDATUM<=@pDatum AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM>@pDatum)
|
||||
AND ISNULL(ta.Darab,0)<2
|
||||
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,37 @@
|
|||
DROP FUNCTION IF EXISTS fnGetOsztalyCsoportokUtolsoTanitasiNap
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetOsztalyCsoportokUtolsoTanitasiNap (@pTanevId int ,@pOsztalyCsoportId int = NULL
|
||||
)
|
||||
returns @ResultTable TABLE (OsztalycsoportId int, UtolsoTanitasiNap Datetime, VegzosEvfolyam CHAR(1))
|
||||
AS BEGIN
|
||||
DECLARE @VegzosUtolsoTanitasiNap datetime;
|
||||
SELECT @VegzosUtolsoTanitasiNap = MIN(C_DATUM)
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
WHERE TOROLT = 'F'
|
||||
AND C_TANEVID = @pTanevId
|
||||
AND C_NAPTIPUSA IN (1402, 7600, 7601, 7602, 7603, 1395)
|
||||
AND C_OSSZESCSOPORTRAVONATKOZIK = 'T'
|
||||
|
||||
INSERT INTO @ResultTable (OsztalycsoportId, UtolsoTanitasiNap, VegzosEvfolyam)
|
||||
SELECT
|
||||
ocs.ID AS OsztalycsoportId
|
||||
,IIF(C_VEGZOSEVFOLYAM = 'T', IIF(x.C_OSZTALYCSOPORTID IS NOT NULL, NewVegeDatum, @VegzosUtolsoTanitasiNap), t.C_UTOLSONAP) AS UtolsoTanitasiNap
|
||||
,C_VEGZOSEVFOLYAM AS VegzosEvfolyam
|
||||
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
||||
INNER JOIN T_TANEV_OSSZES t ON t.ID = @pTanevId AND t.ID = ocs.C_TANEVID AND t.TOROLT = 'F'
|
||||
LEFT JOIN (
|
||||
SELECT MIN(tr.C_DATUM) AS NewVegeDatum, ocstr.C_OSZTALYCSOPORTID
|
||||
FROM T_TANEVRENDJE_OSSZES tr
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE ocstr ON ocstr.C_TANEVRENDJEID = tr.ID
|
||||
WHERE tr.C_OSSZESCSOPORTRAVONATKOZIK = 'F'
|
||||
AND tr.TOROLT = 'F'
|
||||
AND tr.C_NAPTIPUSA IN (1402, 7600, 7601, 7602, 7603)
|
||||
AND tr.C_TANEVID = @pTanevId
|
||||
GROUP BY ocstr.C_OSZTALYCSOPORTID
|
||||
) x ON x.C_OSZTALYCSOPORTID = ocs.Id
|
||||
WHERE (@pOsztalyCsoportId IS NULL OR @pOsztalyCsoportId = ocs.ID) AND ocs.TOROLT = 'F'
|
||||
RETURN
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,27 @@
|
|||
IF OBJECT_ID('dbo.fnGetOsztalyVegzosTanitasiNap') IS NOT NULL BEGIN
|
||||
DROP FUNCTION dbo.fnGetOsztalyVegzosTanitasiNap
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetOsztalyVegzosTanitasiNap (@osztalyId INT, @intezmenyId INT, @tanevId INT)
|
||||
RETURNS datetime
|
||||
BEGIN
|
||||
|
||||
DECLARE @Global DATETIME = (SELECT MIN(C_DATUM) FROM T_TANEVRENDJE_OSSZES WHERE C_INTEZMENYID = @intezmenyId AND C_TANEVID = @tanevId
|
||||
AND C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND C_NAPTIPUSA IN (1402, 7600, 7601, 7602, 7603, 1395) AND TOROLT = 'F')
|
||||
DECLARE @isVegzos CHAR(1) = (SELECT C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId AND TOROLT = 'F' AND C_TANEVID = @tanevId)
|
||||
DECLARE @result DATETIME
|
||||
|
||||
IF(@isVegzos = 'T')
|
||||
BEGIN
|
||||
SET @result =
|
||||
(SELECT TOP(1) C_DATUM FROM (
|
||||
SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES tr
|
||||
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE otr ON tr.ID = otr.C_TANEVRENDJEID AND otr.C_OSZTALYCSOPORTID = @osztalyId
|
||||
WHERE
|
||||
C_NAPTIPUSA IN (1402, 7600, 7601, 7602, 7603) AND C_INTEZMENYID = @intezmenyId AND C_TANEVID = @tanevId AND tr.TOROLT = 'F'
|
||||
) x ORDER BY C_DATUM)
|
||||
END
|
||||
RETURN ISNULL(@result, @Global)
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,26 @@
|
|||
DROP FUNCTION IF EXISTS fnGetOsztalyfonokOsztalyanakTanuloi
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetOsztalyfonokOsztalyanakTanuloi(
|
||||
@pTanarId int
|
||||
,@pSzuperOsztalyfonok int
|
||||
,@pFeladatKategoriaId int
|
||||
,@pDatum date)
|
||||
RETURNS TABLE
|
||||
AS RETURN
|
||||
SELECT
|
||||
f.ID
|
||||
,f.C_NYOMTATASINEV AS Nev
|
||||
FROM T_OSZTALY_OSSZES o
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = o.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID
|
||||
AND ocs.C_FELADATKATEGORIAID = @pFeladatKategoriaId
|
||||
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID
|
||||
WHERE (o.C_OSZTALYFONOKID = @pTanarId OR @pSzuperOsztalyfonok = 1)
|
||||
AND tcs.C_BELEPESDATUM <= @pDatum
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @pDatum)
|
||||
AND o.TOROLT = 'F'
|
||||
AND tcs.TOROLT = 'F'
|
||||
AND f.TOROLT = 'F'
|
||||
AND ocs.TOROLT = 'F'
|
||||
GO
|
|
@ -0,0 +1,32 @@
|
|||
DROP FUNCTION IF EXISTS dbo.fnGetOsztondijSzazalek
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetOsztondijSzazalek (
|
||||
@pBeszamitasosTanulo char(1)
|
||||
,@pIsBeszamitasosFixSzazalek char(1)
|
||||
,@pAtlag float
|
||||
,@pCode nvarchar(10)
|
||||
,@pFelevnelValtos char(1)
|
||||
,@pIsSikeresAgazatiVizsga char(1)
|
||||
,@pIsAtlagSzakkepzesi char(1)
|
||||
)
|
||||
RETURNS int
|
||||
BEGIN
|
||||
RETURN CASE
|
||||
WHEN @pBeszamitasosTanulo = 'T' AND @pIsBeszamitasosFixSzazalek = 'T' THEN 16
|
||||
WHEN @pBeszamitasosTanulo = 'T' THEN dbo.fnGetOsztondijSzazalekFromAtlag(@pAtlag)
|
||||
WHEN @pCode = '003' THEN dbo.fnGetOsztondijSzazalekFromAtlag(@pAtlag)
|
||||
WHEN @pFelevnelValtos = 'T' THEN
|
||||
CASE
|
||||
WHEN @pIsSikeresAgazatiVizsga = 'F' AND @pCode = '001' THEN 8
|
||||
WHEN @pIsSikeresAgazatiVizsga = 'F' AND @pCode = '002' THEN 16
|
||||
WHEN @pIsSikeresAgazatiVizsga = 'T' AND @pIsAtlagSzakkepzesi = 'F' THEN 16
|
||||
WHEN @pIsSikeresAgazatiVizsga = 'T' AND @pIsAtlagSzakkepzesi = 'T' THEN dbo.fnGetOsztondijSzazalekFromAtlag(@pAtlag)
|
||||
ELSE -1
|
||||
END
|
||||
WHEN @pCode IN ('001','004','005') THEN 8
|
||||
WHEN @pCode = '002' THEN 16
|
||||
ELSE 0
|
||||
END
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,17 @@
|
|||
DROP FUNCTION IF EXISTS dbo.fnGetOsztondijSzazalekFromAtlag
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnGetOsztondijSzazalekFromAtlag (
|
||||
@pAtlag float
|
||||
)
|
||||
RETURNS int
|
||||
BEGIN
|
||||
RETURN CASE
|
||||
WHEN @pAtlag >= 2.0 AND @pAtlag < 3.0 THEN 8
|
||||
WHEN @pAtlag >= 3.0 AND @pAtlag < 4.0 THEN 25
|
||||
WHEN @pAtlag >= 4.0 AND @pAtlag <= 4.49 THEN 42
|
||||
WHEN @pAtlag > 4.49 THEN 59
|
||||
ELSE 0
|
||||
END
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,27 @@
|
|||
DROP FUNCTION IF EXISTS fnGetRendszerbeallitasDateValue;
|
||||
GO
|
||||
CREATE FUNCTION fnGetRendszerbeallitasDateValue (@beallitasTipus int, @intezmenyId int, @tanevId int)
|
||||
RETURNS DateTime
|
||||
BEGIN
|
||||
|
||||
return (SELECT top (1)
|
||||
IIF(ISDATE(JSON_VALUE(C_ERTEK,'$.Date')) = 1
|
||||
,JSON_VALUE(C_ERTEK,'$.Date')
|
||||
,(SELECT C_DATUM FROM T_TANEVRENDJE_OSSZES
|
||||
WHERE C_NAPTIPUSA = CASE
|
||||
WHEN C_BEALLITASTIPUS = 5438 THEN 1400 -- félév vége
|
||||
WHEN C_BEALLITASTIPUS = 5439 THEN 1395 -- év vége
|
||||
WHEN C_BEALLITASTIPUS = 5440 THEN 1402 -- év vége végzős
|
||||
WHEN C_BEALLITASTIPUS = 7362 THEN 1403 -- I. né. vége
|
||||
WHEN C_BEALLITASTIPUS = 7363 THEN 1400 -- II. né. vége
|
||||
WHEN C_BEALLITASTIPUS = 7364 THEN 1404 -- III. né. vége
|
||||
WHEN C_BEALLITASTIPUS = 7365 THEN 1395 -- IV. né. vége
|
||||
END)) AS Datum
|
||||
FROM T_RENDSZERBEALLITAS_OSSZES
|
||||
WHERE C_BEALLITASTIPUS = @beallitasTipus
|
||||
AND C_INTEZMENYID = @intezmenyId
|
||||
AND C_TANEVID = @tanevId
|
||||
AND TOROLT = 'F')
|
||||
|
||||
END;
|
||||
GO
|
|
@ -0,0 +1,30 @@
|
|||
DROP FUNCTION IF EXISTS fnGetRendszerbeallitasEnumBool;
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetRendszerbeallitasEnumBool (@beallitasTipus int, @intezmenyId int, @tanevId int)
|
||||
RETURNS int
|
||||
BEGIN
|
||||
DECLARE @value INT
|
||||
SELECT @value =
|
||||
CASE
|
||||
WHEN C_ERTEKTIPUS = 1698
|
||||
THEN(
|
||||
SELECT Value FROM
|
||||
OPENJSON( JSON_QUERY(C_ERTEK,'$.Options'))
|
||||
WITH (
|
||||
Selected nvarchar(10) '$.Selected',
|
||||
Value int '$.Value'
|
||||
)
|
||||
WHERE Selected = 'true')
|
||||
WHEN C_ERTEKTIPUS = 1699
|
||||
THEN IIF(JSON_VALUE(C_ERTEK, '$.Value') = 'true', 1, 0)
|
||||
ELSE NULL
|
||||
END
|
||||
FROM T_RENDSZERBEALLITAS_OSSZES
|
||||
WHERE C_BEALLITASTIPUS = @beallitasTipus
|
||||
AND C_INTEZMENYID = @intezmenyId
|
||||
AND C_TANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
RETURN @value
|
||||
END;
|
||||
GO
|
|
@ -0,0 +1,18 @@
|
|||
DROP FUNCTION IF EXISTS fnGetRendszerbeallitasSelectedValue;
|
||||
GO
|
||||
CREATE FUNCTION fnGetRendszerbeallitasSelectedValue (@beallitasTipus int, @intezmenyId int, @tanevId int)
|
||||
RETURNS int
|
||||
BEGIN
|
||||
|
||||
DECLARE @json nvarchar(max)
|
||||
|
||||
SELECT @json = JSON_QUERY(C_ERTEK)
|
||||
FROM T_RENDSZERBEALLITAS_OSSZES
|
||||
WHERE C_BEALLITASTIPUS = @beallitasTipus
|
||||
AND C_INTEZMENYID = @intezmenyId
|
||||
AND C_TANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
|
||||
RETURN (select TOP(1) [Value] FROM OPENJSON( @json, '$.Options' ) WITH ([Value] int '$.Value', [Selected] NVARCHAR(25) '$.Selected') where Selected = 'true')
|
||||
END;
|
||||
GO
|
|
@ -0,0 +1,39 @@
|
|||
DROP FUNCTION IF EXISTS fnGetTanarAltalErtekelhetoCsoportokTantargyak
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetTanarAltalErtekelhetoCsoportokTantargyak(
|
||||
@pTanarId int
|
||||
,@pTanevId int
|
||||
,@pSzuperOsztalyfonok int
|
||||
,@pDatum date
|
||||
)
|
||||
RETURNS TABLE
|
||||
AS RETURN
|
||||
SELECT
|
||||
ocs.ID AS OsztalyCsoportId
|
||||
,ocs.C_NEV AS Nev
|
||||
,f.C_TANTARGYID AS TantargyId
|
||||
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
||||
LEFT JOIN T_FOGLALKOZAS_OSSZES f ON ocs.ID = f.C_OSZTALYCSOPORTID
|
||||
AND f.TOROLT = 'F'
|
||||
WHERE ocs.TOROLT = 'F'
|
||||
AND ocs.C_TANEVID = @pTanevId
|
||||
AND EXISTS( SELECT 1
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
WHERE tcs.C_OSZTALYCSOPORTID=ocs.ID
|
||||
AND tcs.TOROLT='F'
|
||||
AND @pDatum >= tcs.C_BELEPESDATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @pDatum)
|
||||
AND tcs.C_TANULOID IN (SELECT ID FROM fnGetOsztalyfonokOsztalyanakTanuloi(@pTanarId, @pSzuperOsztalyfonok, ocs.C_FELADATKATEGORIAID, @pDatum)))
|
||||
UNION
|
||||
SELECT
|
||||
ocs.ID AS OsztalyCsoportId
|
||||
,ocs.C_NEV AS Nev
|
||||
,f.C_TANTARGYID AS TantargyId
|
||||
FROM T_FOGLALKOZAS_OSSZES f
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = f.C_OSZTALYCSOPORTID
|
||||
AND ocs.TOROLT = 'F'
|
||||
WHERE f.TOROLT = 'F'
|
||||
AND (f.C_TANARID = @pTanarId OR @pSzuperOsztalyfonok = 1)
|
||||
AND ocs.C_TANEVID = @pTanevId
|
||||
GO
|
|
@ -0,0 +1,23 @@
|
|||
IF OBJECT_ID('fnGetTanoraiCeluCsoportTipusok') IS NOT NULL BEGIN
|
||||
DROP FUNCTION [fnGetTanoraiCeluCsoportTipusok]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [fnGetTanoraiCeluCsoportTipusok] (
|
||||
@tanevId INT
|
||||
) RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT
|
||||
csoportTipus.ID
|
||||
FROM
|
||||
T_CSOPORTTIPUS_OSSZES csoportTipus
|
||||
INNER JOIN
|
||||
T_DICTIONARYITEMBASE_OSSZES dictionaryItemBase ON csoportTipus.ID = dictionaryItemBase.ID
|
||||
AND csoportTipus.C_ALTANEVID = dictionaryItemBase.C_TANEVID
|
||||
WHERE
|
||||
csoportTipus.C_ISTANORAICELU = 'T'
|
||||
AND dictionaryItemBase.C_VISIBLE = 'T'
|
||||
AND dictionaryItemBase.TOROLT = 'F'
|
||||
AND dictionaryItemBase.C_TANEVID = @tanevId
|
||||
)
|
||||
GO
|
|
@ -0,0 +1,22 @@
|
|||
DROP FUNCTION IF EXISTS fnGetTanuloAktualisOsztaly
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetTanuloAktualisOsztaly (@tanuloId int)
|
||||
RETURNS nvarchar (255)
|
||||
BEGIN
|
||||
DECLARE @value nvarchar (255)
|
||||
|
||||
SELECT TOP (1)
|
||||
@value = ocs.C_NEV
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_OSZTALY_OSSZES o ON tcs.C_OSZTALYCSOPORTID = o.ID AND o.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
|
||||
WHERE C_TANULOID = @tanuloId
|
||||
AND tcs.TOROLT = 'F'
|
||||
AND C_KILEPESDATUM IS NULL
|
||||
ORDER BY C_KILEPESDATUM
|
||||
|
||||
RETURN @value
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,68 @@
|
|||
DROP FUNCTION IF EXISTS fnGetTanuloElutasitasOka
|
||||
GO
|
||||
CREATE FUNCTION fnGetTanuloElutasitasOka (
|
||||
@pJogviszonyTipus int
|
||||
,@pBesorolas char(1)
|
||||
,@pEvfolyamTipus int
|
||||
,@pIsMasodikSzakma char(1)
|
||||
,@pEvIsmetlo char(1)
|
||||
,@pMulSzam int
|
||||
,@pMaxMulSzam int
|
||||
,@pIsDualisKepzesben char(1)
|
||||
,@pTechnikaiOsztaly char(1)
|
||||
,@pIsVendegTanulo char(1)
|
||||
,@pIsJogviszonyatSzunetelteto char(1)
|
||||
,@pKeresztfeleves char(1)
|
||||
,@pBeszamitasosTanulo char(1)
|
||||
,@pOsztondijbolKizarva char(1)
|
||||
,@pMulasztasMiattKizart char(1)
|
||||
,@IsSzktJogosult char(1)
|
||||
,@IsIngyenesKepzes char(1)
|
||||
,@pAtlag float
|
||||
,@pMinAtlag float
|
||||
,@pIsAtlagFuggo bit
|
||||
,@pLekerdezesDatuma datetime
|
||||
,@pTanevSorszam int
|
||||
)
|
||||
RETURNS int
|
||||
BEGIN
|
||||
DECLARE @retval int = 0
|
||||
IF @pJogviszonyTipus <> 7860
|
||||
SET @retval += 1
|
||||
IF @pBesorolas = 'F'
|
||||
SET @retval += 2
|
||||
IF @pIsMasodikSzakma = 'T'
|
||||
SET @retval += 8
|
||||
IF @pEvIsmetlo = 'T'
|
||||
SET @retval += 16
|
||||
IF @pMulSzam > @pMaxMulSzam
|
||||
SET @retval += 32
|
||||
IF @pIsDualisKepzesben = 'T'
|
||||
SET @retval += 64
|
||||
IF @pIsAtlagFuggo = 1
|
||||
BEGIN
|
||||
IF @pAtlag < @pMinAtlag
|
||||
SET @retval += 128
|
||||
END
|
||||
IF @pTechnikaiOsztaly = 'T'
|
||||
SET @retval += 256
|
||||
IF @pIsVendegTanulo = 'T'
|
||||
SET @retval += 512
|
||||
IF @pIsJogviszonyatSzunetelteto = 'T'
|
||||
SET @retval += 1024
|
||||
IF @pKeresztfeleves = 'T'
|
||||
SET @retval += 2048
|
||||
IF @pOsztondijbolKizarva = 'T'
|
||||
SET @retval += 4096
|
||||
IF @pMulasztasMiattKizart = 'T'
|
||||
SET @retval += 8192
|
||||
IF @IsSzktJogosult = 'F'
|
||||
AND @pEvfolyamTipus NOT IN (7904, 7889, 7868) -- dobbantó, mûhelyiskola, orientációs évfolyam szkt beállítás nélkül is kap
|
||||
AND @pBeszamitasosTanulo <> 'T' -- beszámításos tanuló is kap
|
||||
SET @retval += 16384
|
||||
IF @IsIngyenesKepzes = 'F'
|
||||
SET @retval += 32768
|
||||
|
||||
return @retval
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,26 @@
|
|||
DROP FUNCTION IF EXISTS fnGetTanuloEpjElutasitasOka
|
||||
GO
|
||||
CREATE FUNCTION fnGetTanuloEpjElutasitasOka (
|
||||
@pJogviszonyTipus int
|
||||
,@pIsMasodikSzakma char(1)
|
||||
,@pErdemjegy float
|
||||
,@pMinErdemjegy float
|
||||
,@pKifizetesDatuma datetime
|
||||
,@pEpjId int
|
||||
)
|
||||
RETURNS int
|
||||
BEGIN
|
||||
DECLARE @retval int = 0
|
||||
IF @pJogviszonyTipus <> 7860
|
||||
SET @retval += 1
|
||||
IF @pIsMasodikSzakma = 'T'
|
||||
SET @retval += 2
|
||||
IF @pErdemjegy < @pMinErdemjegy
|
||||
SET @retval += 4
|
||||
IF @pKifizetesDatuma IS NOT NULL
|
||||
SET @retval += 8
|
||||
IF @pEpjId IS NULL
|
||||
SET @retval += 16
|
||||
return @retval
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,46 @@
|
|||
DROP FUNCTION IF EXISTS fnGetTanuloOsztaly
|
||||
GO
|
||||
|
||||
CREATE FUNCTION fnGetTanuloOsztaly (
|
||||
@pTanuloId int
|
||||
,@pDatum date = NULL
|
||||
,@pFeladatKategoriaId int = NULL
|
||||
,@pKiiratkozottNeJelenjenMeg bit = 1
|
||||
,@pOktatasiNevelesiFeladatId int = NULL
|
||||
)
|
||||
RETURNS @ResultTable TABLE (
|
||||
ID int
|
||||
,EvfolyamTipusId int
|
||||
,OsztalyNev nvarchar (255)
|
||||
,BelepesDatuma datetime
|
||||
)
|
||||
AS BEGIN
|
||||
|
||||
INSERT INTO @ResultTable (
|
||||
ID
|
||||
,EvfolyamTipusId
|
||||
,OsztalyNev
|
||||
,BelepesDatuma
|
||||
)
|
||||
SELECT
|
||||
OsztalyCsoport.ID
|
||||
,OsztalyCsoport.C_EVFOLYAMTIPUSA
|
||||
,OsztalyCsoport.C_NEV
|
||||
,TanuloCsoport.C_BELEPESDATUM
|
||||
FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
|
||||
INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID AND Osztaly.C_ALTANEVID = TanuloCsoport.C_TANEVID
|
||||
AND Osztaly.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = Osztaly.ID AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
AND (OsztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
||||
INNER JOIN T_FELADATELLATASIHELY_OSSZES FeladatEllatasiHely ON FeladatEllatasiHely.ID = OsztalyCsoport.C_FELADATELLATASIHELYID
|
||||
AND (FeladatEllatasiHely.C_OKTATASINEVELESIFELADATTIPUS = @pOktatasiNevelesiFeladatId OR @pOktatasiNevelesiFeladatId IS NULL)
|
||||
WHERE TanuloCsoport.C_TANULOID = @pTanuloId
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND TanuloCsoport.C_BELEPESDATUM <= ISNULL(@pDatum, CONVERT(date, GETDATE()))
|
||||
AND ((TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM > ISNULL(@pDatum, CONVERT(date, GETDATE()))) OR @pKiiratkozottNeJelenjenMeg = 0)
|
||||
|
||||
RETURN
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,32 @@
|
|||
DROP FUNCTION IF EXISTS fnGetTanuloOsztalyString
|
||||
GO
|
||||
CREATE FUNCTION fnGetTanuloOsztalyString (
|
||||
@pTanuloId int
|
||||
,@pDatum date = NULL
|
||||
,@pFeladatKategoriaId int = NULL
|
||||
,@pKiiratkozottNeJelenjenMeg bit = 1
|
||||
,@pKovTanev bit = 0
|
||||
,@pFilterOsztalyId int = NULL)
|
||||
RETURNS @retTable TABLE (Osztalynev nvarchar(4000))
|
||||
AS BEGIN
|
||||
INSERT INTO @retTable
|
||||
SELECT STUFF((
|
||||
SELECT ', '+OsztalyCsoport.C_NEV
|
||||
FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
|
||||
INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID AND Osztaly.C_ALTANEVID = TanuloCsoport.C_TANEVID
|
||||
AND Osztaly.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = Osztaly.ID AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
|
||||
AND OsztalyCsoport.TOROLT = 'F'
|
||||
AND (OsztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
||||
INNER JOIN T_TANEV_OSSZES Tanev ON Tanev.ID = TanuloCsoport.C_TANEVID AND Tanev.TOROLT = 'F'
|
||||
WHERE TanuloCsoport.C_TANULOID = @pTanuloId
|
||||
AND TanuloCsoport.TOROLT = 'F'
|
||||
AND (TanuloCsoport.C_BELEPESDATUM <= ISNULL(@pDatum,GETDATE()) OR @pKovTanev = 1)
|
||||
AND (((TanuloCsoport.C_KILEPESDATUM > ISNULL(@pDatum,GETDATE()) OR TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM >= Tanev.C_UTOLSOTANITASINAP)
|
||||
OR @pKiiratkozottNeJelenjenMeg = 0)
|
||||
OR @pKovTanev = 1)
|
||||
AND (@pFilterOsztalyId IS NULL OR @pFilterOsztalyId = TanuloCsoport.C_OSZTALYCSOPORTID)
|
||||
FOR XML PATH('')),1,1,'')
|
||||
RETURN
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,153 @@
|
|||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
DROP FUNCTION IF EXISTS [dbo].[fnGetTanuloTanugyiAdatai]
|
||||
GO
|
||||
CREATE FUNCTION [dbo].[fnGetTanuloTanugyiAdatai](
|
||||
@tanevId int
|
||||
,@isDuplikalt bit = 0
|
||||
,@tanuloId int = 0
|
||||
)
|
||||
RETURNS TABLE
|
||||
AS
|
||||
RETURN
|
||||
(
|
||||
SELECT * FROM (
|
||||
SELECT
|
||||
tanuloId
|
||||
,IIF(Count(TanugyiAdatok.tanuloId)>1, '1' , '0') AS IsDuplikalt
|
||||
,TanugyiAdatok.C_BEIRASINAPLOSORSZAM
|
||||
,TanugyiAdatok.C_BEJARO
|
||||
,TanugyiAdatok.C_DIAKSPORTKOROS
|
||||
,TanugyiAdatok.C_EGYEBORSZAGOSDONTO
|
||||
,TanugyiAdatok.C_EGYUTTMUKODESES
|
||||
,TanugyiAdatok.C_ELOZOINTEZMENY
|
||||
,TanugyiAdatok.C_EVISMETLO
|
||||
,TanugyiAdatok.C_FELVETELTANEVEID
|
||||
,TanugyiAdatok.C_HOZOTTIGAZOLATLANHIANYZAS
|
||||
,TanugyiAdatok.C_HOZOTTIGAZOLATLANKESESPERCBE
|
||||
,TanugyiAdatok.C_HOZOTTIGAZOLTHIANYZAS
|
||||
,TanugyiAdatok.C_HOZOTTIGAZOLTKESESPERCBEN
|
||||
,TanugyiAdatok.C_ISESL16EVESUTANBELEPETT
|
||||
,TanugyiAdatok.C_ISKOLAIKERETEKKOZOTT
|
||||
,TanugyiAdatok.C_JOGVISZONYATSZUNETELTETO
|
||||
,TanugyiAdatok.C_JOGVISZONYVARHATOBEFEJEZESE
|
||||
,TanugyiAdatok.C_MAGANTANULO
|
||||
,TanugyiAdatok.C_MAGANTANULOSAGANAKOKAID
|
||||
,TanugyiAdatok.C_MAGANTANULOSAGKEZDETE
|
||||
,TanugyiAdatok.C_NAPLOSORSZAM
|
||||
,TanugyiAdatok.C_NYILVANTARTASKEZDETE
|
||||
,TanugyiAdatok.C_OSZTV
|
||||
,TanugyiAdatok.C_POLGARISZERZODESES
|
||||
,TanugyiAdatok.C_SZAKMAIGYAKORLATON
|
||||
,TanugyiAdatok.C_SZETVAGAZAT
|
||||
,TanugyiAdatok.C_SZINTVIZSGA
|
||||
,TanugyiAdatok.C_SZKTV
|
||||
,TanugyiAdatok.C_TANDIJATFIZETO
|
||||
,TanugyiAdatok.C_TANKOTELEZETT
|
||||
,TanugyiAdatok.C_TANKOTELEZETTSEGVEGE
|
||||
,TanugyiAdatok.C_TANTERVID
|
||||
,TanugyiAdatok.C_TANULOEVFOLYAMTIPUSID
|
||||
,TanugyiAdatok.C_TANULOSZERZODESES
|
||||
,TanugyiAdatok.C_TECHNIKUSIEVFOLYAM
|
||||
,TanugyiAdatok.C_TERITESIDIJATFIZETO
|
||||
,TanugyiAdatok.C_TORZSLAPSZAM
|
||||
,TanugyiAdatok.C_VENDEG
|
||||
FROM (
|
||||
SELECT
|
||||
tanulo.ID tanuloId
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_BEIRASINAPLOSORSZAM, tanugyiAdatok.C_BEIRASINAPLOSORSZAM) AS C_BEIRASINAPLOSORSZAM
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_BEJARO, tanugyiAdatok.C_BEJARO) AS C_BEJARO
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_DIAKSPORTKOROS, tanugyiAdatok.C_DIAKSPORTKOROS) AS C_DIAKSPORTKOROS
|
||||
,tanugyiAdatok.C_EGYEBORSZAGOSDONTO AS C_EGYEBORSZAGOSDONTO
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_EGYUTTMUKODESES, tanugyiAdatok.C_EGYUTTMUKODESES) AS C_EGYUTTMUKODESES
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_ELOZOINTEZMENY, tanugyiAdatok.C_ELOZOINTEZMENY) AS C_ELOZOINTEZMENY
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_EVISMETLO, tanugyiAdatok.C_EVISMETLO) AS C_EVISMETLO
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_FELVETELTANEVEID, tanugyiAdatok.C_FELVETELTANEVEID) AS C_FELVETELTANEVEID
|
||||
,tanugyiAdatok.C_HOZOTTIGAZOLATLANHIANYZAS AS C_HOZOTTIGAZOLATLANHIANYZAS
|
||||
,tanugyiAdatok.C_HOZOTTIGAZOLATLANKESESPERCBE AS C_HOZOTTIGAZOLATLANKESESPERCBE
|
||||
,tanugyiAdatok.C_HOZOTTIGAZOLTHIANYZAS AS C_HOZOTTIGAZOLTHIANYZAS
|
||||
,tanugyiAdatok.C_HOZOTTIGAZOLTKESESPERCBEN AS C_HOZOTTIGAZOLTKESESPERCBEN
|
||||
,tanugyiAdatok.C_ISESL16EVESUTANBELEPETT AS C_ISESL16EVESUTANBELEPETT
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_ISKOLAIKERETEKKOZOTT, tanugyiAdatok.C_ISKOLAIKERETEKKOZOTT) AS C_ISKOLAIKERETEKKOZOTT
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_JOGVISZONYATSZUNETELTETO, tanugyiAdatok.C_JOGVISZONYATSZUNETELTETO) AS C_JOGVISZONYATSZUNETELTETO
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_JOGVISZONYVARHATOBEFEJEZESE, tanugyiAdatok.C_JOGVISZONYVARHATOBEFEJEZESE) AS C_JOGVISZONYVARHATOBEFEJEZESE
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_MAGANTANULO, tanugyiAdatok.C_MAGANTANULO) AS C_MAGANTANULO
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_MAGANTANULOSAGANAKOKA, tanugyiAdatok.C_MAGANTANULOSAGANAKOKAID) AS C_MAGANTANULOSAGANAKOKAID
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_MAGANTANULOSAGKEZDETE, tanugyiAdatok.C_MAGANTANULOSAGKEZDETE) AS C_MAGANTANULOSAGKEZDETE
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_NAPLOSORSZAM, tanugyiAdatok.C_NAPLOSORSZAM) AS C_NAPLOSORSZAM
|
||||
,IIF(tanugyiAdatok.ID IS NULL, felhasznalo.C_NYILVANTARTASKEZDETE, tanugyiAdatok.C_NYILVANTARTASKEZDETE) AS C_NYILVANTARTASKEZDETE
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_OSZTV, tanugyiAdatok.C_OSZTV) AS C_OSZTV
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_POLGARISZERZODESES, tanugyiAdatok.C_POLGARISZERZODESES) AS C_POLGARISZERZODESES
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_SZAKMAIGYAKORLATON, tanugyiAdatok.C_SZAKMAIGYAKORLATON) AS C_SZAKMAIGYAKORLATON
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_SZETVAGAZAT, tanugyiAdatok.C_SZETVAGAZAT) AS C_SZETVAGAZAT
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_SZINTVIZSGA, tanugyiAdatok.C_SZINTVIZSGA) AS C_SZINTVIZSGA
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_SZKTV, tanugyiAdatok.C_SZKTV) AS C_SZKTV
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TANDIJATFIZETO, tanugyiAdatok.C_TANDIJATFIZETO) AS C_TANDIJATFIZETO
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TANKOTELEZETT, tanugyiAdatok.C_TANKOTELEZETT) AS C_TANKOTELEZETT
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TANKOTELEZETTSEGVEGE, tanugyiAdatok.C_TANKOTELEZETTSEGVEGE) AS C_TANKOTELEZETTSEGVEGE
|
||||
,tanugyiAdatok.C_TANTERVID AS C_TANTERVID
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TANULOEVFOLYAMTIPUS, tanugyiAdatok.C_TANULOEVFOLYAMTIPUSID) AS C_TANULOEVFOLYAMTIPUSID
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TANULOSZERZODESES, tanugyiAdatok.C_TANULOSZERZODESES) AS C_TANULOSZERZODESES
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TECHNIKUSIEVFOLYAM, tanugyiAdatok.C_TECHNIKUSIEVFOLYAM) AS C_TECHNIKUSIEVFOLYAM
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TERITESIDIJATFIZETO, tanugyiAdatok.C_TERITESIDIJATFIZETO) AS C_TERITESIDIJATFIZETO
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_TORZSLAPSZAM, tanugyiAdatok.C_TORZSLAPSZAM) AS C_TORZSLAPSZAM
|
||||
,IIF(tanugyiAdatok.ID IS NULL, tanulo.C_VENDEG, tanugyiAdatok.C_VENDEG) AS C_VENDEG
|
||||
FROM T_TANULO_OSSZES tanulo
|
||||
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = tanulo.C_ALTANEVID AND tanev.Id = @tanevId AND Tanev.TOROLT = 'F'
|
||||
LEFT JOIN T_TANULOCSOPORT_OSSZES tanuloCsoport ON tanuloCsoport.C_TANULOID = tanulo.ID
|
||||
AND tanuloCsoport.C_BELEPESDATUM <= GETDATE()
|
||||
AND ( C_KILEPESDATUM >= GETDATE() OR C_KILEPESDATUM IS NULL)
|
||||
AND tanulocsoport.C_BELEPESDATUM >= tanev.C_KEZDONAP
|
||||
AND tanulocsoport.C_BELEPESDATUM <= tanev.C_UTOLSONAP
|
||||
AND tanuloCsoport.C_KILEPESDATUM <= tanev.C_UTOLSONAP
|
||||
AND tanuloCsoport.C_KILEPESDATUM >= tanev.C_KEZDONAP
|
||||
AND tanuloCsoport.TOROLT = 'F'
|
||||
LEFT JOIN T_OSZTALY_OSSZES osztaly ON osztaly.ID = tanuloCsoport.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tanugyiAdatok ON tanugyiadatok.C_TANULOCSOPORTID = tanuloCsoport.ID
|
||||
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = tanulo.ID
|
||||
WHERE (tanulo.ID = @tanuloId OR @tanuloId = 0)
|
||||
) TanugyiAdatok
|
||||
GROUP BY tanuloId
|
||||
,C_BEIRASINAPLOSORSZAM
|
||||
,C_BEJARO
|
||||
,C_DIAKSPORTKOROS
|
||||
,C_EGYEBORSZAGOSDONTO
|
||||
,C_EGYUTTMUKODESES
|
||||
,C_ELOZOINTEZMENY
|
||||
,C_EVISMETLO
|
||||
,C_FELVETELTANEVEID
|
||||
,C_HOZOTTIGAZOLATLANHIANYZAS
|
||||
,C_HOZOTTIGAZOLATLANKESESPERCBE
|
||||
,C_HOZOTTIGAZOLTHIANYZAS
|
||||
,C_HOZOTTIGAZOLTKESESPERCBEN
|
||||
,C_ISESL16EVESUTANBELEPETT
|
||||
,C_ISKOLAIKERETEKKOZOTT
|
||||
,C_JOGVISZONYATSZUNETELTETO
|
||||
,C_JOGVISZONYVARHATOBEFEJEZESE
|
||||
,C_MAGANTANULO
|
||||
,C_MAGANTANULOSAGANAKOKAID
|
||||
,C_MAGANTANULOSAGKEZDETE
|
||||
,C_NAPLOSORSZAM
|
||||
,C_NYILVANTARTASKEZDETE
|
||||
,C_OSZTV
|
||||
,C_POLGARISZERZODESES
|
||||
,C_SZAKMAIGYAKORLATON
|
||||
,C_SZETVAGAZAT
|
||||
,C_SZINTVIZSGA
|
||||
,C_SZKTV
|
||||
,C_TANDIJATFIZETO
|
||||
,C_TANKOTELEZETT
|
||||
,C_TANKOTELEZETTSEGVEGE
|
||||
,C_TANTERVID
|
||||
,C_TANULOEVFOLYAMTIPUSID
|
||||
,C_TANULOSZERZODESES
|
||||
,C_TECHNIKUSIEVFOLYAM
|
||||
,C_TERITESIDIJATFIZETO
|
||||
,C_TORZSLAPSZAM
|
||||
,C_VENDEG
|
||||
) TanugyiAdatok WHERE IsDuplikalt <= @isDuplikalt
|
||||
)
|
||||
GO
|
|
@ -0,0 +1,40 @@
|
|||
DROP FUNCTION IF EXISTS fnGetUtkozesByOsztalycsoport
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [fnGetUtkozesByOsztalycsoport] (
|
||||
@startTime datetime,
|
||||
@endTime datetime,
|
||||
@osztalyCsoportId int,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
) RETURNS TABLE
|
||||
RETURN (
|
||||
SELECT o.ID AS OrarendiOraId, NULL AS TanitasioraId, NULL AS OsztalyCsoportId, NULL as NemKotottMunkaido
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = n.C_NAPDATUMA
|
||||
INNER JOIN T_ORARENDIORA_OSSZES o ON (ISNULL(tr.C_HETIREND, n.C_HETIREND) = o.C_HETIREND OR o.C_HETIREND = 1554)
|
||||
AND ISNULL(tr.C_HETNAPJA, n.C_HETNAPJA) = o.C_HETNAPJA
|
||||
AND n.C_INTEZMENYID = o.C_INTEZMENYID
|
||||
AND n.C_TANEVID = o.C_TANEVID
|
||||
WHERE CAST(CAST(@startTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAKEZDETE AS TIME) AS DATETIME) < @endTime
|
||||
AND CAST(CAST(@endTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAVEGE AS TIME) AS DATETIME) > @startTime
|
||||
AND o.C_OSZTALYCSOPORTID IN (SELECT ID FROM dbo.fnGetKapcsolodoOsztalycsoportok(@osztalyCsoportId))
|
||||
AND n.C_TANEVID = @tanevId
|
||||
AND n.C_INTEZMENYID = @intezmenyId
|
||||
AND n.C_NAPDATUMA >= CAST(@startTime AS DATE) AND n.C_NAPDATUMA <= CAST(@endTime AS DATE)
|
||||
AND n.TOROLT = 'F' AND (tr.TOROLT = 'F' OR tr.TOROLT IS NULL) AND o.TOROLT = 'F' and o.C_PARHUZAMOSORA = 'F'
|
||||
AND o.C_ORAERVENYESSEGKEZDETE <= CAST(@endTime AS DATE) AND o.C_ORAERVENYESSEGVEGE > CAST(@startTime AS DATE)
|
||||
|
||||
UNION
|
||||
|
||||
SELECT o.ID AS OrarendiOraId, tn.ID AS TanitasioraId, tn.C_OSZTALYCSOPORTID AS OsztalyCsoportID, NULL as NemKotottMunkaido
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
LEFT JOIN T_ORARENDIORA o ON tn.C_ORARENDIORAGROUPID = o.C_ORARENDIORAGROUPID AND tn.C_DATUM BETWEEN o.C_ORAERVENYESSEGKEZDETE AND o.C_ORAERVENYESSEGVEGE
|
||||
WHERE tn.C_ORAKEZDETE < @endTime
|
||||
AND tn.C_ORAVEGE > @startTime
|
||||
AND tn.C_OSZTALYCSOPORTID IN (SELECT ID FROM dbo.fnGetKapcsolodoOsztalycsoportok(@osztalyCsoportId))
|
||||
AND tn.C_TANEVID = @tanevId
|
||||
AND tn.C_INTEZMENYID = @intezmenyId
|
||||
AND tn.TOROLT = 'F' and tn.C_PARHUZAMOSORA = 'F'
|
||||
);
|
||||
GO
|
|
@ -0,0 +1,69 @@
|
|||
IF OBJECT_ID('fnGetUtkozesByTanar') IS NOT NULL BEGIN
|
||||
DROP FUNCTION fnGetUtkozesByTanar
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE FUNCTION [fnGetUtkozesByTanar] (
|
||||
@startTime datetime,
|
||||
@endTime datetime,
|
||||
@tanarId int,
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
) RETURNS TABLE
|
||||
RETURN (
|
||||
|
||||
SELECT
|
||||
o.ID AS OrarendiOraId
|
||||
,NULL AS TanitasiOraId
|
||||
,NULL as NemKotottMunkaido
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = n.C_NAPDATUMA
|
||||
INNER JOIN T_ORARENDIORA_OSSZES o ON (ISNULL(tr.C_HETIREND, n.C_HETIREND) = o.C_HETIREND OR o.C_HETIREND = 1554)
|
||||
AND ISNULL(tr.C_HETNAPJA, n.C_HETNAPJA) = o.C_HETNAPJA
|
||||
AND n.C_INTEZMENYID = o.C_INTEZMENYID
|
||||
AND n.C_TANEVID = o.C_TANEVID
|
||||
WHERE
|
||||
CAST(CAST(@startTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAKEZDETE AS TIME) AS DATETIME) < @endTime
|
||||
AND CAST(CAST(@endTime AS DATE) AS DATETIME) + CAST(CAST(o.C_ORAVEGE AS TIME) AS DATETIME) > @startTime
|
||||
AND o.C_TANARID = @tanarId
|
||||
AND n.C_TANEVID = @tanevId
|
||||
AND n.C_INTEZMENYID = @intezmenyId
|
||||
AND n.C_NAPDATUMA >= CAST(@startTime AS DATE) AND n.C_NAPDATUMA <= CAST(@endTime AS DATE)
|
||||
AND n.TOROLT = 'F' AND (tr.TOROLT = 'F' OR tr.TOROLT IS NULL) AND o.TOROLT = 'F' and o.C_PARHUZAMOSORA = 'F'
|
||||
AND o.C_ORAERVENYESSEGKEZDETE <= CAST(@endTime AS DATE) AND o.C_ORAERVENYESSEGVEGE > CAST(@startTime AS DATE)
|
||||
UNION
|
||||
SELECT
|
||||
o.ID AS OrarendiOraId
|
||||
,tn.ID AS TanitasioraId
|
||||
,NULL as NemKotottMunkaido
|
||||
FROM T_TANITASIORA_OSSZES tn
|
||||
LEFT JOIN T_ORARENDIORA o ON tn.C_ORARENDIORAGROUPID = o.C_ORARENDIORAGROUPID AND tn.C_DATUM BETWEEN o.C_ORAERVENYESSEGKEZDETE AND o.C_ORAERVENYESSEGVEGE
|
||||
WHERE
|
||||
tn.C_ORAKEZDETE < @endTime
|
||||
AND tn.C_ORAVEGE > @startTime
|
||||
AND ISNULL(tn.C_HELYETTESITOTANARID, tn.C_ORATULAJDONOSID) = @tanarId
|
||||
AND tn.C_TANEVID = @tanevId
|
||||
AND tn.C_INTEZMENYID = @intezmenyId
|
||||
AND tn.TOROLT = 'F' and tn.C_PARHUZAMOSORA = 'F'
|
||||
UNION
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
NULL AS OrarendiOraId
|
||||
,NULL AS TanitasiOraId
|
||||
,IIF(COUNT(*) > 0, COUNT(*), NULL) AS NemKotottMunkaido
|
||||
FROM T_NEMKOTOTTMUNKAIDO nkm
|
||||
WHERE
|
||||
nkm.C_TANEVID = @tanevId
|
||||
AND nkm.C_INTEZMENYID = @intezmenyId
|
||||
AND nkm.TOROLT = 'F'
|
||||
AND nkm.C_TANARID = @tanarId
|
||||
AND nkm.C_KEZDETE <= @endTime
|
||||
AND nkm.C_VEGE >= @startTime
|
||||
) AS nkmselect
|
||||
WHERE
|
||||
nkmselect.NemKotottMunkaido IS NOT NULL
|
||||
);
|
||||
GO
|
|
@ -0,0 +1,58 @@
|
|||
DROP FUNCTION IF EXISTS dbo.fnOsztondijHistoryOszlopok
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnOsztondijHistoryOszlopok()
|
||||
RETURNS TABLE
|
||||
AS
|
||||
RETURN (
|
||||
SELECT TablaId, TablaNev, OszlopNev, OszlopTipus, Alias
|
||||
FROM (
|
||||
VALUES
|
||||
-- TablaId TablaNev OszlopNev OszlopTipus Alias
|
||||
(1, 'T_OSZTALYCSOPORT', 'C_EVFOLYAMTIPUSA', 'EvfolyamTipus', N'Az osztály évfolyama' ),
|
||||
(1, 'T_OSZTALYCSOPORT', 'C_ISTECHNIKAI', 'Boolean', N'Az osztály technikai' ),
|
||||
(1, 'T_OSZTALYCSOPORT', 'C_KERESZTFELEVES', 'Boolean', N'Az osztály keresztféléves' ),
|
||||
(1, 'T_OSZTALYCSOPORT', 'C_FELADATKATEGORIAID', 'OktNevelesiKategoria', N'Az osztály modulja' ),
|
||||
(1, 'T_OSZTALYCSOPORT', 'C_VEGZOSEVFOLYAM', 'Boolean', N'Az osztály végzős' ),
|
||||
(1, 'T_OSZTALYCSOPORT', 'TOROLT', 'Boolean', N'Az osztály törölt' ),
|
||||
(2, 'T_TANULO', 'C_EVISMETLO', 'Boolean', N'A tanuló évismétlő' ),
|
||||
(2, 'T_TANULO', 'C_ISBESZAMITASOS', 'Boolean', N'A tanuló beszámításos' ),
|
||||
(2, 'T_TANULO', 'C_ISMASODIKTOBBSZAKMA', 'Boolean', N'A tanuló nem első szakmás' ),
|
||||
(2, 'T_TANULO', 'C_ISOSZTONDIJBOLKIZARVA', 'Boolean', N'A tanuló az ösztöndíjból kizárt' ),
|
||||
(2, 'T_TANULO', 'C_ISSZAKKEPZESIMUNKASZERZODESS', 'Boolean', N'A tanuló munkaszerződéses' ),
|
||||
(2, 'T_TANULO', 'C_JOGVISZONYATSZUNETELTETO', 'Boolean', N'A tanuló jogviszonya szünetel' ),
|
||||
(2, 'T_TANULO', 'C_JOGVISZONYTIPUSID', 'JogviszonyTipus', N'A tanuló jogviszonya' ),
|
||||
(2, 'T_TANULO', 'C_KEZIATLAG', 'NULL', N'A tanuló beállított átlaga' ),
|
||||
(2, 'T_TANULO', 'C_SZAMITOTTATLAG', 'NULL', N'A tanuló számított átlaga' ),
|
||||
(2, 'T_TANULO', 'C_TANULOSZERZODESES', 'NULL', N'A tanuló tanulószerződéses' ),
|
||||
(2, 'T_TANULO', 'C_VENDEG', 'Boolean', N'A tanuló vendégtanuló' ),
|
||||
(2, 'T_TANULO', 'C_ISBESZAMITASOSFIXSZAZALEK', 'Boolean', N'A tanulónak nincs releváns átlaga' ),
|
||||
(2, 'T_TANULO', 'C_ISMULASZTASMIATTKIZART', 'Boolean', N'A tanuló a hiányzásai miatt kizárt' ),
|
||||
(2, 'T_TANULO', 'C_ISSIKERESAGAZATIVIZSGA', 'Boolean', N'A tanuló sikeres ágazati vizsgát tett' ),
|
||||
(2, 'T_TANULO', 'C_ISATLAGSZAKKEPZESI', 'Boolean', N'Átlag szakképzési' ),
|
||||
(2, 'T_TANULO', 'C_ISINGYENESKEPZES', 'Boolean', N'A tanuló ingyenes képzésben vesz részt'),
|
||||
(2, 'T_TANULO', 'TOROLT', 'Boolean', N'A tanuló törölt' ),
|
||||
(3, 'T_TANULOCSOPORT', 'C_BELEPESDATUM', 'DateTime', N'A tanuló besorolásának dátuma' ),
|
||||
(3, 'T_TANULOCSOPORT', 'C_KILEPESDATUM', 'DateTime', N'A tanuló kisorolásának dátuma' ),
|
||||
(3, 'T_TANULOCSOPORT', 'C_JOGVISZONYTIPUSID', 'JogviszonyTipus', N'A tanuló jogviszonya' ),
|
||||
(3, 'T_TANULOCSOPORT', 'TOROLT', 'Boolean', N'A tanuló besorolása törölt' ),
|
||||
(4, 'T_TANULOMULASZTAS', 'C_IGAZOLT', 'Boolean', N'A tanuló mulasztása igazolt' ),
|
||||
(4, 'T_TANULOMULASZTAS', 'C_TIPUS', 'MulasztasTipus', N'A tanuló mulasztásának típusa' ),
|
||||
(4, 'T_TANULOMULASZTAS', 'C_TANITASIORAKID', 'NULL', N'A tanuló mulasztásának tanórája' ),
|
||||
(4, 'T_TANULOMULASZTAS', 'C_ORATANULOIID', 'NULL', N'A tanuló mulasztásának tanulója' ),
|
||||
(4, 'T_TANULOMULASZTAS', 'TOROLT', 'Boolean', N'A tanuló mulasztása törölt' ),
|
||||
(5, 'T_TANULOTANUGYIADATOK', 'C_EVISMETLO', 'Boolean', N'A tanuló évismétlő' ),
|
||||
(5, 'T_TANULOTANUGYIADATOK', 'C_ISBESZAMITASOS', 'Boolean', N'A tanuló beszámításos' ),
|
||||
(5, 'T_TANULOTANUGYIADATOK', 'C_ISMASODIKTOBBSZAKMA', 'Boolean', N'A tanuló nem első szakmás' ),
|
||||
(5, 'T_TANULOTANUGYIADATOK', 'C_ISSZAKKEPZESIMUNKASZERZODESS', 'Boolean', N'A tanuló munkaszerződéses' ),
|
||||
(5, 'T_TANULOTANUGYIADATOK', 'C_JOGVISZONYATSZUNETELTETO', 'Boolean', N'A tanuló jogviszonya szünetel' ),
|
||||
(5, 'T_TANULOTANUGYIADATOK', 'C_TANULOEVFOLYAMTIPUSID', 'Boolean', N'A tanuló egyéni évfolyama' ),
|
||||
(5, 'T_TANULOTANUGYIADATOK', 'C_TANULOSZERZODESES', 'Boolean', N'A tanuló tanulószerződéses' ),
|
||||
(5, 'T_TANULOTANUGYIADATOK', 'C_VENDEG', 'Boolean', N'A tanuló vendégtanuló' ),
|
||||
(5, 'T_TANULOTANUGYIADATOK', 'TOROLT', 'Boolean', N'A tanuló vagy besorolása törölt' ),
|
||||
(5, 'T_TANULOTANUGYIADATOK', 'C_ISBESZAMITASOSFIXSZAZALEK', 'Boolean', N'A tanulónak nincs releváns átlaga' ),
|
||||
(5, 'T_TANULOTANUGYIADATOK', 'C_AGAZATUJSZKTTIPUSID', 'AgazatUjSzktTipus', N'A tanuló képzésének ágazata' ),
|
||||
(5, 'T_TANULOTANUGYIADATOK', 'C_SZAKMATIPUSID', 'SzakmaTipus', N'A tanuló képzésének szakmatípusa' )
|
||||
) as t(TablaId, TablaNev, OszlopNev, OszlopTipus, Alias)
|
||||
)
|
||||
GO
|
|
@ -0,0 +1,52 @@
|
|||
DROP FUNCTION IF EXISTS dbo.fnRemoveXmlEvilCharacters
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dbo.fnRemoveXmlEvilCharacters (@text NVARCHAR(MAX))
|
||||
RETURNS NVARCHAR(MAX) AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @return_value NVARCHAR(MAX)
|
||||
|
||||
SET @return_value =
|
||||
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
|
||||
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
|
||||
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
|
||||
REPLACE(REPLACE(REPLACE(
|
||||
@text
|
||||
,CHAR(0x0), '')
|
||||
,CHAR(0x1), '')
|
||||
,CHAR(0x2), '')
|
||||
,CHAR(0x3), '')
|
||||
,CHAR(0x4), '')
|
||||
,CHAR(0x5), '')
|
||||
,CHAR(0x6), '')
|
||||
,CHAR(0x7), '')
|
||||
,CHAR(0x8), '')
|
||||
,CHAR(0x9), '')
|
||||
,CHAR(0xa), '')
|
||||
,CHAR(0xb), '')
|
||||
,CHAR(0xc), '')
|
||||
,CHAR(0xd), '')
|
||||
,CHAR(0xe), '')
|
||||
,CHAR(0xf), '')
|
||||
,CHAR(0x10), '')
|
||||
,CHAR(0x11), '')
|
||||
,CHAR(0x12), '')
|
||||
,CHAR(0x13), '')
|
||||
,CHAR(0x14), '')
|
||||
,CHAR(0x15), '')
|
||||
,CHAR(0x16), '')
|
||||
,CHAR(0x17), '')
|
||||
,CHAR(0x18), '')
|
||||
,CHAR(0x19), '')
|
||||
,CHAR(0x1a), '')
|
||||
,CHAR(0x1b), '')
|
||||
,CHAR(0x1c), '')
|
||||
,CHAR(0x1d), '')
|
||||
,CHAR(0x1e), '')
|
||||
,CHAR(0x1f), '')
|
||||
,CHAR(0x7f), '')
|
||||
|
||||
RETURN @return_value
|
||||
|
||||
END
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,75 @@
|
|||
-- =============================================
|
||||
-- Description: <Ellenőrizzuk, hogy a megadott 4T alapján szerepel-e az adatbázisban>
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_Check4TValidation]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_Check4TValidation]
|
||||
@pCheckValidationType int,
|
||||
@pElotag nvarchar(255),
|
||||
@pVezeteknev nvarchar(255),
|
||||
@pUtonev nvarchar(255),
|
||||
@pAnyjaNeve nvarchar(255) = null,
|
||||
@pAnyjaVezeteknev nvarchar(255) = null,
|
||||
@pAnyjaUtonev nvarchar(255) = null,
|
||||
@pSzuletesiHely nvarchar(255),
|
||||
@pSzuletesiDatum datetime,
|
||||
@pTanevId int = null,
|
||||
@pUserId int = null,
|
||||
@pFelvetelStatuszaFelveve int = null,
|
||||
@pFelvetelStatuszaNemFelveve int = null
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF (@pCheckValidationType = 1) /* Tanuló */
|
||||
BEGIN
|
||||
IF (@pUserId IS NOT NULL)
|
||||
SELECT f.ID FROM T_FELHASZNALO_OSSZES f
|
||||
JOIN T_TANULO_OSSZES t on t.ID = f.ID
|
||||
WHERE
|
||||
f.C_VEZETEKNEV = @pVezeteknev AND f.C_UTONEV = @pUtonev AND f.C_ANYJANEVE = @pAnyjaNeve
|
||||
AND f.C_SZULETESIHELY = @pSzuletesiHely AND f.C_SZULETESIDATUM = @pSzuletesiDatum AND f.ID != @pUserId
|
||||
AND f.C_TANEVID = @pTanevId AND f.TOROLT = 'F' AND ISNULL(f.C_ELOTAG,'') = @pElotag
|
||||
ELSE
|
||||
SELECT f.ID FROM T_FELHASZNALO_OSSZES f
|
||||
JOIN T_TANULO_OSSZES t on t.ID = f.ID
|
||||
WHERE
|
||||
f.C_VEZETEKNEV = @pVezeteknev AND f.C_UTONEV = @pUtonev AND f.C_ANYJANEVE = @pAnyjaNeve
|
||||
AND f.C_SZULETESIHELY = @pSzuletesiHely AND f.C_SZULETESIDATUM = @pSzuletesiDatum
|
||||
AND f.C_TANEVID = @pTanevId AND f.TOROLT = 'F' AND ISNULL(f.C_ELOTAG,'') = @pElotag
|
||||
END
|
||||
ELSE IF (@pCheckValidationType = 2) /* Alkalmazott */
|
||||
BEGIN
|
||||
IF (@pUserId IS NOT NULL)
|
||||
SELECT f.ID FROM T_FELHASZNALO_OSSZES f
|
||||
JOIN T_ALKALMAZOTT_OSSZES a on a.ID = f.ID
|
||||
WHERE
|
||||
f.C_VEZETEKNEV = @pVezeteknev AND f.C_UTONEV = @pUtonev AND f.C_ANYJANEVE = @pAnyjaNeve
|
||||
AND f.C_SZULETESIHELY = @pSzuletesiHely AND f.C_SZULETESIDATUM = @pSzuletesiDatum AND f.ID != @pUserId
|
||||
AND f.C_TANEVID = @pTanevId AND f.TOROLT = 'F' AND ISNULL(f.C_ELOTAG,'') = @pElotag
|
||||
ELSE
|
||||
SELECT f.ID FROM T_FELHASZNALO_OSSZES f
|
||||
JOIN T_ALKALMAZOTT_OSSZES a on a.ID = f.ID
|
||||
WHERE
|
||||
f.C_VEZETEKNEV = @pVezeteknev AND f.C_UTONEV = @pUtonev AND f.C_ANYJANEVE = @pAnyjaNeve
|
||||
AND f.C_SZULETESIHELY = @pSzuletesiHely AND f.C_SZULETESIDATUM = @pSzuletesiDatum
|
||||
AND f.C_TANEVID = @pTanevId AND f.TOROLT = 'F' AND ISNULL(f.C_ELOTAG,'') = @pElotag
|
||||
END
|
||||
ELSE IF (@pCheckValidationType = 3) /* Nebuló */
|
||||
BEGIN
|
||||
IF EXISTS (SELECT 1 FROM T_NEBULO n
|
||||
WHERE
|
||||
n.C_TANULOCSALADINEVE = @pVezeteknev AND n.C_TANULOUTONEVE = @pUtonev
|
||||
AND n.C_EDESANYJASZULETESICSALADINEV = @pAnyjaVezeteknev AND n.C_EDESANYJASZULETESIUTONEVE = @pAnyjaUtonev
|
||||
AND n.C_SZULETESIHELY = @pSzuletesiHely AND n.C_SZULETESIIDO = @pSzuletesiDatum
|
||||
AND (@pUserId IS NULL OR ID != @pUserId) AND (n.C_FELVETELSTATUSZA = @pFelvetelStatuszaFelveve OR n.C_FELVETELSTATUSZA = @pFelvetelStatuszaNemFelveve) AND n.TOROLT = 'F'
|
||||
AND ISNULL(n.C_ELOTAG,'') = @pElotag
|
||||
)
|
||||
SELECT 1
|
||||
ELSE
|
||||
SELECT 0
|
||||
END
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,35 @@
|
|||
-- =============================================
|
||||
-- Description: <Ellenőrizzuk, hogy a felhasználóhoz tartozik-e a paraméterben megadott szerepkor>
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_CheckFelhasznaloHasSzerepkor]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_CheckFelhasznaloHasSzerepkor]
|
||||
@pFelhasznaloId AS INT,
|
||||
@pSzerepkorTipusId AS INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF EXISTS(
|
||||
SELECT 1
|
||||
FROM
|
||||
T_FELHASZNALO felhasznalo
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_SZEREPKOR felhasznaloSzerepkor ON
|
||||
felhasznaloSzerepkor.C_FELHASZNALOID = felhasznalo.ID
|
||||
LEFT JOIN
|
||||
T_SZEREPKOR szerepkor ON
|
||||
szerepkor.ID = felhasznaloSzerepkor.C_SZEREPKORID
|
||||
WHERE
|
||||
felhasznalo.TOROLT = 'F' AND
|
||||
felhasznalo.ID = @pFelhasznaloId AND
|
||||
szerepkor.TOROLT = 'F' AND
|
||||
szerepkor.C_SZEREPKORTIPUS = @pSzerepkorTipusId
|
||||
)
|
||||
SELECT 1
|
||||
ELSE
|
||||
SELECT 0
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,41 @@
|
|||
-- =============================================
|
||||
-- Description: <Ellenőrizzuk, hogy a megadott nebuló 4T alapján szerepel-e az adatbázisban>
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_CheckNebulo4TValidation]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_CheckNebulo4TValidation]
|
||||
@pNebuloId AS INT = NULL,
|
||||
@pFelvetelStatuszaFelveve INT,
|
||||
@pVezeteknev NVARCHAR(255),
|
||||
@pUtonev NVARCHAR(255),
|
||||
@pAnyjaVezeteknev NVARCHAR(255),
|
||||
@pAnyjaUtonev NVARCHAR(255),
|
||||
@pSzuletesiHely NVARCHAR(50),
|
||||
@pSzuletesiDatum DATETIME
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF
|
||||
EXISTS (SELECT 1
|
||||
FROM
|
||||
T_NEBULO
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND (@pNebuloId IS NULL OR ID != @pNebuloId)
|
||||
AND C_FELVETELSTATUSZA = @pFelvetelStatuszaFelveve
|
||||
AND C_TANULOCSALADINEVE = @pVezeteknev
|
||||
AND C_TANULOUTONEVE = @pUtonev
|
||||
AND C_EDESANYJASZULETESICSALADINEV = @pAnyjaVezeteknev
|
||||
AND C_EDESANYJASZULETESIUTONEVE = @pAnyjaUtonev
|
||||
AND C_SZULETESIHELY = @pSzuletesiHely
|
||||
AND C_SZULETESIIDO = @pSzuletesiDatum
|
||||
)
|
||||
|
||||
SELECT 1
|
||||
ELSE
|
||||
SELECT 0
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,44 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_CheckOktatasiAzonositoUtkozesValidation]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_CheckOktatasiAzonositoUtkozesValidation]
|
||||
@pNebuloId AS INT = NULL,
|
||||
@pFelvetelStatusza INT = NULL,
|
||||
@pOktatasiAzonosito NVARCHAR(20)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF (@pFelvetelStatusza IS NULL)
|
||||
IF
|
||||
EXISTS (SELECT 1
|
||||
FROM
|
||||
T_NEBULO
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND (@pNebuloId IS NULL OR ID != @pNebuloId)
|
||||
AND C_OKTATASIAZONOSITOSZAMA = @pOktatasiAzonosito
|
||||
)
|
||||
|
||||
SELECT 1
|
||||
ELSE
|
||||
SELECT 0
|
||||
|
||||
ELSE
|
||||
IF
|
||||
EXISTS (SELECT 1
|
||||
FROM
|
||||
T_NEBULO
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
AND (@pNebuloId IS NULL OR ID != @pNebuloId)
|
||||
AND C_FELVETELSTATUSZA = @pFelvetelStatusza
|
||||
AND C_OKTATASIAZONOSITOSZAMA = @pOktatasiAzonosito
|
||||
)
|
||||
|
||||
SELECT 1
|
||||
ELSE
|
||||
SELECT 0
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,124 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_CsengetesiRendOrakTorles]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_CsengetesiRendOrakTorles]
|
||||
@TanevId int,
|
||||
@xml xml
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @torlendoCsengetesiRendek TABLE (id int);
|
||||
|
||||
INSERT INTO @torlendoCsengetesiRendek
|
||||
SELECT
|
||||
sor.value('.', 'int') AS id
|
||||
FROM @xml.nodes('/CsengetesiRendOraTorles/IdLista/Id') as sorok(sor)
|
||||
|
||||
SELECT
|
||||
ID oraId,
|
||||
csengrendOraId,
|
||||
newCsengrendOraId,
|
||||
newOraKezdete,
|
||||
newOraVege,
|
||||
ISNULL(newOraszam, 0) newOraszam,
|
||||
newCsengrendId,
|
||||
IsTanora,
|
||||
UpdateVegeDate,
|
||||
UpdateKezdeteDate,
|
||||
UpdateType
|
||||
INTO #TEMPmodositandoOrak
|
||||
from (
|
||||
select kapcsolodoOrak.ID,
|
||||
kapcsolodoOrak.C_CSENGETESIRENDID,
|
||||
kapcsolodoOrak.C_CSENGETESIRENDORAID csengrendOraId,
|
||||
kapcsolodoOrak.C_ORASZAM,
|
||||
alapcsora.C_KEZDETE,
|
||||
alapcsora.C_VEGE,
|
||||
kapcsolodoOrak.C_ORAKEZDETE,
|
||||
kapcsolodoOrak.C_ORAVEGE,
|
||||
kapcsolodoOrak.Tanora IsTanora,
|
||||
csengrend.ID newCsengrendOraId,
|
||||
csengrend.C_CSENGETESIRENDID newCsengrendId,
|
||||
csengrend.C_KEZDETE newOraKezdete,
|
||||
csengrend.C_VEGE newOraVege,
|
||||
csengrend.C_ORASZAM newOraszam
|
||||
,IIF(kapcsolodoOrak.Tanora = 0 and cast(alapcsora.C_VEGE as time) = cast(kapcsolodoOrak.C_ORAVEGE as time) and csengrend.C_VEGE is not null, 1, 0) UpdateVegeDate
|
||||
,IIF(kapcsolodoOrak.Tanora = 0 and cast(alapcsora.C_KEZDETE as time) = cast(kapcsolodoOrak.C_ORAKEZDETE as time) and csengrend.C_KEZDETE is not null, 1, 0) UpdateKezdeteDate
|
||||
,IIF(csengrend.ID is null, 1, 0) UpdateType
|
||||
from (
|
||||
select
|
||||
x.ID,
|
||||
C_CSENGETESIRENDID,
|
||||
C_CSENGETESIRENDORAID,
|
||||
C_ORASZAM,
|
||||
C_ORAKEZDETE,
|
||||
C_ORAVEGE,
|
||||
Tanora
|
||||
from(
|
||||
select ID,
|
||||
C_CSENGETESIRENDID,
|
||||
C_CSENGETESIRENDORAID,
|
||||
C_ORASZAM,
|
||||
C_ORAKEZDETE,
|
||||
C_ORAVEGE,
|
||||
0 Tanora
|
||||
from T_ORARENDIORA_OSSZES
|
||||
union
|
||||
select ID,
|
||||
C_CSENGETESIRENDID,
|
||||
C_CSENGETESIRENDORAID,
|
||||
C_ORASZAM,
|
||||
C_ORAKEZDETE,
|
||||
C_ORAVEGE,
|
||||
1 Tanora
|
||||
from T_TANITASIORA_OSSZES
|
||||
) x
|
||||
inner join @torlendoCsengetesiRendek torlendoIdk on torlendoIdk.id = x.C_CSENGETESIRENDORAID
|
||||
) kapcsolodoOrak
|
||||
left join (
|
||||
select
|
||||
ID,
|
||||
C_KEZDETE,
|
||||
C_VEGE
|
||||
from T_CSENGETESIRENDORA_OSSZES) alapcsora on alapcsora.ID = kapcsolodoOrak.C_CSENGETESIRENDORAID
|
||||
left join (select csora.ID,
|
||||
csora.C_CSENGETESIRENDID,
|
||||
csora.C_KEZDETE,
|
||||
csora.C_VEGE,
|
||||
csora.C_ORASZAM
|
||||
from T_CSENGETESIRENDORA_OSSZES csora
|
||||
inner join T_CSENGETESIREND_OSSZES on csora.C_CSENGETESIRENDID = T_CSENGETESIREND_OSSZES.ID And T_CSENGETESIREND_OSSZES.C_AKTIV = 'T'
|
||||
where csora.C_TANEVID = @TanevId)csengrend on csengrend.C_ORASZAM = kapcsolodoOrak.C_ORASZAM and csengrend.ID != kapcsolodoOrak.C_CSENGETESIRENDORAID
|
||||
)t
|
||||
|
||||
UPDATE o
|
||||
SET
|
||||
o.C_ORAVEGE = IIF(temp.UpdateVegeDate = 1,
|
||||
DATEADD(HOUR, datepart(hour, temp.newOraVege),DATEADD(MINUTE,datepart(minute, temp.newOraVege),CAST(CAST(o.C_ORAVEGE AS DATE) as datetime))),
|
||||
o.C_ORAVEGE),
|
||||
o.C_ORAKEZDETE = IIF(temp.UpdateKezdeteDate = 1,
|
||||
DATEADD(HOUR, datepart(hour, temp.newOraVege),DATEADD(MINUTE,datepart(minute, temp.newOraVege),CAST(CAST(o.C_ORAKEZDETE AS DATE) as datetime))),
|
||||
o.C_ORAKEZDETE),
|
||||
o.C_CSENGETESIRENDID = temp.newCsengrendId,
|
||||
o.C_CSENGETESIRENDORAID = temp.newCsengrendOraId,
|
||||
o.C_ORASZAM = temp.newOraszam
|
||||
from T_ORARENDIORA_OSSZES o
|
||||
inner join #TEMPmodositandoOrak temp on temp.csengrendOraId = o.C_CSENGETESIRENDORAID and temp.IsTanora = 0
|
||||
|
||||
UPDATE t
|
||||
SET
|
||||
t.C_CSENGETESIRENDID = temp.newCsengrendId,
|
||||
t.C_CSENGETESIRENDORAID = temp.newCsengrendOraId,
|
||||
t.C_ORASZAM = temp.newOraszam
|
||||
from T_TANITASIORA_OSSZES t
|
||||
inner join #TEMPmodositandoOrak temp on temp.csengrendOraId = t.C_CSENGETESIRENDORAID and temp.IsTanora = 1
|
||||
|
||||
DELETE csro
|
||||
FROM T_CSENGETESIRENDORA_OSSZES csro
|
||||
inner join @torlendoCsengetesiRendek torlendoIdk on torlendoIdk.id = csro.ID
|
||||
|
||||
DROP TABLE #TEMPmodositandoOrak
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,29 @@
|
|||
DROP PROCEDURE IF EXISTS dbo.sp_CsoportKisorolasok
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dbo.sp_CsoportKisorolasok
|
||||
@pintezmenyId INT
|
||||
,@paktTanevId INT
|
||||
,@pfelhasznaloId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @date datetime = (
|
||||
SELECT DATEADD(DAY, 1, C_DATUM)
|
||||
FROM T_TANEVRENDJE_OSSZES
|
||||
WHERE C_NAPTIPUSA = 1395
|
||||
AND TOROLT = 'F'
|
||||
AND C_INTEZMENYID = @pintezmenyId
|
||||
AND C_TANEVID = @paktTanevId);
|
||||
|
||||
UPDATE T_TANULOCSOPORT_OSSZES
|
||||
SET C_KILEPESDATUM = @date,
|
||||
MODIFIER = @pfelhasznaloId
|
||||
WHERE C_KILEPESDATUM IS NULL
|
||||
AND TOROLT = 'F'
|
||||
AND C_INTEZMENYID = @pintezmenyId
|
||||
AND C_TANEVID = @paktTanevId;
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,112 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_DeleteAllTTF]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_DeleteAllTTF]
|
||||
@feladatellatasiHelyId INT = NULL
|
||||
,@tanevId INT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @feladatellatasiHelyId IS NULL BEGIN
|
||||
DELETE FROM T_FOGLALKOZAS_OSSZES
|
||||
WHERE ID IN (
|
||||
SELECT ID FROM T_FOGLALKOZAS_OSSZES f
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
|
||||
AND f.C_IMPORTALT = 'T'
|
||||
AND f.C_TANEVID = @tanevId
|
||||
)
|
||||
END
|
||||
ELSE BEGIN -- Csak a megadott feladatellátási helyen töröl TODO:ez a rész sehonnan nincs hívvva, töröl
|
||||
DELETE FROM T_FOGLALKOZAS_OSSZES
|
||||
WHERE ID IN (
|
||||
SELECT ID FROM T_FOGLALKOZAS_OSSZES f
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE f.ID = C_FOGLALKOZASID)
|
||||
AND f.C_IMPORTALT = 'T'
|
||||
AND f.C_OSZTALYCSOPORTID IN (
|
||||
SELECT ID FROM T_OSZTALYCSOPORT_OSSZES WHERE C_FELADATELLATASIHELYID = @feladatellatasiHelyId and C_TANEVID = @tanevId
|
||||
)
|
||||
AND f.C_TANEVID = @tanevId
|
||||
)
|
||||
END
|
||||
|
||||
/*
|
||||
* Innentől nem kell figyelni a feladatellátási helyet,
|
||||
* mert a NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS szerepel mindenütt
|
||||
*/
|
||||
DELETE t
|
||||
FROM T_TANTARGY_OSSZES t
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_ORATERVTARGY_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANMENET_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOESEMENY_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOMENTESSEG_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANTARGY_OSSZES WHERE C_FOTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_TANTARGYID = t.ID)
|
||||
AND C_IMPORTALT = 'T'
|
||||
AND C_TANEVID = @tanevId
|
||||
|
||||
DELETE cs
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = cs.ID
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = cs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = cs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = cs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = cs.ID)
|
||||
--T_OSZTALYCSOPORT függőségeinek vizsgálata
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANMENET_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOCSOPORT_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND C_IMPORTALT = 'T'
|
||||
AND C_TANEVID = @tanevId
|
||||
|
||||
DELETE o
|
||||
FROM T_OSZTALY_OSSZES o
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_NAPLOELLENORZES_OSSZES WHERE o.ID = C_OSZTALYID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = o.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE C_OSZTALYBONTASID = o.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = o.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = o.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = o.ID)
|
||||
AND C_ALTANEVID = @tanevId
|
||||
--T_OSZTALYCSOPORT függőségeinek vizsgálata
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANMENET_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOCSOPORT_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND C_IMPORTALT = 'T'
|
||||
AND C_TANEVID = @tanevId
|
||||
|
||||
DELETE ocs
|
||||
FROM T_OSZTALYCSOPORT_OSSZES ocs
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANITASIORA_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANMENET_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOCSOPORT_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANULOERTEKELES_OSSZES WHERE ocs.ID = C_OSZTALYCSOPORTID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_FOGLALKOZAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALY_OSSZES WHERE ID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_CSOPORT_OSSZES WHERE ID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_ORARENDIORA_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_HITTANADATSZOLGALTATAS_OSSZES WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANULOESEMENY WHERE C_OSZTALYCSOPORTID = ocs.ID)
|
||||
AND C_IMPORTALT = 'T'
|
||||
AND C_TANEVID = @tanevId
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,21 @@
|
|||
DROP PROCEDURE IF EXISTS sp_ElozoTanevesViewokTorlese
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_ElozoTanevesViewokTorlese
|
||||
@pintezmenyId INT
|
||||
,@pintezmenyAzonosito NVARCHAR(MAX)
|
||||
,@pkovTanevId INT
|
||||
WITH EXECUTE AS 'kreta_tech_user'
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE @schemaName nvarchar(max) = CONCAT(N'KR_', @pintezmenyAzonosito, N'_Schema')
|
||||
|
||||
EXEC dev.uspDeleteViewsAll @schemaName
|
||||
EXEC dev.uspCreateSchemaViews
|
||||
@pTables = NULL
|
||||
,@pSchemas = @schemaName
|
||||
,@pDebugMode = 0
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,633 @@
|
|||
DROP PROCEDURE IF EXISTS dbo.sp_ExportEsl_A03T01_1
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_ExportEsl_A03T01_1]
|
||||
@tanevId int
|
||||
,@feladatEllatasiHelyId int
|
||||
,@isFelevi int = 0
|
||||
,@osztalyzatTipusTypeID int = 44
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
--Táblák deklarálása
|
||||
CREATE TABLE #Tanulok (
|
||||
TanuloNev nvarchar(1024)
|
||||
,Neme int
|
||||
,Evfolyam int
|
||||
,Kategoria nvarchar(500)
|
||||
)
|
||||
CREATE TABLE #TanulokOsszes (
|
||||
Kategoria nvarchar(500)
|
||||
,Osszes int
|
||||
,OsszesLany int
|
||||
)
|
||||
CREATE TABLE #TanuloErtekeles (
|
||||
Id int
|
||||
,Tanulo int
|
||||
,Ertekeles int
|
||||
,Tipus int
|
||||
)
|
||||
CREATE TABLE #ErintettTanulok (
|
||||
Evfolyam int
|
||||
,TanuloId int
|
||||
,Neme int
|
||||
,TanuloNev nvarchar(255)
|
||||
,Oktatasiazonosito nvarchar(11)
|
||||
,TanuloOsztalyNev nvarchar(255)
|
||||
,IsKozepesMiatt int
|
||||
,IsRontasMiatt int
|
||||
,TanuloOsztalyId int
|
||||
,INDEX IX_01 (TanuloId)
|
||||
)
|
||||
CREATE TABLE #KetFeltetelTanulok (
|
||||
TanuloId int
|
||||
,Evfolyam int
|
||||
,Neme int
|
||||
,TanuloNev nvarchar(510)
|
||||
,OktatasiAzonosito nvarchar(11)
|
||||
,TanuloOsztalyNev nvarchar(255)
|
||||
,IsHianyzasMiatt int
|
||||
,IsKiemeltMiatt int
|
||||
,IsGyermekVedelemMiatt int
|
||||
,IsAltalanosIskolaMiatt int
|
||||
)
|
||||
CREATE TABLE #Kategoria(
|
||||
KategoriaNev nvarchar(500)
|
||||
,Sorrend int
|
||||
)
|
||||
CREATE TABLE #IntezmenyEvfolyamok(
|
||||
ID int
|
||||
,EvfolyamNev nvarchar(510)
|
||||
)
|
||||
INSERT INTO #Kategoria( --Egyszerűbb így, hogy meglegyen minden kategória a végén, sorrenddel együtt, akkor is, ha nincs hozzá elem
|
||||
KategoriaNev
|
||||
,Sorrend
|
||||
) VALUES
|
||||
('Osszesen',1)
|
||||
,('Lany',2)
|
||||
,('AFelevErtekelesenelMinositesenelATanuloEgyTizedesjegyigSzamitottTanulmanyiAtlagaAMagatartasEsSzorgalomErtekelesetMinositesetNemBeleszamitvaNemEriElKozepes3Szintet',3)
|
||||
,('AzEvVegiJegyekAlapjanAFeleviJegyekhezKepestLegalabb11NyiAtlagotRontoTanulokSzama',4)
|
||||
,('AFelevErtekelesenelMinositesenelATanuloEgyVagyTobbTantargybolElegtelen1OsztalyzatotKapott',5)
|
||||
,('AFelevMagatartasanakErtekelesenelMinositesenelATanuloRossz2ErtekelestKapott',6)
|
||||
,('AFelevSzorgalmanakErtekelesenelMinositesenelATanuloHanyag2ErtekelestKapott',7)
|
||||
,('AzAdottTanitasiEvbenEvismetlesreKotelezett',8)
|
||||
,('AFelevbenATanulo50OratMeghaladoHianyzassalRendelkezik',9)
|
||||
,('AFelevbenSzuloiKeresreMagantanulovaValtTanulo',10)
|
||||
,('AFelevbenMenekultOltalmazottMenedekesTanulokSzama',11)
|
||||
,('AFelevbenVeszelyezeztetteValtTanulokSzama',12)
|
||||
,('AFelevbenIdeiglenesHatallyalElhelyezettVagyNevelesbeVettTanulokSzama',13)
|
||||
,('KettoFeltetelTelejesuleseEsetenLemorzsolodassalVeszelyeztetettTanulo',14)
|
||||
,('EbbolAFelevben100OratEleroIgazoltHianyzassalRendelkezoTanulokSzama',15)
|
||||
,('EbbolKiemeltFigyelmetIgenyloTanulokSzamaAKiemeltenTehetsegesTanulokKivetelevel',16)
|
||||
,('EbbolRendszeresGyermekvedelmiKedvezmenybenReszesuloTanulokSzama',17)
|
||||
,('EbbolAlapfokuOktatasbanBetoltotteA16Eletevet',18)
|
||||
|
||||
DECLARE @FelevKezdete DATETIME= (
|
||||
SELECT C_DATUM + IIF(@isFelevi = 1, 0, 1)
|
||||
FROM T_TANEVRENDJE_OSSZES tr
|
||||
WHERE C_NAPTIPUSA = IIF(@isFelevi = 1, 1394, 1400)
|
||||
AND C_TANEVID = @tanevid
|
||||
AND TOROLT = 'F'
|
||||
)
|
||||
|
||||
DECLARE @FelevVege DATETIME= (
|
||||
SELECT C_DATUM + 1
|
||||
FROM T_TANEVRENDJE tr
|
||||
WHERE C_NAPTIPUSA = IIF(@isFelevi = 1, 1400, 1395)
|
||||
AND C_TANEVID=@tanevid
|
||||
AND TOROLT='F')
|
||||
|
||||
DECLARE @ertekelesTipus int=IIF(@isFelevi=1,1519,1520)
|
||||
DECLARE @osszesDb int
|
||||
DECLARE @cols nvarchar(max)
|
||||
INSERT INTO #IntezmenyEvfolyamok(
|
||||
Id
|
||||
,Evfolyamnev
|
||||
)
|
||||
SELECT DISTINCT
|
||||
dib.ID
|
||||
,dib.C_NAME
|
||||
FROM T_OSZTALYCSOPORT ocs
|
||||
INNER JOIN T_DICTIONARYITEMBASE dib ON dib.ID = ocs.C_EVFOLYAMTIPUSA AND dib.ID NOT IN(1303,1304,1305,1306,7366)--1-4 évfolyamok és összevont osztály
|
||||
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID
|
||||
WHERE ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId AND ocs.C_KEPZESIFORMA = 1096 --Nappali rendszerű iskolai oktatás
|
||||
UNION
|
||||
SELECT DISTINCT
|
||||
dib.ID
|
||||
,dib.C_NAME
|
||||
FROM T_TANULOTANUGYIADATOK tta
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.ID = tta.C_TANULOCSOPORTID
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId
|
||||
AND ocs.C_KEPZESIFORMA = 1096 --Nappali rendszerű iskolai oktatás
|
||||
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID
|
||||
INNER JOIN T_DICTIONARYITEMBASE dib ON dib.ID = tta.C_TANULOEVFOLYAMTIPUSID
|
||||
WHERE tta.C_TANULOEVFOLYAMTIPUSID NOT IN (1303,1304,1305,1306,7366) --1-4 évfolyamok és összevont osztály
|
||||
|
||||
SET @cols =
|
||||
STUFF((SELECT ',' + QUOTENAME(Evfolyamnev)
|
||||
FROM #IntezmenyEvfolyamok
|
||||
ORDER BY ID
|
||||
FOR XML PATH('')),1,1,'')
|
||||
|
||||
INSERT INTO #ErintettTanulok (
|
||||
TanuloId
|
||||
,Evfolyam
|
||||
,Neme
|
||||
,TanuloNev
|
||||
,OktatasiAzonosito
|
||||
,TanuloOsztalyNev
|
||||
,TanuloOsztalyId
|
||||
,IsKozepesMiatt
|
||||
,IsRontasMiatt
|
||||
)
|
||||
SELECT * FROM fnGetLemorzsolodottTanulokByFelhely (@feladatEllatasiHelyId, @tanevId, @isFelevi, @osztalyzatTipusTypeID)
|
||||
|
||||
INSERT INTO #TanuloErtekeles
|
||||
SELECT
|
||||
te.ID
|
||||
,C_TANULOID
|
||||
,C_ERTEKELESOSZTALYZATID
|
||||
,C_TIPUSID
|
||||
FROM T_TANULOERTEKELES te
|
||||
INNER JOIN #ErintettTanulok fht ON fht.TanuloId=te.C_TANULOID
|
||||
INNER JOIN T_TANTARGY tgy ON tgy.ID = te.C_TANTARGYID AND tgy.C_ESLTANTARGYKATEGORIAID IS NOT NULL
|
||||
WHERE te.C_TIPUSID=@ertekelesTipus
|
||||
|
||||
DECLARE @Kategoria nvarchar(500)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '1'
|
||||
----------------------------------------------------------------------
|
||||
-- Összes
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'Osszesen'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '2'
|
||||
----------------------------------------------------------------------
|
||||
-- Lány
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'Lany'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok
|
||||
WHERE Neme = 5
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '3'
|
||||
----------------------------------------------------------------------
|
||||
-- Összes rontott
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevErtekelesenelMinositesenelATanuloEgyTizedesjegyigSzamitottTanulmanyiAtlagaAMagatartasEsSzorgalomErtekelesetMinositesetNemBeleszamitvaNemEriElKozepes3Szintet'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok
|
||||
WHERE IsKozepesMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '4'
|
||||
----------------------------------------------------------------------
|
||||
-- Legalább 1.1-et rontott
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AzEvVegiJegyekAlapjanAFeleviJegyekhezKepestLegalabb11NyiAtlagotRontoTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok
|
||||
WHERE IsRontasMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '5'
|
||||
----------------------------------------------------------------------
|
||||
-- egy, vagy több tantárgyból elégtelen osztályzat
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevErtekelesenelMinositesenelATanuloEgyVagyTobbTantargybolElegtelen1OsztalyzatotKapott'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #TanuloErtekeles te
|
||||
INNER JOIN #ErintettTanulok fht ON fht.TanuloId=te.Tanulo
|
||||
WHERE te.Tipus = @ertekelesTipus AND te.Ertekeles = 1501
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '6'
|
||||
----------------------------------------------------------------------
|
||||
-- félév, magatartás, 2
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevMagatartasanakErtekelesenelMinositesenelATanuloRossz2ErtekelestKapott'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_TANULOID=fht.TanuloId AND te.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND (te.C_MAGATARTASERTEKID=1558 OR te.C_MAGATARTASOSZTALYZATID=1502) AND te.C_TIPUSID = @ertekelesTipus
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '7'
|
||||
----------------------------------------------------------------------
|
||||
-- félév, szorgalom, 2
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevSzorgalmanakErtekelesenelMinositesenelATanuloHanyag2ErtekelestKapott'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOERTEKELES te ON te.C_TANULOID=fht.TanuloId AND te.C_ISMAGATARTASSZORGALOM = 'T'
|
||||
AND (te.C_SZORGALOMERTEKID = 1562 OR te.C_SZORGALOMOSZTALYZATID=1502) AND te.C_TIPUSID = @ertekelesTipus
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '8'
|
||||
----------------------------------------------------------------------
|
||||
-- adott évben évismétlés
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AzAdottTanitasiEvbenEvismetlesreKotelezett'
|
||||
IF @isFelevi = 0
|
||||
BEGIN
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN (
|
||||
SELECT COUNT(DISTINCT fht.TanuloId) db,fht.TanuloId
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN #TanuloErtekeles te ON te.Tanulo=fht.TanuloId AND te.Ertekeles=1501
|
||||
GROUP BY fht.TanuloId
|
||||
HAVING COUNT(*)>=4) x ON x.TanuloId = fht.TanuloId
|
||||
END
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '9'
|
||||
----------------------------------------------------------------------
|
||||
-- Félévben 50 órát elérő igazolatlan hiányzás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenATanulo50OratMeghaladoHianyzassalRendelkezik'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN (
|
||||
SELECT fht.TanuloId AS Tanulo FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN #ErintettTanulok fht on fht.TanuloId=tm.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA tao on tao.ID=tm.C_TANITASIORAKID AND tao.C_DATUM >= @FelevKezdete AND tao.C_DATUM<@FelevVege
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = tao.C_OSZTALYCSOPORTID AND cs.C_TIPUSA NOT IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))
|
||||
WHERE tm.C_IGAZOLT='F' AND cs.ID IS NULL
|
||||
GROUP BY fht.TanuloId
|
||||
HAVING COUNT(Tanuloid) > 50) x ON x.Tanulo = fht.TanuloId
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '10'
|
||||
----------------------------------------------------------------------
|
||||
-- Szülő kérésére magántanuló
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenSzuloiKeresreMagantanulovaValtTanulo'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_TANULOID=fht.TanuloId AND tcs.C_OSZTALYCSOPORTID=fht.TanuloOsztalyId
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tcs.ID=tta.C_TANULOCSOPORTID AND tta.C_MAGANTANULOSAGANAKOKAID IN (663, 664)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '11'
|
||||
----------------------------------------------------------------------
|
||||
-- Menekült, menedékjoggal rendelkező
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenMenekultOltalmazottMenedekesTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_MENEDEKJOGGALRENDELKEZO='T' AND fht.TanuloId=t.ID
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '12'
|
||||
----------------------------------------------------------------------
|
||||
-- Félévben veszélyeztetett tanulók száma
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenVeszelyezeztetteValtTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.ID=fht.TanuloId AND t.C_VESZELYEZTETETT='T'
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '13'
|
||||
----------------------------------------------------------------------
|
||||
-- ideiglenes hatállyal elhelyezett vagy nevelésbe vett tanulók
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'AFelevbenIdeiglenesHatallyalElhelyezettVagyNevelesbeVettTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,fht.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #ErintettTanulok fht
|
||||
INNER JOIN T_TANULO t ON t.C_ALLAMIGONDOZOTT='T' AND fht.TanuloId=t.ID
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '14'
|
||||
----------------------------------------------------------------------
|
||||
-- legalább 2 feltétel teljesül
|
||||
----------------------------------------------------------------------
|
||||
|
||||
INSERT INTO #KetFeltetelTanulok
|
||||
SELECT DISTINCT
|
||||
ftt.TanuloId
|
||||
,ftt.Evfolyam
|
||||
,ftt.Neme
|
||||
,ftt.TanuloNev
|
||||
,ftt.OktatasiAzonosito
|
||||
,ftt.TanuloOsztalyNev
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULOMULASZTAS tm
|
||||
INNER JOIN T_TANITASIORA tno ON tno.ID = tm.C_TANITASIORAKID AND tno.C_DATUM > @FelevKezdete AND tno.C_DATUM < @FelevVege
|
||||
LEFT JOIN T_CSOPORT cs ON cs.ID = tno.C_OSZTALYCSOPORTID
|
||||
WHERE (cs.ID IS NULL OR cs.C_TIPUSA IN (SELECT ID FROM fnGetTanoraiCeluCsoportTipusok(@tanevId))) AND tm.C_IGAZOLT='T' AND tm.C_TIPUS = 1500 AND tm.C_ORATANULOIID = ftt.TanuloId) > 100, 1, 0) AS IsHianyzasMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULO t
|
||||
WHERE t.ID = ftt.TanuloId
|
||||
AND (t.C_SAJATOSNEVELESU='T' OR t.C_BTMPROBLEMAS='T' OR t.C_HATRANYOSHELYZETU IN (1122, 1123))) > 0, 1, 0) AS IsKiemeltMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_TANULO t
|
||||
WHERE t.ID = ftt.TanuloId
|
||||
AND t.C_RENDSZERESGYERMEKVEDELMIKEDV IS NOT NULL) > 0, 1, 0) AS IsGyermekVedelemMiatt
|
||||
,IIF((SELECT COUNT(1)
|
||||
FROM T_FELHASZNALO t
|
||||
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_TANULOID=t.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID=tcs.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.C_ISESL16EVESUTANBELEPETT = 'T'
|
||||
INNER JOIN T_FELADATELLATASIHELY fh ON fh.ID=ocs.C_FELADATELLATASIHELYID AND fh.C_OKTATASINEVELESIFELADATTIPUS IN (1158,1178)
|
||||
AND fh.ID = @feladatEllatasiHelyId
|
||||
WHERE t.ID = ftt.TanuloId) > 0, 1, 0) AS IsAltalanosIskolaMiatt
|
||||
FROM #ErintettTanulok ftt
|
||||
DELETE kt FROM #KetFeltetelTanulok kt WHERE (kt.IsHianyzasMiatt + kt.IsKiemeltMiatt + kt.IsGyermekVedelemMiatt + kt.IsAltalanosIskolaMiatt) < 2
|
||||
|
||||
SET @Kategoria = 'KettoFeltetelTelejesuleseEsetenLemorzsolodassalVeszelyeztetettTanulo'
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '15'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel esetén ... félévben 100 órát elért igazolt hiányzás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolAFelevben100OratEleroIgazoltHianyzassalRendelkezoTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,kt.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsHianyzasMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '16'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... kiemelet figyelmet igénylő --sni, btmn, hh, 3h
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolKiemeltFigyelmetIgenyloTanulokSzamaAKiemeltenTehetsegesTanulokKivetelevel'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,kt.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsKiemeltMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '17'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... --rendszeres gyermekvédelmi támogatás
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolRendszeresGyermekvedelmiKedvezmenybenReszesuloTanulokSzama'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,kt.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsGyermekVedelemMiatt = 1
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- PRINT '18'
|
||||
----------------------------------------------------------------------
|
||||
-- kettő feltétel ... alapfokú oktatásban 16
|
||||
----------------------------------------------------------------------
|
||||
|
||||
SET @Kategoria = 'EbbolAlapfokuOktatasbanBetoltotteA16Eletevet'
|
||||
|
||||
INSERT INTO #Tanulok(
|
||||
TanuloNev
|
||||
,Neme
|
||||
,Evfolyam
|
||||
,Kategoria
|
||||
) SELECT DISTINCT
|
||||
TanuloNev + ' - ' + OktatasiAzonosito + '; ' + TanuloOsztalyNev
|
||||
,kt.Neme
|
||||
,Evfolyam
|
||||
,@Kategoria
|
||||
FROM #KetFeltetelTanulok kt
|
||||
WHERE kt.IsAltalanosIskolaMiatt = 1
|
||||
|
||||
INSERT INTO #TanulokOsszes(
|
||||
Kategoria
|
||||
,Osszes
|
||||
,OsszesLany
|
||||
) SELECT
|
||||
Kategoria
|
||||
,COUNT(TanuloNev)
|
||||
,SUM(IIF(Neme = 5,1,0))
|
||||
FROM #Tanulok
|
||||
GROUP BY Kategoria
|
||||
|
||||
DECLARE @query nvarchar(max)
|
||||
set @query =
|
||||
'SELECT
|
||||
KategoriaNev
|
||||
,Sorrend
|
||||
,rn
|
||||
,' + @cols + '
|
||||
,Osszes
|
||||
,OsszesLany
|
||||
INTO #RetTable
|
||||
FROM (
|
||||
SELECT
|
||||
k.KategoriaNev
|
||||
,t.TanuloNev
|
||||
,ROW_NUMBER() OVER (PARTITION BY t.Kategoria,t.Evfolyam ORDER BY t.TanuloNev) rn
|
||||
,dib.C_NAME as Evfolyam
|
||||
,k.Sorrend
|
||||
,Ossz.Osszes
|
||||
,Ossz.OsszesLany
|
||||
FROM #Kategoria k
|
||||
LEFT JOIN #Tanulok t ON t.Kategoria = k.KategoriaNev
|
||||
LEFT JOIN T_DICTIONARYITEMBASE dib ON dib.ID = t.Evfolyam
|
||||
LEFT JOIN #TanulokOsszes ossz ON ossz.Kategoria = k.KategoriaNev
|
||||
) x
|
||||
PIVOT (
|
||||
MIN(TanuloNev)
|
||||
FOR Evfolyam IN (' + @cols + ')
|
||||
) p
|
||||
|
||||
SELECT
|
||||
KategoriaNev as Leiras
|
||||
,'+@cols+'
|
||||
,Osszes as Összesen
|
||||
,OsszesLany as Lány
|
||||
FROM #RetTable
|
||||
ORDER BY Sorrend,rn'
|
||||
|
||||
EXEC sp_executesql @query
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,72 @@
|
|||
DROP PROCEDURE IF EXISTS dbo.sp_FizikaiTorlesOrarendek
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Fizikailag töröljük az intézmény adott tanévére az órarendeket>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_FizikaiTorlesOrarendek]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pUserId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
UPDATE T_TANITASIORA_OSSZES SET
|
||||
C_ORARENDIORAID = NULL
|
||||
,SERIAL += 1
|
||||
,LASTCHANGED = GETDATE()
|
||||
,MODIFIER = @pUserId
|
||||
FROM T_TANITASIORA_OSSZES
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
AND C_ORARENDIORAID IS NOT NULL
|
||||
|
||||
UPDATE T_HAZIFELADATOK_OSSZES SET
|
||||
TOROLT = 'T'
|
||||
,C_ORARENDIORAID = NULL
|
||||
,SERIAL += 1
|
||||
,LASTCHANGED = GETDATE()
|
||||
,MODIFIER = @pUserId
|
||||
FROM T_HAZIFELADATOK_OSSZES
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
|
||||
DELETE FROM
|
||||
T_HELYETTESITESIIDOSZAK_OSSZES
|
||||
WHERE
|
||||
C_HELYETTESITETTORARENDID IN (
|
||||
SELECT ID
|
||||
FROM
|
||||
T_ORARENDIORA_OSSZES
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
)
|
||||
AND C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
|
||||
DELETE o
|
||||
FROM T_ORAREND_OSSZES o
|
||||
INNER JOIN T_ORARENDIORA_OSSZES oo ON oo.ID = o.C_ORARENDIORAID AND oo.C_TANEVID = o.C_TANEVID
|
||||
WHERE o.C_TANEVID = @pTanevId
|
||||
|
||||
CREATE TABLE #TempFajlIDs (ID int)
|
||||
DELETE fajlorarend
|
||||
OUTPUT DELETED.C_FELTOLTOTTFAJLID INTO #TempFajlIDs
|
||||
FROM T_FELTOLTOTTFAJL_ORARENDIORA fajlorarend
|
||||
INNER JOIN T_FELTOLTOTTFAJL fajl ON fajl.ID = fajlorarend.C_FELTOLTOTTFAJLID
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
DELETE fajl FROM T_FELTOLTOTTFAJL fajl
|
||||
INNER JOIN #TempFajlIDs ids ON ids.ID = fajl.ID
|
||||
DELETE FROM
|
||||
T_ORARENDIORA_OSSZES
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
DROP PROCEDURE IF EXISTS dbo.sp_FizikaiTorlesTantargyfelosztas
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Description: <Fizikailag töröljük az intézmény adott tanévére a tantárgyfelosztást>
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[sp_FizikaiTorlesTantargyfelosztas]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pUserId INT
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
UPDATE T_ORARENDIORA_OSSZES SET
|
||||
C_FOGLALKOZASID = NULL
|
||||
,SERIAL += 1
|
||||
,LASTCHANGED = GETDATE()
|
||||
,MODIFIER = @pUserId
|
||||
FROM T_ORARENDIORA_OSSZES
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
AND C_FOGLALKOZASID IS NOT NULL
|
||||
|
||||
UPDATE T_TANITASIORA_OSSZES SET
|
||||
C_FOGLALKOZASID = NULL
|
||||
,SERIAL += 1
|
||||
,LASTCHANGED = GETDATE()
|
||||
,MODIFIER = @pUserId
|
||||
FROM T_TANITASIORA_OSSZES
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId
|
||||
AND C_FOGLALKOZASID IS NOT NULL
|
||||
|
||||
DELETE fat
|
||||
FROM T_FOGLALKOZASAMITANULO_OSSZES fat
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON fat.C_FOGLALKOZASID = f.ID AND f.C_TANEVID = fat.C_TANEVID
|
||||
WHERE fat.C_TANEVID = @pTanevId
|
||||
|
||||
DELETE FROM
|
||||
T_FOGLALKOZAS_OSSZES
|
||||
WHERE C_INTEZMENYID = @pIntezmenyId
|
||||
AND C_TANEVID = @pTanevId;
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
DROP PROCEDURE IF EXISTS sp_FoglalkozasArchiv
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_FoglalkozasArchiv
|
||||
@intezmenyId int,
|
||||
@tanevId int
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
INSERT INTO T_FOGLALKOZASARCHIV (
|
||||
[C_ALKALMAZOTTID] -- INT NULL,
|
||||
,[C_ELFOGADASDATUMA] -- DATETIME NULL,
|
||||
,[C_FELADATELLATASIHELYID] -- INT NULL,
|
||||
,[C_FELADATELLATASIHELYNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_ORASZAM] -- NUMERIC (10, 2) NULL,
|
||||
,[C_OSZTALYCSOPORTID] -- INT NULL,
|
||||
,[C_OSZTALYCSOPORTNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARKOTELEZOORASZAMA] -- NUMERIC (10, 2) NULL,
|
||||
,[C_TANARMUNKAIDOKEDVEZMENYE] -- INT NULL,
|
||||
,[C_TANARMUNKAIDOKEDVEZMENYOKA] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARMUNKAIDOKEDVEZMENYOKAID]-- INT NULL,
|
||||
,[C_TANARMUNKAKORE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARMUNKAKOREID] -- INT NULL,
|
||||
,[C_TANARNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARPEDAGOGIAIKEPESITESE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANARPEDAGOGIAIKEPESITESEID]-- INT NULL,
|
||||
,[C_TANEVNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_TANTARGYID] -- INT NULL,
|
||||
,[C_TANTARGYNEVE] -- NVARCHAR (255) NULL,
|
||||
,[C_INTEZMENYID] -- INT NOT NULL,
|
||||
,[C_TANEVID] -- INT NOT NULL,
|
||||
,[TOROLT] -- CHAR (1) NULL,
|
||||
,[SERIAL] -- INT NULL,
|
||||
,[LASTCHANGED] -- DATETIME NULL,
|
||||
,[CREATED] -- DATETIME NULL,
|
||||
,[MODIFIER] -- INT NULL,
|
||||
,[CREATOR] -- INT NULL,
|
||||
) SELECT
|
||||
u.ID AS [C_ALKALMAZOTTID] -- INT NULL,
|
||||
,GETDATE() AS [C_ELFOGADASDATUMA] -- DATETIME NULL,
|
||||
,fh.ID AS [C_FELADATELLATASIHELYID] -- INT NULL,
|
||||
,'' AS [C_FELADATELLATASIHELYNEVE] -- NVARCHAR (255) NULL,
|
||||
,f.C_ORASZAM AS [C_ORASZAM] -- NUMERIC (10, 2) NULL,
|
||||
,ocs.ID AS [C_OSZTALYCSOPORTID] -- INT NULL,
|
||||
,ocs.C_NEV AS [C_OSZTALYCSOPORTNEVE] -- NVARCHAR (255) NULL,
|
||||
,m.C_KOTELEZOORASZAM AS [C_TANARKOTELEZOORASZAMA] -- NUMERIC (10, 2) NULL,
|
||||
,m.C_MUNKAIDOKEDVEZMENYORASZAM AS [C_TANARMUNKAIDOKEDVEZMENYE] -- INT NULL,
|
||||
,mk.C_NAME AS [C_TANARMUNKAIDOKEDVEZMENYOKA] -- NVARCHAR (255) NULL,
|
||||
,m.C_MUNKAIDOKEDVEZMENYOKA AS [C_TANARMUNKAIDOKEDVEZMENYOKAID]-- INT NULL,
|
||||
,k.C_NAME AS [C_TANARMUNKAKORE] -- NVARCHAR (255) NULL,
|
||||
,m.C_MUNKAKORTIPUSA AS [C_TANARMUNKAKOREID] -- INT NULL,
|
||||
,u.C_NYOMTATASINEV AS [C_TANARNEVE] -- NVARCHAR (255) NULL,
|
||||
,kp.C_NAME AS [C_TANARPEDAGOGIAIKEPESITESE] -- NVARCHAR (255) NULL,
|
||||
,m.C_BESOROLASIFOKOZAT AS [C_TANARPEDAGOGIAIKEPESITESEID]-- INT NULL,
|
||||
,te.C_NEV AS [C_TANEVNEVE] -- NVARCHAR (255) NULL,
|
||||
,t.ID AS [C_TANTARGYID] -- INT NULL,
|
||||
,t.C_NEV AS [C_TANTARGYNEVE] -- NVARCHAR (255) NULL,
|
||||
,f.C_INTEZMENYID AS [C_INTEZMENYID] -- INT NOT NULL,
|
||||
,f.C_TANEVID AS [C_TANEVID] -- INT NOT NULL,
|
||||
,'F' AS [TOROLT] -- CHAR (1) NULL,
|
||||
,0 AS [SERIAL] -- INT NULL,
|
||||
,NULL AS [LASTCHANGED] -- DATETIME NULL,
|
||||
,GETDATE() AS [CREATED] -- DATETIME NULL,
|
||||
,NULL AS [MODIFIER] -- INT NULL,
|
||||
,NULL AS [CREATOR] -- INT NULL,
|
||||
-- select count(1)
|
||||
FROM T_FOGLALKOZAS f
|
||||
INNER JOIN T_FELHASZNALO u ON u.ID = f.C_TANARID
|
||||
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = f.C_OSZTALYCSOPORTID and ocs.C_FELADATKATEGORIAID = 7553 /*OktNevelesiKategoriaEnum.Alapkepzes*/
|
||||
INNER JOIN T_ALKALMAZOTT a ON a.ID = u.ID
|
||||
INNER JOIN T_MUNKAUGYIADATOK m ON m.C_ALKALMAZOTTID = a.ID
|
||||
INNER JOIN T_TANTARGY t ON f.C_TANTARGYID = t.ID
|
||||
INNER JOIN T_TANEV te ON te.ID = f.C_TANEVID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE mk ON mk.ID = m.C_MUNKAIDOKEDVEZMENYOKA AND mk.C_TANEVID = f.C_TANEVID AND mk.C_INTEZMENYID = f.C_INTEZMENYID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE k ON k.ID = m.C_MUNKAKORTIPUSA AND k.C_TANEVID = f.C_TANEVID AND k.C_INTEZMENYID = f.C_INTEZMENYID
|
||||
LEFT JOIN T_DICTIONARYITEMBASE kp ON kp.ID = m.C_BESOROLASIFOKOZAT AND kp.C_TANEVID = f.C_TANEVID AND kp.C_INTEZMENYID = f.C_INTEZMENYID
|
||||
INNER JOIN T_FELADATELLATASIHELY fh ON fh.ID = m.C_FELADATELLATASIHELYID
|
||||
WHERE f.TOROLT = 'F'
|
||||
/*AND f.C_INTEZMENYID IN (
|
||||
SELECT DISTINCT e.C_INTEZMENYID FROM T_ENTITYHISTORY e
|
||||
INNER JOIN T_ENTITYATTRIBUTEHISTORY a ON a.C_ENTITYHISTORYID = e.ID
|
||||
INNER JOIN T_INTEZMENYADATSZOLGALTATAS i ON i.C_INTEZMENYID = e.C_INTEZMENYID
|
||||
WHERE e.C_ENTITYNAME IN ('T_INTEZMENYADATSZOLGALTATAS', 'INTEZMENYADATSZOLGALTATAS')
|
||||
AND a.C_PROPERTYNAME = 'C_VEGLEGESTTF'
|
||||
AND a.C_CURRENTVALUE = 'T'
|
||||
AND i.C_VEGLEGESTTF = 'T'
|
||||
)*/
|
||||
AND f.C_INTEZMENYID = @intezmenyId AND f.C_TANEVID = @tanevId
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,90 @@
|
|||
-- ==========================================================================================
|
||||
-- Author: Telek Ákos
|
||||
-- Create date: 2016.06.08.
|
||||
-- Description: Naptári hetek generálása TANEVRENDJE alapján
|
||||
-- ==========================================================================================
|
||||
DROP PROCEDURE IF EXISTS sp_GenerateNaptariHetek
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GenerateNaptariHetek
|
||||
@intezmenyId int
|
||||
,@tanevId int
|
||||
,@ABHet bit = 1
|
||||
,@hetiRendTipusTypeId int = 49
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET DATEFIRST 1; -- Sets the first day of the week to a number from 1 (Monday) through 7 (Sunday).
|
||||
|
||||
DECLARE @startDate datetime,
|
||||
@endDate datetime,
|
||||
@cnt int;
|
||||
|
||||
DELETE FROM T_NAPTARIHET_OSSZES
|
||||
WHERE C_INTEZMENYID = @intezmenyId
|
||||
AND C_TANEVID = @tanevId
|
||||
|
||||
/* megnézzük, hány nem 1554-es hetirend van */
|
||||
SELECT @cnt = COUNT(1)
|
||||
FROM T_HETIRENDTIPUS_OSSZES
|
||||
WHERE ID <> 1554 AND C_ALTANEVID = @tanevId
|
||||
AND TOROLT='F'
|
||||
|
||||
SELECT @endDate = C_UTOLSONAP, @startDate = C_KEZDONAP
|
||||
FROM T_TANEV_OSSZES
|
||||
WHERE ID = @tanevId
|
||||
AND TOROLT='F';
|
||||
|
||||
/* CTE a napok legenerálásához */
|
||||
;WITH ctedaterange AS (
|
||||
SELECT [Dates] = @startDate, week = 1
|
||||
UNION ALL
|
||||
SELECT [dates] + 1, week + IIF(DATEPART(dw, dates + 1) = 1, 1, 0)
|
||||
FROM ctedaterange
|
||||
WHERE [dates] + 1 <= @endDate
|
||||
)
|
||||
|
||||
/* Maga az inzert */
|
||||
INSERT INTO T_NAPTARIHET_OSSZES (
|
||||
C_HETIREND
|
||||
,C_HETKEZDONAPJA
|
||||
,C_HETSORSZAMA
|
||||
,C_HETUTOLSONAPJA
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) SELECT
|
||||
IIF(@ABHet=1,ISNULL(x.ID, 1554),1554) AS C_HETIREND -- C_HETIREND - int
|
||||
,mindate AS C_HETKEZDONAPJA -- C_HETKEZDONAPJA - datetime
|
||||
,week AS C_HETSORSZAMA -- C_HETSORSZAMA - int
|
||||
,maxdate AS C_HETUTOLSONAPJA -- C_HETUTOLSONAPJA - datetime
|
||||
,@intezmenyId AS C_INTEZMENYID -- C_INTEZMENYID - int
|
||||
,@tanevId AS C_TANEVID -- C_TANEVID - int
|
||||
,'F' AS TOROLT -- TOROLT - char(1)
|
||||
,0 AS SERIAL -- SERIAL - int
|
||||
,GETDATE() AS LASTCHANGED -- LASTCHANGED - datetime
|
||||
,GETDATE() AS CREATED -- CREATED - datetime
|
||||
,NULL AS MODIFIER -- MODIFIER - int
|
||||
,NULL AS CREATOR -- CREATOR - int
|
||||
FROM (
|
||||
SELECT
|
||||
MIN(dates) AS mindate -- C_HETKEZDONAPJA - datetime
|
||||
,week AS week -- C_HETSORSZAMA - int
|
||||
,MAX(dates) AS maxdate -- C_HETUTOLSONAPJA - datetime
|
||||
FROM ctedaterange
|
||||
GROUP BY week
|
||||
) c
|
||||
LEFT JOIN (
|
||||
SELECT ROW_NUMBER() OVER (ORDER BY C_VALUE) AS RN, ID
|
||||
FROM T_DICTIONARYITEMBASE_OSSZES d
|
||||
WHERE d.C_DICTIONARYTYPEID = @hetiRendTipusTypeId AND ID <> 1554
|
||||
AND C_INTEZMENYID = @intezmenyId AND C_TANEVID = @tanevId AND TOROLT='F'
|
||||
) x ON x.RN % NULLIF(@cnt, 0) = c.week % NULLIF(@cnt, 0)
|
||||
OPTION (maxrecursion 0)
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,227 @@
|
|||
-- ==========================================================================================
|
||||
-- Author: Telek Ákos
|
||||
-- Create date: 2016.05.31.
|
||||
-- Description: Ha az adott tanévhez nincs egy naptári nap sem, akkor létrehoz egy alapot.
|
||||
-- Ha van, akkor update-el a tanév rendje alapján.
|
||||
-- ==========================================================================================
|
||||
DROP PROCEDURE IF EXISTS [sp_GenerateNaptariNapok]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [sp_GenerateNaptariNapok]
|
||||
@intezmenyId int
|
||||
,@tanevId int
|
||||
,@overrideDefault bit = 0 -- felülírja-e az alapadatokat is?
|
||||
,@hetNapjaTipusTypeId int = 40
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET DATEFIRST 1; -- Sets the first day of the week to a number from 1 (Monday) through 7 (Sunday).
|
||||
|
||||
DECLARE
|
||||
@startDate datetime
|
||||
,@endDate datetime
|
||||
,@firstDay datetime
|
||||
,@lastDay datetime
|
||||
,@hetvegiTanitas int;
|
||||
|
||||
-- Adott @tanevId alapján kezdő és végdátum lekérdezése
|
||||
SELECT
|
||||
@startDate = t.C_KEZDONAP
|
||||
,@endDate = t.C_UTOLSONAP
|
||||
,@firstDay = t.C_ELSOTANITASINAP
|
||||
,@lastDay = t.C_UTOLSOTANITASINAP
|
||||
FROM T_TANEV t
|
||||
WHERE t.ID = @tanevId
|
||||
|
||||
SET @hetvegiTanitas = dbo.fnGetRendszerbeallitasEnumBool(7683, @intezmenyId, (SELECT ID FROM T_TANEV WHERE C_INTEZMENYID = @intezmenyId AND C_AKTIV = 'T' AND TOROLT = 'F'))
|
||||
-- 1 - H-P
|
||||
-- 2 - H-Szo
|
||||
-- 3 - H-V
|
||||
|
||||
IF (SELECT COUNT(1) FROM T_NAPTARINAP_OSSZES WHERE C_TANEVID = @tanevId) = 0 BEGIN
|
||||
-- a két dátum közötti napok kigenerálása
|
||||
;WITH ctedaterange AS (
|
||||
SELECT [Dates] = @startDate, week = 1
|
||||
UNION ALL
|
||||
SELECT [dates] + 1, week + IIF(DATEPART(dw, dates + 1) = 1, 1, 0)
|
||||
FROM ctedaterange
|
||||
WHERE [dates] + 1 <= @endDate
|
||||
)
|
||||
|
||||
INSERT INTO T_NAPTARINAP (
|
||||
C_HETIREND
|
||||
,C_HETNAPJA
|
||||
,C_HETSORSZAMA
|
||||
,C_NAPDATUMA
|
||||
,C_NAPTIPUSA
|
||||
,C_ORARENDINAP
|
||||
,C_ALAPHETIREND
|
||||
,C_ALAPHETNAPJA
|
||||
,C_ALAPNAPTIPUSA
|
||||
,C_ALAPORARENDINAP
|
||||
,C_ALAPCSENGETESIRENDID
|
||||
,C_AKTIVCSENGETESIRENDID
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
) SELECT
|
||||
ISNULL(h.C_HETIREND, 1554) AS C_HETIREND -- C_HETIREND - int
|
||||
,hn.ID AS C_HETNAPJA -- C_HETNAPJA - int
|
||||
,h.C_HETSORSZAMA AS C_HETSORSZAMA -- C_HETSORSZAMA - int
|
||||
,s.dates AS C_NAPDATUMA -- C_NAPDATUMA - datetime
|
||||
,CASE
|
||||
WHEN DATEPART(dw, s.dates) = 6 AND @hetvegiTanitas IN (2, 3)
|
||||
THEN 1386 -- 'Munkaszüneti nap'
|
||||
WHEN DATEPART(dw, s.dates) = 7 AND @hetvegiTanitas = 3
|
||||
THEN 1386 -- 'Munkaszüneti nap'
|
||||
ELSE 1385 -- 'Tanítási nap'
|
||||
END AS C_NAPTIPUSA -- C_NAPTIPUSA - int
|
||||
,CASE
|
||||
WHEN DATEPART(dw, s.dates) = 6 AND @hetvegiTanitas IN (2, 3)
|
||||
THEN 'F' -- 'Munkaszüneti nap'
|
||||
WHEN DATEPART(dw, s.dates) = 7 AND @hetvegiTanitas = 3
|
||||
THEN 'F' -- 'Munkaszüneti nap'
|
||||
ELSE 'T' -- 'Tanítási nap'
|
||||
END AS C_ORARENDINAP -- C_ORARENDINAP - char(1)
|
||||
,ISNULL(h.C_HETIREND, 1554) AS C_ALAPHETIREND -- C_ALAPHETIREND - int
|
||||
,hn.ID AS C_ALAPHETNAPJA -- C_ALAPHETNAPJA - int
|
||||
,CASE
|
||||
WHEN DATEPART(dw, s.dates) = 6 AND @hetvegiTanitas IN (2, 3)
|
||||
THEN 1386 -- 'Munkaszüneti nap'
|
||||
WHEN DATEPART(dw, s.dates) = 7 AND @hetvegiTanitas = 3
|
||||
THEN 1386 -- 'Munkaszüneti nap'
|
||||
ELSE 1385 -- 'Tanítási nap'
|
||||
END AS C_ALAPNAPTIPUSA -- C_ALAPNAPTIPUSA - int
|
||||
,CASE
|
||||
WHEN DATEPART(dw, s.dates) = 6 AND @hetvegiTanitas IN (2, 3)
|
||||
THEN 'F' -- 'Munkaszüneti nap'
|
||||
WHEN DATEPART(dw, s.dates) = 7 AND @hetvegiTanitas = 3
|
||||
THEN 'F' -- 'Munkaszüneti nap'
|
||||
ELSE 'T' -- 'Tanítási nap'
|
||||
END AS C_ALAPORARENDINAP -- C_ALAPORARENDINAP - char(1)
|
||||
,NULL AS C_ALAPCSENGETESIRENDID -- C_ALAPCSENGETESIRENDID - int
|
||||
,NULL AS C_AKTIVCSENGETESIRENDID -- C_AKTIVCSENGETESIRENDID - int
|
||||
,@intezmenyId AS C_INTEZMENYID -- C_INTEZMENYID - int
|
||||
,@tanevId AS C_TANEVID -- C_TANEVID - int
|
||||
,'F' AS TOROLT -- TOROLT - char(1)
|
||||
,0 AS SERIAL -- SERIAL - int
|
||||
,GETDATE() AS LASTCHANGED -- LASTCHANGED - datetime
|
||||
,GETDATE() AS CREATED -- CREATED - datetime
|
||||
,NULL AS MODIFIER -- MODIFIER - int
|
||||
,NULL AS CREATOR -- CREATOR - int
|
||||
FROM ctedaterange s
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES t ON s.dates = t.C_DATUM AND t.C_TANEVID = @tanevId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES hn ON hn.C_VALUE = DATEPART(dw, s.dates) AND hn.C_DICTIONARYTYPEID = @hetNapjaTipusTypeId AND hn.C_TANEVID = @tanevId
|
||||
LEFT JOIN T_NAPTARIHET_OSSZES h ON s.dates BETWEEN h.C_HETKEZDONAPJA AND h.C_HETUTOLSONAPJA AND h.C_TANEVID = @tanevId
|
||||
ORDER BY s.dates
|
||||
OPTION (maxrecursion 0) -- hogy ne legyen korlátozva a regurzitás mélysége a CTE-ben /* default 100 */
|
||||
END
|
||||
ELSE BEGIN
|
||||
SELECT @firstDay = ro.C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES ro
|
||||
WHERE ro.C_TANEVID = @tanevId
|
||||
AND ro.C_NAPTIPUSA = 1394
|
||||
|
||||
SELECT @lastDay = ro.C_DATUM
|
||||
FROM T_TANEVRENDJE_OSSZES ro
|
||||
WHERE ro.C_TANEVID = @tanevId
|
||||
AND ro.C_NAPTIPUSA = 1395
|
||||
|
||||
SELECT
|
||||
@firstDay = ISNULL(@firstDay, C_KEZDONAP)
|
||||
,@lastDay = ISNULL(@lastDay, C_UTOLSONAP)
|
||||
FROM T_TANEV_OSSZES
|
||||
WHERE ID = @tanevId
|
||||
|
||||
IF @overrideDefault = 1 BEGIN
|
||||
UPDATE T_NAPTARINAP_OSSZES SET -- Nyári szünet UPDATE-je
|
||||
C_NAPTIPUSA = IIF(DATEPART(dw, C_NAPDATUMA) BETWEEN 1 AND 5, 1392, C_NAPTIPUSA)
|
||||
,C_ALAPNAPTIPUSA = IIF(DATEPART(dw, C_NAPDATUMA) BETWEEN 1 AND 5, 1392, C_ALAPNAPTIPUSA)
|
||||
,C_ORARENDINAP = 'F'
|
||||
,C_ALAPORARENDINAP = 'F'
|
||||
WHERE (C_NAPDATUMA < @firstDay OR C_NAPDATUMA > @lastDay)
|
||||
AND C_TANEVID = @tanevId
|
||||
END
|
||||
|
||||
IF @hetvegiTanitas = 1 BEGIN -- H - P
|
||||
UPDATE nn SET
|
||||
nn.C_ALAPORARENDINAP = 'F'
|
||||
,nn.C_ORARENDINAP = IIF(tr.ID IS NULL, 'F', nn.C_ORARENDINAP)
|
||||
,nn.C_NAPTIPUSA = IIF(tr.ID IS NULL, 1386, nn.C_NAPTIPUSA)
|
||||
,nn.C_ALAPNAPTIPUSA = 1386
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND tr.TOROLT = 'F' AND nn.C_TANEVID = tr.C_TANEVID
|
||||
WHERE DATEPART(dw, nn.C_NAPDATUMA) IN (6, 7)
|
||||
AND nn.C_TANEVID = @tanevId
|
||||
END
|
||||
|
||||
IF @hetvegiTanitas = 2 BEGIN -- H - Szo
|
||||
UPDATE nn SET
|
||||
nn.C_ALAPORARENDINAP = 'T'
|
||||
,nn.C_ORARENDINAP = IIF(tr.ID IS NULL, 'T', nn.C_ORARENDINAP)
|
||||
,nn.C_NAPTIPUSA = IIF(tr.ID IS NULL, 1385, nn.C_NAPTIPUSA)
|
||||
,nn.C_ALAPNAPTIPUSA = 1385
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND tr.TOROLT = 'F' AND nn.C_TANEVID = tr.C_TANEVID
|
||||
WHERE DATEPART(dw, nn.C_NAPDATUMA) = 6
|
||||
AND nn.C_TANEVID = @tanevId
|
||||
|
||||
UPDATE nn SET
|
||||
nn.C_ALAPORARENDINAP = 'F'
|
||||
,nn.C_ORARENDINAP = IIF(tr.ID IS NULL, 'F', nn.C_ORARENDINAP)
|
||||
,nn.C_NAPTIPUSA = IIF(tr.ID IS NULL, 1386, nn.C_NAPTIPUSA)
|
||||
,nn.C_ALAPNAPTIPUSA = 1386
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND tr.TOROLT = 'F' AND nn.C_TANEVID = tr.C_TANEVID
|
||||
WHERE DATEPART(dw, nn.C_NAPDATUMA) = 7
|
||||
AND nn.C_TANEVID = @tanevId
|
||||
END
|
||||
|
||||
IF @hetvegiTanitas = 3 BEGIN -- H - V
|
||||
UPDATE nn SET
|
||||
nn.C_ALAPORARENDINAP = 'T'
|
||||
,nn.C_ORARENDINAP = IIF(tr.ID IS NULL, 'T', nn.C_ORARENDINAP)
|
||||
,nn.C_NAPTIPUSA = IIF(tr.ID IS NULL, 1385, nn.C_NAPTIPUSA)
|
||||
,nn.C_ALAPNAPTIPUSA = 1385
|
||||
FROM T_NAPTARINAP_OSSZES nn
|
||||
LEFT JOIN T_TANEVRENDJE_OSSZES tr ON tr.C_DATUM = nn.C_NAPDATUMA AND tr.C_OSSZESCSOPORTRAVONATKOZIK = 'T' AND tr.TOROLT = 'F' AND nn.C_TANEVID = tr.C_TANEVID
|
||||
WHERE DATEPART(dw, nn.C_NAPDATUMA) IN (6, 7)
|
||||
AND nn.C_TANEVID = @tanevId
|
||||
END
|
||||
|
||||
UPDATE n SET
|
||||
n.C_HETIREND = IIF(x.TOROLT = 'F', ISNULL(x.C_HETIREND, ISNULL(h.C_HETIREND,n.C_ALAPHETIREND)), ISNULL(h.C_HETIREND,n.C_ALAPHETIREND))
|
||||
,n.C_HETNAPJA = IIF(x.TOROLT = 'F', ISNULL(x.C_HETNAPJA, n.C_HETNAPJA), n.C_ALAPHETNAPJA)
|
||||
,n.C_NAPTIPUSA = IIF(x.TOROLT = 'F', ISNULL(x.C_NAPTIPUSA, n.C_NAPTIPUSA), n.C_ALAPNAPTIPUSA)
|
||||
,n.C_ORARENDINAP = IIF(x.TOROLT = 'F', ISNULL(x.C_ORARENDINAP, n.C_ORARENDINAP), n.C_ALAPORARENDINAP)
|
||||
,n.C_AKTIVCSENGETESIRENDID = IIF(x.TOROLT = 'F', ISNULL(x.C_CSENGETESIRENDID, n.C_AKTIVCSENGETESIRENDID), n.C_ALAPCSENGETESIRENDID)
|
||||
,n.C_ALAPHETIREND = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_ALAPHETIREND, h.C_HETIREND)
|
||||
,n.C_ALAPHETNAPJA = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_ALAPHETNAPJA, ISNULL(x.C_HETNAPJA, n.C_ALAPHETNAPJA))
|
||||
,n.C_ALAPNAPTIPUSA = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_ALAPNAPTIPUSA, ISNULL(x.C_NAPTIPUSA, n.C_ALAPNAPTIPUSA))
|
||||
,n.C_ALAPORARENDINAP = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_ALAPORARENDINAP, ISNULL(x.C_ORARENDINAP, n.C_ALAPORARENDINAP))
|
||||
,n.C_ALAPCSENGETESIRENDID = IIF(@overrideDefault = 0 OR x.TOROLT = 'T', n.C_ALAPCSENGETESIRENDID, ISNULL(x.C_CSENGETESIRENDID, n.C_ALAPCSENGETESIRENDID))
|
||||
FROM T_NAPTARINAP_OSSZES n
|
||||
INNER JOIN T_NAPTARIHET_OSSZES h ON n.C_NAPDATUMA BETWEEN h.C_HETKEZDONAPJA AND h.C_HETUTOLSONAPJA
|
||||
LEFT JOIN (
|
||||
SELECT ro.C_DATUM, ro.TOROLT, ro.C_HETNAPJA, ro.C_NAPTIPUSA, ro.C_ORARENDINAP, ro.C_CSENGETESIRENDID ,ro.C_HETIREND
|
||||
FROM T_TANEVRENDJE_OSSZES ro
|
||||
WHERE ro.C_TANEVID = @tanevId
|
||||
AND ro.TOROLT = 'F'
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE o WHERE o.C_TANEVRENDJEID = ro.ID)
|
||||
UNION ALL
|
||||
SELECT DISTINCT ro.C_DATUM, ro.TOROLT, NULL, NULL, NULL, NULL,NULL
|
||||
FROM T_TANEVRENDJE_OSSZES ro
|
||||
WHERE ro.C_TANEVID = @tanevId
|
||||
AND ro.TOROLT = 'T'
|
||||
AND NOT EXISTS (SELECT 1 FROM T_TANEVRENDJE_OSSZES r WHERE ro.C_DATUM = r.C_DATUM AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
AND NOT EXISTS (SELECT 1 FROM T_OSZTALYCSOPORT_TANEVRENDJE o WHERE o.C_TANEVRENDJEID = ro.ID)
|
||||
) x ON x.C_DATUM = n.C_NAPDATUMA
|
||||
WHERE n.C_TANEVID = @tanevId AND h.C_TANEVID = @tanevId
|
||||
END
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,71 @@
|
|||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetAdminDashboardNaplo]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetAdminDashboardNaplo]
|
||||
@pTanevId INT
|
||||
,@pTanarAlkalmazottMunkakor int = 8384
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
CREATE TABLE #AKTIV_ALKALMAZOTT (ID int,INDEX IX1 CLUSTERED(ID));
|
||||
INSERT INTO #AKTIV_ALKALMAZOTT (ID)
|
||||
SELECT f.ID
|
||||
FROM T_FELHASZNALO_OSSZES f
|
||||
INNER JOIN T_MUNKAUGYIADATOK_OSSZES munkaugyiadat ON munkaugyiadat.C_ALKALMAZOTTID = f.ID AND munkaugyiadat.C_TARTOSHELYETTESITES = 'F' AND ISNULL(munkaugyiadat.C_ALKALMAZASKEZDETE,getdate()) <= getdate() AND ISNULL(munkaugyiadat.C_ALKALMAZASMEGSZUNESE,getdate()) >= getdate() AND munkaugyiadat.TOROLT = 'F'
|
||||
INNER JOIN T_MUNKAKORTIPUS_OSSZES mkt ON mkt.ID = munkaugyiadat.C_MUNKAKORTIPUSA AND mkt.C_ALTANEVID = munkaugyiadat.C_TANEVID AND mkt.TOROLT = 'F'
|
||||
WHERE
|
||||
f.C_TANEVID = @pTanevId
|
||||
AND f.TOROLT = 'F'
|
||||
AND mkt.C_ALKALMAZOTTMUNKAKORTIPUSID = @pTanarAlkalmazottMunkakor
|
||||
SELECT
|
||||
ia.C_NEV AS IntezmenyNev
|
||||
,i.C_AZONOSITO AS IntezmenyAzonosito
|
||||
,i.C_ALTERNATIVAZONOSITO AS IntezmenyAlternativAzonosito
|
||||
,tv.C_NEV AS TanevNev
|
||||
,(SELECT IIF(LEFT(REPLACE(JSON_VALUE(C_ERTEK, '$.Date'),'-',''), 8) > GETDATE(), 1, 0)
|
||||
FROM T_RENDSZERBEALLITAS_OSSZES rb
|
||||
WHERE C_BEALLITASTIPUS = 3082
|
||||
AND rb.C_TANEVID = @pTanevId
|
||||
AND rb.TOROLT = 'F'
|
||||
) AS ZarasiGond
|
||||
,(SELECT COUNT(1)
|
||||
FROM T_ALKALMAZOTT adat
|
||||
INNER JOIN #AKTIV_ALKALMAZOTT aa ON aa.ID = adat.ID
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES fb WHERE adat.ID = fb.C_FELHASZNALOID AND fb.TOROLT = 'F')
|
||||
AND adat.C_ALTANEVID = @pTanevId
|
||||
AND adat.TOROLT = 'F'
|
||||
) AS NincsBelepesAlkalmazott
|
||||
,(SELECT COUNT(1)
|
||||
FROM T_TANULO adat
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES fb WHERE adat.ID = fb.C_FELHASZNALOID AND fb.TOROLT = 'F' AND fb.C_GONDVISELOID IS NULL)
|
||||
AND adat.C_ALTANEVID = @pTanevId
|
||||
AND adat.TOROLT = 'F'
|
||||
) AS NincsBelepesTanulo
|
||||
,(SELECT COUNT(1)
|
||||
FROM T_GONDVISELO adat
|
||||
WHERE NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES fb WHERE adat.ID = fb.C_GONDVISELOID AND fb.TOROLT = 'F')
|
||||
AND adat.C_TANEVID = @pTanevId
|
||||
AND adat.TOROLT = 'F'
|
||||
) AS NincsBelepesGondviselo
|
||||
,(SELECT COUNT(1)
|
||||
FROM T_ALKALMAZOTT_OSSZES adat
|
||||
INNER JOIN #AKTIV_ALKALMAZOTT aa ON aa.ID = adat.ID
|
||||
LEFT JOIN T_FELHASZNALOBELEPES_OSSZES fb ON fb.C_FELHASZNALOID = adat.ID AND fb.TOROLT = 'F'
|
||||
WHERE adat.TOROLT = 'F'
|
||||
AND (fb.C_UTOLSOBELEPES <= DATEADD(DAY,-28,GETDATE()) OR fb.C_UTOLSOBELEPES IS NULL)
|
||||
) AS NemLepettBeHonapAlkalmazott
|
||||
,(SELECT COUNT(1)
|
||||
FROM T_ALKALMAZOTT_OSSZES adat
|
||||
INNER JOIN #AKTIV_ALKALMAZOTT aa ON aa.ID = adat.ID
|
||||
LEFT JOIN T_FELHASZNALOBELEPES_OSSZES fb ON fb.C_FELHASZNALOID = adat.ID AND fb.TOROLT = 'F'
|
||||
WHERE adat.TOROLT = 'F'
|
||||
AND (fb.C_UTOLSOBELEPES <= DATEADD(DAY,-14,GETDATE()) OR fb.C_UTOLSOBELEPES IS NULL)
|
||||
) AS NemLepettBeKetHetAlkalmazott
|
||||
FROM T_TANEV_OSSZES tv
|
||||
INNER JOIN T_INTEZMENY_OSSZES i ON i.ID = tv.C_INTEZMENYID AND i.TOROLT = 'F'
|
||||
INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.C_INTEZMENYID = tv.C_INTEZMENYID AND ia.C_TANEVID = tv.ID AND ia.TOROLT = 'F'
|
||||
WHERE tv.TOROLT = 'F' AND tv.ID = @pTanevId
|
||||
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
|
||||
-- =============================================
|
||||
-- Description: <Osztályok/csoportok és egyéb osztályok/csoportok>
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[sp_GetAllOsztalyCsoport]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetAllOsztalyCsoport]
|
||||
@pFeladatKategoriaId INT
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
CASE WHEN osztalyCsoport.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(osztalyCsoport.C_NEV,9) AS INT) ELSE 2147483647 END AS NumberOrder
|
||||
,CASE WHEN LEFT(osztalyCsoport.C_NEV, 1) BETWEEN '0' AND '9' AND osztalyCsoport.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(osztalyCsoport.C_NEV, 1, PATINDEX('%[^0-9]%', osztalyCsoport.C_NEV) - 1),9) AS INT) ELSE 2147483647 END AS NumberAndTextOrder
|
||||
,osztalyCsoport.ID AS ID
|
||||
,osztalyCsoport.C_NEV AS Nev
|
||||
,'1' AS Tipus
|
||||
,NULL AS CsoportTipusa
|
||||
,osztalyCsoport.C_EVFOLYAMTIPUSA AS Evfolyam
|
||||
,0 AS OsztalyCsoportOrder
|
||||
,feladatellatasiHely.C_OKTATASINEVELESIFELADATTIPUS AS EllatottFeladatTipusId
|
||||
FROM
|
||||
T_OSZTALY osztaly
|
||||
INNER JOIN T_OSZTALYCSOPORT osztalyCsoport
|
||||
ON osztaly.ID = osztalyCsoport.ID AND (osztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
||||
INNER JOIN T_FELADATELLATASIHELY feladatellatasiHely
|
||||
ON osztalyCsoport.C_FELADATELLATASIHELYID = feladatellatasiHely.ID
|
||||
WHERE
|
||||
osztalyCsoport.TOROLT = 'F'
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
CASE WHEN osztalyCsoport.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(osztalyCsoport.C_NEV,9) AS INT) ELSE 2147483647 END AS NumberOrder
|
||||
,CASE WHEN LEFT(osztalyCsoport.C_NEV, 1) BETWEEN '0' AND '9' AND osztalyCsoport.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(osztalyCsoport.C_NEV, 1, PATINDEX('%[^0-9]%', osztalyCsoport.C_NEV) - 1),9) AS INT) ELSE 2147483647 END AS NumberAndTextOrder
|
||||
,osztalyCsoport.ID AS ID
|
||||
,osztalyCsoport.C_NEV AS Nev
|
||||
,'1' AS Tipus
|
||||
,csoport.C_TIPUSA AS CsoportTipusa
|
||||
,osztalyCsoport.C_EVFOLYAMTIPUSA AS Evfolyam
|
||||
,1 AS OsztalyCsoportOrder
|
||||
,feladatellatasiHely.C_OKTATASINEVELESIFELADATTIPUS AS EllatottFeladatTipusId
|
||||
FROM
|
||||
T_CSOPORT csoport
|
||||
INNER JOIN T_OSZTALYCSOPORT osztalyCsoport
|
||||
ON csoport.ID = osztalyCsoport.ID AND (osztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
||||
INNER JOIN T_FELADATELLATASIHELY feladatellatasiHely
|
||||
ON osztalyCsoport.C_FELADATELLATASIHELYID = feladatellatasiHely.ID
|
||||
WHERE
|
||||
osztalyCsoport.TOROLT = 'F'
|
||||
ORDER BY
|
||||
OsztalyCsoportOrder, NumberOrder ASC, NumberAndTextOrder ASC, osztalyCsoport.C_NEV ASC
|
||||
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,112 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetDokumentumHelyettesitesekByDateInterval
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetDokumentumHelyettesitesekByDateInterval
|
||||
@tanevId INT
|
||||
,@intezmenyId INT
|
||||
,@helyettesitesListaFormatumId INT = 0 --0 helyettesitett, 1 helyettesito
|
||||
,@idoszakKezdete DATE
|
||||
,@idoszakVege DATE
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
CREATE TABLE #OrarendAdatok (
|
||||
Datum datetime
|
||||
,HetNapja int
|
||||
,OraKezdete datetime
|
||||
,OraVege datetime
|
||||
,Oraszam int
|
||||
,Megtartott char(1)
|
||||
,OsztalyNev nvarchar(255)
|
||||
,TanarNev nvarchar(255)
|
||||
,TeremNev nvarchar(255)
|
||||
,OraTipus nvarchar(200)
|
||||
,HelyettesitoTanarID int
|
||||
,HelyettesitoTanarNev nvarchar(255)
|
||||
,HelyettesitesId int
|
||||
,TanarID int
|
||||
,TantargyId int
|
||||
)
|
||||
|
||||
INSERT INTO #OrarendAdatok (
|
||||
Datum
|
||||
,HetNapja
|
||||
,OraKezdete
|
||||
,OraVege
|
||||
,Oraszam
|
||||
,Megtartott
|
||||
,OsztalyNev
|
||||
,TanarNev
|
||||
,TeremNev
|
||||
,OraTipus
|
||||
,HelyettesitoTanarID
|
||||
,HelyettesitoTanarNev
|
||||
,HelyettesitesId
|
||||
,TanarID
|
||||
,TantargyId
|
||||
)
|
||||
EXEC
|
||||
dbo.sp_GetOrarend
|
||||
@pIntezmenyId = @IntezmenyId
|
||||
,@pTanevId = @TanevId
|
||||
,@pIdoszakKezdete = @IdoszakKezdete
|
||||
,@pIdoszakVege = @IdoszakVege
|
||||
,@pTanarId = NULL
|
||||
,@pIsHelyettesitesNelkul = 0
|
||||
,@pOsztalyCsoportId = NULL
|
||||
,@pTanuloId = NULL
|
||||
,@pTantargyId = NULL
|
||||
,@pTeremId = NULL
|
||||
,@pCsakOrarendiOrak = 0
|
||||
,@pIsNapirend = NULL
|
||||
,@pOszlopok = 'Datum,HetNapja,OraKezdete,OraVege,Oraszam,Megtartott,OsztalyNev,TanarNev,TeremNev,OraTipus,HelyettesitoTanarID,HelyettesitoTanarNev,HelyettesitesId,TanarID,TantargyId'
|
||||
|
||||
SELECT
|
||||
hely.HelyettesitoTanarID AS HelyettesitoId
|
||||
,hely.TanarID AS HelyettesitettId
|
||||
,dbo.fnGetDokumentumDatumFormatum(hely.Datum) AS HetNapja
|
||||
,HetNapja.C_NAME AS HetNapjaMegnevezes
|
||||
,IIF(hely.Oraszam IS NOT NULL,CONVERT(NVARCHAR(5), hely.Oraszam) + '.',
|
||||
CONCAT(CONVERT(NVARCHAR(5), hely.OraKezdete, 108), '-', CONVERT(NVARCHAR(5), hely.OraVege, 108))) AS Oraszam
|
||||
,IIF(hely.OraTipus = 'TanitasiOra' AND hely.Megtartott = 'F', 'Elmaradt óra', hely.HelyettesitoTanarNev) AS HelyettesitoNeve
|
||||
,hely.TanarNev AS HelyettesitettNeve
|
||||
,hely.OsztalyNev AS OsztalyCsoportNev
|
||||
,tantargy.C_NEV AS TantargyNev
|
||||
,hely.TeremNev AS TeremNev
|
||||
,HelyettesitesTipusa.C_NAME AS HelyettesitesTipusa
|
||||
,helyettesito.C_OKTATASIAZONOSITO AS HelyettesitoOktatasiAzon
|
||||
,helyettesitesett.C_OKTATASIAZONOSITO AS HelyettesitettOktatasiAzon
|
||||
,Rendez = CASE ISNUMERIC(hely.Oraszam)
|
||||
WHEN 1 THEN CAST(hely.Oraszam AS INT)
|
||||
ELSE 999999999999999 END
|
||||
INTO #adatok
|
||||
FROM
|
||||
#OrarendAdatok hely
|
||||
LEFT JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = hely.TantargyId AND tantargy.TOROLT = 'F'
|
||||
LEFT JOIN T_HELYETTESITESIIDOSZAK_OSSZES hi ON hi.ID = hely.HelyettesitesId and hi.TOROLT = 'F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.Id = hely.HelyettesitoTanarID AND helyettesito.TOROLT = 'F'
|
||||
LEFT JOIN T_FELHASZNALO_OSSZES helyettesitesett ON helyettesitesett.ID = hely.TanarID AND helyettesitesett.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES HelyettesitesTipusa ON HelyettesitesTipusa.ID = hi.C_HELYETTESITESTIPUS AND HelyettesitesTipusa.C_TANEVID = @TanevId AND HelyettesitesTipusa.TOROLT = 'F'
|
||||
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES HetNapja ON HetNapja.ID = hely.HetNapja AND HetNapja.C_TANEVID = @TanevId AND HetNapja.TOROLT = 'F'
|
||||
WHERE (hely.OraTipus = 'TanitasiOra' AND (hely.HelyettesitoTanarID IS NOT NULL OR hely.Megtartott = 'F'))
|
||||
OR (hely.OraTipus = 'OrarendiOra' AND hely.HelyettesitoTanarID IS NOT NULL)
|
||||
ORDER BY hely.HetNapja, hely.Oraszam
|
||||
|
||||
SELECT DISTINCT HetNapja, HetNapjaMegnevezes FROM #adatok
|
||||
|
||||
IF @helyettesitesListaFormatumId = 0
|
||||
BEGIN
|
||||
SELECT DISTINCT HelyettesitettId PedagogusId, HelyettesitettNeve PedagogusNev, HetNapja FROM #adatok ORDER BY HelyettesitettNeve
|
||||
SELECT * FROM #adatok
|
||||
ORDER BY HetNapja, Rendez, Oraszam
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT DISTINCT HelyettesitoId PedagogusId, HelyettesitoNeve PedagogusNev, HetNapja FROM #adatok ORDER BY HelyettesitoNeve
|
||||
SELECT * FROM #adatok
|
||||
ORDER BY HetNapja, Rendez, Oraszam
|
||||
END
|
||||
END
|
||||
GO
|
|
@ -0,0 +1,334 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetDokumentumMulasztasok
|
||||
GO
|
||||
|
||||
-- ===========================================================================
|
||||
-- Description: Dokumentumokban használt mulasztás összesítő osztály alapján
|
||||
-- ===========================================================================
|
||||
CREATE PROCEDURE sp_GetDokumentumMulasztasok
|
||||
@osztalyId int
|
||||
,@tanevId int
|
||||
,@elmeletiOraPercben int = 45
|
||||
,@gyakorlatiOraPercben int = 45
|
||||
,@ertekelesTipus int
|
||||
,@iskolaErdekuSzamit bit
|
||||
,@isMuveszetOktatasi bit = 0
|
||||
,@negyedevreSzamoltMulasztasok bit = 1
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
CREATE TABLE #Tanulo (
|
||||
TanuloId int
|
||||
,TanuloCsoportId int
|
||||
,BelepesDatum date
|
||||
,KilepesDatum date
|
||||
,PRIMARY KEY (TanuloId, TanuloCsoportId, BelepesDatum)
|
||||
)
|
||||
|
||||
INSERT INTO #Tanulo
|
||||
SELECT
|
||||
TanuloId
|
||||
,TanuloCsoportId
|
||||
,BelepesDatum
|
||||
,KilepesDatum
|
||||
FROM fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyId, 'T')
|
||||
|
||||
DECLARE
|
||||
@IdoszakUtolsoNap int
|
||||
,@IdoszakElsoNap int
|
||||
,@IdoszakKezdete date
|
||||
,@IdoszakVege date
|
||||
,@KeresztFeleves nvarchar(1)
|
||||
,@kategoriaId int
|
||||
,@intezmenyId int
|
||||
|
||||
SET @intezmenyId = (SELECT C_INTEZMENYID FROM T_TANEV_OSSZES WHERE ID = @tanevId AND TOROLT = 'F')
|
||||
SELECT
|
||||
@KeresztFeleves = C_KERESZTFELEVES
|
||||
,@kategoriaId = C_FELADATKATEGORIAID
|
||||
FROM T_OSZTALYCSOPORT_OSSZES
|
||||
WHERE ID = @osztalyId
|
||||
|
||||
SET @IdoszakUtolsoNap =
|
||||
CASE @KeresztFeleves
|
||||
WHEN 'F' THEN
|
||||
CASE @ertekelesTipus
|
||||
WHEN 1519 THEN 1400 --Félévi jegy/értékelés -> Első félév vége
|
||||
WHEN 1520 THEN 1395 --Év végi jegy/értékelés -> Utolsó tanítási nap
|
||||
WHEN 1522 THEN 1403 --I. né. jegy/értékelés -> I. negyedév vége
|
||||
WHEN 1524 THEN 1400 --II. né. jegy/értékelés -> Első félév vége
|
||||
WHEN 1523 THEN 1404 --III. né. jegy/értékelés -> III. negyedév vége
|
||||
WHEN 1525 THEN 1395 --IV. né. jegy/értékelés -> Utolsó tanítási nap
|
||||
END
|
||||
WHEN 'T' THEN
|
||||
CASE @ertekelesTipus
|
||||
WHEN 1519 THEN 1395 --Félévi jegy/értékelés -> Utolsó tanítási nap
|
||||
WHEN 1520 THEN 1400 --Év végi jegy/értékelés -> Első félév vége
|
||||
WHEN 1522 THEN 1404 --I. né. jegy/értékelés -> III. negyedév vége
|
||||
WHEN 1524 THEN 1395 --II. né. jegy/értékelés -> Utolsó tanítási nap
|
||||
WHEN 1523 THEN 1403 --III. né. jegy/értékelés -> I. negyedév vége
|
||||
WHEN 1525 THEN 1400 --IV. né. jegy/értékelés -> Első félév vége
|
||||
END
|
||||
END
|
||||
|
||||
SET @IdoszakElsoNap =
|
||||
CASE @KeresztFeleves
|
||||
WHEN 'F' THEN
|
||||
CASE @ertekelesTipus
|
||||
WHEN 1519 THEN 1394 --Félévi jegy/értékelés -> Első tanítási nap
|
||||
WHEN 1520 THEN 1394 --Év végi jegy/értékelés -> Első tanítási nap
|
||||
WHEN 1522 THEN 1394 --I. né. jegy/értékelés -> Első tanítási nap
|
||||
WHEN 1524 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1403,1394) --II. né. jegy/értékelés -> I. negyedév vége
|
||||
WHEN 1523 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1400,1394) --III. né. jegy/értékelés -> Első félév vége
|
||||
WHEN 1525 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1404,1394) --IV. né. jegy/értékelés -> III. negyedév vége
|
||||
END
|
||||
WHEN 'T' THEN
|
||||
CASE @ertekelesTipus
|
||||
WHEN 1519 THEN 1400 --Félévi jegy/értékelés -> Első félév vége
|
||||
WHEN 1520 THEN 1394 --Év végi jegy/értékelés -> Első tanítási nap
|
||||
WHEN 1522 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1400,1394) --I. né. jegy/értékelés -> Első félév vége
|
||||
WHEN 1524 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1404,1394) --II. né. jegy/értékelés -> III. negyedév vége
|
||||
WHEN 1523 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1394,1394) --III. né. jegy/értékelés -> Első tanítási nap
|
||||
WHEN 1525 THEN IIF(@negyedevreSzamoltMulasztasok = 1, 1403,1394) --IV. né. jegy/értékelés -> I. negyedév vége
|
||||
END
|
||||
END
|
||||
|
||||
CREATE TABLE #SzurtCsoportTipus (
|
||||
CsoportTipusId int PRIMARY KEY
|
||||
)
|
||||
|
||||
IF @isMuveszetOktatasi = 0 BEGIN
|
||||
INSERT INTO #SzurtCsoportTipus
|
||||
SELECT ID
|
||||
FROM fnGetTanoraiCeluCsoportTipusok(@tanevId)
|
||||
END
|
||||
ELSE BEGIN
|
||||
IF @kategoriaId = 7555 -- AMI-s csoportot kérünk le
|
||||
BEGIN
|
||||
INSERT INTO #SzurtCsoportTipus (CsoportTipusId)
|
||||
SELECT ID
|
||||
FROM T_CSOPORTTIPUS_OSSZES
|
||||
WHERE C_ALTANEVID = @tanevId
|
||||
AND TOROLT = 'F'
|
||||
AND C_ISMUVESZETI = 'T'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO #SzurtCsoportTipus (CsoportTipusId)
|
||||
SELECT C_TIPUSA
|
||||
FROM T_CSOPORT_OSSZES
|
||||
WHERE TOROLT = 'F'
|
||||
AND C_ALTANEVID = @tanevId
|
||||
AND ID = @osztalyId
|
||||
END
|
||||
END
|
||||
|
||||
SET @IdoszakKezdete = (SELECT TOP 1 DATEADD(day, IIF((@KeresztFeleves = 'F' AND @ertekelesTipus IN (1519,1520,1522)) OR (@KeresztFeleves = 'T' AND @ertekelesTipus IN (1520,1522,1523)), 0, 1), C_DATUM) FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = @IdoszakElsoNap AND C_TANEVID = @tanevId AND TOROLT='F')
|
||||
|
||||
SET @IdoszakVege = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES WHERE C_NAPTIPUSA = @IdoszakUtolsoNap AND C_TANEVID = @tanevId AND TOROLT='F')
|
||||
--IF @IdoszakVege IS NULL BEGIN
|
||||
--SET @IdoszakVege = (SELECT IIF(GETDATE() > C_UTOLSONAP, C_UTOLSONAP, GETDATE()) FROM T_TANEV WHERE ID = @tanevId)
|
||||
--END
|
||||
|
||||
SELECT
|
||||
t.TANULOID tanuloid
|
||||
,t.TanuloCsoportId tanulocsoportid
|
||||
,ISNULL(mu.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(mu.[hianyzasIgazoltTanoraiGyakorlati], 0)
|
||||
+ ISNULL(kp.kesesIgazoltElmeletiOraban,0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLTHIANYZAS, 0),0)
|
||||
AS Igazolt
|
||||
,ISNULL(mu.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(mu.[hianyzasIgazolatlanTanoraiGyakorlati], 0)
|
||||
+ ISNULL(kp.kesesIgazolatlanElmeletiOraban,0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLATLANHIANYZAS, 0),0)
|
||||
AS Igazolatlan
|
||||
,ISNULL(mu.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazoltElmeletiOraban,0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLTHIANYZAS, 0),0)
|
||||
AS ElmeletIgazolt
|
||||
,ISNULL(mu.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazolatlanElmeletiOraban,0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLATLANHIANYZAS, 0),0)
|
||||
AS ElmeletIgazolatlan
|
||||
,ISNULL(mu.[hianyzasIgazoltTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)
|
||||
AS GyakorlatiIgazolt
|
||||
,ISNULL(mu.[hianyzasIgazolatlanTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0)
|
||||
AS GyakorlatiIgazolatlan
|
||||
,ISNULL(mu.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazoltElmeletiOraban,0)
|
||||
+ ISNULL(mu.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(kp.kesesIgazolatlanElmeletiOraban,0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLTHIANYZAS, 0),0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLATLANHIANYZAS, 0),0)
|
||||
AS ElmeletOsszes
|
||||
,ISNULL(mu.[hianyzasIgazoltTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)
|
||||
+ ISNULL(mu.[hianyzasIgazolatlanTanoraiGyakorlati], 0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0)
|
||||
AS GyakorlatOsszes
|
||||
,ISNULL(mu.[hianyzasIgazoltTanoraiElmeleti], 0) + ISNULL(mu.[hianyzasIgazoltTanoraiGyakorlati], 0)
|
||||
+ ISNULL(kp.kesesIgazoltElmeletiOraban,0) + ISNULL(kp.kesesIgazoltGyakorlatiOraban,0)
|
||||
+ ISNULL(mu.[hianyzasIgazolatlanTanoraiElmeleti], 0) + ISNULL(mu.[hianyzasIgazolatlanTanoraiGyakorlati], 0)
|
||||
+ ISNULL(kp.kesesIgazolatlanElmeletiOraban,0) + ISNULL(kp.kesesIgazolatlanGyakorlatiOraban,0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLTHIANYZAS, 0),0)
|
||||
+ IIF(t.BelepesDatum <= @IdoszakVege , ISNULL(ta.C_HOZOTTIGAZOLATLANHIANYZAS, 0),0)
|
||||
AS Osszes
|
||||
FROM #Tanulo t
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tanuloId
|
||||
,tanulocsoportid
|
||||
,[hianyzasIgazoltTanoraiElmeleti]
|
||||
,[hianyzasIgazoltTanoraiGyakorlati]
|
||||
,[hianyzasIgazolatlanTanoraiElmeleti]
|
||||
,[hianyzasIgazolatlanTanoraiGyakorlati]
|
||||
FROM (
|
||||
SELECT
|
||||
x.tanuloId, x.tanulocsoportid
|
||||
,'Hianyzas' +
|
||||
CASE isIgazolt WHEN 'T' THEN 'Igazolt' WHEN 'F' THEN 'Igazolatlan' END +
|
||||
CASE isTanorai WHEN 'T' THEN 'Tanorai' WHEN 'F' THEN 'TanoranKivuli' END +
|
||||
CASE isGyakorlati WHEN 'T' THEN 'Gyakorlati' WHEN 'F' THEN 'Elmeleti' END
|
||||
AS piv
|
||||
,cnt
|
||||
FROM (
|
||||
SELECT
|
||||
mu.C_ORATANULOIID AS tanuloId
|
||||
,tanulok.TanuloCsoportId
|
||||
,mu.C_TIPUS mulasztasTipus
|
||||
,mu.C_IGAZOLT isIgazolt
|
||||
,IIF((@isMuveszetOktatasi = 0 AND cs.ID IS NULL), 'T', IIF((@isMuveszetOktatasi = 1 AND (csmuv.ID IS NOT NULL OR tcs.C_OSZTALYCSOPORTID = @osztalyid)),'T','F')) AS isTanorai
|
||||
,IIF(t.C_GYAKORLATI='T', 'T', 'F') as isGyakorlati
|
||||
,COUNT(1) AS cnt
|
||||
FROM T_TANULOMULASZTAS_OSSZES mu
|
||||
INNER JOIN #Tanulo tanulok ON tanulok.TanuloId = mu.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = mu.C_TANITASIORAKID
|
||||
INNER JOIN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyID, @tanevId, 0, DEFAULT)) kocs ON kocs.ID = tn.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES t on t.id=tn.C_TANTARGYID
|
||||
LEFT JOIN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN T_CSOPORTTIPUS_OSSZES cst On cst.ID = cs.C_TIPUSA AND cst.C_ALTANEVID = cs.C_ALTANEVID AND cst.C_ISTANORAICELU = 'F'
|
||||
WHERE cs.C_ALTANEVID = @tanevId
|
||||
) cs ON tn.C_OSZTALYCSOPORTID = cs.ID
|
||||
LEFT JOIN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN #SzurtCsoportTipus cst On cst.CsoportTipusId = cs.C_TIPUSA
|
||||
WHERE cs.C_ALTANEVID = @tanevId
|
||||
) csmuv ON tn.C_OSZTALYCSOPORTID = csmuv.ID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID AND tanulok.TanuloId = tcs.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tn.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @kategoriaId AND ocs.Torolt = 'F'
|
||||
WHERE tn.C_DATUM BETWEEN @IdoszakKezdete AND @IdoszakVege
|
||||
AND mu.C_TANEVID = @tanevId
|
||||
AND mu.Torolt ='F'
|
||||
AND tn.Torolt ='F'
|
||||
AND mu.C_IGAZOLT IS NOT NULL
|
||||
AND tn.C_TANEVID = @tanevId
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
AND tcs.C_BELEPESDATUM <= tn.C_DATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= tn.C_DATUM)
|
||||
AND tanulok.BelepesDatum <= tn.C_DATUM
|
||||
AND (tanulok.KilepesDatum IS NULL OR tanulok.KilepesDatum >= tn.C_DATUM)
|
||||
AND mu.C_TIPUS = 1500
|
||||
AND (
|
||||
(@isMuveszetOktatasi = 0)
|
||||
OR
|
||||
(@isMuveszetOktatasi = 1 AND (csmuv.ID IS NOT NULL OR tcs.C_OSZTALYCSOPORTID = @osztalyid))
|
||||
)
|
||||
GROUP BY mu.C_ORATANULOIID, tanulok.TanuloCsoportId, mu.C_TIPUS, mu.C_IGAZOLT, IIF((@isMuveszetOktatasi = 0 AND cs.ID IS NULL), 'T', IIF((@isMuveszetOktatasi = 1 AND (csmuv.ID IS NOT NULL OR tcs.C_OSZTALYCSOPORTID = @osztalyid)),'T','F')), t.C_GYAKORLATI
|
||||
) x
|
||||
) p
|
||||
PIVOT (
|
||||
MAX(cnt)
|
||||
FOR piv IN (
|
||||
[hianyzasIgazoltTanoraiElmeleti], [hianyzasIgazoltTanoraiGyakorlati],
|
||||
[hianyzasIgazolatlanTanoraiElmeleti], [hianyzasIgazolatlanTanoraiGyakorlati]
|
||||
)
|
||||
) AS pvt
|
||||
) mu on mu.tanuloId = t.tanuloId and mu.TanuloCsoportId = t.TanuloCsoportId
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tanuloId
|
||||
,tanulocsoportid
|
||||
,SUM(kesesIgazolandoTanoraiPluszOra) AS kesesIgazolandoTanoraiPluszOra
|
||||
,SUM(kesesIgazoltTanoraiPluszOra) AS kesesIgazoltTanoraiPluszOra
|
||||
,SUM(kesesIgazolatlanTanoraiPluszOra) AS kesesIgazolatlanTanoraiPluszOra
|
||||
,SUM(kesesIgazoltElmeletiOraban) AS kesesIgazoltElmeletiOraban
|
||||
,SUM(kesesIgazolatlanElmeletiOraban) AS kesesIgazolatlanElmeletiOraban
|
||||
,SUM(kesesIgazoltGyakorlatiOraban) AS kesesIgazoltGyakorlatiOraban
|
||||
,SUM(kesesIgazolatlanGyakorlatiOraban) AS kesesIgazolatlanGyakorlatiOraban
|
||||
FROM (
|
||||
SELECT
|
||||
x.tanuloId
|
||||
,x.tanulocsoportid
|
||||
,'Keses' +
|
||||
CASE
|
||||
WHEN isIgazolt IS NULL THEN 'Igazolando'
|
||||
WHEN isIgazolt = 'T' THEN 'Igazolt'
|
||||
WHEN isIgazolt = 'F' THEN 'Igazolatlan'
|
||||
END + 'TanoraiPluszOra' AS piv
|
||||
,kesesOraban
|
||||
,kesesIgazoltElmeletiOraban
|
||||
,kesesIgazolatlanElmeletiOraban
|
||||
,kesesIgazoltGyakorlatiOraban
|
||||
,kesesIgazolatlanGyakorlatiOraban
|
||||
FROM (
|
||||
SELECT
|
||||
xx.tanuloId
|
||||
,xx.tanulocsoportid
|
||||
,xx.isIgazolt
|
||||
,SUM(xx.keses / (CASE WHEN isGyakorlati = 'F' THEN @elmeletiOraPercben ELSE @gyakorlatiOraPercben END)) AS kesesOraban
|
||||
,SUM(CASE WHEN isGyakorlati = 'F' AND isIgazolt='T' THEN xx.keses / @elmeletiOraPercben ELSE 0 END) AS kesesIgazoltElmeletiOraban
|
||||
,SUM(CASE WHEN isGyakorlati = 'F' AND isIgazolt='F' THEN xx.keses / @elmeletiOraPercben ELSE 0 END) AS kesesIgazolatlanElmeletiOraban
|
||||
,SUM(CASE WHEN isGyakorlati = 'T' AND isIgazolt='T' THEN xx.keses / @gyakorlatiOraPercben ELSE 0 END) AS kesesIgazoltGyakorlatiOraban
|
||||
,SUM(CASE WHEN isGyakorlati = 'T' AND isIgazolt='F' THEN xx.keses / @gyakorlatiOraPercben ELSE 0 END) AS kesesIgazolatlanGyakorlatiOraban
|
||||
FROM (
|
||||
SELECT
|
||||
mu.C_ORATANULOIID AS tanuloId
|
||||
,tanulok.tanulocsoportid
|
||||
,mu.C_IGAZOLT isIgazolt
|
||||
,t.C_GYAKORLATI AS isGyakorlati
|
||||
,SUM(mu.C_KESESPERCBEN) AS keses
|
||||
FROM T_TANULOMULASZTAS_OSSZES mu
|
||||
INNER JOIN #Tanulo tanulok ON tanulok.TanuloId = mu.C_ORATANULOIID
|
||||
INNER JOIN T_TANITASIORA_OSSZES tn ON tn.ID = mu.C_TANITASIORAKID
|
||||
INNER JOIN (SELECT ID FROM fnGetDokumentumKapcsolodoOsztalycsoportok(@osztalyID, @tanevId, 0, DEFAULT)) kocs ON kocs.ID = tn.C_OSZTALYCSOPORTID
|
||||
INNER JOIN T_TANTARGY_OSSZES t ON t.ID = tn.C_TANTARGYID
|
||||
LEFT JOIN (
|
||||
SELECT cs.ID, cs.C_TIPUSA
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN T_CSOPORTTIPUS_OSSZES cst On cst.ID = cs.C_TIPUSA AND cst.C_ALTANEVID = cs.C_ALTANEVID AND cst.C_ISTANORAICELU = 'F'
|
||||
) cs ON tn.C_OSZTALYCSOPORTID = cs.ID
|
||||
LEFT JOIN (
|
||||
SELECT cs.ID
|
||||
FROM T_CSOPORT_OSSZES cs
|
||||
INNER JOIN #SzurtCsoportTipus cst On cst.CsoportTipusId = cs.C_TIPUSA
|
||||
) csmuv ON tn.C_OSZTALYCSOPORTID = csmuv.ID
|
||||
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tn.C_OSZTALYCSOPORTID and tanulok.TanuloId = tcs.C_TANULOID AND tcs.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tn.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @kategoriaId AND ocs.Torolt = 'F'
|
||||
WHERE mu.C_TANEVID = @tanevId
|
||||
AND (
|
||||
(@isMuveszetOktatasi = 0 AND (cs.ID IS NULL OR cs.C_TIPUSA IN (SELECT CsoportTipusId FROM #SzurtCsoportTipus)))
|
||||
OR
|
||||
(@isMuveszetOktatasi = 1 AND (csmuv.ID IS NOT NULL OR tcs.C_OSZTALYCSOPORTID = @osztalyid))
|
||||
)
|
||||
AND mu.C_TIPUS = 1499
|
||||
AND mu.TOROLT = 'F'
|
||||
AND tn.Torolt ='F'
|
||||
AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA <> 1533 OR C_IGAZOLASTIPUSA IS NULL))
|
||||
AND tcs.C_BELEPESDATUM <= tn.C_DATUM
|
||||
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= tn.C_DATUM)
|
||||
AND tanulok.BelepesDatum <= tn.C_DATUM
|
||||
AND (tanulok.KilepesDatum IS NULL OR tanulok.KilepesDatum >= tn.C_DATUM)
|
||||
AND tn.C_DATUM BETWEEN @IdoszakKezdete AND @IdoszakVege
|
||||
GROUP BY mu.C_ORATANULOIID, tanulok.TanuloCsoportId, mu.C_IGAZOLT, t.C_GYAKORLATI
|
||||
) xx
|
||||
GROUP BY tanuloId, TanuloCsoportId, xx.isIgazolt
|
||||
) x
|
||||
) p
|
||||
PIVOT (
|
||||
MAX(kesesOraban)
|
||||
FOR piv IN (
|
||||
kesesIgazolandoTanoraiPluszOra, kesesIgazoltTanoraiPluszOra, kesesIgazolatlanTanoraiPluszOra
|
||||
)
|
||||
) AS pvt
|
||||
GROUP BY tanuloId, TanuloCsoportId
|
||||
) kp ON t.tanuloId = kp.tanuloId AND kp.TanuloCsoportId = t.TanuloCsoportId
|
||||
LEFT join T_TANULOTANUGYIADATOK ta on t.TanuloCsoportId = ta.C_TANULOCSOPORTID
|
||||
END
|
||||
GO
|
||||
|
|
@ -0,0 +1,380 @@
|
|||
DROP PROCEDURE IF EXISTS sp_GetDokumentumMulasztasokIdoszakonkent
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE sp_GetDokumentumMulasztasokIdoszakonkent
|
||||
@tanevId int
|
||||
,@osztalyCsoportId int
|
||||
,@iskolaErdekuSzamit int
|
||||
,@isReszletesMulasztasok int
|
||||
,@elmeletiOraPercben int = 45
|
||||
,@gyakorlatiOraPercben int = 45
|
||||
,@igazolasTipusTypeId int = 47
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @MulasztasElmeletGyakorlat nvarchar(max)
|
||||
SELECT @MulasztasElmeletGyakorlat = ISNULL(@MulasztasElmeletGyakorlat + ', ', '') + '[' + ElmeletGyakorlat + ']'
|
||||
FROM (
|
||||
SELECT CAST(Honap AS VARCHAR(3)) + Tipus ElmeletGyakorlat
|
||||
FROM (VALUES (9), (10), (11), (12), (1), (2), (3), (4), (5), (6), (7), (8)) HonapTmp(Honap)
|
||||
CROSS JOIN (VALUES ('E'), ('G')) TantargyTipus(Tipus)
|
||||
)temp
|
||||
|
||||
SELECT 'T' IgazoltE, ID TanuloId, TanuloCsoportId, Tipus INTO #Mulasztasok FROM #studentsWithTanuloCsoport
|
||||
CROSS JOIN (SELECT DISTINCT Id FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TANEVID = @tanevId AND C_DICTIONARYTYPEID = @IgazolasTipusTypeId AND (@iskolaErdekuSzamit = 1 OR Id <> 1533) ) Tipus (Tipus)
|
||||
|
||||
--hiányzás
|
||||
DECLARE @FelevVege date = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1400 AND C_TANEVID = @tanevId AND TOROLT = 'F')
|
||||
CREATE TABLE #MulasztasokTemp ( TanuloId int,TanuloCsoportId int,Tipus nvarchar(max),[9E] int,[9G] int,[10E] int,[10G] int,[11E] int,[11G] int,[12E] int,[12G] int,
|
||||
[1E] int,[1G] int,[2E] int,[2G] int,[3E] int,[3G] int,[4E] int,[4G] int,[5E] int,[5G] int,[6E] int,[6G] int,FelevE int,FelevG int ,OsszesenE int,OsszesenG int,Rendez int)
|
||||
CREATE TABLE #MulasztasVegleges ( TanuloId int,TanuloCsoportId int,Tipus nvarchar(max),[9E] int,[9G] int,[10E] int,[10G] int,[11E] int,[11G] int,[12E] int,[12G] int,
|
||||
[1E] int,[1G] int,[2E] int,[2G] int,[3E] int,[3G] int,[4E] int,[4G] int,[5E] int,[5G] int,[6E] int,[6G] int,FelevE int,FelevG int ,OsszesenE int,OsszesenG int,Rendez int)
|
||||
|
||||
--igazolt mulasztás (start) tempbe mert beleszámoljuk az összegezettbe
|
||||
INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
s.id
|
||||
,s.TanuloCsoportId
|
||||
,'igazolt'
|
||||
,ni.[9E], ni.[9G]
|
||||
,ni.[10E],ni.[10G]
|
||||
,ni.[11E],ni.[11G]
|
||||
,ni.[12E],ni.[12G]
|
||||
,ni.[1E],ni.[1G]
|
||||
,ni.[2E],ni.[2G]
|
||||
,ni.[3E],ni.[3G]
|
||||
,ni.[4E],ni.[4G]
|
||||
,ni.[5E],ni.[5G]
|
||||
,ni.[6E],ni.[6G]
|
||||
,FelevE
|
||||
,FelevG
|
||||
,[9E]+[10E]+[11E]+[12E]+[1E]+[2E]+[3E]+[4E]+[5E]+[6E]
|
||||
,[9G]+[10G]+[11G]+[12G]+[1G]+[2G]+[3G]+[4G]+[5G]+[6G]
|
||||
,2 Rendez
|
||||
FROM #studentsWithTanuloCsoport s
|
||||
LEFT JOIN (SELECT * FROM (SELECT Id, ElmeletGyakorlat, TanuloId, TanuloCsoportId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (COUNT(ID) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E],
|
||||
[9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv WHERE IgazoltE = 'T' AND Tipus = 1500 )ni ON ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1500 AND IgazoltE = 'T' AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId) felevG ON felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1500 AND IgazoltE = 'T' AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE ON felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId
|
||||
--Igazolt mulasztás (end)
|
||||
|
||||
--Igazolatlan mulasztás (start) tempbe mert beleszámoljuk az összegezettbe
|
||||
INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
s.id
|
||||
,s.TanuloCsoportId
|
||||
,'igazolatlan'
|
||||
,ni.[9E], ni.[9G]
|
||||
,ni.[10E],ni.[10G]
|
||||
,ni.[11E],ni.[11G]
|
||||
,ni.[12E],ni.[12G]
|
||||
,ni.[1E],ni.[1G]
|
||||
,ni.[2E],ni.[2G]
|
||||
,ni.[3E],ni.[3G]
|
||||
,ni.[4E],ni.[4G]
|
||||
,ni.[5E],ni.[5G]
|
||||
,ni.[6E],ni.[6G]
|
||||
,FelevE
|
||||
,FelevG
|
||||
,[9E]+[10E]+[11E]+[12E]+[1E]+[2E]+[3E]+[4E]+[5E]+[6E] OsszesenE
|
||||
,[9G]+[10G]+[11G]+[12G]+[1G]+[2G]+[3G]+[4G]+[5G]+[6G] OsszesenG
|
||||
,2 Rendez
|
||||
FROM #studentsWithTanuloCsoport s
|
||||
LEFT JOIN (SELECT * FROM (SELECT Id, ElmeletGyakorlat, TanuloId, TanuloCsoportId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (COUNT(ID) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E],
|
||||
[9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv WHERE IgazoltE = 'F' AND Tipus = 1500 )ni on ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1500 AND IgazoltE = 'F' AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId) felevG ON felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1500 AND IgazoltE = 'F' AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE ON felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId
|
||||
--Igazolatlan mulasztás (end)
|
||||
|
||||
--Különbözo igazolás típusok (start)
|
||||
IF @isReszletesMulasztasok = 1
|
||||
BEGIN
|
||||
INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
m.TanuloId
|
||||
,m.TanuloCsoportId
|
||||
,'-' + IgazolasTipus.C_NAME
|
||||
,ni.[9E], ni.[9G]
|
||||
,ni.[10E],ni.[10G]
|
||||
,ni.[11E],ni.[11G]
|
||||
,ni.[12E],ni.[12G]
|
||||
,ni.[1E],ni.[1G]
|
||||
,ni.[2E],ni.[2G]
|
||||
,ni.[3E],ni.[3G]
|
||||
,ni.[4E],ni.[4G]
|
||||
,ni.[5E],ni.[5G]
|
||||
,ni.[6E],ni.[6G]
|
||||
,FelevE
|
||||
,FelevG
|
||||
,[9E]+[10E]+[11E]+[12E]+[1E]+[2E]+[3E]+[4E]+[5E]+[6E] OsszesenE
|
||||
,[9G]+[10G]+[11G]+[12G]+[1G]+[2G]+[3G]+[4G]+[5G]+[6G] OsszesenG
|
||||
,IgazolasTipus.Id
|
||||
FROM #Mulasztasok m
|
||||
LEFT JOIN (SELECT * FROM (SELECT TanuloId, TanuloCsoportId, ElmeletGyakorlat, Id, IgazolasTipus, IgazoltE FROM #mulasztasTmp WHERE Tipus = 1500) a PIVOT (COUNT(ID) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E],
|
||||
[9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv
|
||||
)ni ON ni.TanuloId = m.TanuloId AND ni.IgazolasTipus = m.Tipus AND m.TanuloCsoportId = ni.TanuloCsoportId
|
||||
INNER JOIN T_DICTIONARYITEMBASE_OSSZES IgazolasTipus ON IgazolasTipus.id = m.Tipus AND IgazolasTipus.TOROLT = 'F' AND IgazolasTipus.C_TANEVID = @tanevId
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevE, TanuloId Tanulo, TanuloCsoportId, IgazolasTipus FROM #mulasztasTmp WHERE Datum <= @FelevVege AND Tipus = 1500 AND isGyakorlat = 'F' GROUP BY IgazoltE, TanuloId, TanuloCsoportId, IgazolasTipus
|
||||
)felevE ON felevE.tanulo = m.TanuloId AND felevE.IgazolasTipus = m.Tipus AND felevE.TanuloCsoportId = m.TanuloCsoportId
|
||||
LEFT JOIN (SELECT COUNT(Id) FelevG, TanuloId Tanulo, TanuloCsoportId, IgazolasTipus FROM #mulasztasTmp WHERE Datum <= @FelevVege AND Tipus = 1500 AND isGyakorlat = 'T' GROUP BY IgazoltE, TanuloId, TanuloCsoportId, IgazolasTipus
|
||||
)felevG ON felevG.tanulo = m.TanuloId AND felevG.IgazolasTipus = m.Tipus AND felevG.TanuloCsoportId = m.TanuloCsoportId
|
||||
END
|
||||
--Különbözo igazolás típusok (end)
|
||||
|
||||
--Összesített késés (p) (start)
|
||||
INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
s.id
|
||||
,s.TanuloCsoportId
|
||||
,'késés (p)'
|
||||
,ni.[9E], ni.[9G]
|
||||
,ni.[10E],ni.[10G]
|
||||
,ni.[11E],ni.[11G]
|
||||
,ni.[12E],ni.[12G]
|
||||
,ni.[1E],ni.[1G]
|
||||
,ni.[2E],ni.[2G]
|
||||
,ni.[3E],ni.[3G]
|
||||
,ni.[4E],ni.[4G]
|
||||
,ni.[5E],ni.[5G]
|
||||
,ni.[6E],ni.[6G]
|
||||
,FelevE
|
||||
,FelevG
|
||||
,ISNULL([9E],0)+ISNULL([10E],0)+ISNULL([11E],0)+ISNULL([12E],0)+ISNULL([1E],0)+ISNULL([2E],0)+ISNULL([3E],0)+ISNULL([4E],0)+ISNULL([5E],0)+ISNULL([6E],0) OsszesenE
|
||||
,ISNULL([9G],0)+ISNULL([10G],0)+ISNULL([11G],0)+ISNULL([12G],0)+ISNULL([1G],0)+ISNULL([2G],0)+ISNULL([3G],0)+ISNULL([4G],0)+ISNULL([5G],0)+ISNULL([6G],0) OsszesenG
|
||||
,50000 Rendez
|
||||
FROM #studentsWithTanuloCsoport s
|
||||
LEFT JOIN (SELECT * FROM (SELECT KesesPercben, ElmeletGyakorlat, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1499) a PIVOT (SUM(KesesPercben) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E],
|
||||
[9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv)ni on ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE on felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId) felevG on felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId
|
||||
--Összesített késés (p) (end)
|
||||
|
||||
--Igazolt késés (p) (start)
|
||||
INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
s.id
|
||||
,s.TanuloCsoportId
|
||||
,'* igazolt (p)'
|
||||
,ni.[9E], ni.[9G]
|
||||
,ni.[10E],ni.[10G]
|
||||
,ni.[11E],ni.[11G]
|
||||
,ni.[12E],ni.[12G]
|
||||
,ni.[1E],ni.[1G]
|
||||
,ni.[2E],ni.[2G]
|
||||
,ni.[3E],ni.[3G]
|
||||
,ni.[4E],ni.[4G]
|
||||
,ni.[5E],ni.[5G]
|
||||
,ni.[6E],ni.[6G]
|
||||
,FelevE
|
||||
,FelevG
|
||||
,ISNULL([9E],0)+ISNULL([10E],0)+ISNULL([11E],0)+ISNULL([12E],0)+ISNULL([1E],0)+ISNULL([2E],0)+ISNULL([3E],0)+ISNULL([4E],0)+ISNULL([5E],0)+ISNULL([6E],0) AS OsszesenE
|
||||
,ISNULL([9G],0)+ISNULL([10G],0)+ISNULL([11G],0)+ISNULL([12G],0)+ISNULL([1G],0)+ISNULL([2G],0)+ISNULL([3G],0)+ISNULL([4G],0)+ISNULL([5G],0)+ISNULL([6G],0) AS OsszesenG
|
||||
,50001 AS Rendez
|
||||
FROM #studentsWithTanuloCsoport s
|
||||
LEFT JOIN (SELECT * FROM (SELECT KesesPercben, ElmeletGyakorlat, TanuloId, TanuloCsoportId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (SUM(KesesPercben) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E],
|
||||
[9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv WHERE IgazoltE = 'T' AND Tipus = 1499)ni on ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE IgazoltE = 'T' AND Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE ON felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE IgazoltE = 'T' AND Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId ) felevG ON felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId
|
||||
--Igazolt késés (p) (end)
|
||||
|
||||
--Igazolatlan késés (p) (start)
|
||||
INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
s.id
|
||||
,s.TanuloCsoportId
|
||||
,'* igazolatlan (p)'
|
||||
,ni.[9E], ni.[9G]
|
||||
,ni.[10E],ni.[10G]
|
||||
,ni.[11E],ni.[11G]
|
||||
,ni.[12E],ni.[12G]
|
||||
,ni.[1E],ni.[1G]
|
||||
,ni.[2E],ni.[2G]
|
||||
,ni.[3E],ni.[3G]
|
||||
,ni.[4E],ni.[4G]
|
||||
,ni.[5E],ni.[5G]
|
||||
,ni.[6E],ni.[6G]
|
||||
,FelevE
|
||||
,FelevG
|
||||
,ISNULL([9E],0)+ISNULL([10E],0)+ISNULL([11E],0)+ISNULL([12E],0)+ISNULL([1E],0)+ISNULL([2E],0)+ISNULL([3E],0)+ISNULL([4E],0)+ISNULL([5E],0)+ISNULL([6E],0) AS OsszesenE
|
||||
,ISNULL([9G],0)+ISNULL([10G],0)+ISNULL([11G],0)+ISNULL([12G],0)+ISNULL([1G],0)+ISNULL([2G],0)+ISNULL([3G],0)+ISNULL([4G],0)+ISNULL([5G],0)+ISNULL([6G],0) AS OsszesenG
|
||||
,50002 Rendez
|
||||
FROM #studentsWithTanuloCsoport s
|
||||
LEFT JOIN (SELECT * FROM (SELECT KesesPercben, ElmeletGyakorlat, TanuloId, TanuloCsoportId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (SUM(KesesPercben) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E],
|
||||
[9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv WHERE IgazoltE = 'F' AND Tipus = 1499)ni on ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE IgazoltE = 'F' AND Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE ON felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId
|
||||
LEFT JOIN (SELECT SUM(KesesPercben) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE IgazoltE = 'F' AND Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId) felevG ON felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId
|
||||
--Igazolatlan késés (p) (end)
|
||||
|
||||
--Mindkét fajta késés (ó) (start) tempbe mert beleszámoljuk az összegezettbe
|
||||
INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
TanuloId
|
||||
,TanuloCsoportId
|
||||
,REPLACE(Tipus,'(p)','(ó)')
|
||||
,CAST(ISNULL([9E], 0) / @elmeletiOraPercben AS int)
|
||||
,CAST(ISNULL([9G], 0) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([10E], 0) + (ISNULL([9E], 0) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([10G], 0) + (ISNULL([9G], 0) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([11E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0)) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([11G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0)) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([12E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0) + ISNULL([11E], 0)) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([12G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0) + ISNULL([11G], 0)) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([1E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0) + ISNULL([11E], 0) + ISNULL([12E], 0)) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([1G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0) + ISNULL([11G], 0) + ISNULL([12G], 0)) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([2E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0) + ISNULL([11E], 0) + ISNULL([12E], 0) + ISNULL([1E], 0)) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([2G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0) + ISNULL([11G], 0) + ISNULL([12G], 0) + ISNULL([1G], 0)) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([3E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0) + ISNULL([11E], 0) + ISNULL([12E], 0) + ISNULL([1E], 0) + ISNULL([2E], 0)) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([3G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0) + ISNULL([11G], 0) + ISNULL([12G], 0) + ISNULL([1G], 0) + ISNULL([2G], 0)) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([4E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0) + ISNULL([11E], 0) + ISNULL([12E], 0) + ISNULL([1E], 0) + ISNULL([2E], 0) + ISNULL([3E], 0)) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([4G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0) + ISNULL([11G], 0) + ISNULL([12G], 0) + ISNULL([1G], 0) + ISNULL([2G], 0) + ISNULL([3G], 0)) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([5E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0) + ISNULL([11E], 0) + ISNULL([12E], 0) + ISNULL([1E], 0) + ISNULL([2E], 0) + ISNULL([3E], 0) + ISNULL([4E], 0)) % @elmeletiOraPercben)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([5G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0) + ISNULL([11G], 0) + ISNULL([12G], 0) + ISNULL([1G], 0) + ISNULL([2G], 0) + ISNULL([3G], 0) + ISNULL([4G], 0)) % @gyakorlatiOraPercben)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST((ISNULL([6E], 0) + ((ISNULL([9E], 0) + ISNULL([10E], 0) + ISNULL([11E], 0) + ISNULL([12E], 0) + ISNULL([1E], 0) + ISNULL([2E], 0) + ISNULL([3E], 0) + ISNULL([4E], 0)) % @elmeletiOraPercben) + ISNULL([5E], 0)) / @elmeletiOraPercben AS int)
|
||||
,CAST((ISNULL([6G], 0) + ((ISNULL([9G], 0) + ISNULL([10G], 0) + ISNULL([11G], 0) + ISNULL([12G], 0) + ISNULL([1G], 0) + ISNULL([2G], 0) + ISNULL([3G], 0) + ISNULL([4G], 0)) % @gyakorlatiOraPercben) + ISNULL([5G], 0)) / @gyakorlatiOraPercben AS int)
|
||||
,CAST(ISNULL(FelevE,0)/@elmeletiOraPercben AS int)
|
||||
,CAST(ISNULL(FelevG,0)/@gyakorlatiOraPercben AS int)
|
||||
,CAST(ISNULL(OsszesenE,0)/@elmeletiOraPercben AS int)
|
||||
,CAST(ISNULL(OsszesenG,0)/@gyakorlatiOraPercben AS int)
|
||||
,Rendez+3
|
||||
FROM #MulasztasVegleges
|
||||
WHERE Tipus LIKE '%*%(p)%'
|
||||
--Mindkét fajta késés (ó) (end)
|
||||
|
||||
--Igazolt hozott (start) tempbe mert beleszámoljuk az összegezettbe
|
||||
INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
s.id
|
||||
,s.TanuloCsoportId
|
||||
,'hozott igazolt mulasztás'
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,IIF(@FelevVege > CAST(replace(s.BelepesDatum,'.','') AS DATE), ISNULL(tta.C_HOZOTTIGAZOLTHIANYZAS,0),0)
|
||||
,0
|
||||
,ISNULL(tta.C_HOZOTTIGAZOLTHIANYZAS,0)
|
||||
,0
|
||||
,50005 Rendez
|
||||
FROM #studentsWithTanuloCsoport s
|
||||
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = s.TanuloCsoportId
|
||||
--Igazolt hozott (end)
|
||||
|
||||
--Igazolatlan hozott (start) tempbe mert beleszámoljuk az összegezettbe
|
||||
INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
s.id
|
||||
,s.TanuloCsoportId
|
||||
,'hozott igazolatlan mulasztás'
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,0,0
|
||||
,IIF(@FelevVege > CAST(replace(s.BelepesDatum,'.','') AS DATE), ISNULL(tta.C_HOZOTTIGAZOLATLANHIANYZAS,0),0)
|
||||
,0
|
||||
,ISNULL(tta.C_HOZOTTIGAZOLATLANHIANYZAS,0)
|
||||
,0
|
||||
,50006 Rendez
|
||||
FROM #studentsWithTanuloCsoport s
|
||||
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = s.TanuloCsoportId
|
||||
--Igazolatlan hozott (end)
|
||||
|
||||
-- beszurni a veglegestablaba a temp osszegezve
|
||||
--Összesített mulasztás (start)
|
||||
INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT
|
||||
mb.TanuloId
|
||||
,mb.TanuloCsoportId
|
||||
,CAST('mulasztás' AS NVARCHAR(MAX)) AS Tipus
|
||||
,SUM(ISNULL(mb.[9E],0))
|
||||
,SUM(ISNULL(mb.[9G],0))
|
||||
,SUM(ISNULL(mb.[10E],0))
|
||||
,SUM(ISNULL(mb.[10G],0))
|
||||
,SUM(ISNULL(mb.[11E],0))
|
||||
,SUM(ISNULL(mb.[11G],0))
|
||||
,SUM(ISNULL(mb.[12E],0))
|
||||
,SUM(ISNULL(mb.[12G],0))
|
||||
,SUM(ISNULL(mb.[1E],0))
|
||||
,SUM(ISNULL(mb.[1G],0))
|
||||
,SUM(ISNULL(mb.[2E],0))
|
||||
,SUM(ISNULL(mb.[2G],0))
|
||||
,SUM(ISNULL(mb.[3E],0))
|
||||
,SUM(ISNULL(mb.[3G],0))
|
||||
,SUM(ISNULL(mb.[4E],0))
|
||||
,SUM(ISNULL(mb.[4G],0))
|
||||
,SUM(ISNULL(mb.[5E],0))
|
||||
,SUM(ISNULL(mb.[5G],0))
|
||||
,SUM(ISNULL(mb.[6E],0))
|
||||
,SUM(ISNULL(mb.[6G],0))
|
||||
,SUM(ISNULL(mb.FelevE,0))
|
||||
,SUM(ISNULL(mb.FelevG,0))
|
||||
,SUM(ISNULL(mb.OsszesenE,0))
|
||||
,SUM(ISNULL(mb.OsszesenG,0))
|
||||
,1 AS Rendez
|
||||
FROM #MulasztasokTemp mb
|
||||
GROUP BY mb.TanuloId,mb.TanuloCsoportId
|
||||
--Összesített mulasztás (end)
|
||||
|
||||
-- beszurni a veglegestablaba a temp-bol
|
||||
INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez)
|
||||
SELECT TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G],
|
||||
[2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez
|
||||
FROM #MulasztasokTemp
|
||||
|
||||
SELECT
|
||||
Tanuloid
|
||||
,TanuloCsoportId
|
||||
,Tipus
|
||||
,ISNULL([9E], 0) AS [9E], ISNULL([9G], 0) AS [9G]
|
||||
,ISNULL([10E], 0) AS [10E], ISNULL([10G], 0) AS [10G]
|
||||
,ISNULL([11E], 0) AS [11E], ISNULL([11G], 0) AS [11G]
|
||||
,ISNULL([12E], 0) AS [12E], ISNULL([12G], 0) AS [12G]
|
||||
,ISNULL([1E], 0) AS [1E], ISNULL([1G], 0) AS [1G]
|
||||
,ISNULL([2E], 0) AS [2E], ISNULL([2G], 0) AS [2G]
|
||||
,ISNULL([3E], 0) AS [3E], ISNULL([3G], 0) AS [3G]
|
||||
,ISNULL([4E], 0) AS [4E], ISNULL([4G], 0) AS [4G]
|
||||
,ISNULL([5E], 0) AS [5E], ISNULL([5G], 0) AS [5G]
|
||||
,ISNULL([6E], 0) AS [6E], ISNULL([6G], 0) AS [6G]
|
||||
,ISNULL(FelevE, 0) AS FelevE
|
||||
,ISNULL(FelevG, 0) AS FelevG
|
||||
,ISNULL(OsszesenE, 0) AS OsszesenE
|
||||
,ISNULL(OsszesenG, 0) AS OsszesenG
|
||||
,ISNULL([9E], 0) + ISNULL([9G], 0) [9Ossz]
|
||||
,ISNULL([10E], 0) + ISNULL([10G], 0) AS [10Ossz]
|
||||
,ISNULL([11E], 0) + ISNULL([11G], 0) AS [11Ossz]
|
||||
,ISNULL([12E], 0) + ISNULL([12G], 0) AS [12Ossz]
|
||||
,ISNULL([1E], 0) + ISNULL([1G], 0) AS [1Ossz]
|
||||
,ISNULL([2E], 0) + ISNULL([2G], 0) AS [2Ossz]
|
||||
,ISNULL([3E], 0) + ISNULL([3G], 0) AS [3Ossz]
|
||||
,ISNULL([4E], 0) + ISNULL([4G], 0) AS [4Ossz]
|
||||
,ISNULL([5E], 0) + ISNULL([5G], 0) AS [5Ossz]
|
||||
,ISNULL([6E], 0) + ISNULL([6G], 0) AS [6Ossz]
|
||||
,ISNULL(FelevE, 0) + ISNULL(FelevG, 0) AS FelevOssz
|
||||
,ISNULL(OsszesenE, 0) + ISNULL(OsszesenG, 0) AS OsszesenOssz
|
||||
FROM #MulasztasVegleges
|
||||
ORDER BY Rendez
|
||||
END
|
||||
GO
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue