From 35283d60ca832c8c9c351ddd78cf9c5396ff80f6 Mon Sep 17 00:00:00 2001 From: M.Gergo Date: Sun, 2 Feb 2020 12:55:51 +0100 Subject: Rev: 4604 --- .../install/module-naplo/mysql/intezmeny.sql | 2 +- mayor-orig/mayor-naplo/log/mayor-naplo.rev | 2 +- .../mayor-naplo/update/pre004603-1-intezmeny.sql | 14 +++ .../modules/naplo/intezmeny/munkakozosseg.php | 20 ++- .../include/modules/naplo/osztalyozo/vizsga.php | 2 +- .../private/naplo/import/tantargyFelosztas-pre.php | 138 ++++++++++++++------- .../private/naplo/import/tantargyFelosztas.php | 4 +- .../private/naplo/tanev/tankorCsoport-pre.php | 2 +- 8 files changed, 132 insertions(+), 52 deletions(-) create mode 100644 mayor-orig/mayor-naplo/update/pre004603-1-intezmeny.sql (limited to 'mayor-orig/mayor-naplo') diff --git a/mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql b/mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql index 63600aa9..bb15985a 100644 --- a/mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql +++ b/mayor-orig/mayor-naplo/install/module-naplo/mysql/intezmeny.sql @@ -309,7 +309,7 @@ CREATE TABLE `tankor` ( `max` tinyint(3) unsigned NOT NULL, `_tankorTipus` enum('tanórai','tanórán kívüli','első nyelv','második nyelv','egyéni foglalkozás','délutáni') COLLATE utf8_hungarian_ci DEFAULT 'tanórai', `tankorTipusId` int(10) unsigned DEFAULT NULL, - `tankorNevExtra` varchar(16) COLLATE utf8_hungarian_ci DEFAULT NULL, + `tankorNevExtra` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL, PRIMARY KEY (`tankorId`), KEY `tankor_FKIndex1` (`targyId`), CONSTRAINT `tankor_ibfk_1` FOREIGN KEY (`targyId`) REFERENCES `targy` (`targyId`) ON DELETE NO ACTION ON UPDATE NO ACTION diff --git a/mayor-orig/mayor-naplo/log/mayor-naplo.rev b/mayor-orig/mayor-naplo/log/mayor-naplo.rev index 61a4c0c1..7561799f 100644 --- a/mayor-orig/mayor-naplo/log/mayor-naplo.rev +++ b/mayor-orig/mayor-naplo/log/mayor-naplo.rev @@ -1 +1 @@ -4599 +4604 diff --git a/mayor-orig/mayor-naplo/update/pre004603-1-intezmeny.sql b/mayor-orig/mayor-naplo/update/pre004603-1-intezmeny.sql new file mode 100644 index 00000000..3f8a31ff --- /dev/null +++ b/mayor-orig/mayor-naplo/update/pre004603-1-intezmeny.sql @@ -0,0 +1,14 @@ +DELIMITER $$ +DROP PROCEDURE IF EXISTS upgrade_database_4603 $$ + +CREATE PROCEDURE upgrade_database_4603() +BEGIN +SET NAMES utf8 COLLATE utf8_hungarian_ci; + +IF EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() and TABLE_NAME='tankor' and COLUMN_NAME='tankorNevExtra') THEN + ALTER TABLE `tankor` MODIFY `tankorNevExtra` varchar(64) COLLATE utf8_hungarian_ci DEFAULT NULL; +END IF; + +END $$ +DELIMITER ; +CALL upgrade_database_4603(); 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 64d6496d..9827f1f4 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 @@ -115,8 +115,24 @@ } 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']); + $q = "UPDATE targy SET"; $v = array(); + if ($ADAT['targyJelleg'] != '') { + $q .= " targyJelleg='%s',"; $v[] = $ADAT['targyJelleg']; + } else { + $q .= " targyJelleg=NULL,"; + } + if ($ADAT['zaroKovetelmeny'] != '') { + $q .= "zaroKovetelmeny='%s',"; $v[] = $ADAT['zaroKovetelmeny']; + } else { + $q .= "zaroKovetelmeny=NULL,"; + } + if ($ADAT['evkoziKovetelmeny'] != '') { + $q .= "evkoziKovetelmeny='%s',"; $v[] = $ADAT['evkoziKovetelmeny']; + } else { + $q .= "evkoziKovetelmeny=NULL,"; + } + $q .= "targyRovidNev='%s'"; + $v[] = $ADAT['targyRovidNev']; if (is_numeric($ADAT['kirTargyId'])) { $q .= ",kirTargyId=%u"; array_push($v,$ADAT['kirTargyId']); diff --git a/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/vizsga.php b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/vizsga.php index 9849255d..077a9252 100644 --- a/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/vizsga.php +++ b/mayor-orig/mayor-naplo/www/include/modules/naplo/osztalyozo/vizsga.php @@ -110,7 +110,7 @@ // eredeti vizsga záradékolása és zárójegyhez kötése $q = "UPDATE vizsga SET zaradekId=%u, zaroJegyId=%u WHERE vizsgaId=%u"; $v = array($zaradekId, $zaroJegyId, $vizsgaId); - db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaHalasztas/záradékolás', 'values' => $v)); + db_query($q, array('modul' => 'naplo_intezmeny', 'fv' => 'vizsgaErtekeles/záradékolás', 'values' => $v)); } } 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 index 8605f4e5..097c6960 100644 --- 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 @@ -1,18 +1,5 @@ _DATADIR.'/'."csoportba_jaro_tanulok.tsv", - 'osztalyba_jaro_tanulok' => _DATADIR.'/'."osztalyba_jaro_tanulok.tsv", - 'tantargyfelosztas' => _DATADIR.'/'."ttfimport.tsv", - 'orarendiOra' => _DATADIR.'/'."orarendiOra.tsv", - 'helyettesitett_tanorak' => _DATADIR.'/'."helyettesitett_tanorak.tsv", -// 'elmaradt_tanorak' => _DATADIR.'/'."helyettesitett_tanorak.tsv", - ); - /* - 1. Nyilvántartás, Tanulói Adatok, Csoportok, Exportálás, Csoportba Járó tanulók _DATADIR.'/'."csoportba_jaro_tanulok.tsv" @@ -51,12 +38,28 @@ 2019.09.02 1 1 Pintér László (mat) 07.B osztályfőnöki Tanévnyitó-Margitsziget 2019.09.02 2019.09.02 2 2 Pintér László (mat) 07.B osztályfőnöki Tanévnyitó-Margitsziget 2019.09.02 - */ - if (_RIGHTS_OK !== true) die(); + $IMPORT_FILES = array( + 'csoportba_jaro_tanulok' => _DATADIR.'/'."csoportba_jaro_tanulok.tsv", + 'osztalyba_jaro_tanulok' => _DATADIR.'/'."osztalyba_jaro_tanulok.tsv", + 'tantargyfelosztas' => _DATADIR.'/'."ttfimport.tsvx", + 'orarendiOra' => _DATADIR.'/'."orarendiOra.tsv", + 'helyettesitett_tanorak' => _DATADIR.'/'."helyettesitett_tanorak.tsv", +// 'elmaradt_tanorak' => _DATADIR.'/'."helyettesitett_tanorak.tsv", + ); + + // pre-check files + foreach($IMPORT_FILES as $key => $filename) { + if (file_exists($filename)===false) { + // $_SESSION['alert'][] = 'info:file_not_exists:'.$filename; + dump($IMPORT_FILES); + die('FATAL ERROR! Not found: '.$filename); + } + } + if (!__NAPLOADMIN) { $_SESSION['alert'][] = 'page:insufficient_access'; } else { @@ -110,7 +113,9 @@ // $OSZTALYNEV2ID[ $OSZTALY ]; //} - // TODO valami szótár, nem tudjuk kitalálni + // TODO valami szótár, nem tudjuk kitalálni (tanév függő is!) + + if (__INTEZMENY==='vmg') { // --TODO tanev $ADAT['kulcsertektar']['osztalyjel2id'] = $OSZTALYJEL2ID = array( '07.A' => 124, '07.B' => 125, @@ -138,9 +143,39 @@ '12.D' => 109, '12.E' => 99, ); + } elseif (__INTEZMENY==='MZSG') { + $ADAT['kulcsertektar']['osztalyjel2id'] = $OSZTALYJEL2ID = array( + '7.a' => 72, + '7.b' => 73, + '8.a' => 74, + '8.b' => 75, + '9.ny' => 71, + '9.a' => 60, + '9.b' => 61, + '9.c' => 68, + '9.d' => 69, + '9.e' => 70, + '10.a' => 57, + '10.b' => 58, + '10.c' => 66, + '10.d' => 67, + '10.e' => 64, + '11.a' => 50, + '11.b' => 51, + '11.c' => 62, + '11.d' => 63, + '11.e' => 59, + '12.a' => 45, + '12.b' => 46, + '12.c' => 55, + '12.d' => 56, + '12.e' => 53, + ); + } else { + $_SESSION['alert'][] = 'page:nincs_osztalyjel2id'; + } - - $fn = fopen($IMPORT_FILES['tantargyfelosztas'],"r"); + $fn = fopen($IMPORT_FILES['tantargyfelosztas'],"r") or die($IMPORT_FILES['tantargyfelosztas'].':file not found!'); while(! feof($fn)) { /* 0 => string '12.C' (length=4) @@ -166,7 +201,7 @@ # tankorosztaly kitalálás: # DIÁK1 -(import)-> kretaOsztalyNev -(osztalyNaplo)-> osztalyId - $fn = fopen($IMPORT_FILES['osztalyba_jaro_tanulok'],"r"); + $fn = fopen($IMPORT_FILES['osztalyba_jaro_tanulok'],"r") or die($IMPORT_FILES['osztalyba_jaro_tanulok'].':file not found!');; while(! feof($fn)) { $line = (fgets($fn)); if (ord($line[0]) == 32) $line = "\t".trim($line); @@ -186,6 +221,9 @@ $osztalyId = $OSZTALYJEL2ID[$result[0]]; $csoportNev = $result[0]; $oId = $result[2]; + + if(is_null($osztalyId)) $_SESSION['alert'][] = 'info:'.$IMPORT_FILES['osztalyba_jaro_tanulok'].':null osztalyId:adatok='.$result[0].':'.$line; + if (!in_array($osztalyId, $CSOPORTADAT[$csoportNev]['osztalyok'])) { $CSOPORTADAT[$csoportNev]['osztalyok'][] = $osztalyId; } @@ -203,18 +241,20 @@ #Csoportba Járó Tanulok: - $fn = fopen($IMPORT_FILES['csoportba_jaro_tanulok'],"r"); + $fn = fopen($IMPORT_FILES['csoportba_jaro_tanulok'],"r") or die($IMPORT_FILES['csoportba_jaro_tanulok'].':file not found!');; while(! feof($fn)) { $line = (fgets($fn)); if (ord($line[0]) == 32) $line = "\t".trim($line); else $line = trim($line); $result = explode("\t",$line); + if (count($result)<1) continue;; // $ADAT['osztalyDiak'][] = $result; // osztalyNev --> osztalyId ??? $osztalyId = $OSZTALYJEL2ID[$result[3]]; $csoportNev = $result[0]; $oId = $result[2]; + if(is_null($osztalyId)) $_SESSION['alert'][] = 'info:'.$IMPORT_FILES['csoportba_jaro_tanulok'].':null osztalyId:adatok='.$result[3].':'.$line; if (!in_array($osztalyId, $CSOPORTADAT[$csoportNev]['osztalyok'])) { $CSOPORTADAT[$csoportNev]['osztalyok'][] = $osztalyId; } @@ -527,7 +567,7 @@ 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[0]]['osztalyok'], $ADAT['csoportAdat'][$_D[1]]['osztalyok'] ); } elseif (is_array($ADAT['csoportAdat'][$_D[1]]['osztalyok'])) { @@ -538,6 +578,13 @@ GROUP BY tankor.tankorId"; $_M = $ADAT['csoportAdat'][$_D['csoportNev']]['osztalyok']; + // null értékek kiszűrése: + $_TMP = array(); + for ($_tmpi = 0; $_tmpi0) $_TMP[] = $_M[$_tmpi]; + } + $_M = $_TMP; + if (!is_array($_M) || count($_M)==0 || is_null($_M)) { $_M = array(0); // $_SESSION['alert'][] = 'info:import_nincsenek osztályok:'.serialize($_D); @@ -554,6 +601,7 @@ 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 ($r2===false) continue;; if (count($r2) >= 1) { // mit tegyünk? kézzel fvesszük fel? tagokat ellenőrzünk? $_D['action'] = 'tankorHozzarendel2'; @@ -614,17 +662,16 @@ GROUP BY tankor.tankorId ORDER BY tankorNev"; // MaYoR: csoportId+targyId+tanarId => tankorId; $lr_naplo = db_connect('naplo'); - - $q = "select csoportId, targyId, tanarId, tankor.tankorId FROM tankorCsoport LEFT JOIN csoport USING (csoportId) LEFT JOIN intezmeny_vmg.tankor USING (tankorId) LEFT JOIN intezmeny_vmg.tankorTanar ON (tankor.tankorId = tankorTanar.tankorId AND beDt>='2019-09-01' AND (kiDt IS NULL or kiDt>=NOW()))"; + $q = "select csoportId, targyId, tanarId, tankor.tankorId FROM tankorCsoport LEFT JOIN csoport USING (csoportId) LEFT JOIN ".__INTEZMENYDBNEV.".tankor USING (tankorId) LEFT JOIN ".__INTEZMENYDBNEV.".tankorTanar ON (tankor.tankorId = tankorTanar.tankorId AND beDt>='2019-09-01' AND (kiDt IS NULL or kiDt>=NOW()))"; $r = db_query($q, array('fv' => 'pre', 'modul' => 'naplo', 'values' => $v, 'result'=>'indexed'),$lr_naplo); for ($i=0; $i 'felügyelet', @@ -671,30 +719,29 @@ GROUP BY tankor.tankorId ORDER BY tankorNev"; $fn = fopen($IMPORT_FILES['helyettesitett_tanorak'],"r"); -// --TODO -/* - 0 => string '2019. 09. 04. 10:00' (length=19) - 1 => string 'Szerda' (length=6) - 2 => string '3' (length=1) - 3 => string 'Elmaradt óra' (length=13) - 4 => string 'Takácsi-Nagyné Past Zsuzsanna' (length=31) - 5 => string 'Balkayné Kalló Ágnes Zsófia' (length=31) - 6 => string 'Nem szakszerű helyettesítés (felügyelet)' (length=44) - 7 => string '07.a.e.tnpzs' (length=12) - 8 => string 'etika/hit- és erkölcstan' (length=26) - 9 => string '111' (length=3) - 10 => string 'Megtartott óra' (length=15) - 11 => string '-' (length=1) - 12 => string 'Tanóra' (length=7) -*/ -/* + // --TODO + /* + 0 => string '2019. 09. 04. 10:00' (length=19) + 1 => string 'Szerda' (length=6) + 2 => string '3' (length=1) + 3 => string 'Elmaradt óra' (length=13) + 4 => string 'Takácsi-Nagyné Past Zsuzsanna' (length=31) + 5 => string 'Balkayné Kalló Ágnes Zsófia' (length=31) + 6 => string 'Nem szakszerű helyettesítés (felügyelet)' (length=44) + 7 => string '07.a.e.tnpzs' (length=12) + 8 => string 'etika/hit- és erkölcstan' (length=26) + 9 => string '111' (length=3) + 10 => string 'Megtartott óra' (length=15) + 11 => string '-' (length=1) + 12 => string 'Tanóra' (length=7) + while(! feof($fn)) { $line = (fgets($fn)); if (ord($line[0]) == 32) $line = "\t".trim($line); else $line = trim($line); $result = explode("\t",$line); // $X[] = $result; -dump($result); + dump($result); if (($_tankorId = $TRIPLE2TANKOR[$CSOPORT2ID[$result[7]]][$KRETATARGYNEV2TARGYID[$result[8]]][$TANAR2ID[$result[4]]])>0) { //csoport-targy-tanar $_dt = str_replace('. ','-',substr($result[0],0,12)); $_ora = $result[2]; @@ -732,8 +779,11 @@ dump($result); } // lehet, hogy nincs megfeleltetés, és az is, hogy helyettesített óra volt. Ezt külön file tartalmazza! } -*/ + */ fclose($fn); + + + db_close($lr_naplo); ################################################################################## 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 index bac83a15..9d5fbf07 100644 --- a/mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas.php +++ b/mayor-orig/mayor-naplo/www/policy/private/naplo/import/tantargyFelosztas.php @@ -1,8 +1,6 @@ 0) var_dump($ADAT['bug']['diak']); + echo 'Használt kulcs érték párok:'; + var_dump($ADAT['kulcsertektar']['osztalyjel2id']); 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 60060fd2..42a15eb7 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 @@ -144,7 +144,7 @@ - $ADAT['tankorCsoport'] = getTankorCsoport(); + $ADAT['tankorCsoport'] = getTankorCsoport($tanev); $ADAT['tankorCsoportAdat'] = getTankorCsoportAdat(); $TOOL['osztalySelect'] = array('tipus' => 'cella','paramName' => 'osztalyId', 'post' => array()); -- cgit v1.2.3