function cargarPresupuesto($RUTA_A) { require_once "{$RUTA_A}/functions/Presupuesto.php"; // obtenemos los datos del archivo $tipo = $_FILES["archivo"]['type']; $archivo = $_FILES["archivo"]['name']; //valida que sí ingresen un archivo if (empty($archivo)) { $result = "<b>Debe de especificar un archivo con el botón Examinar...<b>"; return $result; } // valida que sólo sean archivos .cvs if (substr($archivo, -4, 4) != ".csv") { $result = "<b>Por favor verifique el tipo de archivo. El archivo debe ser guardado con extensión .csv<b>"; return $result; } //Aunque el archivo se llame igual que uno previo se carga. $prefijo = substr(md5(uniqid(rand())), 0, 6); if ($archivo != "") { // guardamos el archivo a la carpeta "datos" $destino = $RUTA_A . "/datos/" . $prefijo . "_" . $archivo; if (copy($_FILES['archivo']['tmp_name'], $destino)) { $result = "Archivo colocado: <b>" . $archivo . "</b>"; } else { return "<b>Error al subir el archivo</b>"; } } else { return "<b>Error al subir el archivo</b>"; } $registros = 0; $actualizaciones = 0; $no_registrados = ""; $no_actualizados = ""; $i = 0; $fp = fopen($destino, "r"); if ($fp !== FALSE) { $Presupuesto = new Presupuesto(); $CentroCosto = new CentroCosto(); $Concepto = new Concepto(); $data = fgetcsv($fp, 0, ","); while ($data) { $i++; $empresa = $data[0]; $ceco = $data[1]; $finicial = $data[2]; $ffinal = $data[3]; $monto = $data[4]; $row_resultCC = $CentroCosto->Busca_CeCoXCodigo($ceco, $empresa); if (empty($row_resultCC)) { echo "El Centro de Costos " . $ceco . " para la empresa" . $empresa . " no existe. Linea no. " . $i . " </br>"; } else { $fechaI = explode("/", $finicial); $fechaF = explode("/", $ffinal); $FI = $fechaI[2] . "-" . $fechaI[1] . "-" . $fechaI[0]; $FF = $fechaF[2] . "-" . $fechaF[1] . "-" . $fechaF[0]; $cc_id = $row_resultCC["cc_id"]; $row_resultPP = $Presupuesto->Existe_PP($cc_id, $FI, $FF); if (empty($row_resultPP)) { if ($Presupuesto->Nuevo_Presupuesto($cc_id, $FI, $FF, $monto) > 0) { $registros++; } else { $no_actualizados = $no_actualizados . "[" . $data[0] . "][" . $data[1] . "],"; } } else { $pDisponible = $monto - $row_resultPP["pp_presupuesto_utilizado"]; if ($Presupuesto->Actualiza_Presupuesto($row_resultPP["pp_id"], $data[4], $pDisponible)) { $actualizaciones++; } else { $no_actualizados = $no_actualizados . "[" . $data[0] . "][" . $data[1] . "],"; } } } $data = fgetcsv($fp, 0, ","); } } fclose($fp); return mostrarResultados($registros, $actualizaciones, $no_registrados, $no_actualizados); }
function cargarPresupuesto($RUTA_A) { require_once "{$RUTA_A}/functions/Presupuesto.php"; // obtenemos los datos del archivo $tipo = $_FILES["archivo"]['type']; $archivo = $_FILES["archivo"]['name']; $data2 = array("0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"); //error_log($tipo); //error_log($archivo); //valida que sí ingresen un archivo if (empty($archivo)) { $result = "<b>Debe de especificar un archivo con el botón Examinar...<b>"; return $result; } // valida que sólo sean archivos .csv if (substr($archivo, -4, 4) != ".csv") { $result = "<b>Revise si el archivo cargado cumple con el formato .csv<b>"; return $result; } //Aunque el archivo se llame igual que uno previo se carga. $prefijo = substr(md5(uniqid(rand())), 0, 6); //error_log($prefijo); if ($archivo != "") { // guardamos el archivo a la carpeta "datos" $destino = $RUTA_A . "/datos/Referencias/Presupuesto/" . $prefijo . "_" . $archivo; if (copy($_FILES['archivo']['tmp_name'], $destino)) { $result = "Archivo colocado: <b>" . $archivo . "</b>"; } else { return "<b>Error al subir el archivo</b>"; } } else { return "<b>Error al subir el archivo</b>"; } $registros = 0; $actualizaciones = 0; $no_registrados = ""; $no_actualizados = ""; $fp = fopen($destino, "r"); if ($fp !== false) { $Presupuesto = new Presupuesto(); $CentroCosto = new CentroCosto(); $Concepto = new ConceptoGasto(); $Sociedad = new Sociedad(); while ($data = fgetcsv($fp, 0, ",")) { /*Se valida que cada registro del archov que se lea contenga 15 columnas, en caso contrario se omite ese registro*/ //error_log("------------".count($data)); if (count($data) != 16) { continue; } /*for($i=0;$i<count($data);$i++){ error_log($i."-".$data[$i]); }*/ $row_resultSoc = $Sociedad->Busca_idSociedad($data[0]); //$row_resultCC=$CentroCosto->Busca_CeCoXCodigo($data[0]); $row_resultCC = $CentroCosto->Busca_CeCoXCodigo($data[1], $row_resultSoc); if (empty($row_resultCC)) { $no_registrados = $no_registrados . "<br>[" . $data[1] . "][" . $data[2] . "],"; $result = mostrarResultados($registros, $actualizaciones, $no_registrados, $no_actualizados); //return $result= $result." El Centro de Costos ".$data[0]." no ha sido registrado"; continue; } else { $row_resultC = $Concepto->Busca_ConceptoXIdentificadorAndCeco($data[3], $row_resultCC, $data[2]); if (empty($row_resultC)) { $no_registrados = $no_registrados . "<br>[" . $data[1] . "][" . $data[2] . "],"; $result = mostrarResultados($registros, $actualizaciones, $no_registrados, $no_actualizados); //return $result= $result." El Concepto con identificador ".$data[1]." no ha sido registrado"; continue; } else { //error_log("ok----concepto_id------".$row_resultC['cg_id']); if (isset($_POST['carga_inicial'])) { $tipo_presupuesto = 1; } if (isset($_POST['modificar_presupuesto'])) { $tipo_presupuesto = 2; } $row_result = $Presupuesto->Existe_Presupuesto($row_resultC["cg_id"], $tipo_presupuesto); $row_result_1 = $Presupuesto->Existe_Presupuesto($row_resultC["cg_id"], 1); $row_result_2 = $Presupuesto->Existe_Presupuesto($row_resultC["cg_id"], 2); $row_result_3 = $Presupuesto->Existe_Presupuesto($row_resultC["cg_id"], 3); } } $data = dar_formato($data); if (empty($row_result)) { //hay que insertar el registro //error_log("NO existe ---------------------------"); if ($tipo_presupuesto == 2) { //hay que insertar el registro $Presupuesto->Nuevo_Presupuesto($row_resultC["cg_id"], 2, $data2); $Presupuesto->Actualiza_Presupuesto($row_result_2["p_id"], $row_resultC["cg_id"], 2, $data, 1); $registros++; } else { if ($Presupuesto->Nuevo_Presupuesto($row_resultC["cg_id"], $tipo_presupuesto, $data) > 0) { //si regresa el id del registro $registros++; } else { $no_registrados = $no_registrados . "<br>[" . $data[1] . "][" . $data[2] . "],"; } } } else { //hay que actualizar el presupuesto //error_log("SI existe ---------------------------".date("m")); //$pDisponible = $data[4] - $row_result["pp_presupuesto_utilizado"]; //Presupuesto nuevo - Presupuesto Utilizado if ($Presupuesto->Actualiza_Presupuesto($row_result["p_id"], $row_resultC["cg_id"], $tipo_presupuesto, $data, 2)) { $actualizaciones++; } else { $no_actualizados = $no_actualizados . "<br>[" . $data[1] . "][" . $data[2] . "],"; } } if ($tipo_presupuesto == 1) { if (empty($row_result_2)) { //hay que insertar el registro $Presupuesto->Nuevo_Presupuesto($row_resultC["cg_id"], 2, $data); } else { $Presupuesto->Actualiza_Presupuesto($row_result_2["p_id"], $row_resultC["cg_id"], 2, $data, 0); } if (empty($row_result_3)) { //hay que insertar el registro $Presupuesto->Nuevo_Presupuesto($row_resultC["cg_id"], 3, $data); } else { $Presupuesto->Actualiza_Presupuesto($row_result_3["p_id"], $row_resultC["cg_id"], 3, $data, 0); } } if ($tipo_presupuesto == 2) { if (empty($row_result_1)) { //hay que insertar el registro $Presupuesto->Nuevo_Presupuesto($row_resultC["cg_id"], 1, $data2); } if (empty($row_result_3)) { //hay que insertar el registro $Presupuesto->Nuevo_Presupuesto($row_resultC["cg_id"], 3, $data2); $Presupuesto->Actualiza_Presupuesto($row_result_3["p_id"], $row_resultC["cg_id"], 3, $data, 1); } else { $Presupuesto->Actualiza_Presupuesto($row_result_3["p_id"], $row_resultC["cg_id"], 3, $data, 1); } } } } fclose($fp); return mostrarResultados($registros, $actualizaciones, $no_registrados, $no_actualizados); }