﻿-- ===================================================================================================
-- KIRSTAT - Felhasználó Allamporgáság, tartozkodasi hely, külföldi allampolgárság, menedékjog
-- ===================================================================================================
-- 22. MUNKALAP - A02T106 - MAGYARORSZÁGON TANULÓ KETTŐS - MAGYAR ÉS EGYÉB- ÁLLAMPOLGÁR GYERMEKEK, TANULÓK SZÁMA ORSZÁGONKÉNT, NYITÓADATOK
--  2. MUNKALAP - A02T09 - GYERMEKEK, TANULÓK SZÁMA A LAKÓHELY ORSZÁGA SZERINT, NYITÓADATOK
--  5. MUNKALAP – KÖZÉPSŐ - A02T14 - MAGYARORSZÁGON TANULÓ KÜLFÖLDI ÁLLAMPOLGÁR GYERMEKEK, TANULÓK SZÁMA ORSZÁGONKÉNT, NYITÓADATOK

DROP PROCEDURE IF EXISTS uspKIRstat_FelhasznaloKettosAllampolgar
GO

CREATE PROCEDURE uspKIRstat_FelhasznaloKettosAllampolgar
   @pFeladatellatasiHelyId int
  ,@pTanevId int
AS
BEGIN
  SET NOCOUNT ON;
  DECLARE 
     @oktoberEgy datetime
  SET @oktoberEgy = (SELECT LEFT(C_NEV, 4) FROM T_TANEV WHERE ID = @pTanevId) + '1001'
  SELECT 
     fh.ID AS TanuloId
    ,fh.C_NYOMTATASINEV AS TanuloNev
    ,dap.C_NAME AS Allampolgarsag
    ,dap2.C_NAME AS Allampolgarsag2
    ,c.CimSzerintiOrszag
    ,IIF(fh.C_NEME = 5, 'Leány','Fiú') AS Neme
    ,def.C_NAME_4 AS Evfolyam
    ,t.C_MENEDEKJOGGALRENDELKEZO AS MenedekjoggalRendelkezo
  FROM T_FELHASZNALO fh
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES dap ON dap.ID = fh.C_ALLAMPOLGARSAGA AND dap.C_TANEVID = fh.C_TANEVID AND dap.TOROLT = 'F'
    LEFT JOIN T_DICTIONARYITEMBASE_OSSZES dap2 ON dap2.ID = fh.C_ALLAMPOLGARSAGA2 AND dap2.C_TANEVID = fh.C_TANEVID AND dap.TOROLT = 'F'
    INNER JOIN T_TANULO t ON t.ID = fh.ID AND t.TOROLT = 'F'
    INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = fh.ID
      AND tcs.C_BELEPESDATUM <= @oktoberEgy
      AND (tcs.C_KILEPESDATUM > @oktoberEgy OR tcs.C_KILEPESDATUM IS NULL)
      AND tcs.TOROLT = 'F'
    INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs On ocs.ID = tcs.C_OSZTALYCSOPORTID 
      AND ocs.C_FELADATELLATASIHELYID = @pFeladatellatasiHelyId
      AND ocs.TOROLT = 'F'
    INNER JOIN T_DICTIONARYITEMBASE_OSSZES def ON def.ID = ocs.C_EVFOLYAMTIPUSA AND def.C_TANEVID = ocs.C_TANEVID AND def.TOROLT = 'F'
    OUTER APPLY (
      SELECT TOP (1) do.C_NAME AS CimSzerintiOrszag
      FROM T_CIM_OSSZES c 
        INNER JOIN T_DICTIONARYITEMBASE_OSSZES do ON do.ID =  c.C_ORSZAG AND c.C_TANEVID = do.C_TANEVID AND do.TOROLT = 'F'
      WHERE fh.ID = c.C_FELHASZNALOID 
        AND c.C_GONDVISELOID IS NULL 
        AND c.TOROLT = 'F'
      ORDER BY CASE C_CIMTIPUSA WHEN 909 THEN 1 WHEN 907 THEN 2 ELSE 3 END
    ) c
  WHERE fh.TOROLT = 'F'
    AND EXISTS (SELECT 1 FROM T_OSZTALY o WHERE o.ID = ocs.ID)
    AND fh.C_TANEVID = @pTanevId
    
END
GO