function ordOPs($listaFile) { $aOPs = array(); $aList = array(); //carregar uma matriz com os dados sql da tabela exportada $aList = file($listaFile, FILE_IGNORE_NEW_LINES); //ordenar a tabela exportada pelo numero da OP foreach ($aList as $sqlComm) { $k = strrpos($sqlComm, 'VALUES ('); $txt = substr($sqlComm, $k + 8, 6); $atxt = explode(',', $txt); $numop = (int) $atxt[0]; $aOPs[$numop] = changeSQL($sqlComm, 'OP'); } ksort($aOPs); return $aOPs; }
/** * sem uso * @param array $aNL */ public function cargaDiferencial($aNL) { foreach ($aNL as $key => $sqlComm) { $sqlComm = changeSQL($sqlComm, 'OP'); } }
function cargaIncremental($aNL, $conn, $aProd = array()) { //########################################### //carga incremental somente para tabela OP //########################################### //agora que os dados estão ordenados posso fazer a carga //incremental com base nas 10 últimas OPs $last10 = array_slice($aNL, -10, 10); foreach ($last10 as $key => $sqlComm) { $sqlComm = changeSQL($sqlComm, 'OP'); echo $sqlComm . '<BR>'; try { $stmt = $conn->prepare($sqlComm); $stmt->execute(); //se sucesso pegar o index $id = $conn->lastInsertId(); $sqlComm = "SELECT produto FROM OP WHERE id = '{$id}'"; $consulta = $conn->query($sqlComm); $row = $consulta->fetch(PDO::FETCH_ASSOC); $produto = $row[0]['produto']; $sqlComm = "SELECT id FROM produtos WHERE produto = '{$produto}'"; if (!$conn->query($sqlComm)) { //não achou então gravar $sqlComm = $aProd[$produto]; $sqlComm = changeSQL($sqlComm, 'produto'); if (strlen($sqlComm) > 30) { $stmt = $conn->prepare($sqlComm); $stmt->execute(); } } } catch (PDOException $e) { echo $e->getMessage(); } } }