Tarkistuksen tarkoitus: Lehtitasolta (Lehti_laajuus_op) tulisi olla sama määrä opintopisteitä kuin päätason/kokonaisuuden/opintojaksosuorituksen laajuus (Kokonaisuus_laajuus_op).

Suoritukset huomioitu tarkistuksessa kokonaisuuden suorituspäivämäärän mukaan >1.1.2010 alkaen, ei sitä vanhempia suorituksia.

Tarkistukset_Lehtitaso_KK.csvKuvausEsim. data
OpintosuoritusAvainKokonaisuuden opintosuoritusavain11223344
Kokonaisuus_laajuus_opKokonaisuuden opintopiste laajuus15
Lehti_laajuus_opSumma opintopisteitä lehtitasolta13Tässä 15 - 13 = 2  kokonaisuudesta puuttuu 2 op
Opintosuoritus_lajiOpintosuorituslaji (1=tutkinto, 2=muu)2
KK_lyhenneKorkeakoulun VirtanimilyhenneKK
SuorituspaivamaaraKokonaisuuden suorituspäivämäärä2021-03-31
OpiskelijaAvainSuorittajan Virta OpiskelijaAvain12345
OpiskeluoikeusAvainSuorittajan Virta OpiskeluoikeusAvain (tyhjä jos suoritus ei ole kytketty opiskeluoikeuteen)45678




Tarkistukset_Lehtitaso_KK.csv löytyy korkeakoulun (KK)  SFTP-hakemiston juuressa mikäli puutteita on.



Mikäli tiedostoa ei ole, puutteita ei ole. Tiedosto poistuu kun puutteita ei enään ole.  Uusi tiedosto muodostetaan joka yö klo 01:00 jälkeen.

sp_lehtitaso_tarkistus
-- Poikkeamat lehtitason ja kokoavan suorituksen laajuustiedoissa

		-- Suoritukset joita ei haluta:
		-- Kaikki paitsi Laji 4 (= oppilaitoksen sisäinen)

		create table ##__tmp_os_lehti (
			osid int
		);

		insert into ##__tmp_os_lehti (osid) 
			select id from virta.dbo.Opintosuoritus where Opintosuorituksen_lajiID not in (1,2,3);

		--
		-- Tuhotaan raportointitaulu
		-- 
	
		delete from  dbo.lehtitaso;

		--
		-- Lasketaan lehtitasojen summa
		--

		insert into dbo.lehtitaso 
		  (
			id,
			laajuus,
			lehti_laajuus,
			suoritus_tyyppi,
			db,
			suoritus_avain,
			suorituspaivamaara,
			opiskelijaavain,
			OpiskeluoikeusAvain
			)
		select DISTINCT os.id, os.laajuus, x.lehti_laajuus, osl.koodi as suoritus_tyyppi, os.db, os.avain as suoritus_avain, os.Suorituspaivamaara
		, op.Avain as OpiskelijaAvain
		, OO.Avain AS OpiskeluoikeusAvain
		from virta.dbo.opintosuoritus os
		inner join (select opintosuoritusid, sum(laajuus) as lehti_laajuus from virta.dbo.Op_suor_sisaltyvyys 
			where not exists (select 1 from ##__tmp_os_lehti where osid = OpintosuoritusID2) group by OpintosuoritusID) as x on os.id = x.OpintosuoritusID
		inner join virta.dbo.Opintosuorituksen_laji as osl on os.Opintosuorituksen_lajiID = osl.id
		left join virta.dbo.opiskelija as op on os.OpiskelijaID = op.id
		left join virta.dbo.Opiskeluoikeus as OO ON OS.OpiskeluoikeusID = OO.id

		where os.laajuus != x.lehti_laajuus
		and os.Suorituspaivamaara > '2010-01-01'		-- Ei 2010 vanhempia
		
		--
		-- Pudotetaan ##temppi taulu 
		--

		drop table ##__tmp_os_lehti;
  • No labels