﻿--Migration
UPDATE rbe 
SET C_ERTEK = x.Ertek, C_ALAPERTEK = x.Ertek, LASTCHANGED = GETDATE(), MODIFIER = 0
FROM T_RENDSZERBEALLITAS rbe
INNER JOIN (
  select rb.ID 
    ,CASE C_BEALLITASTIPUS
      WHEN 3076 THEN '{"Date":"2020-09-01T00:00:00","Id":"Ertekeles_datumanak_minimuma"}'
      WHEN 3082 THEN '{"Date":"2020-09-01T00:00:00","Id":"Naplozaras_eves_datuma"}'
      WHEN 5438 THEN '{"Date":"2021-01-29T00:00:00","Id":"Felevi_jegyek_megjelenesenek_datuma"}'
      WHEN 5439 THEN '{"Date":"2021-06-22T00:00:00","Id":"Ev_vegi_jegyek_megjelenesenek_datuma"}'
      WHEN 5440 THEN '{"Date":"2021-05-07T00:00:00","Id":"Ev_vegi_jegyek_megjelenesenek_datuma_vegzos"}'
      WHEN 1690 THEN '{"Date":"2021-05-02T00:00:00","Id":"Ertesites_bukasra_allo_tanulokrol"}'
      WHEN 1691 THEN '{"Date":"2021-04-02T00:00:00","Id":"Ertesites_bukasra_allo_vegzos_tanulokrol"}'
      WHEN 1687 THEN '{"Date":"2020-09-01T00:00:00","Id":"Ertesites_Tanev_rendi_valtoztatasrol_idopont"}'
      WHEN 7106 THEN '{"Date":"2021-06-16T00:00:00","Id":"Osszefuggo_gyakorlat_kezd_datum"}'
      WHEN 7107 THEN '{"Date":"2021-08-31T00:00:00","Id":"Osszefuggo_gyakorlat_veg_datum"}'
      WHEN 7362 THEN '{"Date":"2020-11-02T00:00:00","Id":"I_Negyedeves_jegyek_megjelenesenek_datuma"}'
      WHEN 7363 THEN '{"Date":"2021-01-29T00:00:00","Id":"II_Negyedeves_jegyek_megjelenesenek_datuma"}'
      WHEN 7364 THEN '{"Date":"2021-05-22T00:00:00","Id":"III_Negyedeves_jegyek_megjelenesenek_datuma"}'
      WHEN 7365 THEN '{"Date":"2021-06-22T00:00:00","Id":"IV_Negyedeves_jegyek_megjelenesenek_datuma"}'   
     END AS Ertek
  FROM T_RENDSZERBEALLITAS rb
  INNER JOIN T_TANEV tv ON tv.ID = rb.C_TANEVID AND tv.C_NEV = '2020/2021'
  WHERE C_ERTEKTIPUS = 1696 AND (  -- Ha a típusa dátum
      ( -- Ha még nem váltott tanévet
        tv.C_AKTIV = 'F'
      )
    OR( -- Ha váltott, de a beállítás értéke kisebb, mint a tanév kezdete
        tv.C_AKTIV = 'T' AND  CAST(JSON_VALUE(C_ERTEK, '$.Date') AS datetime) < '20200901'
      )
    OR( -- Ha váltott, a beállítás értéke nagyobb, mint a tanév kezdete, viszont a suli nem változtatott az értéken tanévváltás óta
        tv.C_AKTIV = 'T' AND  CAST(JSON_VALUE(C_ERTEK, '$.Date') AS datetime) >= '20200901' AND rb.LASTCHANGED < tv.C_AKTIVALVA
      )
    )
) x ON x.ID = rbe.ID
WHERE x.Ertek <> rbe.C_ERTEK