diff options
author | M.Gergo | 2019-03-08 21:20:34 +0100 |
---|---|---|
committer | M.Gergo | 2019-03-08 21:20:34 +0100 |
commit | f51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0 (patch) | |
tree | e13e60e4b94a3b58f1e2bfbe271102c8f04b67bd /mayor-orig/www/include/modules/naplo/hianyzas | |
parent | c76a004b0135786f2742283f8d5f917106f58bd8 (diff) | |
download | mayor-f51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0.tar.gz mayor-f51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0.zip |
további rendrakás
Diffstat (limited to 'mayor-orig/www/include/modules/naplo/hianyzas')
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; - - } - -?> |