diff options
Diffstat (limited to 'mayor-orig/www/include/modules/naplo')
-rw-r--r-- | mayor-orig/www/include/modules/naplo/base/tool.php | 1 | ||||
-rw-r--r-- | mayor-orig/www/include/modules/naplo/share/hianyzas.php | 63 | ||||
-rw-r--r-- | mayor-orig/www/include/modules/naplo/share/ora.php | 15 |
3 files changed, 79 insertions, 0 deletions
diff --git a/mayor-orig/www/include/modules/naplo/base/tool.php b/mayor-orig/www/include/modules/naplo/base/tool.php index 39923b9f..8fb6e9e9 100644 --- a/mayor-orig/www/include/modules/naplo/base/tool.php +++ b/mayor-orig/www/include/modules/naplo/base/tool.php @@ -553,6 +553,7 @@ function getIgazolasOsszegzo() { $TOOL['igazolasOsszegzo']['igazolasok'] = getIgazolasSzam($diakId); $_T = getDiakHianyzasOsszesites(array($diakId),$_TANEV); $TOOL['igazolasOsszegzo']['hianyzasok'] = $_T[$diakId]; + $TOOL['kretaIgazolasOsszegzo'] = getKretaIgazolasOsszegzo($diakId); } } diff --git a/mayor-orig/www/include/modules/naplo/share/hianyzas.php b/mayor-orig/www/include/modules/naplo/share/hianyzas.php index 0ee41fa0..4b3787fa 100644 --- a/mayor-orig/www/include/modules/naplo/share/hianyzas.php +++ b/mayor-orig/www/include/modules/naplo/share/hianyzas.php @@ -475,4 +475,67 @@ return $RESULT; } + function getDiakKretaHianyzas($diakId, $SET = array('preprocess'=>'stat','tanev'=>__TANEV, 'igDt'=>null, 'tolDt'=>null)) { + $RESULT = false; + if (isset($diakId) && is_numeric($diakId)) + { + $tanev = (isset($SET['tanev']) && $SET['tanev']!=__TANEV) ? $SET['tanev'] : __TANEV; + $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev); + + $v = array($diakId); + $W = ''; + if (isset($SET['tolDt'])) { + $W .= " AND dt>='%s'"; + $v[] = $SET['tolDt']; + } + if (isset($SET['igDt'])) { + $W .= " AND dt<='%s'"; + $v[] = $SET['igDt']; + } + + $q = "SELECT * FROM `$tanevDbNev`.`hianyzasKreta` WHERE diakId=%u".$W.""; + $R = db_query($q, array('debug'=>false,'fv'=>'getDiakKretaHianyzas','modul'=>'naplo','result'=>'indexed','values'=>$v)); + /* ReIndex */ + if ($SET['preprocess'] == 'stat') { + for ($i=0; $i<count($R); $i++) { + //if ($R[$i]['dbHianyzas']>0) { // igen, SQL - ben is lehetne összeadni, a továbbfejlesztés miatt van így. + $_igazoltStr = $R[$i]['kretaStatusz'] == 'igen' ? 'igazolt':'igazolatlan'; + $RESULT[$R[$i]['tipus']][$_igazoltStr]['db']++; + if ($R[$i]['tipus']=='késés') $RESULT[$R[$i]['tipus']][$_igazoltStr]['perc']+=$R[$i]['perc']; + //} + } + } elseif ($SET['preprocess']=='naptar') { + for ($i=0; $i<count($R); $i++) { + $RESULT[$R[$i]['diakId']][$R[$i]['dt']][$R[$i]['ora']][] = $R[$i]; + } + } else { + $RESULT = $R; + } + } + return $RESULT; + + } + + function kretaIgazolas2mayor($key) { // -- TODO + $KRETA2MAYOR= array( + 'Szülői igazolás'=>'szülői', + 'Orvosi igazolás'=>'orvosi', + 'Egyéb'=>'egyéb', + 'Iskolai engedély'=>'igazgatói', + 'Iskolaérdekű távollét'=>'igazgatói', + 'Kikérő' => 'igazgatói', + 'Pályaválasztási célú igazolás'=>'pályaválasztás', + 'Szolgáltatói igazolás' => 'hatósági', + 'Hivatalos távollét' => 'egyéb', + 'Táppénz' => 'egyéb'); + return $KRETA2MAYOR[$key]!='' ? $KRETA2MAYOR[$key] : 'egyéb'; + } + + function getKretaIgazolasOsszegzo($diakId) { // -- TODO + $q = "SELECT tipus, kretaIgazolas, count(distinct dt) AS db, count(*) AS dbBejegyzes FROM hianyzasKreta WHERE diakId=%u AND kretaStatusz='igen' GROUP BY tipus,kretaIgazolas ORDER BY tipus, kretaIgazolas"; + $v = array($diakId); + $R = db_query($q, array('fv'=>'getKretaIgazolasOsszegzo','modul'=>'naplo','result'=>'indexed','values'=>$v)); + return reindex($R,array(kretaIgazolas,tipus)); + } + ?> diff --git a/mayor-orig/www/include/modules/naplo/share/ora.php b/mayor-orig/www/include/modules/naplo/share/ora.php index b41bc7b8..cdadeb00 100644 --- a/mayor-orig/www/include/modules/naplo/share/ora.php +++ b/mayor-orig/www/include/modules/naplo/share/ora.php @@ -607,4 +607,19 @@ return $R; } + function getDiakOra($diakId,$dt,$ora,$olr_intezmeny = '',$olr_naplo) { // jelenlét mezőt nem vesszük figyelembe!!! + + // diakId->tankor->ora + + $TANKOR = getTankorByDiakId($diakId, __TANEV, array('csakId' => true, 'tolDt' => $dt, 'igDt' => $dt, 'override' => false, 'result'=>'indexed'),$olr_intezmeny); // jelenlét!!! + // --TODO!!! minden jelenlét számít, még az is ami nem kötelező :( + if (count($TANKOR)>0 ) { + $q = "SELECT *,getNev(tankorId,'tankor') AS tankorNev FROM ora WHERE dt='%s' AND ora=%u AND tankorId IN (".implode(',',$TANKOR).")"; + $v = array($dt,$ora); + $R = db_query($q,array('debug'=>false,'fv'=>'getDiakOra','modul'=>'naplo','values'=>$v,'result'=>'indexed'),$olr_naplo); + if (count($R)==1) return $R[0]; + } + return false; + } + ?> |