From abd8cfdf391410090842081422f711779978f473 Mon Sep 17 00:00:00 2001 From: M.Gergo Date: Sun, 27 Oct 2019 02:17:37 +0100 Subject: Rev: 4554 --- .../modules/naplo/intezmeny/munkakozosseg.php | 23 +- .../www/include/modules/naplo/intezmeny/tankor.php | 2 + .../www/include/modules/naplo/share/hirnok.php | 4 +- .../www/include/modules/naplo/share/tankor.php | 8 +- .../include/modules/naplo/share/tankorBlokk.php | 6 + .../modules/naplo/share/tankorDiakModifier.php | 3 +- .../modules/naplo/share/zaroJegyModifier.php | 15 +- .../include/modules/naplo/tanev/tankorCsoport.php | 17 + .../hu_HU/module-naplo/intezmeny/munkakozosseg.php | 1 + .../private/naplo/import/tantargyFelosztas-pre.php | 551 +++++++++++++++++++++ .../private/naplo/import/tantargyFelosztas.php | 17 + .../private/naplo/intezmeny/munkakozosseg-pre.php | 2 + .../private/naplo/tanev/tankorCsoport-pre.php | 5 +- .../policy/private/naplo/tanev/tankorCsoport.php | 3 +- .../module-naplo/css/import/tantargyFelosztas.css | 0 .../html/import/tantargyFelosztas.phtml | 139 ++++++ .../html/intezmeny/munkakozosseg.phtml | 3 + .../module-naplo/html/tanev/tankorCsoport.phtml | 31 ++ .../import/tantargyFelosztas.jquery.min.js | 11 + .../intezmeny/munkakozosseg.jquery.min.js | 15 + 20 files changed, 835 insertions(+), 21 deletions(-) create mode 100644 mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas-pre.php create mode 100644 mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas.php create mode 100644 mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/import/tantargyFelosztas.css create mode 100644 mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/import/tantargyFelosztas.phtml create mode 100644 mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/import/tantargyFelosztas.jquery.min.js create mode 100644 mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/munkakozosseg.jquery.min.js (limited to 'mayor-orig/mayor-naplo/www') diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/munkakozosseg.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/munkakozosseg.php index d9c01d61..64d6496d 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/munkakozosseg.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/munkakozosseg.php @@ -90,11 +90,11 @@ function ujTargy($ADAT) { - $leiras=$ADAT['leiras']; $mkId=$ADAT['mkId']; $targyJelleg=$ADAT['targyJelleg']; $kirTargyId=$ADAT['kirTargyId']; + $kretaTargyNev=$ADAT['kretaTargyNev']; if ($leiras=='') { $_SESSION['alert'][] = 'message:UI:empty field'; @@ -103,10 +103,10 @@ if (is_numeric($kirTargyId)) { $q = "INSERT INTO targy (targyNev,mkId,targyJelleg,kirTargyId) VALUES ('%s',%u,'%s',%u)"; - $v = array($leiras,$mkId,$targyJelleg,$kirTargyId); + $v = array($leiras,$mkId,$targyJelleg, $kretaTargyNev, $kirTargyId); } else { $q = "INSERT INTO targy (targyNev,mkId,targyJelleg) VALUES ('%s',%u,'%s')"; - $v = array($leiras,$mkId,$targyJelleg); + $v = array($leiras,$mkId,$targyJelleg, $kretaTargyNev); } $result = db_query($q,array('modul'=>'naplo_intezmeny', 'fv'=>'ujTargy','result'=>'insert', 'detailed'=>false, 'debug'=>false, 'values'=>$v)); @@ -115,14 +115,21 @@ } function targyModosit($ADAT) { + $q = "UPDATE targy SET targyJelleg='%s',zaroKovetelmeny='%s',evkoziKovetelmeny='%s',targyRovidNev='%s'"; + $v = array($ADAT['targyJelleg'],$ADAT['zaroKovetelmeny'],$ADAT['evkoziKovetelmeny'],$ADAT['targyRovidNev']); if (is_numeric($ADAT['kirTargyId'])) { - $q = "UPDATE targy SET targyJelleg='%s',zaroKovetelmeny='%s',evkoziKovetelmeny='%s',targyRovidNev='%s',kirTargyId=%u WHERE targyId=%u"; - $v = array($ADAT['targyJelleg'],$ADAT['zaroKovetelmeny'],$ADAT['evkoziKovetelmeny'],$ADAT['targyRovidNev'], $ADAT['kirTargyId'], $ADAT['targyId']); + $q .= ",kirTargyId=%u"; + array_push($v,$ADAT['kirTargyId']); + } + if ($ADAT['kretaTargyNev']!='') { + $q .= ",kretaTargyNev='%s'"; + array_push($v,$ADAT['kretaTargyNev']); } else { - $q = "UPDATE targy SET targyJelleg='%s',zaroKovetelmeny='%s',evkoziKovetelmeny='%s',targyRovidNev='%s' WHERE targyId=%u"; - $v = array($ADAT['targyJelleg'],$ADAT['zaroKovetelmeny'],$ADAT['evkoziKovetelmeny'],$ADAT['targyRovidNev'],$ADAT['targyId']); + $q .= ",kretaTargyNev=NULL"; } - return db_query($q,array('modul'=>'naplo_intezmeny', 'fv'=>'targyModosit', 'detailed'=>false, 'debug'=>false, 'values'=>$v)); + $q .=" WHERE targyId=%u"; + array_push($v, $ADAT['targyId']); + return db_query($q,array( 'modul'=>'naplo_intezmeny', 'fv'=>'targyModosit', 'detailed'=>false, 'values'=>$v)); } function targyTorol($targyId,$mkId) { diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankor.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankor.php index 6b1a3df4..737b8d35 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankor.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/intezmeny/tankor.php @@ -1,5 +1,7 @@ true,'fv'=>'addHirnokFeliratkozas/set', 'modul'=>'naplo_intezmeny', 'values'=>$v, 'result'=>'insert')); + return db_query($q, array('fv'=>'addHirnokFeliratkozas/set', 'modul'=>'naplo_intezmeny', 'values'=>$v, 'result'=>'insert')); } @@ -379,7 +379,7 @@ global $SZEMESZTER; // if (!is_array($ADAT['hirnokFeliratkozas'])) $X = array($ADAT['hirnokFeliratkozas']); $q = "DELETE FROM hirnokFeliratkozas WHERE hirnokFeliratkozasId = %u"; $v = array(intval($ADAT['hirnokFeliratkozasId'])); - return db_query($q, array('debug'=>true,'fv'=>'delHirnokFeliratkozas', 'modul'=>'naplo_intezmeny', 'values'=>$v, 'result'=>'delete')); + return db_query($q, array('fv'=>'delHirnokFeliratkozas', 'modul'=>'naplo_intezmeny', 'values'=>$v, 'result'=>'delete')); } diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankor.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankor.php index 705ab82f..16b1bbbc 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankor.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankor.php @@ -556,7 +556,7 @@ // --TODO: továbbgondolásra szorul // jelenlet = tankorJelenlet - $q = "SELECT DISTINCT tankor.tankorId,tankorTipusId,tankorNev,targyId,kovetelmeny,jelenlet,felveheto,tanev,zaroKovetelmeny + $q = "SELECT DISTINCT tankor.tankorId,tankorTipusId,tankorNev,targyId,kovetelmeny,jelenlet,felveheto,tanev,zaroKovetelmeny, tankorCn FROM ".__INTEZMENYDBNEV.".tankor LEFT JOIN ".__INTEZMENYDBNEV.".tankorTipus USING (tankorTipusId) LEFT JOIN ".__INTEZMENYDBNEV.".tankorSzemeszter USING (tankorId) @@ -700,8 +700,8 @@ $RETURN['idk'] = db_query($q, array( 'fv' => 'getTankorDiakjai/1', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v ), $olr); - // jelenlet = diakJelenlet - $q = "SELECT diakId,DATE_FORMAT(kiDt,'%%Y-%%m-%%d') AS kiDt, DATE_FORMAT(beDt,'%%Y-%%m-%%d') AS beDt,jelenlet,jelenlet as diakJelenlet,kovetelmeny,jovahagyva + // jelenlet = diakJelenlet -- TODO + $q = "SELECT diakId,DATE_FORMAT(kiDt,'%%Y-%%m-%%d') AS kiDt, DATE_FORMAT(beDt,'%%Y-%%m-%%d') AS beDt,_jelenlet,_jelenlet as diakJelenlet,_kovetelmeny,jovahagyva FROM ".__INTEZMENYDBNEV.".tankorDiak WHERE tankorId=%u ORDER BY bedt"; $RETURN['adatok'] = db_query($q, array( 'fv' => 'getTankorDiakjai/2', 'modul' => 'naplo_intezmeny', 'result' => 'multiassoc', 'keyfield' => 'diakId', 'values' => array($tankorId) @@ -724,7 +724,7 @@ $v = array($tankorId,$tolDt,$igDt); } $q = "SELECT DISTINCT diakId FROM ".__INTEZMENYDBNEV.".tankorDiak - WHERE $W AND (kiDt>='%s' OR kiDt is null) AND beDt<='%s' ORDER BY diakId"; + WHERE $W AND (kiDt>='%s' OR kiDt is null) AND beDt<='%s' ORDER BY ".__TANEVDBNEV.".getNev(diakId,'diak'),diakId"; $RETURN['idk'] = db_query($q, array('fv' => 'getTankorDiakjaiByInterval', 'modul' => 'naplo_intezmeny', 'result' => 'idonly', 'values' => $v), $olr); /* jelenlet, követelmeny, jóváhagyva mezők MÁR nincsenek */ $q = "SELECT diakId,DATE_FORMAT(kiDt,'%%Y-%%m-%%d') AS kiDt, DATE_FORMAT(beDt,'%%Y-%%m-%%d') AS beDt diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorBlokk.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorBlokk.php index 04742e76..b2ba3b0a 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorBlokk.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorBlokk.php @@ -29,6 +29,12 @@ } } + function getTankorBlokkNev($blokkId) { + $q = "SELECT blokkNev FROM tankorBlokk LEFT JOIN blokk USING (blokkId) WHERE blokkId = %u"; + $v = array($blokkId); + return db_query($q, array('fv' => 'getTankorBlokkByTankorId', 'modul' => 'naplo', 'result' => 'value', 'values' => $v)); + } + function getTankorBlokkok($tanev = __TANEV) { diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorDiakModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorDiakModifier.php index 7f699aea..cb0ad2f5 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorDiakModifier.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/tankorDiakModifier.php @@ -46,7 +46,8 @@ if (count(array_diff(array_values($UTKOZO_TANKORIDS),array_values($FELMENTETTTANKORIDS))) === 0) { // OK } else { - $_SESSION['alert'][] = '::Sikertelen. Tankörblokk ütközés!:blokkid('.$bId.')'; + $blokkNev = getTankorBlokkNev($bId); + $_SESSION['alert'][] = '::Sikertelen. Tankörblokk ütközés!:blokkid('.$blokkNev.','.$bId.')'; return false; } } diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaroJegyModifier.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaroJegyModifier.php index 48c5cfe9..e421af7f 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaroJegyModifier.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/share/zaroJegyModifier.php @@ -90,9 +90,15 @@ $v = null; } elseif ($J['jegy']!='') { // ha van jegy megadva // NEM REPLACE, UPDATE, különben a megszorítások miatt cascade törlésre kerülnek a vizsgák!!! HIBA! - $q = "UPDATE zaroJegy SET modositasDt=NOW(),hivatalosDt='%s',diakId=%u,targyId=%u,evfolyam=%u,evfolyamJel='%s',felev=%u, + if ($J['megjegyzes'] != 'dicséret' && $J['megjegyzes'] != 'figyelmeztető') { + $q = "UPDATE zaroJegy SET modositasDt=NOW(),hivatalosDt='%s',diakId=%u,targyId=%u,evfolyam=%u,evfolyamJel='%s',felev=%u, jegy='%s',jegyTipus='%s',megjegyzes='%s' WHERE zaroJegyId=%u AND (jegy!='%s' OR jegyTipus!='%s' OR megjegyzes!='%s')"; + } else { + $q = "UPDATE zaroJegy SET modositasDt=NOW(),hivatalosDt='%s',diakId=%u,targyId=%u,evfolyam=%u,evfolyamJel='%s',felev=%u, + jegy='%s',jegyTipus='%s',megjegyzes='%s' + WHERE zaroJegyId=%u AND (jegy!='%s' OR jegyTipus!='%s' OR megjegyzes!='%s')"; + } $v[] = $J['zaroJegyId']; $v[] = $J['jegy']; $v[] = $J['jegyTipus']; @@ -101,8 +107,13 @@ } elseif ($J['jegy']!='') { // nincs megadva zaroJegyId, ámbár probléma lehet, hátha van ilyen jegye mégis (konkurrens kliensek) // ugyanakkor az index létrehozás nem biztos hogy nyomravezető. Megoldás, ha a több bejegyzés megjelenik - $q = "INSERT INTO zaroJegy (modositasDt,hivatalosDt,diakId,targyId,evfolyam,evfolyamJel,felev,jegy,jegyTipus,megjegyzes) + if ($J['megjegyzes'] != 'dicséret' && $J['megjegyzes'] != 'figyelmeztető') { + $q = "INSERT INTO zaroJegy (modositasDt,hivatalosDt,diakId,targyId,evfolyam,evfolyamJel,felev,jegy,jegyTipus,megjegyzes) + VALUES (NOW(),'%s',%u,%u,%u,'%s',%u,'%s','%s',NULL)"; + } else { + $q = "INSERT INTO zaroJegy (modositasDt,hivatalosDt,diakId,targyId,evfolyam,evfolyamJel,felev,jegy,jegyTipus,megjegyzes) VALUES (NOW(),'%s',%u,%u,%u,'%s',%u,'%s','%s','%s')"; + } } $results[] = db_query($q, array('modul' => 'naplo_intezmeny','values' => $v, 'fv' => 'zaroJegyBeiras', 'result' => 'insert'), $lr); } diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorCsoport.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorCsoport.php index 984726db..f7fe6357 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorCsoport.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/tanev/tankorCsoport.php @@ -1,5 +1,22 @@ 0) { + $q = "SELECT csoportId,csoportNev,tankorId,getNev(tankorId,'tankor') AS tankorNev FROM csoport LEFT JOIN tankorCsoport USING (csoportId) WHERE csoportId=%u"; + $v = array($csoportId); + $r = db_query($q, array( + 'fv' => 'tankorCsoport', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'csoportId', 'values' => $v + )); + } else { + $q = "SELECT csoportId,csoportNev,tankorId,getNev(tankorId,'tankor') AS tankorNev FROM csoport LEFT JOIN tankorCsoport USING (csoportId)"; + $r = db_query($q, array( + 'fv' => 'tankorCsoport', 'modul' => 'naplo', 'result' => 'multiassoc', 'keyfield' => 'csoportId' + )); + } + return $r; + } + function getTankorCsoportByTankorIds($tankorIds) { $q = "SELECT csoportId,csoportNev,tankorId FROM csoport LEFT JOIN tankorCsoport USING (csoportId) diff --git a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/munkakozosseg.php b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/munkakozosseg.php index 3771de35..cd357829 100644 --- a/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/munkakozosseg.php +++ b/mayor-orig/mayor-naplo/www/lang/hu_HU/module-naplo/intezmeny/munkakozosseg.php @@ -32,5 +32,6 @@ visszamenőleg módosíthatja az adatokat!'); define('_TARGY_ATNEVEZES','Tárgy átnevezése'); define('_ATNEVEZES_HELP','A tárgy átnevezése a hozzá tartozó tankörök - esetleg visszamenőleges - átnevezésével jár!'); define('_UJ_TARGY_NEV','új tárgynév'); + define('_TARGY_KRETA_NEV','A tárgy neve a krétában (opcionális)'); ?> diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas-pre.php new file mode 100644 index 00000000..3e95969f --- /dev/null +++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas-pre.php @@ -0,0 +1,551 @@ +_DATADIR.'/','filename'=>'ttfimport.tsv')); + } elseif (isset($_POST['fileName']) && $_POST['fileName'] != '') { + + } +*/ + + $q = "SELECT szemeszterId FROM szemeszter WHERE tanev=%u"; + $v = array(__TANEV); + $ADAT['szemeszterek'] = db_query($q, array('fv' => 'pre', 'modul' => 'naplo_intezmeny', 'values' => $v, 'result'=>'idonly'), $lr); + + // DIÁKOK + $DIAKOK = getDiakok(array('extraAttrs'=>'oId')); + for ($i=0; $i 124, + '07.B' => 125, + '08.A' => 117, + '08.B' => 118, + '09.A' => 113, + '09.B' => 114, + '09.C' => 126, + '09.D' => 127, + '09.ny' => 128, + '09.E' => 119, + '10.A' => 105, + '10.B' => 106, + '10.C' => 120, + '10.D' => 121, + '10.E' => 122, + '11.A' => 95, + '11.B' => 96, + '11.C' => 110, + '11.D' => 111, + '11.E' => 107, + '12.A' => 90, + '12.B' => 91, + '12.C' => 108, + '12.D' => 109, + '12.E' => 99, + ); + + + $fn = fopen(_DATADIR.'/'."ttfimport.tsv","r"); + while(! feof($fn)) { + /* + 0 => string '12.C' (length=4) + 1 => string '12.c.m+t' (length=8) + 2 => string 'dráma' (length=6) + 3 => string '1,00' (length=4) + 4 => string 'Széles Zsuzsanna' (length=17) + 5 => string 'Nem' (length=3) + */ + $line = (fgets($fn)); + if (ord($line[0]) == 32) $line = "\t".trim($line); + else $line = trim($line); + $result = explode("\t",$line); + $ADAT['ttf'][] = $result; + } + fclose($fn); + + # Osztályba Járó Tanulók: + + # Osztály Név Oktatási azonosító + # 07.A Ambrus Dániel 72644951895 + # 07.A Apjok Balázs 72719658348 + # tankorosztaly kitalálás: + # DIÁK1 -(import)-> kretaOsztalyNev -(osztalyNaplo)-> osztalyId + + $fn = fopen(_DATADIR.'/'."osztalyba_jaro_tanulok.tsv","r"); + while(! feof($fn)) { + $line = (fgets($fn)); + if (ord($line[0]) == 32) $line = "\t".trim($line); + else $line = trim($line); + $result = explode("\t",$line); + // $ADAT['osztalyDiak'][] = $result; + // osztalyNev --> osztalyId ??? + $ADAT['osztalyDiak'][$OSZTALYJEL2ID[$result[0]]][] = array( + 'diakNev' => $result[1], + 'oId' => $result[2], + 'diakId' => ($OID2ID[$result[2]]>0) ? intval($OID2ID[$result[2]]) : null, + 'osztalyId' => $OSZTALYJEL2ID[$result[0]], + 'osztalyJel' => $result[0] + ); + $OID2OSZTALYJEL[$result[2]] = $OSZTALYJEL2ID[$result[0]]; + #### Töltsük fel csoportként az egészosztályt is + $osztalyId = $OSZTALYJEL2ID[$result[0]]; + $csoportNev = $result[0]; + $oId = $result[2]; + if (!in_array($osztalyId, $CSOPORTADAT[$csoportNev]['osztalyok'])) { + $CSOPORTADAT[$csoportNev]['osztalyok'][] = $osztalyId; + } + $CSOPORTADAT[$csoportNev]['diakIds'][] = $OID2ID[$oId]; + $CSOPORTADAT[$csoportNev]['diakOIds'][] = $oId; + $CSOPORTADAT[$csoportNev]['diakNevsor'][] = $result[1]; + if ($OID2ID[$oId] =='') { + $ADAT['bug']['diak'][] = $oId.$line; + } + + } + fclose($fn); + + ########################################################£ + + #Csoportba Járó Tanulok: + +#0 => string '99.9.énekkar-C' (length=15) +#1 => string 'Andrássy Blanka Éva' (length=21) +#2 => string '71614703894' (length=11) +#3 => string '12.C' (length=4) + + $fn = fopen(_DATADIR.'/'."csoportba_jaro_tanulok.tsv","r"); + while(! feof($fn)) { + $line = (fgets($fn)); + if (ord($line[0]) == 32) $line = "\t".trim($line); + else $line = trim($line); + $result = explode("\t",$line); + // $ADAT['osztalyDiak'][] = $result; + // osztalyNev --> osztalyId ??? + $osztalyId = $OSZTALYJEL2ID[$result[3]]; + $csoportNev = $result[0]; + $oId = $result[2]; + if (!in_array($osztalyId, $CSOPORTADAT[$csoportNev]['osztalyok'])) { + $CSOPORTADAT[$csoportNev]['osztalyok'][] = $osztalyId; + } + $CSOPORTADAT[$csoportNev]['diakIds'][] = $OID2ID[$oId]; + $CSOPORTADAT[$csoportNev]['diakOIds'][] = $oId; + if ($OID2ID[$oId] =='') { + $ADAT['bug']['diak'][] = $oId.serialize($line); + } + $CSOPORTADAT[$csoportNev]['diakNevsor'][] = $result[1]; + } + fclose($fn); + + $ADAT['csoportAdat'] = $CSOPORTADAT; + + ########################################################£ + $CSOPORT = array(); + for ($i=0; $i0) { + foreach ($ADAT['csoportok'] AS $index => $csoportNev) { + if ($csoportNev!='') { + $q = "INSERT IGNORE INTO csoport (csoportNev) VALUES ('%s')"; + $v = array($csoportNev); + db_query($q, array('fv' => 'csoportinsert', 'modul' => 'naplo', 'values' => $v), $lr); + } + } + } + // csoportid match + + // get csoportok + $TANKORCSOPORT = getTankorCsoport(__TANEV); + for ($i=0; $i'kretaNev')); +// dump($TANAROK); + for ($i=0; $i0 && $tanarId>0 && count($_osztalyIds)>0 && $targyId>0) { + // TODO létre kell hozni a tankört majd beléptetni a csoportId - be és a tankortanárba (lásd később) + // 1. új tankör + $UJTANKOR = array( + 'tanev'=>__TANEV, + 'targyId'=>$targyId, + 'felveheto'=>0, + 'min'=>0, + 'max'=>0, + 'kovetelmeny'=>'féljegy', + 'tankorTipusId'=>1, + 'osztalyok'=>$_osztalyIds, + 'szemeszterek' => $ADAT['szemeszterek'], + ); + $SZO = explode('&',$szemeszter_oraszam); + for ($j=0; $j 'csoportinsert', 'modul' => 'naplo', 'values' => $v)); + + // 3. tanár + tankorTanarModosit($tankorId, $tanarId, array('tanev'=>__TANEV,'tanevAdat'=>$_TANEV, 'tolDt'=>$_TANEV['kezdesDt'], 'igDt'=>$_TANEV['zarasDt'])); + + // 4. tagok + // setTankorNevByDiakok($tankorId, $tankorNevExtra = null, $olr = null); // ha a nevsorok szinkronban vannak + // setTankorNev($tankorId, null, null); + + for ($j=0; $j0) { + $UJTANKORDIAK = array( + 'tankorId'=>intval($tankorId), + 'tolDt'=>$_TANEV['kezdesDt'], + 'igDt'=>$_TANEV['zarasDt'], + 'jovahagyva'=>1, + 'diakId' => intval($_diakId) + ); + tankorDiakFelvesz($UJTANKORDIAK); + } + } + setTankorNev($tankorId, '('.$csoportNev.')', null); + } + } + for ($i=0; $i0 && $tanarId>0 && $tankorId>0 && $oraszam>0) { + $q = "insert ignore into tankorCsoport (tankorId,csoportId) VALUES (%u,%u)"; + $v = array($tankorId,$csoportId); + db_query($q, array('fv' => 'csoportinsert', 'modul' => 'naplo', 'values' => $v)); + + // $q = "insert into tankorTanar (tankorId,tanarId,beDt,kiDt) VALUES (%u,%u,'%s','%s')"; + // $v = array($tankorId,$tanarId,$_TANEV['kezdesDt'],$_TANEV['zarasDt']); + // db_query($q, array('fv' => 'tankorTanarInsert', 'modul' => 'naplo_intezmeny', 'values' => $v)); + tankorTanarModosit($tankorId, $tanarId, array('tanev'=>__TANEV,'tanevAdat'=>$_TANEV, 'tolDt'=>$_TANEV['kezdesDt'], 'igDt'=>$_TANEV['zarasDt'])); + + // Óraszám update + $q = "update tankorSzemeszter set oraszam=%f where tankorId=%u AND tanev=%u"; + $v = array(floatval($oraszam),intval($tankorId),__TANEV); + db_query($q, array('fv' => 'csoportinsert', 'modul' => 'naplo_intezmeny', 'values' => $v)); + + // A csoporttagság frissítése + $csoportNev = $TANKORCSOPORTID2CSOPORTNEV[$csoportId]; + for ($j=0; $j0) { + $UJTANKORDIAK = array( + 'tankorId'=>intval($tankorId), + 'tolDt'=>$_TANEV['kezdesDt'], + 'igDt'=>$_TANEV['zarasDt'], + 'jovahagyva'=>1, + 'diakId' => intval($_diakId) + ); + tankorDiakFelvesz($UJTANKORDIAK); + } + } + setTankorNev($tankorId, '('.$csoportNev.')', null); + + } + + } + + + } + + + + +######################################################### + + $TANKORIDS = getTankorByTanev(__TANEV, array('result'=>'idonly')); + + for ($i=0; $i kretaCsoportNev -(csoport)-> csoportId +// for ($i=0; $i0) $ADAT['osztalyDiak']['diakId'] = $OID2ID[$D['oId']]; +// else echo 'nincs ilyen diakId'. $D['oId']; +// } + +// dump($ADAT['osztalyDiak']); + +## az összegyűjtott adatok alapján az végeredmény +/* +array (size=11) + 0 => string '' (length=0) + 1 => string '12.6.m.va3' (length=10) + 2 => string 'matematika' (length=10) + 3 => string '3,00' (length=4) + 4 => string 'Volf Annamária' (length=15) + 5 => string 'Nem' (length=3) + 'oraszam' => float 3 + 'targyId' => int 6 + 'tankorCsoport' => + array (size=1) + 0 => string '4368' (length=4) + 'tanarId' => string '131' (length=3) + 'tankorCn' => string ':4368&6&131&3' (length=13) +*/ + + for ($i=0; $i0) { + $_tmpCsoportId = $ADAT['ttf'][$i]['tankorCsoport'][] = $CSOPORT2ID[$ADAT['ttf'][$i][0]]; + $_tmpCsoportNev = $ADAT['ttf'][$i][0]; + } + if ($CSOPORT2ID[$ADAT['ttf'][$i][1]]>0) { + $_tmpCsoportId = $ADAT['ttf'][$i]['tankorCsoport'][] = $CSOPORT2ID[$ADAT['ttf'][$i][1]]; + $_tmpCsoportNev = $ADAT['ttf'][$i][1]; + } + $ADAT['ttf'][$i]['tanarId'] = $TANAR2ID[$ADAT['ttf'][$i][4]]; // itt tárgyid szerint még lehet jobban szűrni (pl PLspa PLmat esete) + $ADAT['ttf'][$i]['csoportId'] = $_tmpCsoportId; // ez legyen a default, a második erősebb + $ADAT['ttf'][$i]['csoportNev'] = $_tmpCsoportNev; // ez legyen a default, a második erősebb + + # tankorCn : csoportId targyId tanarId oraszam + # ha megváltozik az óraszám, új tankör jönne létre + + $ADAT['ttf'][$i]['tankorCn'] = ':'.implode('&',array('csoportId'=>$_tmpCsoportId,'targyId'=>$KRETATARGYNEV2TARGYID[$ADAT['ttf'][$i][2]],'tanarId'=>$TANAR2ID[$ADAT['ttf'][$i][4]],'oraszam'=>$ADAT['ttf'][$i]['oraszam'])); + + // ha van ilyen tankorCn, akkor skip és OK + // $q = "SELECT tankorId FROM tankor LEFT JOIN tankorSzemeszter USING (tankorId)"; + + // ALTERNATÍV ELLENŐRZÉS + # ha van olyan tankör, aminek a tárgya, tanára és óraszáma és csoportja egyezik, akkor nem csinálunk semmit (már felvettük) + # + + // ha nincs ilyen tankorCn + + ## LIMITÁCIÓ (első félév!) + + // nem lefedett eset: ha már fel van véve a tankör nagyon jól, de nem ezzel a scripttel, akkor nem fogjuk megtalálni + // BPné kézi esete + + if ($ADAT['ttf'][$i]['tanarId'] == $selectedTanarId || $ADAT['ttf'][$i]['targyId'] == $selectedTargyId) { + + $_D = $ADAT['ttf'][$i]; + $q = "select *,tankorSzemeszter.tankorId AS tankorId from tankorSzemeszter +LEFT JOIN tankor USING (tankorId) +LEFT JOIN tankorTanar ON (tankorTanar.tankorId=tankor.tankorId AND beDt<=NOW() AND (kiDt is null or kiDt>=NOW())) +LEFT JOIN ".__TANEVDBNEV.".tankorCsoport ON (tankor.tankorId = tankorCsoport.tankorId) +LEFT JOIN ".__TANEVDBNEV.".csoport USING (csoportId) +WHERE tanev=%u AND szemeszter=%u AND targyId=%u AND oraszam=%f AND tanarId=%u +AND csoportNev = '%s' +GROUP BY tankor.tankorId"; + $v = array(__TANEV,1,$_D['targyId'],$_D['oraszam'],$_D['tanarId'],$_D['csoportNev']); + $r = db_query($q,array('modul'=>'naplo_intezmeny','values'=>$v,'result'=>'indexed')); + if (count($r) == 1) { + // echo 'OK, a talált tankör'; + $_D['tankorId'] = $r[0]['tankorId']; + $_D['action'] = 'done'; + } elseif (count($r)>1) { + // ha van legalább egy találat, akkor kihagyjuk ezt a sort, esetleg megjegyezhetjuk, hogy neki már ezek a párjai lehetnek/vannak + // echo 'több találat van'; + // specifikálni kell tovább (pl. van csoporthozzárendelés?) ugyanolyan? + $_D['action'] = 'tankorHozzarendel'; + // ha nincs + for ($j=0; $j=NOW())) WHERE tanev=2019 AND szemeszter=1 AND targyId=6 AND oraszam=5 AND tanarId IS NULL GROUP BY tankor.tankorId ; + $_M = array(); + if (is_array($ADAT['csoportAdat'][$_D[0]]['osztalyok']) && is_array($ADAT['csoportAdat'][$_D[1]]['osztalyok'])) { + $_M = array_merge( + $ADAT['csoportAdat'][$_D[1]]['osztalyok'], + $ADAT['csoportAdat'][$_D[1]]['osztalyok'] + ); + } elseif (is_array($ADAT['csoportAdat'][$_D[1]]['osztalyok'])) { + $_M = $ADAT['csoportAdat'][$_D[1]]['osztalyok']; + } elseif (is_array($ADAT['csoportAdat'][$_D[0]]['osztalyok'])) { + $_M = $ADAT['csoportAdat'][$_D[0]]['osztalyok']; + } + + $_M = $ADAT['csoportAdat'][$_D['csoportNev']]['osztalyok']; + + if (!is_array($_M) || count($_M)==0 || is_null($_M)) { + $_M = array(0); + $_SESSION['alert'][] = 'info:nincsenek osztályok:'.serialize($_D); + } + $q = "select *,tankorSzemeszter.tankorId AS tankorId from tankorSzemeszter +LEFT JOIN tankor USING (tankorId) +LEFT JOIN tankorTanar ON (tankorTanar.tankorId=tankor.tankorId AND beDt<=NOW() AND (kiDt is null or kiDt>=NOW())) +LEFT JOIN tankorOsztaly ON (tankor.tankorId = tankorOsztaly.tankorId) +WHERE tanev=%u AND szemeszter=%u AND targyId=%u +AND oraszam=%f +AND tanarId IS NULL +AND osztalyId IN (".implode(',',$_M).") +GROUP BY tankor.tankorId ORDER BY tankorNev"; + + $v = array(__TANEV,1,$_D['targyId'],$_D['oraszam']); + $r2 = db_query($q,array('modul'=>'naplo_intezmeny','values'=>$v,'result'=>'indexed')); + if (count($r2) >= 1) { + // mit tegyünk? kézzel fvesszük fel? tagokat ellenőrzünk? + $_D['action'] = 'tankorHozzarendel2'; + for ($j=0; $j'naplo_intezmeny','values'=>$v,'result'=>'indexed')); + + if (count($r3) >= 1) { + $_D['action'] = 'tankorHozzarendel3'; + for ($j=0; $j'cella','paramName' => 'tanev', +// 'tervezett' => true, +// 'post' => array('mkId','targyId','tankorId')); +// $TOOL['munkakozossegSelect'] = array('tipus'=>'cella','paramName' => 'mkId', 'post' => array('tanev')); + $TOOL['targySelect'] = array('tipus'=>'cella', 'paramName' => 'selectedTargyId'); +// $TOOL['diakSelect'] = array('tipus'=>'sor','paramName'=>'diakId', 'post'=>array()); + $TOOL['tanarSelect'] = array('tipus'=>'cella','paramName'=>'selectedTanarId'); +// $TOOL['tankorSelect'] = array('tipus' => 'cella','paramName' => 'tankorId', 'post' => array('tanev', 'mkId', 'targyId')); +// $TOOL['tanevLapozo'] = array('tipus' => 'sor', 'paramName' => 'tanev', 'post' => array('mkId', 'targyId', 'tankorId'), 'tanev' => __TANEV); + getToolParameters(); + +?> \ No newline at end of file diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas.php new file mode 100644 index 00000000..e01360f8 --- /dev/null +++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas.php @@ -0,0 +1,17 @@ +0) + var_dump($ADAT['bug']['targy']); + + if (count($ADAT['bug']['diak'])>0) + var_dump($ADAT['bug']['diak']); + + +?> \ No newline at end of file diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php index f8524925..45795771 100644 --- a/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php +++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/intezmeny/munkakozosseg-pre.php @@ -36,6 +36,7 @@ $_ADAT['evkoziKovetelmeny']=readVariable($_POST['evkoziKovetelmeny'],'string'); $_ADAT['zaroKovetelmeny']=readVariable($_POST['zaroKovetelmeny'],'string'); $_ADAT['kirTargyId'] = readVariable($_POST['kirTargyId'],'id',null, $ADAT['kirTargyak']); + $_ADAT['kretaTargyNev']=readVariable($_POST['kretaTargyNev'],'string'); $_ti=ujTargy($_ADAT); if ($_ti!==false && is_numeric($_ti)) $targyId=$_ti; unset($_ti); @@ -49,6 +50,7 @@ $_ADAT['zaroKovetelmeny'] = readVariable($_POST['zaroKovetelmeny'],'sql'); $_ADAT['targyRovidNev'] = readVariable($_POST['targyRovidNev'],'sql'); $_ADAT['kirTargyId'] = readVariable($_POST['kirTargyId'],'id',null); + $_ADAT['kretaTargyNev']=readVariable($_POST['kretaTargyNev'],'string'); targyModosit($_ADAT); break; case 'targyTorol': diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport-pre.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport-pre.php index cddfb69c..39e04ec0 100644 --- a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport-pre.php +++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport-pre.php @@ -119,11 +119,10 @@ // ----------------- action --------------------- // -//echo $q; -//echo '
'; var_dump($ujCsoportok); echo '
'; - } + $ADAT['tankorCsoport'] = getTankorCsoport(); + $ADAT['tankorCsoportAdat'] = getTankorCsoportAdat(); $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array()); getToolParameters(); diff --git a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport.php b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport.php index 955de6c7..f249be88 100644 --- a/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport.php +++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/tanev/tankorCsoport.php @@ -2,10 +2,11 @@ if (_RIGHTS_OK !== true) die(); - global $tankorAdat, $Csoportok, $szTankorIds, $osztalyId; + global $tankorAdat, $Csoportok, $szTankorIds, $osztalyId,$ADAT; if (isset($osztalyId)) putUjTankorCsoport($tankorAdat, $szTankorIds, $osztalyId); if (count($Csoportok) > 0) putCsoportok($Csoportok, $tankorAdat, $szTankorIds, $osztalyId); if (count($szTankorIds) > 0) putTankorCsoportKereso($osztalyId); + putTankorCsoportAdat($ADAT) ?> diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/import/tantargyFelosztas.css b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/css/import/tantargyFelosztas.css new file mode 100644 index 00000000..e69de29b diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/import/tantargyFelosztas.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/import/tantargyFelosztas.phtml new file mode 100644 index 00000000..3cd8691b --- /dev/null +++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/import/tantargyFelosztas.phtml @@ -0,0 +1,139 @@ +'; + echo ''; + echo ''; + formEnd(); + + formBegin(array('enctype'=>"multipart/form-data",'class'=>'diak')); + echo '
'.''."\n"; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
'; + formEnd(); + */ + + echo ''; + + // FILTEREZÉS + + + + formBegin(); + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + for ($i=0; $i'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + echo '
'; + echo 'Csoportnév'; + echo ''; + echo "Névsor"; + echo ''; + echo '
'; + foreach ( array('tankorHozzarendel','tankorHozzarendel2','tankorHozzarendel3','done','createTankor') as $k => $v) { + echo ''; + } + echo '
'.$D['csoportNev'].''; + echo '
'; + for ($j=0;$j'; + } + echo '
'; + + echo '
'.$D[2].' '.'('.$D['targyId'].')'.$D[3].' '.''.$D[4].' ('.$D['tanarId'].')'; + + if (in_array($D['action'],array('tankorHozzarendel','tankorHozzarendel2','tankorHozzarendel3'))) { + + + echo ''; + echo '
'; + for ($j=0; $j'.$D['displayTankor'][$j]['tankorNev'].''; + echo '('.$_tankorId.') tag: '.count($ADAT['tankorDiak'][$_tankorId]); + + echo " -- diff:" .$_diffCount; + if ($_diffCount == 0) echo '*******'; + } + echo '
'; + // ha ezt összehasonlítom a mayorban rögzített névsorral, akkor eldönhető lehet, hogy melyik a jó választás! + echo ' Új tankör:'; + echo ''; + } elseif ($D['action'] == 'createTankor') { + echo 'Új tankör létrehozása: '; + } else { + echo '
'.$D['tankorId'].'
'; + } + + echo '
'; + formEnd(); + + } + + +?> \ No newline at end of file diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/munkakozosseg.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/munkakozosseg.phtml index b35f799e..2b2c8c9f 100644 --- a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/munkakozosseg.phtml +++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/intezmeny/munkakozosseg.phtml @@ -147,6 +147,9 @@ echo '
  • '; echo _KIRTARGY.': '; putKirTargySelect($ADAT['kirTargyak'],$ADAT['targyAdat']['kirTargyId']); + echo '
  • '; + echo _TARGY_KRETA_NEV.': '."\n"; + echo ' '; echo '
  • '; echo ''; formEnd(); diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorCsoport.phtml b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorCsoport.phtml index e6bd23f8..dda6a6dc 100644 --- a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorCsoport.phtml +++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/html/tanev/tankorCsoport.phtml @@ -119,4 +119,35 @@ } + function putTankorCsoportAdat($ADAT) { + + formBegin(array('class'=>'csoportKereses')); + + echo ''."\n"; + echo ''."\n"; + + echo ''."\n"; + echo ''; + echo ''; + echo ''; + echo ''."\n"; + foreach ($ADAT['tankorCsoportAdat'] as $csoportId => $TANKORCSOPORT) { + echo ''."\n"; + echo ''; + echo ''; + echo ''; + echo ''."\n"; + } + echo '
    '._CSOPORTNEV.''._TANKOROK.'
    '.$TANKORCSOPORT[0]['csoportNev'].''.$csoportId.''; + for ($i=0; $i'.$D['tankorNev'].''; + + } + echo '
    '."\n"; + + formEnd(); + + } + ?> diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/import/tantargyFelosztas.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/import/tantargyFelosztas.jquery.min.js new file mode 100644 index 00000000..f1a2f730 --- /dev/null +++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/import/tantargyFelosztas.jquery.min.js @@ -0,0 +1,11 @@ + +$(function() { + $('table.ttf thead input[type="checkbox"]').bind('click', function(event) { + element = $(event.target); + // Az összes elem kiválasztása... + cls = element.val(); + $('table.ttf tr.'+element.val()).toggle(); + }); +}); + + diff --git a/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/munkakozosseg.jquery.min.js b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/munkakozosseg.jquery.min.js new file mode 100644 index 00000000..f2d0e6ef --- /dev/null +++ b/mayor-orig/mayor-naplo/www/skin/classic/module-naplo/javascript/intezmeny/munkakozosseg.jquery.min.js @@ -0,0 +1,15 @@ + + +$(function() { + + $('body').click(function(event) { + + element = $(event.target); + if (element.hasClass('icon-refresh')) { + targyNev=($(element).data('targynev')); + $('#kretaTargyNev').val ( targyNev ); + } + + }); + +}); \ No newline at end of file -- cgit v1.2.3