function armarArrayJS($array, $mili = FALSE) { $arrayJS = "["; $primero = TRUE; foreach ($array as $key => $value) { if ($primero) { $arrayJS .= "["; $primero = FALSE; } else { $arrayJS .= ", ["; } $arrayJS .= fechaAMilisegundo($key) . ", " . ($mili ? $value : horaAMilisegundo($value)); $arrayJS .= "]"; } $arrayJS .= "]"; return $arrayJS; }
function generar() { //Valido datos del post. $this->form_validation->set_rules('persona', 'Personal', 'required'); $this->form_validation->set_rules('fechaDesde', 'Fecha Desde', 'required|callback__chequear_fecha'); $this->form_validation->set_rules('fechaHasta', 'Fecha Hasta', 'required|callback__chequear_fecha'); $this->form_validation->set_rules('lineas', 'Lineas a Mostrar ', 'required'); if ($this->form_validation->run()) { //Recupero datos de post. $idPersonal = $this->input->post('persona'); $fechaDesde = $this->input->post('fechaDesde'); $fechaHasta = $this->input->post('fechaHasta'); $lineas = $this->input->post('lineas'); //Busco en la BBDD las marcas para esas fechas. $marcas = $this->Marcas_Model->obtener($idPersonal, $fechaDesde, $fechaHasta); //Busco última fecha cargada. $data['ultimaActualizacion'] = $this->Marcas_Model->get_ultima_actualizacion(); $minMax = array(); foreach ($marcas as $marca) { $minMax[$marca['fecha']][] = $marca['hora']; } $min = array(); $max = array(); foreach ($minMax as $fecha => $horas) { $min[$fecha] = min($horas); $max[$fecha] = max($horas); } $data['objetosSerie'] = array(); $horarios = array(); switch ($lineas) { case "entrada": $marcas = $min; $horarios = $this->Horarios_Personal_Model->get_horarios_entrada($idPersonal); break; case "salida": $marcas = $max; $horarios = $this->Horarios_Personal_Model->get_horarios_salida($idPersonal); break; } $json = array(); foreach ($marcas as $fecha => $hora) { $json[$fecha] = horaAMilisegundo($hora) - horaAMilisegundo($horarios[date('w', strtotime($fecha))]); } $array = array($fechaDesde => "00:00", $fechaHasta => "00:00"); $data['objetosSerie'][] = armarObjetoSerie(ucfirst($lineas), $json, TRUE); $data['objetosSerie'][] = armarObjetoSerie("Referencia", $array); $data['nombre'] = $this->Personal_Model->obtener($idPersonal); $data['nombre'] = $data['nombre']['nombreApellido']; $data['idPersonal'] = $idPersonal; $data['fechaDesde'] = $fechaDesde; $data['fechaHasta'] = $fechaHasta; //Cargo las vistas. $this->load->view('template/head'); $this->load->view('template/menu', $this->menu); $this->load->view('reportes-entrada-salida/reportes_puntualidad/reporte_view', $data); $this->load->view('template/footer'); } else { $this->seleccion(); } }