aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-orig/www/include/modules/naplo/hianyzas
diff options
context:
space:
mode:
Diffstat (limited to 'mayor-orig/www/include/modules/naplo/hianyzas')
-rw-r--r--mayor-orig/www/include/modules/naplo/hianyzas/diak.php119
-rw-r--r--mayor-orig/www/include/modules/naplo/hianyzas/oktstat.php155
-rw-r--r--mayor-orig/www/include/modules/naplo/hianyzas/ora.php8
-rw-r--r--mayor-orig/www/include/modules/naplo/hianyzas/osztaly.php232
4 files changed, 0 insertions, 514 deletions
diff --git a/mayor-orig/www/include/modules/naplo/hianyzas/diak.php b/mayor-orig/www/include/modules/naplo/hianyzas/diak.php
deleted file mode 100644
index a98a0ef0..00000000
--- a/mayor-orig/www/include/modules/naplo/hianyzas/diak.php
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-
- function napiHianyzasBeiras($dt,$diakId,$SET=array('tipus'=>'hiányzás','statusz'=>'igazolatlan', 'igazolas'=>'')) {
- global $napiMinOra, $napiMaxOra;
-
- $q = "SELECT * FROM hianyzas WHERE diakId=%u AND dt='%s'";
- $RES = db_query($q, array('fv' => 'napiHianyzasBeiras', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($diakId, $dt)));
-
- $T = $diakTANKOROK = getTankorByDiakId($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'result'=>'csakid'));
-
- $tmpOrak = getOrak($T,array('tolDt'=>$dt,'igDt'=>$dt,'csakId'=>false));
- $diakORAK = $tmpOrak['orak'];
-
- if (!is_array($diakORAK)) {
- $_SESSION['alert'][] = ':nincs_oraja:';
- return false;
- }
- foreach ($diakORAK[$dt] as $_ora=>$ORA) {
- $_diakFmTankorIdk = getTankorDiakFelmentes($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'nap'=>date('w',strtotime($dt)), 'ora'=>$_ora, 'result'=>'csakid'));
- foreach($ORA as $_tankorId => $_OA) {
- if ( in_array($_tankorId,$_diakFmTankorIdk) === true ) {
- continue;
- }
- $diakORAIDK[] = $_OA['oraId'];
- $ORAK[$_OA['oraId']] = $_OA;
- }
- }
-
- $MODOSITANDO = $eddigORAIDK = array();
- $error = false;
- for ($i=0; $i<count($RES); $i++) {
- $_tipus = $RES[$i]['tipus'];
- $_statusz = $RES[$i]['statusz'];
- $_hid = $RES[$i]['hianyzasId'];
- $_oraId = $RES[$i]['oraId'];
- if ($SET['tipus']=='hiányzás' && in_array($_tipus,array('felszerelés hiány','felmentés','egyenruha hiány'))) {
- $_SESSION['alert'][] = '::regisztrált F/f/e-betűs bejegyzése van erre a napra! Egyeztetés szükséges!';
- $error = true;
- }
- // modositani kell, ha eddig nem az volt, ezeket a hianyzasIdket:
- // ha szeretnéd, hogy módosítsa az igazolás tíipusokat is, akkor hasonlítsd össze ezeket:
- // var_dump($RES[$i]['igazolas']);
- // var_dump($SET['igazolas']);
- if ($_statusz!=$SET['statusz']) {
- $MODOSITANDO[] = array('oraId'=>$_oraId,'id'=>$_hid,'statusz'=>$SET['statusz'],'igazolas'=>$SET['igazolas'],'tipus'=>$SET['tipus']);
- }
- $eddigORAIDK[] = $_oraId;
- }
-
- if (!$error) {
- $BEIRANDO = array_diff($diakORAIDK,$eddigORAIDK);
-// for ($i=0; $i<count($BEIRANDO); $i++) {
- foreach ($BEIRANDO as $_index => $_oraId) {
- if (!in_array($ORAK[$_oraId]['tipus'],array('elmarad','elmarad máskor')))
- hianyzasRegisztralas(
- array('oraId'=>$_oraId,'dt'=>$ORAK[$_oraId]['dt'],'ora'=>$ORAK[$_oraId]['ora']),
- array(array('diakId'=>$diakId, 'id'=>'','statusz'=>$SET['statusz'],'igazolas'=>$SET['igazolas'],'tipus'=>$SET['tipus']))
- );
- }
-
- if (is_array($MODOSITANDO) && count($MODOSITANDO)>0)
- hianyzasIgazolas($MODOSITANDO,$diakId);
-
- }
- }
-
-
- function oraHianyzasBeiras($dt, $ora, $diakId, $SET=array()) {
-
- if ($dt=='' || $ora=='') {
- $_SESSION['alert'][] = 'message:empty_fields:kötelező paraméter üres (oraHianyzasBeiras:dt,ora)';
- return false;
- }
- $q = "SELECT * FROM hianyzas WHERE diakId=%u AND dt='%s' AND ora=%u";
- $RES = db_query($q, array('fv' => 'oraHianyzasBeiras', 'modul' => 'naplo', 'result' => 'indexed', 'values' => array($diakId, $dt, $ora)));
- if ($RES!==false && count($RES)>0) {
-
- $_SESSION['alert'][] = 'message:wrong_data:már van bejegyzése. Eldöntési kérdés.';
-
- } else {
-
- // Aznapi tankörei és felmentései
- $diakTANKOROK = getTankorByDiakId($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'result'=>'csakid'));
- $diakFMTANKOROK = getTankorDiakFelmentes($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'nap'=>date('w',strtotime($dt)),'ora'=>$ora,'result'=>'csakid'));
-
- $T = array_diff($diakTANKOROK,$diakFMTANKOROK);
- reset($T);
- sort($T);
-
- $q = "SELECT * FROM ora WHERE ora=%u AND dt='%s' and tankorId IN (".implode(',', array_fill(0, count($T), '%u')).")";
- $v = mayor_array_join(array($ora, $dt), $T);
- $oraAdat = db_query($q, array('fv' => 'oraHianyzasBeiras', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v));
-
- // EDDIG: csak akkor regisztráltuk, ha egy találatot adott az ora tábla.
- // if ( ($db=count($oraAdat)) ==1 && !in_array($oraAdat[0]['tipus'],array('elmarad','elmarad máskor')) ) {
- // MOST : azonban lehetséges olyan eset, hogy az adott órára többször is regisztrálandó. Mit tegyünk?
- // a napi beírás beírja! Ez a függvény hibaüzen.
-
- if ( ($db=count($oraAdat)) >=1 ) {
- for ($i=0; $i<count($oraAdat); $i++) {
- if (!in_array($oraAdat[$i]['tipus'],array('elmarad','elmarad máskor'))) {
- hianyzasRegisztralas(
- array('oraId'=>$oraAdat[$i]['oraId'],'dt'=>$oraAdat[$i]['dt'],'ora'=>$oraAdat[$i]['ora']),
- array(array('diakId'=>$diakId, 'id'=>'','statusz'=>$SET['statusz'],'igazolas'=>$SET['igazolas'],'tipus'=>$SET['tipus']))
- );
- }
- }
- } elseif ($db==0) {
- $_SESSION['alert'][] = '::nincs órája.';
- } elseif (in_array($oraAdat[0]['tipus'],array('elmarad','elmarad máskor'))) {
- // ekkor nem kell csinálni semmit. Hibaüzenetet sem.
- } else {
- // ide nem juthatunk MÁR!
- $_SESSION['alert'][] = ':%0%:%1% órája is van ebben az időpontban:'.$db;
- }
- }
- }
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/hianyzas/oktstat.php b/mayor-orig/www/include/modules/naplo/hianyzas/oktstat.php
deleted file mode 100644
index c3cc7a24..00000000
--- a/mayor-orig/www/include/modules/naplo/hianyzas/oktstat.php
+++ /dev/null
@@ -1,155 +0,0 @@
-<?php
-
-/* - Tankötelesség -
-2011. évi CXC. törvény a nemzeti köznevelésről
-
-27. A gyermekek, a tanulók kötelességei és jogai, a tankötelezettség(3)195 A tankötelezettség annak a tanévnek a végéig tart, amelyben a tanuló a tizenhatodik életévét betölti. A sajátos nevelési igényű tanuló tankötelezettsége meghosszabbítható annak a tanítási évnek a végéig, amelyben a huszonharmadik életévét betölti. A tankötelezettség meghosszabbításáról a szakértői bizottság szakértői véleménye alapján az iskola igazgatója dönt.
-
-13. A gyógypedagógiai, konduktív pedagógiai nevelési-oktatási intézmény60
-(4)64 A fejlesztő nevelés-oktatásban a tanuló annak a tanítási évnek az utolsó napjáig köteles részt venni, amelyben betölti a tizenhatodik életévét és annak a tanítási évnek az utolsó napjáig vehet részt, amelyben betölti a huszonharmadik életévét. A fejlesztő nevelés-oktatásban a tanulókat a sajátos nevelési igényük, fejlettségük és életkoruk alapján osztják be fejlesztő csoportokba.
-
-54. Átmeneti és vegyes rendelkezések
-97. § (1)485 Azok a tanulók, akik tanulmányaikat az iskolai nevelés-oktatás kilencedik évfolyamán a 2011/2012. tanévben vagy azt megelőzően kezdték meg, tankötelezettségük azon tanítási év végéig tart, amelyben a tizennyolcadik életévüket betöltik vagy sikeres érettségi vizsgát vagy szakmai vizsgát tettek. Azon sajátos nevelési igényű tanulók tankötelezettsége, akik esetében a szakértői és rehabilitációs bizottság e törvény hatálybalépése előtt a tankötelezettség huszadik életévükig történő meghosszabbításáról döntött, annak a tanévnek a végéig tart, amelyben a huszadik életévüket betöltik.
-*/
-
- require_once('include/modules/naplo/share/hianyzas.php');
-
- function getOktoberiStatisztika($tanev=__TANEV, $overrideLezart = false) {
-
- $TA = getTanevAdat($tanev);
-
- if ($TA['statusz'] != 'lezárt') {
- $overrideLezart = true;
- $_SESSION['alert'][] = 'info:nem_lezart_tanev';
- }
- $lr = db_connect('naplo_intezmeny');
-
- // van értelmes adat az aggregált táblában? mert ha nincs, vagy nincs lezárva, akkor számoljuk ki az online adatokból
- $q = "select count(*) AS db from hianyzasOsszesites where tanev=%u and igazolt!=0 or igazolatlan!=0";
- $v = array($tanev);
- $dbAdat = db_query($q,array('fv' => 'hianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'value'), $lr);
-
- if ( $overrideLezart === true || $dbAdat==0 ) {
-
- $Wnemszamit = defWnemszamit();
- // A tanévhez tartozó hiányzási adatok lekérdezése és rögzítése
- $tanevDb = tanevDbNev(__INTEZMENY, $tanev);
- $j = 0;
- foreach ($TA['szemeszter'] as $i => $szAdat) {
- if ($j==0) $q = "CREATE TEMPORARY TABLE ".__INTEZMENYDBNEV.".__hianyzasOsszesites ";
- else $q = "INSERT INTO ".__INTEZMENYDBNEV.".__hianyzasOsszesites ";
- $q .= " SELECT diakId, %u AS tanev, %u AS szemeszter,
- COUNT(IF(tipus='hianyzas' AND statusz='igazolt',1,NULL)) AS igazolt,
- COUNT(IF(tipus='hianyzas' AND statusz='igazolatlan',1,NULL)) AS igazolatlan,
- SUM(IF(tipus='késés' AND statusz='igazolatlan',perc,NULL)) AS kesesPercOsszeg
- FROM `%s`.hianyzas ".$Wnemszamit['join']."
- WHERE (
- tipus = 'hiányzás'
- OR (tipus='késés' AND statusz='igazolatlan' AND perc IS NOT NULL)
- ) AND dt<='%s'
- ".$Wnemszamit['nemszamit']."
- GROUP BY diakId";
- $v = array($tanev, $szAdat['szemeszter'], $tanevDb, $szAdat['zarasDt']);
- db_query($q, array('fv' => 'hianyzasOsszesites', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
- // A hozott hiányzások hozzáadása
- $q = "UPDATE ".__INTEZMENYDBNEV.".__hianyzasOsszesites SET
- igazolt = igazolt + (
- SELECT IFNULL(SUM(dbHianyzas),0) FROM `%s`.hianyzasHozott AS `hh`
- WHERE hh.diakId = __hianyzasOsszesites.diakId AND hh.statusz='igazolt' AND hh.dt<='%s'
- ),
- igazolatlan = igazolatlan + (
- SELECT IFNULL(SUM(dbHianyzas),0) FROM `%s`.hianyzasHozott AS `hh`
- WHERE hh.diakId = __hianyzasOsszesites.diakId AND hh.statusz='igazolatlan' AND hh.dt<='%s'
- )
- WHERE tanev=%u AND szemeszter=%u";
- $v = array($tanevDb, $szAdat['zarasDt'], $tanevDb, $szAdat['zarasDt'], $tanev, $szAdat['szemeszter']);
- db_query($q, array('fv' => 'hianyzasOsszesites/hozott', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
- $j++;
- }
- }
-
-// -----------------------------
-
- $SQL_hianyzasOsszesites = ( ($overrideLezart === true) ? '__hianyzasOsszesites' : 'hianyzasOsszesites');
-
- $q = "select IFNULL(telephelyId,0) AS telephelyId, osztalyJel as 'osztály',
-count(if(igazolatlan>0,1,null)) as `van igazolatlanja`,
-count(if(igazolatlan=1,1,null)) as `1 igazolatlan`,
-count(if(1<igazolatlan and igazolatlan<10,1,null)) as `2-9 igazolatlan`,
-count(if(9<igazolatlan and igazolatlan<30,1,null)) as `10-29 igazolatlan`,
-count(if(29<igazolatlan and igazolatlan<51,1,null)) as `30-50 igazolatlan`,
-count(if(50<igazolatlan,1,null)) as `több mint 50 igazolatlan`,
-count(if(igazolt>0,1,null)) as igazolt,
-count(if(249<igazolatlan+igazolt,1,null)) as `250 vagy több hiányzás`,
-CONCAT(IFNULL(telephelyId,0),osztalyJel) AS csop
-from
- naplo_".__INTEZMENY."_%u.osztalyNaplo
- left join osztalyDiak using (osztalyId)
- left join osztaly using (osztalyId)
- left join ".$SQL_hianyzasOsszesites." using (diakId)
-where
-tanev=%u and szemeszter=%u
-and beDt<='%s' and (kiDt is null or '%s'<=kiDt)
-group by csop order by telephelyId,lpad(osztalyJel,4,' ')";
-
- $v = array($tanev,$tanev,count($TA['szemeszter']),$TA['zarasDt'],$TA['zarasDt']);
-
- $r['osszes'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'indexed'), $lr);
-
- $q = "select IFNULL(telephelyId,0) AS telephelyId, osztalyJel as `osztály`,
-count(if(igazolatlan>0,1,null)) as `van igazolatlanja`,
-count(if(igazolatlan=1,1,null)) as `1 igazolatlan`,
-count(if(1<igazolatlan and igazolatlan<10,1,null)) as `2-9 igazolatlan`,
-count(if(9<igazolatlan and igazolatlan<30,1,null)) as `10-29 igazolatlan`,
-count(if(29<igazolatlan and igazolatlan<51,1,null)) as `30-50 igazolatlan`,
-count(if(50<igazolatlan,1,null)) as `több mint 50 igazolatlan`,
-count(if(igazolt>0,1,null)) as igazolt,
-count(if(249<igazolatlan+igazolt,1,null)) as `250 vagy több hiányzás`,
-CONCAT(IFNULL(telephelyId,0),osztalyJel) AS csop
-from
- naplo_".__INTEZMENY."_%u.osztalyNaplo
- left join osztalyDiak using (osztalyId)
- left join osztaly using (osztalyId)
- left join diak using (diakId)
- left join ".$SQL_hianyzasOsszesites." using (diakId)
-where
-diak.szuletesiIdo>='%s'
-and tanev=%u and szemeszter=%u
-and beDt<='%s' and (kiDt is null or '%s'<=kiDt)
-group by csop order by telephelyId,lpad(osztalyJel,4,' ')
-";
-
- $v = array($tanev,date('Y-m-d',strtotime('-16 years', strtotime($TA['kezdesDt']))),$tanev,count($TA['szemeszter']),$TA['zarasDt'],$TA['zarasDt']);
- $r['tankoteles'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','values'=>$v,'result'=>'indexed'), $lr);
-
- db_query('DROP TABLE IF EXISTS __hianyzasOsszesites', array('fv' => 'hianyzasOsszesites/hozott', 'modul' => 'naplo_intezmeny', 'values' => $v), $lr);
- db_close($lr);
-
- $r['a04t17'] = getStat_a04t17($tanev);
-
- return $r;
- }
-
- function getStat_a04t17($tanev) {
-
- $stat = 'a04t17';
-
- $LJ = "LEFT JOIN osztalyDiak USING (diakId) LEFT JOIN osztaly USING (osztalyId)";
-
- // az iskolába lépőnek tekintjük az 1 évfolyamosokat, vagyis azokat, akik annak az osztálynak a tagjai szept 1-jén
- // amelyik kezdoEvfolyamSorszam=1, kezdoTanev=$tanev és osztalyJellegId IN (1,21,22,65) az adott tanévben
- $W = " AND osztaly.kezdoTanev=$tanev AND kezdoEvfolyamSorszam=1 AND osztalyJellegId IN (1,21,22,65)"; // kezdoEvfolyam=1 volt eredetileg
-
- $q = "SELECT nem,count(DISTINCT diakId) AS db FROM diak $LJ WHERE szuletesiIdo+INTERVAL 6 YEAR>'$tanev-09-01' $W GROUP BY nem"; // nincs egyenlő!!!
- $R[$stat.'_4'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'nem'));
- $q = "SELECT nem,count(DISTINCT diakId) AS db FROM diak $LJ WHERE szuletesiIdo+INTERVAL 6 YEAR<='$tanev-08-31' and szuletesiIdo+INTERVAL 6 YEAR>='$tanev-06-01' $W GROUP BY nem";
- $R[$stat.'_3'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'nem'));
- $q = "SELECT nem,count(DISTINCT diakId) AS db FROM diak $LJ WHERE szuletesiIdo+INTERVAL 6 YEAR<='$tanev-05-31' $W GROUP BY nem"; // nincs egyenlő!!!
- $R[$stat.'_2'] = db_query($q, array('fv'=>'oktstat','modul'=>'naplo_intezmeny','result'=>'assoc','keyfield'=>'nem'));
-
- return $R;
- }
-
-// var_dump(getStat_a04t17(2014));
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/hianyzas/ora.php b/mayor-orig/www/include/modules/naplo/hianyzas/ora.php
deleted file mode 100644
index 56648a8c..00000000
--- a/mayor-orig/www/include/modules/naplo/hianyzas/ora.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-/*
-MOVED -->share hianyzasModifier
- function hianyzasPercUpdate($ORAADAT,$PERCEK)
-*/
-
-?>
diff --git a/mayor-orig/www/include/modules/naplo/hianyzas/osztaly.php b/mayor-orig/www/include/modules/naplo/hianyzas/osztaly.php
deleted file mode 100644
index 07efde7d..00000000
--- a/mayor-orig/www/include/modules/naplo/hianyzas/osztaly.php
+++ /dev/null
@@ -1,232 +0,0 @@
-<?php
-/*
- Module: naplo
-
- function getHianyzok($osztaly)
-*/
-
- function getHianyzok($ADAT,$SET = array()) {
-
- $lr = db_connect('naplo', array('fv' => 'getHianyzok'));
- $H = array();
- if ($SET['dt']!='') {
- $Diakok = getDiakokByOsztaly($ADAT['osztalyId'],array('tolDt'=>$SET['dt'],'igDt'=>$SET['dt']));
- } else {
- $Diakok = getDiakokByOsztaly($ADAT['osztalyId']);
- }
- $munkatervIds = getMunkatervByOsztalyId($ADAT['osztalyId'], array('result'=>'idonly'));
- $H['névsor'] = array();
- foreach (array('jogviszonyban van','magántanuló','vendégtanuló') as $statusz) {
- foreach ($Diakok[$statusz] as $diakId) {
- if (!is_array($H['névsdor'][$diakId])) {
- $H['névsor'][$diakId] = $Diakok[$diakId];
- // Az aktuális státusz megállapítása
- $i = 0;
- // A státuszbejegyzések sora időben visszafele rendezett!!
- while ($i < count($Diakok[$diakId]['statusz']) && strtotime($Diakok[$diakId]['statusz'][$i]['dt']) > time()) $i++;
- $H['névsor'][$diakId]['aktualisStatusz'] = $Diakok[$diakId]['statusz'][$i]['statusz'];
- }
- }
- }
-
-
- foreach ($H['névsor'] as $diakId => $dAdat) {
- $H['diakIds'][] = $diakId;
- $H[$diakId] = array();
- }
-
- if (count($H['névsor']) == 0) return $H;
-
- // A legmagasabb fegyelmi fokozat lekérdezése tanulónként
- $q = "SELECT `diakId`, MAX(`referenciaDt`) AS `referenciaDt`, MAX(`fokozat`) AS `fokozat`, MAX(`bejegyzes`.`hianyzasDb`) AS `hianyzasDb`
- FROM `".__TANEVDBNEV."`.`bejegyzes` LEFT JOIN `".__INTEZMENYDBNEV."`.`bejegyzesTipus` USING (`bejegyzesTipusId`)
- WHERE `diakId` IN (".implode(',', array_fill(0, count($H['diakIds']), '%u')).")
- AND `tipus` = 'fegyelmi' AND `bejegyzes`.`hianyzasDb` > 0
- GROUP BY `diakId`";
- $ret = db_query($q, array('fv' => 'getHianyzok/fegyelmi', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $H['diakIds']), $lr);
- if (!is_array($ret)) { if ($olr == '') db_close($lr); return false; }
- foreach ($ret as $key => $val) {
- $H[ $val['diakId'] ]['fegyelmi'] = array(
- 'fokozat' => $val['fokozat'],
- 'referenciaDt' => $val['referenciaDt'],
- 'hianyzasDb' => $val['hianyzasDb']
- );
- }
- $q = "SELECT `diakId`, MAX(`referenciaDt`) AS `referenciaDt`, MAX(`fokozat`) AS `fokozat`, MAX(`bejegyzes`.`hianyzasDb`) AS `hianyzasDb`
- FROM `".__TANEVDBNEV."`.`bejegyzes` LEFT JOIN `".__INTEZMENYDBNEV."`.`bejegyzesTipus` USING (`bejegyzesTipusId`)
- WHERE `diakId` IN (".implode(',', array_fill(0, count($H['diakIds']), '%u')).")
- AND `tipus` = 'fegyelmi'
- GROUP BY `diakId`";
- $ret = db_query($q, array('fv' => 'getHianyzok/fegyelmi', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $H['diakIds']), $lr);
- if (!is_array($ret)) { if ($olr == '') db_close($lr); return false; }
- foreach ($ret as $key => $val) {
- $H[ $val['diakId'] ]['fegyelmi']['maxFokozat'] = $val['fokozat'];
- }
-
- $f_where = $where = $v_fw = $v_w = array();
- $v_w = array($ADAT['tolDt'], $ADAT['igDt']);
- // A _LEGKORABBI_IGAZOLHATO_HIANYZAS és a legutóbbi osztályfőnöki óra függvénye
- $dt = legkorabbiIgazolhatoHianyzasVeg($ADAT['osztalyId'], $lr);
- foreach ($H['névsor'] as $diakId => $dAdat) {
- // Az utolsó lezártnak tekinthető dátum - a beírt hiányzások függvénye!
- $H[$diakId]['igDt'] = $tDt = getNemIgazolhatoDt($diakId, $munkatervIds, $dt, $lr);
- // Ha megadott a felhasználó új viszonyítási pontott, akkor úgy vesszük, hogy addig a dátumig már le vannak zárva a hiányzások - legalábbis a fegyelmi szempontjából
- if ($ADAT['referenciaDt'] != '' && strtotime($ADAT['referenciaDt']) > strtotime($tDt)) $tDt = $ADAT['referenciaDt'];
- $where[] = "(diakId=%u AND dt<='%s')"; array_push($v_w, $diakId, $tDt);
- if ($H[$diakId]['fegyelmi']['referenciaDt'] != '') {
- $f_where[] = "(diakId=%u AND '%s'<dt AND dt<='%s')";
- array_push($v_fw, $diakId, $H[$diakId]['fegyelmi']['referenciaDt'], $tDt);
- } else {
- $f_where[] = "(diakId=%u AND dt<='%s')";
- array_push($v_fw, $diakId, $tDt);
- }
- }
-
- $Wnemszamit = defWnemszamit();
-
- if (count($where) > 0) $where = "AND '%s' <= dt AND dt <= '%s' AND (".implode(' OR ', $where).")";
- if ($f_where != '') $f_where = 'AND ('.implode(' OR ',$f_where).')';
- // Összes hiányzás lekérdezése
- $q = "SELECT diakId,tipus,statusz,count(*) AS db,SUM(perc) AS ido
- FROM ".__TANEVDBNEV.".hianyzas".$Wnemszamit['join']."
- WHERE statusz != 'törölt'
- AND diakId IN (".implode(',', array_fill(0, count($H['diakIds']), '%u')).")
- AND '%s' <= dt AND dt <= '%s'
- ".$Wnemszamit['nemszamit']."
- GROUP BY diakId, tipus, statusz";
- $v = $H['diakIds']; $v[] = $ADAT['tolDt']; $v[] = $ADAT['igDt'];
- $ret = db_query($q, array('fv' => 'getHianyzok/összes', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr);
- if (!is_array($ret)) { if ($olr == '') db_close($lr); }
- foreach ($ret as $key => $val) {
- if ($val['tipus'] == 'késés')
- $H[ $val['diakId'] ]['összes'][ $val['tipus'] ][ $val['statusz'] ] = array('db' => $val['db'], 'ido' => $val['ido']);
- else
- $H[ $val['diakId'] ]['összes'][ $val['tipus'] ][ $val['statusz'] ] = $val['db'];
- }
-
- // Lezárt hiányzások lekérdezése
- $q = "SELECT diakId,tipus,statusz,COUNT(*) AS db,SUM(perc) AS ido
- FROM hianyzas
- ".$Wnemszamit['join']."
- WHERE statusz != 'törölt'
- $where
- ".$Wnemszamit['nemszamit']."
- GROUP BY diakId, tipus, statusz";
- $ret = db_query($q, array('fv' => 'getHianyzok/lezárt', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v_w), $lr);
- if (!is_array($ret)) { if ($olr == '') db_close($lr); }
- foreach ($ret as $key => $val) {
- if ($val['tipus'] == 'késés')
- $H[ $val['diakId'] ]['lezárt'][ $val['tipus'] ][ $val['statusz'] ] = array('db' => $val['db'], 'ido' => $val['ido']);
- else
- $H[ $val['diakId'] ]['lezárt'][ $val['tipus'] ][ $val['statusz'] ] = $val['db'];
- }
-
- // Lezárt, még nem szankcionált hiányzások lekérdezése
- $q = "SELECT diakId, tipus, statusz, COUNT(*) AS db, SUM(perc) AS ido
- FROM hianyzas
- ".$Wnemszamit['join']."
- WHERE statusz != 'törölt'
- $f_where
- ".$Wnemszamit['nemszamit']."
- GROUP BY diakId, tipus, statusz";
-
- $ret = db_query($q, array('fv' => 'getHianyzok/lezárt, nem szankcionált', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v_fw), $lr);
- if (!is_array($ret)) { if ($olr == '') db_close($lr); }
- foreach ($ret as $key => $val) {
- if ($val['tipus'] == 'késés')
- $H[ $val['diakId'] ]['fegyelmi'][ $val['tipus'] ][ $val['statusz'] ] = array('db' => $val['db'], 'ido' => $val['ido']);
- else
- $H[ $val['diakId'] ]['fegyelmi'][ $val['tipus'] ][ $val['statusz'] ] = $val['db'];
- }
-
- // Tanulónként
- foreach ($H['névsor'] as $diakId => $dAdat) {
-
- $_HOZOTT = getDiakHozottHianyzas($diakId); //hozott hiányzások lekérdezése az alapértelmezett tanévre
- //$H[$diakId]['összes']['hozott'] = $_HOZOTT['igazolatlan']['db'] + $_HOZOTT['igazolt']['db'];
-
- $H[$diakId]['hozott'] = $_HOZOTT; //???
-
-// $H[$diakId]['összes']['hiányzás']['igazolt'] += $_HOZOTT['igazolt']['db'];
-// $H[$diakId]['összes']['hiányzás']['igazolatlan'] += $_HOZOTT['igazolatlan']['db'];
-
- /* Egy diák */
- $H[$diakId]['összes igazolatlan'] = $H[$diakId]['összes']['hiányzás']['igazolatlan'];
-
- // 20/2012 EMMI 51. § (10) - igazolt késések is átváltandók
- $H[$diakId]['összes igazolt'] +=
- floor($H[$diakId]['összes']['késés']['igazolt']['ido'] / 45);
- // Az igazolatlanok esetén azt a számítási módot használjuk, amelyik szigorúbb
- // Előbb a hivatalos, 45 percenkénti átváltás szerint
- $igazolatlanKesesbol = floor($H[$diakId]['összes']['késés']['igazolatlan']['ido'] / 45);
- // majd a késések, felszereléshiányok darabszáma szerinti
- if (intval(_HANY_KESES_IGAZOLATLAN) != 0)
- $igazolatlanFegyelmi = floor($H[$diakId]['összes']['késés']['igazolatlan']['db'] / intval(_HANY_KESES_IGAZOLATLAN));
- else
- $igazolatlanFegyelmi = 0;
- if (intval(_HANY_FSZ_IGAZOLATLAN) != 0)
- $igazolatlanFegyelmi += floor($H[$diakId]['összes']['felszerelés hiány']['igazolatlan'] / intval(_HANY_FSZ_IGAZOLATLAN));
- if (intval(_HANY_EH_IGAZOLATLAN) != 0) // egyenruha hiány
- $igazolatlanFegyelmi += floor($H[$diakId]['összes']['egyenruha hiány']['igazolatlan'] / intval(_HANY_EH_IGAZOLATLAN));
- // végül a kettő közül a nagyobbikkal növeljük az összes igazolatlanok számát ??? ezt miért?
- if ($igazolatlanKesesbol > $igazolatlanFegyelmi)
- $H[$diakId]['összes igazolatlan'] += $igazolatlanKesesbol;
- else
- $H[$diakId]['összes igazolatlan'] += $igazolatlanFegyelmi;
-/*
- //if (_KESESI_IDOK_OSSZEADODNAK === true) { // 20/2012 EMMI - mindenképp összeadódnak a késési idők
- $H[$diakId]['összes igazolatlan'] +=
- floor($H[$diakId]['összes']['késés']['igazolatlan']['ido'] / 45);
- //} else {
- if (intval(_HANY_KESES_IGAZOLATLAN) != 0)
- $H[$diakId]['összes igazolatlan'] +=
- floor($H[$diakId]['összes']['késés']['igazolatlan']['db'] / intval(_HANY_KESES_IGAZOLATLAN));
- if (intval(_HANY_FSZ_IGAZOLATLAN) != 0)
- $H[$diakId]['összes igazolatlan'] +=
- floor($H[$diakId]['összes']['felszerelés hiány']['igazolatlan'] / intval(_HANY_FSZ_IGAZOLATLAN));
- //}
-*/
-# Itt ne adjuk ezt hozzá, mert alább a $H[$diakId]['összes igazolatlan']-okat összegezzük - abban meg már benne lesz a hozott! (Issu 59)
-# $H['összes']['összes igazolatlan'] += floor($_HOZOTT['igazolatlan']['db']);
-# $H['összes']['összes igazolt'] += floor($_HOZOTT['igazolt']['db']);
- $H[$diakId]['összes igazolatlan'] += floor($_HOZOTT['igazolatlan']['db']);
- $H[$diakId]['összes igazolt'] += floor($_HOZOTT['igazolt']['db']);
-
-
- if (_KESESI_IDOK_OSSZEADODNAK === true) {
- $H[$diakId]['összes fegyelmi igazolatlan'] +=
- floor(((($H[$diakId]['összes']['késés']['igazolatlan']['ido']
- - $H[$diakId]['fegyelmi']['késés']['igazolatlan']['ido']) % 45 )
- + $H[$diakId]['fegyelmi']['késés']['igazolatlan']['ido']) / 45);
- }
-
-
- /* Összes Diákra, összesítés */
- $H['összes']['hiányzás']['igazolt'] += $H[$diakId]['összes']['hiányzás']['igazolt'];
- $H['összes']['hiányzás']['igazolatlan'] += $H[$diakId]['összes']['hiányzás']['igazolatlan'];
-
- $H['összes']['hiányzás']['igazolatlan'] += floor($_HOZOTT['igazolatlan']['db']);
- $H['összes']['hiányzás']['igazolt'] += floor($_HOZOTT['igazolt']['db']);
-
- $H['összes']['késés']['igazolt'] += $H[$diakId]['összes']['késés']['igazolt']['db'];
- $H['összes']['késés']['igazolatlan'] += $H[$diakId]['összes']['késés']['igazolatlan']['db'];
- $H['összes']['felszerelés hiány']['igazolatlan'] += $H[$diakId]['összes']['felszerelés hiány']['igazolatlan'];
- $H['összes']['felmentés']['igazolatlan'] += $H[$diakId]['összes']['felmentés']['igazolatlan'];
- $H['összes']['egyenruha hiány']['igazolatlan'] += $H[$diakId]['összes']['egyenruha hiány']['igazolatlan'];
-
- $H['összes']['összes igazolatlan'] += $H[$diakId]['összes igazolatlan'];
-
- $H['összes']['fegyelmi']['hiányzás']['igazolatlan'] += $H[$diakId]['fegyelmi']['hiányzás']['igazolatlan'];
- $H['összes']['fegyelmi']['késés']['igazolatlan'] += $H[$diakId]['fegyelmi']['késés']['igazolatlan']['db'];
- $H['összes']['fegyelmi']['felszerelés hiány']['igazolatlan'] += $H[$diakId]['fegyelmi']['felszerelés hiány']['igazolatlan'];
- $H['összes']['fegyelmi']['egyenruha hiány']['igazolatlan'] += $H[$diakId]['fegyelmi']['egyenruha hiány']['igazolatlan'];
-
- }
-
- db_close($lr);
-
- return $H;
-
- }
-
-?>