Mi pregunta es la siguiente como puedo ver la causa de la demora el el servidor ya que no me arroja ningún error ni en pantalla ni en los log.
Gracias
Código:
//Funcion para importar los pagos.
public function set_importpaymet($files)
{
$idinsured = input_post('insured');
$fecha = fecha_format(input_post('fecha'), "m-d-Y");
$i = 1;
$a_fecha = explode("-", input_post('fecha'));
$mes = $a_fecha[0];
$year = $a_fecha[2];
$aPos = $_POST['campodata'];
//Posision de los campos.
$ia = ($aPos[0] != 0) ? $aPos[0] - 1 : '';
$ic = ($aPos[1] != 0) ? $aPos[1] - 1 : '';
$icl = ($aPos[2] != 0) ? $aPos[2] - 1 : '';
$is = ($aPos[3] != 0) ? $aPos[3] - 1 : '';
$ip = ($aPos[4] != 0) ? $aPos[4] - 1 : '';
$ie = ($aPos[5] != 0) ? $aPos[5] - 1 : '';
$imth = ($aPos[6] != 0) ? $aPos[6] - 1 : '';
$im = ($aPos[7] != 0) ? $aPos[7] - 1 : '';
$ir = ($aPos[8] != 0) ? $aPos[8] - 1 : '';
$ico = ($aPos[9] != 0) ? $aPos[9] - 1 : '';
$inr = ($aPos[10] != 0) ? $aPos[10] - 1 : '';
$icd = ($aPos[11] != 0) ? $aPos[11] - 1 : '';
switch ($mes) {
case '01':
$cmes = 'january';
break;
case '02':
$cmes = 'february';
break;
case '03':
$cmes = 'march';
break;
case '04':
$cmes = 'april';
break;
case '05':
$cmes = 'may';
break;
case '06':
$cmes = 'june';
break;
case '07':
$cmes = 'july';
break;
case '08':
$cmes = 'august';
break;
case '09':
$cmes = 'september';
break;
case '10':
$cmes = 'october';
break;
case '11':
$cmes = 'november';
break;
case '12':
$cmes = 'dicember';
break;
}
$numLineas = (count(file("storage/" . $files))) / 100;
if (!is_int($numLineas)) {
$numLineas = intval($numLineas) + 1;
}
$Resto = (count(file("storage/" . $files))) % 100;
//Comensamos a procesar el fichero.
$v = 1;
$c = 1;
$cil = 1;
if (($gestor = fopen("storage/" . $files, "r")) !== false) {
while (($datos = fgetcsv($gestor, 1000, ",")) == true) {
if ($c != 1) {
if ($v == 100 and $cil <= $numLineas) {
$campos = "(npn,month,subcriberid,member,fecha,id_incured,effectivedate,procedado,class,com_paym)";
$valores = substr($valores, 0, -1);
$q = $this->db->multi_query("INSERT INTO tabla2" . $campos . " VALUES " . $valores);
if (!$q) {
echo "INSERT INTO tabla2 " . $campos . " VALUES " . $valores . "<br />";
printf("Error en ejecución: %s\n", $this->db->error);
}
$campos1 = "(a_number,c_name,p_state,p_number,e_date,month,pyear,n_member,rate,commission,new_ren,id_insured)";
$valores1 = substr($valores1, 0, -1);
$q1 = $this->db->multi_query("INSERT INTO tabla1" . $campos1 . " VALUES " . $valores1);
if (!$q1) {
echo "INSERT INTO tabla1 " . $campos1 . " VALUES " . $valores1 . "<br />";
printf("Error en ejecución: %s\n", $this->db->error);
}
$valores = '';
$valores1 = '';
$cil++;
$v = 0;
}
//Proceamos el nombre para el caso que venga invertido.
if (strpos($datos[$ic], ',')) {
$aName = explode(",", $datos[$ic]);
$clientName = $aName[1] . " " . $aName[0];
} else {
$apellido = $datos[$icl];
$clientName = $datos[$ic] . " " . $apellido;
}
unset($com);
$pos = strpos($datos[$ip], "-");
if ($idinsured == 1) {
$aSub = explode("-", $datos[$ip]);
$subId = $aSub[1];
} else {
$subId = trim($datos[$ip]);
}
//$subId = str_replace("FL-","",trim($datos[$ip]));
//Definimos el formato de la fecha
$fechaFile = fecha_format(str_replace("/", "-", $datos[$ie]), "m-d-Y");
//Insertamos los gagos para el bob list de amberer.
$comision = str_replace(array("$"), "", $datos[$ico]);
$valores1 .= "(";
$valores1 .= "'" . addslashes($datos[$ia]) . "',";
$valores1 .= "'" . addslashes($clientName) . "',";
$valores1 .= "'" . addslashes($datos[$is]) . "',";
$valores1 .= "'" . addslashes($subId) . "',";
$valores1 .= "'" . addslashes($fechaFile) . "',";
$valores1 .= "'" . $mes . "',";
$valores1 .= "'" . $year . "',";
$valores1 .= "'" . intval($datos[$im]) . "',";
$valores1 .= "'" . addslashes(str_replace(array("$"), "", $datos[$ir])) . "',";
$valores1 .= "'" . floatval($comision) . "',";
$valores1 .= "'" . addslashes($datos[$inr]) . "',";
$valores1 .= "'" . $idinsured . "'";
$valores1 .= "),";
$q = $this->db->query("SELECT id, id_agent FROM `tabla5` WHERE suscriberid = '" . $subId . "' AND id_insured = '" . $idinsured . "' AND SUBSTRING(aplication_date, 1, 4) = '" . $year . "' AND borrado <> 1 AND pending <> 1 ");
//Comprobamos a quien pertenece el pago y la comicion del agente por subcriber o nombre.
if ($q->num_rows == 1) {
$obj = $q->fetch_object();
//Traemos el valor de la comision que se le va pagar por agent.
$qac = $this->db->query("SELECT comm_new, comm_rew FROM tabla4 WHERE id_agent = '" . $obj->id_agent . "' AND id_insured = '" . $idinsured . "' AND yearcom = '" . $year . "' ");
if ($qac->num_rows > 0) {
$obj_cag = $qac->fetch_object();
//Calculamos la comision para insertar el valor en la tabla de pagos.
if ($datos[$inr] == 'OEP') {
$com = $obj_cag->comm_new * intval($datos[$im]);
} else {
$com = $obj_cag->comm_rew * intval($datos[$im]);
}
//Comprovamos si el usuario ya tiene pago
$qc = $this->db->query("SELECT ". $cmes . " FROM tabla3 WHERE id_client = '" . $obj->id . "' AND fecha = '" . $year . "'");
if ($qc->num_rows > 0) {
$obj_cmes = $qc->fetch_object();
$comp = $com + $obj_cmes->$cmes;
//Insertamos el registro procesado en la tabla registro.
$valores .= "(";
$valores .= "'" . addslashes($datos[$ia]) . "',";
$valores .= "'" . addslashes($datos[$imth]) . "',";
$valores .= "'" . $subId . "',";
$valores .= "'" . addslashes($datos[$im]) . "',";
$valores .= "'" . addslashes($fecha) . "',";
$valores .= "'" . $idinsured . "',";
$valores .= "'" . addslashes($fechaFile) . "',";
$valores .= "'1',";
$valores .= "'" . addslashes($datos[$inr]) . "',";
$valores .= "'" . $com . "'";
$valores .= "),";
//Insertamos los datos en la tabla de pagos al mes que coresponde.
classDb::update_db(tabla3, array($cmes => $comp), array('id_agent' => $obj->id_agent, 'id_client' => $obj->id, 'fecha' => $year));
} else {
//Insertamos el registro procesado en la tabla registro.
$valores .= "(";
$valores .= "'" . addslashes($datos[$ia]) . "',";
$valores .= "'" . addslashes($datos[$imth]) . "',";
$valores .= "'" . $subId . "',";
$valores .= "'" . addslashes($datos[$im]) . "',";
$valores .= "'" . addslashes($fecha) . "',";
$valores .= "'" . $idinsured . "',";
$valores .= "'" . addslashes($fechaFile) . "',";
$valores .= "'0',";
$valores .= "'" . addslashes($datos[$inr]) . "',";
$valores .= "'0'";
$valores .= "),";
}
$qc->free();
} else {
//Insertamos el registro procesado en la tabla registro.
$valores .= "(";
$valores .= "'" . addslashes($datos[$ia]) . "',";
$valores .= "'" . addslashes($datos[$imth]) . "',";
$valores .= "'" . $subId . "',";
$valores .= "'" . addslashes($datos[$im]) . "',";
$valores .= "'" . addslashes($fecha) . "',";
$valores .= "'" . $idinsured . "',";
$valores .= "'" . addslashes($fechaFile) . "',";
$valores .= "'0',";
$valores .= "'" . addslashes($datos[$inr]) . "',";
$valores .= "'0'";
$valores .= "),";
}
$qac->free();
} else {
//Insertamos el registro procesado en la tabla registro.
$valores .= "(";
$valores .= "'" . addslashes($datos[$ia]) . "',";
$valores .= "'" . addslashes($datos[$imth]) . "',";
$valores .= "'" . $subId . "',";
$valores .= "'" . addslashes($datos[$im]) . "',";
$valores .= "'" . addslashes($fecha) . "',";
$valores .= "'" . $idinsured . "',";
$valores .= "'" . addslashes($fechaFile) . "',";
$valores .= "'0',";
$valores .= "'" . addslashes($datos[$inr]) . "',";
$valores .= "'0'";
$valores .= "),";
}
$q->free();
if (($v == $Resto) and ($cil == $numLineas) and ($Resto != 0)) {
$campos = "(npn,month,subcriberid,member,fecha,id_incured,effectivedate,procedado,class,com_paym)";
$valores = substr($valores, 0, -1);
$q = $this->db->multi_query("INSERT INTO tabla1 " . $campos . " VALUES " . $valores);
if (!$q) {
echo "INSERT INTO tabla1 " . $campos . " VALUES " . $valores . "<br />";
printf("Error en ejecución: %s\n", $this->db->error);
}
$campos1 = "(a_number,c_name,p_state,p_number,e_date,month,pyear,n_member,rate,commission,new_ren,id_insured)";
$valores1 = substr($valores1, 0, -1);
$q1 = $this->db->multi_query("INSERT INTO tabla2 " . $campos1 . " VALUES " . $valores1);
if (!$q1) {
echo "INSERT INTO tabla2 " . $campos1 . " VALUES " . $valores1 . "<br />";
printf("Error en ejecución: %s\n", $this->db->error);
}
unset($valores);
unset($valores1);
$v = 0;
}
}
$v++;
$c++;
}
}
}