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/tanev | |
parent | c76a004b0135786f2742283f8d5f917106f58bd8 (diff) | |
download | mayor-f51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0.tar.gz mayor-f51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0.zip |
további rendrakás
Diffstat (limited to 'mayor-orig/www/include/modules/naplo/tanev')
8 files changed, 0 insertions, 1069 deletions
diff --git a/mayor-orig/www/include/modules/naplo/tanev/checkStatus.php b/mayor-orig/www/include/modules/naplo/tanev/checkStatus.php deleted file mode 100644 index a2d97afb..00000000 --- a/mayor-orig/www/include/modules/naplo/tanev/checkStatus.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php - - function checkStatus() { - if ($olr == '') $lr = db_connect('naplo'); - else $lr = $olr; - - // A munkaterv meglétének ellenőrzése - $q = "SELECT COUNT(*) AS db FROM `nap`"; - $R['napokSzama'] = db_query($q, array('fv' => 'checkStatus/1', 'modul' => 'naplo', 'result' => 'value'), $lr); - - $q = "SELECT COUNT(*) AS db FROM orarendiOra WHERE tolDt <= curdate() AND igDt >= curdate()"; - $R['orakSzama'] = db_query($q, array('fv' => 'checkStatus/2', 'modul' => 'naplo', 'result' => 'value'), $lr); - - $q = "SELECT DISTINCT orarendiOra.tanarId, orarendiOra.targyJel, orarendiOra.osztalyJel - FROM orarendiOra LEFT JOIN orarendiOraTankor USING(tanarId, targyJel, osztalyJel) - WHERE tankorId IS NULL"; - - $R['hianyzoTankor'] = db_query($q, array('fv' => 'checkStatus/3', 'modul' => 'naplo', 'result' => 'indexed'),$lr); - - $q = "SELECT DISTINCT orarendiOra.tanarId, orarendiOra.targyJel, orarendiOra.osztalyJel - FROM orarendiOraTankor LEFT JOIN orarendiOra USING(tanarId, targyJel, osztalyJel) - WHERE tanarId IS NULL"; - - $R['hianyzoOra'] = db_query($q, array('fv' => 'checkStatus/3', 'modul' => 'naplo', 'result' => 'indexed'),$lr); - - $R['vizsgaltDt'] = date('Y-m-d'); - - if ($olr == '') db_close($lr); - - return $R; - - } -?> diff --git a/mayor-orig/www/include/modules/naplo/tanev/fogadoOra.php b/mayor-orig/www/include/modules/naplo/tanev/fogadoOra.php deleted file mode 100644 index 4aaf4016..00000000 --- a/mayor-orig/www/include/modules/naplo/tanev/fogadoOra.php +++ /dev/null @@ -1,142 +0,0 @@ -<?php - - function getKovetkezoFogadoDtk() { - $q = "SELECT DISTINCT tol, ig FROM ".__TANEVDBNEV.".fogadoOra WHERE ig>NOW() ORDER BY tol"; - $dts = db_query($q, array('fv' => 'getKovetkezoFogadoDt', 'modul' => 'naplo', 'result' => 'indexed')); - $ret = array('dates' => array(), 'tol' => array(), 'ig' => array()); - if (is_array($dts)) for ($i = 0; $i < count($dts); $i++) { - $dt = substr($dts[$i]['tol'],0,10); - if (!in_array($dt, $ret['dates'])) $ret['dates'][] = $dt; - $ret['tol'][] = $dts[$i]['tol']; - $ret['ig'][] = $dts[$i]['ig']; - } - return $ret; - } - - function getTanarFogadoOra($tanarId) { - $v = array($tanarId); - $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOra WHERE tanarId=%u AND ig>=NOW()"; - $ret['adatok'] = db_query($q, array('fv' => 'getTanarFogadoOra', 'modul' => 'naplo', 'result' => 'record', 'values' => $v)); - if (!is_array($ret['adatok']) || count($ret['adatok']) == 0) $ret['adatok'] = array('tanarId' => $tanarId); - - $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE tanarId=%u AND tol>=CURDATE()"; - $ret['jelentkezesek'] = db_query($q, array('fv' => 'getTanarFogadoOra', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tol', 'values' => $v)); - - return $ret; - } - - function getFogadoOsszes() { - // Hogy ABC szerint legyen inkább... - $q = "SELECT fogadoOra.* FROM ".__TANEVDBNEV.".fogadoOra LEFT JOIN ".__INTEZMENYDBNEV.".tanar USING (tanarId) WHERE ig>=NOW() - ORDER BY CONCAT_WS(' ',viseltCsaladinev,viseltUtonev),tol,ig,teremId"; - $ret = db_query($q, array('fv' => 'getFogadoOsszes', 'modul' => 'naplo', 'result' => 'indexed')); - return $ret; - } - - function kovetkezoFogadoOraInit($tol, $ig) { - // Egyszerre mindig csak egy következő fogadó óra lehet - törlés - $q = "DELETE FROM fogadoOra WHERE tol>=NOW() OR tol>='$tol'"; - $r = db_query($q, array('fv' => 'kovetkezoFogadoFelvetele', 'modul' => 'naplo')); - // A szülői jelentkezések is törlődnek ekkor - $q = "DELETE FROM fogadoOraJelentkezes WHERE tol>=NOW() OR tol>='$tol'"; - $r = db_query($q, array('fv' => 'kovetkezoFogadoFelvetele', 'modul' => 'naplo')); - // minden tanárra beállítjuk a megadott tol-ig értéket - $q = "INSERT INTO fogadoOra (tanarId,tol,ig) - SELECT tanarId, '%s','%s' FROM ".__INTEZMENYDBNEV.".tanar - WHERE beDt<='%s' and (kiDt is null or kiDt >= '%s');"; - $r = db_query($q, array('fv' => 'kovetkezoFogadoFelvetele', 'modul' => 'naplo', 'values' => array($tol, $ig, $ig, $tol))); - } - - function tanarFogadoOra($tanarId, $tol, $ig, $teremId) { - if ($teremId == '') $teremId = 'NULL'; - // Ha van bejegyzett fogadóóra, akkor töröljük - $q = "DELETE FROM fogadoOra WHERE ig>NOW() AND tanarId=%u"; - db_query($q, array('fv' => 'tanarFogadoOra', 'modul' => 'naplo', 'values' => array($tanarId))); - // Új fogadóóra felvétele - if (isset($teremId) && $teremId > 0) { - $q = "INSERT INTO fogadoOra VALUES (%u, '%s', '%s', %u)"; - } else { - $q = "INSERT INTO fogadoOra VALUES (%u, '%s', '%s', NULL)"; - } - $v = array($tanarId, $tol, $ig, $teremId); - db_query($q, array('fv' => 'tanarFogadoOra', 'modul' => 'naplo', 'values' => $v)); - - // A szülői jelentkezések is törlődnek ekkor - $q = "DELETE FROM fogadoOraJelentkezes WHERE tanarId=%u AND (tol<'%s' OR tol>='%s')"; - $v = array($tanarId, $tol, $ig); - return db_query($q, array('fv' => 'tanarFogadoOra', 'modul' => 'naplo', 'values' => $v)); - - } - - function getSzuloJelentkezes($szuloId) { - $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE szuloId=%u AND tol>=NOW() ORDER BY tol"; - return db_query($q, array('fv' => 'getSzuloJelentkezes', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tanarId', 'values' => array($szuloId))); - } - - function fogadoOraJelentkezes($szuloId, $M) { - - $lr = db_connect('naplo'); - - for ($i = 0; $i < count($M); $i++) { - $tanarId = $M[$i]['tanarId']; - $datetime = $M[$i]['datetime']; - if (isset($datetime)) { - // Egy már felvett jelentkezésről van-e szó - $q = "SELECT COUNT(*) FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE tol='%s' AND tanarId=%u AND szuloId=%u"; - $v = array($datetime, $tanarId, $szuloId); - $db = db_query($q, array('fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'result' => 'value', 'values' => $v), $lr); - if ($db > 0) continue; - - // Van-e már a szülőnek, vagy a tanárnak bejegyzése az adott időpontra - $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE tol='%s' AND (tanarId=%u OR szuloId=%u) LIMIT 1"; - $v = array($datetime, $tanarId, $szuloId); - $r = db_query($q, array('fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr); - if (!is_array($r) || count($r) == 1) { - //$_SESSION['alert'][] = 'message:wrong_data:fogadoOraJelentkezes:foglalt:'."$szuloId/$tanarId/$datetime"; - $_SESSION['alert'][] = 'message:fogadoora_foglalt:'.str_replace(':','.',$datetime).':foglalt:'."$szuloId/$tanarId/$datetime"; - continue; - } - // Van-e a tanárnak az adtott időpontban fogadóórája - $q = "SELECT * FROM fogadoOra WHERE tanarId=%u AND tol<='%s' AND '%s'<ig"; - $v = array($tanarId, $datetime, $datetime); - $r = db_query($q, array('fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr); - if (!is_array($r) || count($r) == 0) { - //$_SESSION['alert'][] = 'message:wrong_data:fogadoOraJelentkezes:nincs fogadóórája:'."szuloId/$tanarId/$datetime"; - $_SESSION['alert'][] = 'message:fogadoora_nincs:'.$datetime.":szuloId/$tanarId/$datetime"; - continue; - } - } - - db_start_trans($lr); - // Töröljük a korrábbi jelentkezést és felvesszük az újat - $q = "DELETE FROM fogadoOraJelentkezes WHERE szuloId=%u AND tanarId=%u AND tol>=NOW()"; - $v = array($szuloId, $tanarId); - $r = db_query($q, array('rollback' => true, 'fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'values' => $v), $lr); - // Ha csak törlés volt, akkor tovább - if (!isset($datetime)) { db_commit($lr); continue; } - - // Felvesszük az új jelentkezést - $q = "INSERT INTO fogadoOraJelentkezes (szuloId, tanarId, tol) VALUES (%u, %u, '%s')"; - $v = array($szuloId, $tanarId, $datetime); - $r = db_query($q, array('rollback' => true, 'fv' => 'fogadoOraJelentkezes', 'modul' => 'naplo', 'values' => $v), $lr); - db_commit($lr); - } - - db_close($lr); - - } - - - function getFogadoOraLista() { - - $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOra LEFT JOIN ".__INTEZMENYDBNEV.".terem USING (teremId) WHERE ig>=NOW()"; - $ret['adatok'] = db_query($q, array('fv' => 'getFogadoOraLista', 'modul' => 'naplo', 'result' => 'assoc', 'keyfield' => 'tanarId')); - - $q = "SELECT * FROM ".__TANEVDBNEV.".fogadoOraJelentkezes WHERE tol>=CURDATE() ORDER BY tanarId,tol"; - $ret['jelentkezesek'] = db_query($q, array('fv' => 'getFogadoOraLista', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'tanarId')); - - return $ret; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/tanev/munkaterv.php b/mayor-orig/www/include/modules/naplo/tanev/munkaterv.php deleted file mode 100644 index a27528a0..00000000 --- a/mayor-orig/www/include/modules/naplo/tanev/munkaterv.php +++ /dev/null @@ -1,152 +0,0 @@ -<?php -/* - Module: naplo -*/ - - function initNapok($ADAT) { - - global $_TANEV, $UNNEPNAPOK; - - logAction(array('szoveg'=>'initNapok','table'=>'nap')); - - $Hetek = $ADAT['Hetek']; - $lr = db_connect('naplo', array('fv' => 'initNapok')); - - db_start_trans($lr); - - $q = "DELETE FROM munkaterv"; - $r[] = db_query($q, array('fv' => 'initNapok', 'modul' => 'naplo'), $lr); - - /* Munkaterv */ - $q = "INSERT INTO munkaterv (munkatervId,munkatervNev,tanitasiNap,tanitasNelkuliMunkanap,vegzosZarasDt) VALUES (1,'alapértelmezett',%u,%u,'%s')"; - $v = array($ADAT['tanitasiNap'], $ADAT['tanitasNelkuliMunkanap'], $ADAT['vegzosZarasDt']); - $r[] = db_query($q, array('fv' => 'initNapok1', 'modul' => 'naplo', 'values' => $v), $lr); - - $q = "INSERT INTO munkatervOsztaly (munkatervId,osztalyId) SELECT 1 AS `munkatervId`,`osztalyId` FROM `".__INTEZMENYDBNEV."`.`osztaly` WHERE vegzoTanev>=%u AND kezdoTanev<=%u"; - $v = array(__TANEV,__TANEV); - $r[] = db_query($q, array('fv' => 'initNapok2', 'modul' => 'naplo', 'values' => $v), $lr); - /* --- */ - - $kovetkezoTanevAdat = getTanevAdat(__TANEV+1); - if (strtotime($kovetkezoTanevAdat['kezdesDt']) > strtotime($kovetkezoTanevAdat['zarasDt'])) - { - $_SESSION['alert'][] = 'alert:Hiba, a következő ('.(__TANEV+1).') tanév előbb végződik, mint kezdődik! Van következő tanév? (admin/tanévek megnyitása menüpont)'; - $r[] = false; - } - - $tanevVege = date('Y-m-d',strtotime('-1 days',strtotime($kovetkezoTanevAdat['kezdesDt']))); - $r[] = napokHozzaadasa(__TANEV, $_TANEV['kezdesDt'], $tanevVege, $_TANEV, $lr); - - orarendiHetekHozzarendelese($_TANEV['kezdesDt'], $_TANEV['zarasDt'], $Hetek, $lr); - - if (in_array(false,$r)) { - db_rollback($lr); - db_close($lr); - return false; - } else { - db_commit($lr); - db_close($lr); - $_SESSION['alert'][] = 'info:success'; - return true; - } - - } - - function ujMunkaterv($ADAT) { - - $q = "INSERT INTO munkaterv (munkatervNev,tanitasiNap,tanitasNelkuliMunkanap,vegzosZarasDt) VALUES - ('%s',%u,%u,'%s')"; - $v = array($ADAT['munkatervNev'], $ADAT['tanitasiNap'], $ADAT['tanitasNelkuliMunkanap'], $ADAT['vegzosZarasDt']); - $munkatervId = db_query($q, array('fv' => 'ujMunkaterv/munkaterv', 'modul' => 'naplo', 'values' => $v, 'result' => 'insert'), $lr); - - if (!$munkatervId) { return false; } - - $q = "INSERT INTO nap SELECT dt, tipus, megjegyzes, orarendiHet, %u AS munkatervId, csengetesiRendTipus FROM nap WHERE munkatervId=%u"; - $v = array($munkatervId, $ADAT['munkatervId']); - $r = db_query($q, array('fv' => 'ujMunkaterv/nap', 'modul' => 'naplo', 'values' => $v), $lr); - - if (!$r) { return false; } - - return $munkatervId; - - } - - function munkatervModositas($Dt, $Tipus, $Megjegyzes, $OrarendiHet, $Hetek, $munkatervId = 1, $csengetesiRendTipus) { - - global $_TANEV; - - logAction( - array( - 'szoveg'=>'munkaterv módosítás', - 'table'=>'nap' - ) - ); - $lr = db_connect('naplo', array('fv' => 'munkatervModositas')); - db_start_trans($lr); - for ($i = 0; $i < count($Dt); $i++) { - $dt = $Dt[$i]; - $time = strtotime($dt); - $tipus = $Tipus[$i]; - $megjegyzes = $Megjegyzes[$i]; - $_csengetesiRendTipus = $csengetesiRendTipus[$i]; - if ($tipus == 'tanítási nap') { - $orarendiHet = $OrarendiHet[$i]; - if ($orarendiHet == 0) { // most állítjuk be tanítási napnak, és nem rendelkeztek az órarendi hétről... - // kérdezzük le, hogy van-e másik munkatervben már megadott órarendi hét erre a napra - $q = "SELECT orarendiHet FROM nap WHERE dt='%s' AND orarendiHet<>0"; - $v = array($dt); - $orarendiHet = db_query($q, array('fv' => 'munkatervModositas/hianyzoOrarendiHet','modul'=>'naplo', 'values'=>$v, 'result'=>'value'), $lr); - if ($orarendiHet === false) { db_rollback($lr); db_close($lr); return false; } - if (is_null($orarendiHet)) { // nincs beállítva órarendi hét --> legyen a $Hetek első eleme... - $orarendiHet = $Hetek[0]; - } - } - } else { - // Ha nem tanítási nap, akkor nincs értelme órarendi hetet beállítani --> 0 - $orarendiHet = 0; - } - if ( - ($time >= strtotime($_TANEV['kezdesDt']) && $time <= strtotime($_TANEV['zarasDt'])) - && ($tipus != 'tanítási nap' || count($Hetek) == 0 || in_array($orarendiHet, $Hetek)) - ) { - $q = "UPDATE nap SET csengetesiRendTipus='%s',tipus='%s', megjegyzes='%s' WHERE dt='%s' AND munkatervId=%u"; - $v = array($_csengetesiRendTipus, $tipus, $megjegyzes, $dt, $munkatervId); - $r = db_query($q, array('fv' => 'munkatervModositas/típus, megjegyzés', 'modul' => 'naplo', 'values' => $v), $lr); - if (!$r) { db_rollback($lr); db_close($lr); return(false); } - // Az órarendi hét módosítás mindig az összes munkatervet érinti!! - if ($orarendiHet != 0) { - $q = "UPDATE nap SET orarendiHet=%u WHERE dt='%s' AND tipus='tanítási nap'"; - $v = array($orarendiHet, $dt); - } else { - $q = "UPDATE nap SET orarendiHet=%u WHERE dt='%s' AND munkatervId=%u"; - $v = array($orarendiHet, $dt, $munkatervId); - } - $r = db_query($q, array('fv' => 'munkatervModositas/órarendiHét', 'modul' => 'naplo', 'values' => $v), $lr); - if (!$r) { db_rollback($lr); db_close($lr); return(false); } - } else { - $_SESSION['alert'][] = 'message:wrong_data:munkatervModositas:'.$dt.':'.$tipus.'/'.$orarendiHet; - } - } - db_commit($lr); - db_close($lr); - return true; - - } - - function munkatervOsztaly($ADAT) { - - $r = array(); - for ($i = 0; $i < count($ADAT['osztalyIds']); $i++) { - - $osztalyId = $ADAT['osztalyIds'][$i]; - $munkatervId = $ADAT['ujMunkatervIds'][$i]; - $q = "UPDATE munkatervOsztaly SET munkatervId='%u' WHERE osztalyId=%u"; - $v = array($munkatervId, $osztalyId); - $r[] = db_query($q, array('fv' => 'munkatervOsztaly', 'modul' => 'naplo', 'values' => $v)); - - } - return !in_array(false, $r); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/tanev/tankorBlokk.php b/mayor-orig/www/include/modules/naplo/tanev/tankorBlokk.php deleted file mode 100644 index 6b15bdeb..00000000 --- a/mayor-orig/www/include/modules/naplo/tanev/tankorBlokk.php +++ /dev/null @@ -1,277 +0,0 @@ -<?php -/* - Jó az, hogy egész évre nézzük a tankorBlokk ellenőrzéseket? - A tankorTanarFelvesz függvényben csak az érintett tol-ig határok kozott ellenőriztem... [bb] -*/ - - - function getTankorExportOraszamByTanev($tanev, $tankorIds = array(), $blokkId = '') { - - $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev); - - $v = $WHERE = array(); $whereStr = ''; - if (is_array($tankorIds) && count($tankorIds) > 0) { - $WHERE[] = 'tankorId IN ('.implode(',', array_fill(0, count($tankorIds), '%u')).')'; - $v = $tankorIds; - } - if (isset($blokkId) && intval($blokkId) > 0) { - $WHERE[] = "blokkId != %u"; - $v[] = intval($blokkId); - } - if (count($WHERE) > 0) $whereStr = "WHERE ".implode(' AND ', $WHERE); - - $return = array(); - // tankörök export óraszáma (az aktuális blokk kivételével) - $q = "SELECT tankorId, SUM(exportOraszam) AS exportOraszam FROM `%s`.tankorBlokk - LEFT JOIN `%s`.blokk USING (blokkId) - $whereStr GROUP BY tankorId"; - array_unshift($v, $tanevDbNev, $tanevDbNev); - return db_query($q, array('fv' => 'getTankorExportOraszamByTanev', 'modul' => 'naplo', 'result' => 'keyvaluepair', 'keyfield' => 'tankorId', 'values' => $v), $lr); - - } - - function ujTankorBlokk($blokkNev, $exportOraszam, $tankorIds, $tanev='') { - - global $_TANEV; - - if (!is_array($tankorIds) || count($tankorIds)==0 || $blokkNev=='') { - $_SESSION['alert'][] = '::egy kötelező paraméter hiányzik!'; - return false; - } - - if ($tanev=='') { - $tanev = __TANEV; - $tanevAdat = $_TANEV; - } else { - $tanevAdat = getTanevAdat($tanev); - } - - $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev); - - if (strtotime($tanevAdat['zarasDt']) < time()) { - $_SESSION['alert'][] = 'message:Elmúlt tanévre ne hozzunk létre tankörblokkot!'; - return false; - } - if (time() < strtotime($tanevAdat['kezdesDt'])) { - $kezdesDt = $tanevAdat['kezdesDt']; - $kezdesDtPattern = "'%s'"; - } else { - $kezdesDt = 'CURDATE()'; - $kezdesDtPattern = '%s'; - } - $zarasDt = $tanevAdat['zarasDt']; - - /* Vizsgáljuk meg, hogy létrehozható-e a tankorBlokk - kizáró feltétel, ha egy diák beletartozik több csoportba HAVING count>2 - */ - - $lr = db_connect('naplo', array('fv' => 'ujTankorBlokk')); - - // Ellenőrzés - tankör - diákok - $q = "SELECT diakId,COUNT(DISTINCT tankorId) AS c FROM ".__INTEZMENYDBNEV.".tankorDiak - WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") - AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= $kezdesDtPattern) - GROUP BY diakId HAVING c>1 - ORDER BY tankorId,diakId"; -// AND jelenlet='kötelező' - /* Ez a függvény nem veszi figyelembe a felmentéseket! */ - - $_SESSION['alert'][] = 'info:!!!:ujTankorBlokk() felmentések'; - - $v = mayor_array_join($tankorIds, array($zarasDt, $kezdesDt)); - $ret=db_query($q, array('fv' => 'ujTankorBlokk', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v)); - if (count( $ret ) > 0) { - $_SESSION['alert'][] = 'message:wrong_data:ujTankorBlokk:Sikertelen. '.count($ret).' db ütköző diákot találtam!: diakId='.$ret[0]['diakId'].'...'; - db_close($lr); - return false; - } - - // Ellenőrzés - tankör - tanárok - $q = "SELECT tanarId,COUNT(DISTINCT tankorId) AS c FROM ".__INTEZMENYDBNEV.".tankorTanar - WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") - AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= $kezdesDtPattern) - GROUP BY tanarId HAVING c>1 - ORDER BY tankorId,tanarId"; - $v = mayor_array_join($tankorIds, array($zarasDt, $kezdesDt)); - $ret = db_query($q, array('fv' => 'ujTankorBlokk', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v)); - if (count( $ret ) > 0) { - $_SESSION['alert'][] = 'message:wrong_data:ujTankorBlokk:Sikertelen. '.count($ret).' db ütköző tanárt találtam!:tanarId='.$ret[0]['tanarId'].'...'; - db_close($lr); - return false; - } - - // Ellenőrzés - óraszám - // tankörök export óraszáma (az aktuális blokk kivételével) - $tankorExportOraszam = getTankorExportOraszamByTanev($tanev, $tankorIds); - // tankörök óraszáma - $tankorOraszam = getTankorOraszamByTanev($tanev, $tankorIds); - foreach ($tankorIds as $index => $tankorId) { - if ($tankorOraszam[$tankorId] - $tankorExportOraszam[$tankorId] < $exportOraszam) - $exportOraszam = $tankorOraszam[$tankorId] - $tankorExportOraszam[$tankorId]; - } - if ($exportOraszam < 0) $exportOraszam = 0; - db_start_trans($lr); - - // Új felvétele - $q = "INSERT INTO `%s`.`blokk` (`blokkNev`, `exportOraszam`) VALUES ('%s', %f)"; - $v = array($tanevDbNev, $blokkNev, $exportOraszam); - - $blokkId = db_query($q, array('fv' => 'ujTankorBlokk', 'modul' => 'naplo_intezmeny', 'result' => 'insert', 'values' => $v, 'rollback' => true), $lr); - if ($blokkId === false) { db_close($lr); return false; } - - // Tankörök hozzárendelése - $Val = array(); $v = array($tanevDbNev); - for ($i = 0; $i < count($tankorIds); $i++) { - $Val[] = "(%u, %u)"; - array_push($v, $blokkId, $tankorIds[$i]); - } - $q = "INSERT INTO `%s`.tankorBlokk (blokkId,tankorId) VALUES ".implode(',', $Val); - $r = db_query($q, array('fv' => 'ujTankorBlokk', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr); - if (!$r) { db_close($lr); return false; } - - db_commit($lr); - db_close($lr); - return true; - - } - - function tankorBlokkModositas($ADAT) { - - - if (!is_array($ADAT['tankorIds']) || count($ADAT['tankorIds'])==0 || $ADAT['blokkNev']=='') { - $_SESSION['alert'][] = '::egy kötelező paraméter hiányzik!(tbmod)'; - return false; - } - - if ($ADAT['tanev']=='') { - $tanev = __TANEV; - $tanevAdat = $_TANEV; - } else { - $tanev = $ADAT['tanev']; - $tanevAdat = getTanevAdat($tanev); - } - - $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev); - - if (strtotime($tanevAdat['zarasDt']) < time()) { - $_SESSION['alert'][] = 'message:Elmúlt tanévre ne hozzunk létre tankörblokkot!'; - return false; - } - $blokkId = $ADAT['blokkId']; - $tankorIds = $ADAT['tankorIds']; - - $zarasDt = $tanevAdat['zarasDt']; - if (time() < strtotime($tanevAdat['kezdesDt'])) { - $kezdesDt = $tanevAdat['kezdesDt']; - $kezdesDtPattern = "'%s'"; - } else { - $kezdesDt = 'CURDATE()'; - $kezdesDtPattern = "%s"; - } - - $lr = db_connect('naplo'); - - // Ellenőrizzük a tankör tagokat - azonosak-e tankörönként - $q = "SELECT diakId,COUNT(DISTINCT tankorId) AS c FROM ".__INTEZMENYDBNEV.".tankorDiak - WHERE tankorId IN (".implode(',', array_fill(0, count($ADAT['tankorIds']), '%u')).") - AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= $kezdesDtPattern) - GROUP BY diakId HAVING c>1 - ORDER BY tankorId,diakId"; - - $v = mayor_array_join($ADAT['tankorIds'], array($zarasDt, $kezdesDt)); - $ret = db_query($q, array('fv' => 'tankorBlokkModositas', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr); - if (count( $ret ) > 0) { - $_SESSION['alert'][] = 'message:wrong_data:tankorBlokkModositas:Sikertelen. '.count($ret).' db ütköző diákot találtam!:diakId='.$ret[0]['diakId'].'...'; - db_close($lr); - return false; - } - - // Ellenőrizzük a tankör tanárokat - azonosak-e tankörönként - $q = "SELECT tanarId,COUNT(DISTINCT tankorId) AS c FROM ".__INTEZMENYDBNEV.".tankorTanar - WHERE tankorId IN (".implode(',', array_fill(0, count($ADAT['tankorIds']), '%u')).") - AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= $kezdesDtPattern) - GROUP BY tanarId HAVING c>1 - ORDER BY tankorId,tanarId"; - $v = mayor_array_join($ADAT['tankorIds'], array($zarasDt, $kezdesDt)); - $ret = db_query($q, array('fv' => 'tankorBlokkModositas', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr); - if (count( $ret )>0) { - $_SESSION['alert'][] = 'message:wrong_data:tankorBlokkModositas:Sikertelen. '.count($ret).' db ütköző tanárt találtam!:blokkId='.$blokkId.':tanarId='.$ret[0]['tanarId'].'...'; - db_close($lr); - return false; - } - - // tankörök export óraszáma (az aktuális blokk kivételével) - $tankorExportOraszam = getTankorExportOraszamByTanev($tanev, $ADAT['tankorIds'], $blokkId); - // tankörök óraszáma - $tankorOraszam = getTankorOraszamByTanev($tanev, $ADAT['tankorIds']); - foreach ($ADAT['tankorIds'] as $index => $tankorId) { - if ($tankorOraszam[$tankorId] - $tankorExportOraszam[$tankorId] < $ADAT['exportOraszam']) { - $_SESSION['alert'][] = 'message:wrong_data:tankorId='.$tankorId.', óraszám='.$tankorOraszam[$tankorId].', export óraszám='. - intval($tankorExportOraszam[$tankorId]).', blokk óraszám='.$ADAT['exportOraszam']; - return false; - } - } - - // Csoportnév és export óraszám módosítása - $q = "UPDATE `%s`.blokk SET blokkNev='%s',exportOraszam=%f WHERE blokkId=%u"; - $v = array($tanevDbNev, $ADAT['blokkNev'], $ADAT['exportOraszam'], $ADAT['blokkId']); - db_query($q, array('fv' => 'tankorBlokkModositas', 'modul' => 'naplo', 'values' => $v), $lr); - - // SAFE: - db_start_trans($lr); - - // Törlés - $q = "DELETE FROM `%s`.tankorBlokk WHERE blokkId=%u"; - $v = array($tanevDbNev, $blokkId); - $r = db_query($q, array('fv' => 'tankorBlokkModositas/Delete', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr); - if ($r === false) { db_close($lr); return false; } - // Itt nem jó a commit, hisz még félben van a dolog - nem? // else db_commit($lr); - - // Tankörök hozzárendelése - $v = array($tanevDbNev); $Val = array(); - for ($i = 0; $i < count($tankorIds); $i++) { - $Val[] = "(%u, %u)"; - array_push($v, $blokkId, $tankorIds[$i]); - } - if (count($Val) > 0) { - $q = "INSERT INTO `%s`.tankorBlokk (blokkId,tankorId) VALUES ".implode(',', $Val); - $r = db_query($q, array('fv' => 'tankorBlokkModositas/Insert', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback' => true), $lr); - } - - if ($r===false) { db_close($lr); return false; } - - db_commit($lr); - - db_close($lr); - return true; - - } - - function tankorBlokkTorles($ADAT) { - - if ($ADAT['blokkId']=='') { - $_SESSION['alert'][] = '::egy kötelező paraméter hiányzik!'; - return false; - } - - if ($ADAT['tanev']=='') { - $tanev = __TANEV; - $tanevAdat = $_TANEV; - } else { - $tanev = $ADAT['tanev']; - $tanevAdat = getTanevAdat($tanev); - } - - $tanevDbNev = tanevDbNev(__INTEZMENY, $tanev); - - $blokkId=intval($ADAT['blokkId']); - - $q = "DELETE FROM `%s`.blokk WHERE blokkId=%u"; - $v = array($tanevDbNev, $blokkId); - $r = db_query($q, array('fv' => 'TankorBlokk|Delete', 'modul' => 'naplo_intezmeny', 'values' => $v, 'rollback'=>true), $lr); - - return true; - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/tanev/tankorCsoport.php b/mayor-orig/www/include/modules/naplo/tanev/tankorCsoport.php deleted file mode 100644 index 984726db..00000000 --- a/mayor-orig/www/include/modules/naplo/tanev/tankorCsoport.php +++ /dev/null @@ -1,164 +0,0 @@ -<?php - - function getTankorCsoportByTankorIds($tankorIds) { - - $q = "SELECT csoportId,csoportNev,tankorId FROM csoport LEFT JOIN tankorCsoport USING (csoportId) - WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).")"; - return db_query($q, array( - 'fv' => 'tankorCsoport', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'csoportId', 'values' => $tankorIds - )); - - } - - function ujTankorCsoport($csoportNev, $tankorIds) { - - global $_TANEV; - $dt = (time() <= strtotime($_TANEV['kezdesDt'])) ? "'".$_TANEV['kezdesDt']."'" : 'CURDATE()'; - - $lr = db_connect('naplo', array('fv' => 'ujTankorCsoport')); - - // Ellenőrizzük, hogy a megadott tankörök még nem foglaltak - $q = "SELECT tankorId FROM ".__TANEVDBNEV.".tankorCsoport - WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") LIMIT 1"; - $ret = db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $tankorIds), $lr); - if (count($ret) > 0) { - $_SESSION['alert'][] = 'message:utkozes:ujTankorCsoport:tankör ütközés'; - db_close($lr); - return false; - } - - // Ellenőrizzük a tankör tagokat - azonosak-e tankörönként - $q = "SELECT DISTINCT tankorId,diakId FROM ".__INTEZMENYDBNEV.".tankorDiak - WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") - AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= '%s') - ORDER BY tankorId,diakId"; - $v = mayor_array_join($tankorIds, array($dt, $dt)); - $ret = db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr); - $tDiakok = array(); - foreach ($tankorIds as $tankorId) $tDiakok[$tankorId] = array(); // különben az üres tankör nem jelennemeg az ellenőrzéskor! - for ($i = 0; $i < count($ret); $i++) { - $tDiakok[$ret[$i]['tankorId']][] = $ret[$i]['diakId']; - } - foreach ($tDiakok as $tankorId => $diakIds) { - if (is_array($elsoDiakIds)) { - if ($elsoDiakIds != $diakIds) { - $_SESSION['alert'][] = 'message:wrong_data:ujTankorCsoport:tankör tagok nem azonosak:(tankorId='.$tankorId.')'; - db_close($lr); - return false; - } - } else { - $elsoDiakIds = $diakIds; - } - } - - // Új csoport felvétele - $q = "INSERT INTO ".__TANEVDBNEV.".csoport (csoportNev) VALUES ('%s')"; - $csoportId = db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'result' => 'insert', 'values' => array($csoportNev)), $lr); - if ($csoportId === false) { db_close($lr); return false; } - - // Tankörök hozzárendelése - $v = $Val = array(); - for ($i = 0; $i < count($tankorIds); $i++) { - $Val[] = "(%u, %u)"; - array_push($v, $csoportId, $tankorIds[$i]); - } - $q = "INSERT INTO ".__TANEVDBNEV.".tankorCsoport (csoportId,tankorId) VALUES ".implode(',', $Val); - db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'values' => $v), $lr); - - _setMinMax($csoportId,$lr); - - db_close($lr); - return true; - - } - - function tankorCsoportModositas($csoportId, $csoportNev, $tankorIds) { - - global $_TANEV; - $dt = (time() <= strtotime($_TANEV['kezdesDt'])) ? "'".$_TANEV['kezdesDt']."'" : 'CURDATE()'; - - if (count($tankorIds) == 0) { - $_SESSION['alert'][] = 'message:wrong_data:tankorCsoportModositas/#0:nincs tankör'; - return false; - } - - $lr = db_connect('naplo'); - - // Ellenőrizzük, hogy a megadott tankörök még nem foglaltak - $q = "SELECT tankorId FROM ".__TANEVDBNEV.".tankorCsoport - WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") AND csoportId != %u LIMIT 1"; - $v = mayor_array_join($tankorIds, array($csoportId)); - $ret = db_query($q, array('fv' => 'tankorCsoportModositas/#1', 'modul' => 'naplo', 'result' => 'indexed', 'values' => $v), $lr); - if (count($ret) > 0) { - $_SESSION['alert'][] = 'message:utkozes:tankorCsoportModositas/#2:tankör ütközés'; - db_close($lr); - return false; - } - - // Ellenőrizzük a tankör tagokat - azonosak-e tankörönként - $q = "SELECT tankorId,diakId FROM ".__INTEZMENYDBNEV.".tankorDiak - WHERE tankorId IN (".implode(',', array_fill(0, count($tankorIds), '%u')).") - AND beDt <= '%s' AND (kiDt IS NULL OR kiDt >= '%s' ) - ORDER BY tankorId,diakId"; - $v = mayor_array_join($tankorIds, array($dt, $dt)); - $ret = db_query($q, array('fv' => 'tankorCsoportModositas/#3', 'modul' => 'naplo_intezmeny', 'result' => 'indexed', 'values' => $v), $lr); - $tDiakok = array(); - for ($i = 0; $i < count($ret); $i++) $tDiakok[$ret[$i]['tankorId']][] = $ret[$i]['diakId']; - foreach ($tankorIds as $index => $tankorId) { - $diakIds = $tDiakok[$tankorId]; - if (is_array($elsoDiakIds)) { - if ($elsoDiakIds != $diakIds) { - $_SESSION['alert'][] = 'message:wrong_data:tankorCsoportModositas/#4:tankör tagok nem azonosak:(tankorId='.$tankorId.')'; - db_close($lr); - return false; - } - } else { - $elsoDiakIds = $diakIds; - } - } - - // Csoportnév módosítása - $q = "UPDATE ".__TANEVDBNEV.".csoport SET csoportNev = '%s' WHERE csoportId = %u"; - $v = array($csoportNev, $csoportId); - db_query($q, array('fv' => 'tankorCsoportModositas', 'modul' => 'naplo', 'values' => $v)); - // Régi csoporthozzárendelések törlése - $q = "DELETE FROM ".__TANEVDBNEV.".tankorCsoport WHERE csoportId = %u"; - $v = array($csoportId); - db_query($q, array('fv' => 'tankorCsoportModositas', 'modul' => 'naplo', 'values' => $v)); - // Tankörök hozzárendelése - $v = $Val = array(); - for ($i = 0; $i < count($tankorIds); $i++) { - $Val[] = "(%u, %u)"; - array_push($v, $csoportId, $tankorIds[$i]); - } - $q = "INSERT INTO ".__TANEVDBNEV.".tankorCsoport (csoportId,tankorId) VALUES ".implode(',', $Val); - db_query($q, array('fv' => 'tankorCsoportModositas/#5', 'modul' => 'naplo', 'values' => $v)); - - _setMinMax($csoportId,$lr); - - db_close($lr); - return true; - - } - - function tankorCsoportTorles($csoportId, $tanev = __TANEV) { - $tanevDb = tanevDbNev(__INTEZMENY, $tanev); - $q = "DELETE FROM `%s`.csoport WHERE csoportId=%u"; - $v = array($tanevDb, $csoportId); - db_query($q, array('fv' => 'tankorCsoportTorles', 'modul' => 'naplo', 'values' => $v)); - } - - function _setMinMax($csoportId,$lr) { - - // Tankörcsoport minimum, maximum beállítás - legbővebb halmaz - $v = array($csoportId); - $q = ("SET @min= (SELECT MIN(min) FROM ".__INTEZMENYDBNEV.".tankor WHERE tankorId IN (SELECT DISTINCT tankorId FROM tankorCsoport WHERE csoportId=%u))"); - db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'values' => $v), $lr); - $q = ("SET @max= (SELECT MAX(max) FROM ".__INTEZMENYDBNEV.".tankor WHERE tankorId IN (SELECT DISTINCT tankorId FROM tankorCsoport WHERE csoportId=%u))"); - db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'values' => $v), $lr); - $q = "UPDATE ".__INTEZMENYDBNEV.".tankor SET min=@min, max=@max WHERE tankorId IN (SELECT DISTINCT tankorId FROM tankorCsoport WHERE csoportId=%u)"; - db_query($q, array('fv' => 'ujTankorCsoport', 'modul' => 'naplo', 'values' => $v), $lr); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/tanev/targyBontas.php b/mayor-orig/www/include/modules/naplo/tanev/targyBontas.php deleted file mode 100644 index 5b31bdec..00000000 --- a/mayor-orig/www/include/modules/naplo/tanev/targyBontas.php +++ /dev/null @@ -1,240 +0,0 @@ -<?php - - function checkTargyBontas() { - // $q = "SELECT count(*) as db FROM bontasTankor"; ??? - $q = "SELECT count(*) as db FROM kepzesTargyBontas"; - $darab = db_query($q, array('fv'=>'checkTargyBontas','modul'=>'naplo','result'=>'value')); - return ($darab>0?TRUE:FALSE); - } - - function getKepzesTargyBontasByOsztalyIds($osztalyIds) { - - if (!is_array($osztalyIds) || count($osztalyIds)==0) return false; - - // tankör- és óraszám adatok - $q = "SELECT bontasId, tankorId, hetiOraszam - FROM kepzesTargyBontas LEFT JOIN bontasTankor USING (bontasId) - WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).") AND tankorId IS NOT NULL - ORDER BY bontasId"; - $r = db_query($q, array('fv'=>'getKepzesTargyBontasByOsztalyIds/2','modul'=>'naplo','result'=>'indexed','values'=>$osztalyIds)); - foreach ($r as $a) $TO[$a['bontasId']][] = array('tankorId'=>$a['tankorId'], 'hetiOraszam'=>$a['hetiOraszam']); - - // kepzesTargyBontas adatok - $q = "SELECT kepzesTargyBontas.*,sum(hetiOraszam) as hetiOraszam - FROM kepzesTargyBontas LEFT JOIN bontasTankor USING (bontasId) - WHERE osztalyId IN (".implode(',', array_fill(0, count($osztalyIds), '%u')).") - GROUP BY bontasId ORDER BY bontasId"; - $r = db_query($q, array('fv'=>'getKepzesTargyBontasByOsztalyIds','modul'=>'naplo','result'=>'indexed','values'=>$osztalyIds)); - if (!is_array($r)) return $r; - $return = array(); - foreach ($r as $a) $return[$a['osztalyId']][$a['kepzesOratervId']][] = array( - 'bontasId' => $a['bontasId'], - 'targyId' => $a['targyId'], - 'hetiOraszam' => $a['hetiOraszam'], - 'tankor-oraszam'=>$TO[ $a['bontasId'] ] - ); - - return $return; - - } - - function kepzesOratervSorrend($evfolyamJel, $osztalyIds, $kepzesIds) { - // ez volt // group_concat(kepzesTargyBontas.targyId order by kepzesTargyBontas.targyId separator '-') as btStr - - $q = "select - kepzesOratervId, tipus, targyNev, kepzesOraterv.targyId as targyId, kepzesOraterv.hetiOraszam as hetiOraszam, osztalyId, kepzesId, szemeszter, - group_concat(concat_ws('-',kepzesTargyBontas.targyId,tankorId,bontasTankor.hetiOraszam) order by kepzesTargyBontas.targyId,tankorId separator '_') as btStr - from kepzesOraterv - left join targy using (targyId) - left join kepzesOsztaly using (kepzesId) - left join ".__TANEVDBNEV.".kepzesTargyBontas using (kepzesOratervId, osztalyId) - left join ".__TANEVDBNEV.".bontasTankor using (bontasId) - where evfolyamJel='%s' and osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).") - and kepzesId in (".implode(',', array_fill(0, count($kepzesIds), '%u')).") - group by kepzesOratervId, tipus, kepzesOraterv.targyId, kepzesOraterv.hetiOraszam, osztalyId, kepzesId, szemeszter - order by tipus, targyNev, kepzesOraterv.targyId, kepzesOraterv.hetiOraszam, btStr, osztalyId, szemeszter"; - $v = mayor_array_join(array($evfolyamJel), $osztalyIds, $kepzesIds); - $ret = db_query($q, array('fv'=>'kepzesOratervSorrend','modul'=>'naplo_intezmeny','result'=>'indexed','values'=>$v)); - return reindex($ret, array('tipus','targyId','hetiOraszam','btStr')); - } - - function addBontas($osztalyId, $kepzesOratervId, $targyId=null, $olr=null) { - - // is_resource mysqli esetén nem jó (object) - if (!$olr) $lr = db_connect('naplo_intezmeny', array('fv'=>'addBontas')); - else $lr = $olr; - - if ($targyId == '') { - $q = "SELECT targyId FROM kepzesOraterv WHERE kepzesOratervId=%u"; - $targyId = db_query($q, array('fv'=>'addBontas','modul'=>'naplo_intezmeny','result'=>'value','values'=>array($kepzesOratervId)), $lr); - } - if ($targyId == '') return false; - - $q = "INSERT INTO ".__TANEVDBNEV.".kepzesTargyBontas (osztalyId, kepzesOratervId, targyId) VALUES (%u, %u, %u)"; - $bontasId = db_query($q, array('fv'=>'addBontas/insert','modul'=>'naplo','result'=>'insert','values'=>array($osztalyId,$kepzesOratervId,$targyId)), $lr); - - // is_resource mysqli esetán nem jó (object) - if (!$olr) db_close(); - - return array( - 'targyId' => $targyId, - 'osztalyId' => $osztalyId, - 'kepzesOratervId' => $kepzesOratervId, - 'bontasId' => $bontasId - ); - - } - - function delBontas($bontasIds) { - if (!is_array($bontasIds) || count($bontasIds) == 0) return false; - $q = "DELETE FROM kepzesTargyBontas WHERE bontasId IN (".implode(',', array_fill(0, count($bontasIds), '%u')).")"; - $r = db_query($q, array('fv'=>'delBontas','modul'=>'naplo','values'=>$bontasIds)); - if ($r) return $bontasIds; - else return $r; - } - - function initFromLastYear() { - // Csak akkor lehet init, ha még nincs bent egyetlen bontás sem az adott kepzes-osztály párokhoz - $q = "select count(*) from kepzesTargyBontas"; - $db = db_query($q, array('fv'=>'kepzesTargyBontasInit/0','modul'=>'naplo','result'=>'value','values'=>$v)); - if ($db > 0) return true; - - $lr = db_connect('naplo_intezmeny', array('fv'=>'initFromLastYear')); - // is_resource mysqli esetén nem jó (object) - if (!$lr) return false; - - $elozoTanevDb = tanevDbNev(__INTEZMENY,__TANEV-1); - // ha nincs előző tanév, akkor kész az init - $q = "SELECT COUNT(SCHEMA_NAME) FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '%s'"; - $v = array($elozoTanevDb); - $db = db_query($q, array('fv'=>'kepzesTargyBontasInit/0.5','modul'=>'naplo','result'=>'value','values'=>$v)); - if ($db == 0) return true; - - set_time_limit(300); - - // Az előző év bontásai alapján - /* - Lekérdezzük az előző év bontásainak adatait, melyek az adott kepzes-osztály párhoz tartoztak. - bontasId szerint rendezünk, hogy egy bontást csak egyszer vegyünk fel. - */ - $q = "select kepzesOratervId,osztalyId,kepzesOraterv.targyId as koTargyId,kepzesTargyBontas.targyId as bontasTargyId, - tankorId,bontasTankor.hetiOraszam as bontasOraszam, bontasId, - kepzesId,evfolyamJel,szemeszter,kepzesOraterv.hetiOraszam as koOraszam,tipus - from ".$elozoTanevDb.".kepzesTargyBontas - left join ".$elozoTanevDb.".bontasTankor using (bontasId) - left join kepzesOraterv using (kepzesOratervId) - order by bontasId"; - $r1 = db_query($q, array('fv'=>'kepzesTargyBontasInit/1','modul'=>'naplo_intezmeny','result'=>'indexed'), $lr); - - $elozoTavalyiBontasId = ''; - foreach ($r1 as $r1Adat) { - // Ha van a tavalyinak megfelelő képzés-óraterv bejegyzés, akkor hozzunk létre neki bontást - if ($r1Adat['tipus'] == 'mintatantervi') { - $q = "select kepzesOraterv.*,oraszam from kepzesOraterv - left join tankorSzemeszter on tankorSzemeszter.szemeszter=kepzesOraterv.szemeszter and tanev=".__TANEV." and tankorId=%u - where kepzesId=%u and kepzesOraterv.szemeszter=%u - and tipus='%s' and kepzesOraterv.targyId=%u - and kepzesOraterv.evfolyamJel='".getKovetkezoEvfolyamJel($r1Adat['evfolyamJel'])."' - "; - $v = array($r1Adat['tankorId'], $r1Adat['kepzesId'], $r1Adat['szemeszter'], $r1Adat['tipus'], $r1Adat['koTargyId']); - } else { - $q = "select * from kepzesOraterv - left join tankorSzemeszter on tankorSzemeszter.szemeszter=kepzesOraterv.szemeszter and tanev=".__TANEV." and tankorId=%u - where kepzesId=%u and kepzesOraterv.szemeszter=%u - and tipus='%s' and kepzesOraterv.targyId is null - and kepzesOraterv.evfolyamJel='".getKovetkezoEvfolyamJel($r1Adat['evfolyamJel'])."' - "; - $v = array($r1Adat['tankorId'], $r1Adat['kepzesId'], $r1Adat['szemeszter'], $r1Adat['tipus'], ); - } - $r2 = db_query($q, array('fv'=>'kepzesTargyBontasInit/2','modul'=>'naplo_intezmeny','result'=>'record','values'=>$v), $lr); - /* - - Lehet az eredmény üres, ha nincs a képzés óratervben idén folytatása a tárgynak/típusnak - */ - if (!is_array($r2)) continue; - /* - - Amúgy csak egy rekord lehet... - ekkor a bontást létrehozhatjuk, ha az előző rekord nem ugyanehhez a bontáshoz tartozott... - (a hozzárendelt tankört csak akkor vesszük figyelembe, ha egy van belőle...) - */ - if ($elozoTavalyiBontasId != $r1Adat['bontasId']) { - $r3 = addBontas($r1Adat['osztalyId'], $r2['kepzesOratervId'], $r1Adat['bontasTargyId'], $lr); - $bontasId = $r3['bontasId']; - $elozoTavalyiBontasId = $r1Adat['bontasId']; - } - - if (($r1Adat['tankorId'] != '') && ($r1Adat['bontasOraszam'] == $r1Adat['koOraszam']) && ($r2['hetiOraszam'] == $r2['oraszam'])) { - /* - Ha a tavalyi tankör idei évhez is hozzá van rendelve... - és tavaly megegyezett a tankör óraszáma a bontás óraszámával... - a tankör idei óraszáma is megegyezik a bontás/képzés-oraterv óraszámával, - akkor a tankör is hozzárendelhető - */ - $r4 = bontasTankor(array($bontasId), $r1Adat['tankorId'], $r2['hetiOraszam'], $lr); - if (!$r4) {} // hibakezelés?? - } - } - db_close($lr); - return true; - } - - function kepzesTargyBontasInit($osztalyIds, $kepzesIds) { - - // A megadott osztaly megadott képzéseinek aktuális évfolyamának tantárgyhoz tartozó kepzesOraterv bejegyzéseihez felveszünk egy-egy bontást - ha még nincs - $q = "insert into ".__TANEVDBNEV.".kepzesTargyBontas (osztalyId, kepzesOratervId, targyId) - select osztalyId, kepzesOratervId, kepzesOraterv.targyId as targyId - from kepzesOraterv left join kepzesOsztaly using(kepzesId) - left join ".__TANEVDBNEV.".osztalyNaplo using (osztalyId) - left join ".__TANEVDBNEV.".kepzesTargyBontas using (osztalyId, kepzesOratervId) - where osztalyId in (".implode(',', array_fill(0, count($osztalyIds), '%u')).") - and kepzesId in (".implode(',', array_fill(0, count($kepzesIds), '%u')).") - and kepzesOraterv.evfolyamJel=osztalyNaplo.evfolyamJel - and bontasId is null and kepzesOraterv.targyId is not null"; - $v = mayor_array_join($osztalyIds, $kepzesIds); - return db_query($q, array('fv'=>'kepzesTargyBontasInit','modul'=>'naplo_intezmeny','result'=>'affected rows','values'=>$v)); - - } - - function bontasTankor($bontasIds, $tankorId, $hetiOraszam, $olr = null) { - - if (!is_array($bontasIds) || count($bontasIds) == 0 || $tankorId == '' || $hetiOraszam <= 0) { - $_SESSION['alert'][] = 'message:empty_field:bontasTankor'; - return false; - } - // is_resource mysqli esetén nem jó (object) - if (!$olr) $lr = db_connect('naplo_intezmeny', array('fv'=>'bontasTankor')); - else $lr = $olr; - - db_start_trans($lr); - $ok=true; - /* - Óraszám ellenőrzés - kellene itt is? - - tankör óraszáma: tankorBontás óraszám <= tankorSzemeszer óraszám - - bontás óraszáma: bontás-óraszám <= kepzesOraterv óraszám - - tipus szerint a tankörnek csak egyféle óraszáma lehet - */ - - // Tankor-osztály hozzárendelés - $q = "insert into ".__INTEZMENYDBNEV.".tankorOsztaly (tankorId, osztalyId) - select distinct %u as tankorId, kepzesTargyBontas.osztalyId as osztalyId from ".__TANEVDBNEV.".kepzesTargyBontas - left join ".__INTEZMENYDBNEV.".tankorOsztaly on kepzesTargyBontas.osztalyId=tankorOsztaly.osztalyId and tankorId=%u - where bontasId in (".implode(',', array_fill(0, count($bontasIds), '%u')).") and tankorId is null"; - $v = $bontasIds; array_unshift($v, $tankorId, $tankorId); - $r = db_query($q, array('fv'=>'bontasTankor/1','modul'=>'naplo','result'=>'affected rows','values'=>$v), $lr); - if ($r === false) { db_rollback($lr, 'tankör-osztály hozzárendelés'); if ($olr) db_close($lr); return false; } // is_resource mysqli esetén nem jó (object) - // bontasTankor rögzítése - foreach ($bontasIds as $bontasId) { - $q = "insert into ".__TANEVDBNEV.".bontasTankor (bontasId, tankorId, hetiOraszam) values (%u, %u, %f)"; - $v = array($bontasId, $tankorId, $hetiOraszam); - $r = db_query($q, array('fv'=>'bontasTankor/bt','modul'=>'naplo','values'=>$v), $lr); - if ($r === false) { db_rollback($lr, 'tankörnév hozzárendelés'); if (!$olr) db_close($lr); return false; } // is_resource mysqli esetén nem jó (object) - } - db_commit($lr); - - $r1 = setTankorNev($tankorId, $tankorNevExtra=null, $lr); - // is_resource mysqli esetén nem jó (object) - if (!$olr) db_close($lr); - - return $r1; - } - - -?>
\ No newline at end of file diff --git a/mayor-orig/www/include/modules/naplo/tanev/targyOraszam.php b/mayor-orig/www/include/modules/naplo/tanev/targyOraszam.php deleted file mode 100644 index d17958d0..00000000 --- a/mayor-orig/www/include/modules/naplo/tanev/targyOraszam.php +++ /dev/null @@ -1,28 +0,0 @@ -<?php - - function getTargyOraszam($tanev=__TANEV,$targyId='') { - - $q = "SELECT SUM(oraszam)/(SELECT MAX(szemeszter) FROM szemeszter WHERE tanev=%u) AS db, targyNev FROM tankorSzemeszter LEFT JOIN tankor USING (tankorId) - LEFT JOIN targy USING (targyId) - WHERE tanev=%u GROUP BY targyid ORDER BY targyNev"; - $v = array($tanev, $tanev); - $R = db_query($q, array('fv' => 'getTargyOraszam', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'targyNev', 'values' => $v)); - - foreach($R as $_tankorId => $D) { - $R[$_tankorId]['tankorTanar'] = getTankorTanarai($tankorId); - } - - return $R; - - } - - function getTargyOraszamEvfolyamonkent($tanev=__TANEV) { - - $q = "SELECT SUM(oraszam)/(SELECT MAX(szemeszter) FROM szemeszter WHERE tanev=%u) AS db, targyNev FROM tankorSzemeszter - LEFT JOIN tankor USING (tankorId) LEFT JOIN targy USING (targyId) WHERE tanev=%u GROUP BY targyid ORDER BY targyNev"; - $v = array($tanev, $tanev); - return db_query($q, array('fv' => 'getTargyOraszamEvfolyamonkent', 'modul' => 'naplo_intezmeny', 'result' => 'assoc', 'keyfield' => 'targyNev', 'values' => $v)); - - } - -?> diff --git a/mayor-orig/www/include/modules/naplo/tanev/vegzosOrarendLezaras.php b/mayor-orig/www/include/modules/naplo/tanev/vegzosOrarendLezaras.php deleted file mode 100644 index b7f9acd0..00000000 --- a/mayor-orig/www/include/modules/naplo/tanev/vegzosOrarendLezaras.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php - - /* - A megadott osztályokhoz - és csak azokhoz - rendelt tankörök listája - */ - //function getTankorByOsztalyIds($osztalyIds, $tanev = __TANEV) { //MOVED to SHARE libs - - function vegzosOrarendLezaras($ADAT) { - - // A lezárási dátum utáni bejegyzések törlése - $q = "DELETE FROM orarendiOra WHERE tolDt >= '%s' AND (tanarId,osztalyJel,targyJel) IN ( - SELECT tanarId,osztalyJel,targyJel FROM orarendiOraTankor WHERE tankorId IN (".implode(',', array_fill(0, count($ADAT['vegzosTankor']), '%u')).") - )"; - $v = mayor_array_join(array($ADAT['dt']), $ADAT['vegzosTankor']); - db_query($q, array('fv' => 'vegzosOrarendLezarads', 'modul' => 'naplo', 'values' => $v)); - - // A lezárás dátuma után végződő bejegyzáések igDt-inek beállítása - $q = "UPDATE orarendiOra LEFT JOIN orarendiOraTankor USING (tanarId,osztalyJel,targyJel) SET igDt=('%s' - INTERVAL 1 DAY) - WHERE tankorId IN (".implode(',', array_fill(0, count($ADAT['vegzosTankor']),'%u')).") AND igDt > '%s'"; - $v = mayor_array_join(array($ADAT['dt']), $ADAT['vegzosTankor'], array($ADAT['dt'])); - db_query($q, array('fv' => 'vegzosOrarendLezarads', 'modul' => 'naplo', 'values' => $v)); - - } - - function vegzosHaladasiNaploLezaras($ADAT) { - - $q = "DELETE FROM ora WHERE dt >= '%s' AND tankorId IN (".implode(',', array_fill(0, count($ADAT['vegzosTankor']), '%u')).")"; - $v = mayor_array_join(array($ADAT['dt']), $ADAT['vegzosTankor']); - db_query($q, array('fv' => 'vegzosHaladasiNaploLezarads', 'modul' => 'naplo', 'values' => $v)); - - } - -?> |