getMIOLOInstance($path, $module); $MIOLOConsole->loadMIOLO(); define(MARC_CLASSIFICATION_TAG, '090.a,080.a'); $bloco = 100; $verbose = false; $MIOLO->getClass($module, 'GnutecaBusiness'); $MIOLO->getClass($module, 'GnutecaForm'); $MIOLO->getClass($module, 'GnutecaMessages'); $MIOLO->getClass($module, 'GnutecaDate'); $MIOLO->getClass($module, 'GnutecaUtils'); $bus = $MIOLO->getBusiness('gnuteca3', 'BusMaterial'); $db = $MIOLO->getDatabase('gnuteca3'); echo 'Criando variaveis para o processo' . "\n"; //Pega quantidade de registros $numerodeRegistros = $db->query('SELECT count(*) FROM gtcmaterial')->result[0][0]; $quantidadeAlterada = 0; echo 'Serao alterados ' . $numerodeRegistros . ' registros' . "\n"; $numeroDeControleMenor = $db->query('SELECT min(controlNumber) FROM gtcmaterial')->result[0][0]; $numeroDeControleMaior = $db->query('SELECT max(controlNumber) FROM gtcmaterial')->result[0][0]; $busUpdate = $MIOLO->getBusiness('gnuteca3', 'BusMaterial'); $numeroDeControleInicial = $numeroDeControleMenor; $numeroDeControleFinal = $numeroDeControleMenor + $bloco; for (; $numeroDeControleInicial <= $numeroDeControleMaior; ) { echo 'Buscando materiais do numero de controle ' . $numeroDeControleInicial . ' ate ' . $numeroDeControleFinal . "\n"; $sql = "SELECT controlNumber, fieldId, subfieldId, line, content FROM gtcmaterial WHERE controlNumber >= $numeroDeControleInicial AND controlNumber <= $numeroDeControleFinal ORDER BY controlNumber"; $material = $db->query($sql)->result; foreach ($material as $mat) { $busUpdate->controlNumber = $mat[0]; $busUpdate->fieldid = $mat[1]; $busUpdate->subfieldid = $mat[2]; $busUpdate->line = $mat[3]; $busUpdate->content = $mat[4]; $complement = null; if (ereg($busUpdate->fieldid . '.' . $busUpdate->subfieldid, MARC_CLASSIFICATION_TAG)) { $complement = $bus->getContent($busUpdate->controlNumber, '090', 'b', 0); } $busUpdate->searchContent = $bus->prepareSearchContent($busUpdate->fieldid . '.' . $busUpdate->subfieldid, $busUpdate->content, $complement); $busUpdate->updateMaterialContentDirectSql(); $quantidadeAlterada++; if ($verbose) { echo number_format((($quantidadeAlterada/$numerodeRegistros) * 100), 2) . '% ' . $busUpdate->controlNumber . ' = ' . $busUpdate->content . ' --> ' . $busUpdate->searchContent . "\n"; } } if (!$verbose) { echo number_format((($quantidadeAlterada/$numerodeRegistros) * 100), 2) . '% ' . "\n"; } echo "Ate o momento foram alterados " . $quantidadeAlterada . ' registros de ' . $numerodeRegistros . "\n"; $numeroDeControleInicial += $bloco+1; $numeroDeControleFinal += $bloco+1; } ?>