<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

    public function index() {
//        echo'<style>            td{                border: #cccccc 1px solid;                border-right: none;                border-left: none;            }            tr:nth-child(even) {                background-color: #f2f2f2;            }        </style>';
//        set_time_limit(0);
//        $this->load->model("permisionarios_model");
//        $permisionarios = $this->permisionarios_model->get_all(1);
//        $permisionarios_finales = [];
//        $h = 0;
//        foreach ($permisionarios as &$permisionario) {
//            $saldos = $this->permisionarios_model->get_saldos_by_permisionarios_id($permisionario['idPermisionario']);
//            if ($saldos !== NULL) {
//                $permisionarios_finales[$h] = $permisionario;
//                $permisionarios_finales[$h]['idPermisionarioSaldoInicial'] = $saldos['idPermisionarioSaldoInicial'];
//                $permisionarios_finales[$h]['importe'] = $saldos['importe'];
//                $permisionarios_finales[$h]['tipo'] = $saldos['tipo'];
//                $permisionarios_finales[$h]['fecha_alta'] = $saldos['fecha_alta'];
//                $permisionarios_finales[$h]['movimiento'] = $saldos['movimiento'];
//                $h++;
//            } 
//        }
//        $meses = $this->_calcular_fechas("2019-01-01", "2022-02-28");
//        $count_mes = count($meses);
//        for ($i = 0; $i < $count_mes; $i++) {
//            $meses[$i]["dias"] = $this->_calcular_dias($meses[$i]);
//        }
//        foreach ($permisionarios_finales as &$permisionario) {
//            for ($i = 0; $i < count($meses); $i++) {//aqui para recorrer los meses inicia enero 2019 recorrido sera por mes inicia en el 0
//                for ($j = 0; $j < count($meses[$i]["dias"]); $j++) {
//                    $siniestros = $this->permisionarios_model->get_siniestro_by_fecha_and_permisionario_id($meses[$i]["dias"][$j]["fecha"], $permisionario['idPermisionario']);
//                    if (count($siniestros) > 0) {
//                        $permisionario["fechas"][$meses[$i]["dias"][$j]["fecha"]]["siniestros"][] = $siniestros;
//                    }
//                    $polizas_detalle = $this->permisionarios_model->get_poliza_by_fecha_and_permisionario_id($meses[$i]["dias"][$j]["fecha"], $permisionario['idPermisionario']);
//                    if (count($polizas_detalle) > 0) {
//                        $permisionario["fechas"][$meses[$i]["dias"][$j]["fecha"]]["polizas_detalle"][] = $polizas_detalle;
//                    }
//                    if ($meses[$i]["dias"][$j]['primer_dia']) {
//                        $permisionario["fechas"][$meses[$i]["dias"][$j]["fecha"]]['primer_dia'] = $meses[$i]["dias"][$j]['primer_dia'];
//                    }
//                }
////                break;
//            }
//            unset($permisionario);
//        }
//        $this->_calcular_saldos_permisionarios($permisionarios_finales);
//        $this->_imprimir_datos($permisionarios);
    }

//    private function _calcular_saldos_permisionarios($permisionarios) {
//        $this->db->trans_start();
//        foreach ($permisionarios as $permisionario) {
//            $saldo_permisionario_actual = ($permisionario['movimiento'] === "C") ? $permisionario['importe'] : ($permisionario['importe'] * -1);
//            if (isset($permisionario['fechas'])) {
//                foreach ($permisionario['fechas'] as $index => $value) {
//                    if (isset($value['polizas_detalle'])) {
//                        for ($i = 0; $i < count($value['polizas_detalle']); $i++) {
//                            for ($j = 0; $j < count($value['polizas_detalle'][$i]); $j++) {
//                                if ($value['polizas_detalle'][$i][$j]['movimiento'] === "A") {
//                                    $value['polizas_detalle'][$i][$j]['importe'] = ($value['polizas_detalle'][$i][$j]['importe'] * -1);
//                                    $saldo_permisionario_actual += $value['polizas_detalle'][$i][$j]['importe'];
//                                }
//                                if ($value['polizas_detalle'][$i][$j]['movimiento'] === "C") {
//                                    $saldo_permisionario_actual += $value['polizas_detalle'][$i][$j]['importe'];
//                                }
//                            }
//                        }
//                    }
//                    if (isset($value['primer_dia'])) {
//                        $this->_insert_saldos_permisionarios($permisionario['idPermisionario'], $saldo_permisionario_actual, $index);
//                    }
//                }
//            }
//        }
//        $this->db->trans_complete();
//    }

//    private function _insert_saldos_permisionarios($idPermisionario, $saldo_permisionario, $fecha) {
//        $data['idPermisionario'] = $idPermisionario;
//        $data['importe'] = $saldo_permisionario;
//        $data['fecha_alta'] = $fecha;
//        $data['tipo'] = "S";
//        if ($saldo_permisionario <= 0) {
//            $data['importe'] = ($data['importe'] * -1);
//            $data['movimiento'] = "A";
//        } else {
//            $data['movimiento'] = "C";
//        }
//        $saldo_permisionario_inicial_guardado = $this->permisionarios_model->get_saldo_by_fecha_and_permisionario_id($idPermisionario, $fecha);
//        if ($saldo_permisionario_inicial_guardado === NULL) {
//            if (!$this->permisionarios_model->insert_saldos_iniciales($data)) {
//                echo "error al insertar los saldos del permisionario";
//                echo "<pre>";
//                print_r($data);
//                echo "</pre>";
//                exit();
//            }
//        } else {
//            echo "primer elemento de saldos no se guarda";
//        }
//        echo "guardado saldo del permisioanrio " . $data['idPermisionario'] . "<br/>";
//    }

//    private function _imprimir_datos($permisionarios) {
//        foreach ($permisionarios as $permisionario) {
//            $saldo_permisionario_actual = $permisionario['importe'];
//            echo $permisionario['permisionario_nombre'] . " " . $permisionario['apellido_paterno'] . " " . $permisionario['apellido_materno'] . " <strong style='margin-left:40px;'>Saldo inicial:" . $permisionario['importe'] . "</strong><br>";
//            if (isset($permisionario['fechas'])) {
//                echo "<table style='text-align:center;'>";
//                echo "<tr><th>Tipo</th><th>Fecha</th><th>Importe Siniestro</th><th>Importe Poliza Tipo C</th><th>Importe Poliza Tipo A</th><th>Saldo Permisionario</th><th>ID SINIESTRO</th></tr>";
//                foreach ($permisionario['fechas'] as $index => $value) {
//                    if (isset($value['siniestros'])) {
//                        for ($i = 0; $i < count($value['siniestros']); $i++) {
//                            for ($j = 0; $j < count($value['siniestros'][$i]); $j++) {
////                                $saldo_permisionario_actual -= $value['siniestros'][$i][$j]['importe'];
//                                echo "<tr><td>Siniestro:</td><td>" . $index . "</td>"
////                                        . "<td style='text-align: rigth;'>" . $value['siniestros'][$i][$j]['importe'] . "</td><td></td><td></td><td>" . $saldo_permisionario_actual . "</td></tr>";
//                                . "<td style='text-align: rigth;'>" . $value['siniestros'][$i][$j]['importe'] . "</td><td></td><td></td><td></td><td>" . $value['siniestros'][$i][$j]['idSiniestro'] . "</td></tr>";
//                            }
//                        }
//                    }
//                    if (isset($value['polizas_detalle'])) {
//                        for ($i = 0; $i < count($value['polizas_detalle']); $i++) {
//                            for ($j = 0; $j < count($value['polizas_detalle'][$i]); $j++) {
//                                if ($value['polizas_detalle'][$i][$j]['movimiento'] === "A") {
//                                    $saldo_permisionario_actual -= $value['polizas_detalle'][$i][$j]['importe'];
//                                }
//                                if ($value['polizas_detalle'][$i][$j]['movimiento'] === "C") {
//                                    $saldo_permisionario_actual += $value['polizas_detalle'][$i][$j]['importe'];
//                                }
//                                if ($value['polizas_detalle'][$i][$j]['movimiento'] !== "A" && $value['polizas_detalle'][$i][$j]['movimiento'] !== "C") {
//                                    echo "<tr><td style='background-color:red;'> ERROR NO SE SABE QUE SE INGRESO</td></tr>";
//                                }
//                                echo"<tr><td>Poliza:</td><td>" . $index . "</td><td></td>";
//                                if ($value['polizas_detalle'][$i][$j]['movimiento'] === "A") {
//                                    echo "<td></td><td style='text-align: rigth;'>" . $value['polizas_detalle'][$i][$j]['importe'] . "</td>";
//                                }
//                                if ($value['polizas_detalle'][$i][$j]['movimiento'] === "C") {
//                                    echo "<td style='text-align: rigth;'>" . $value['polizas_detalle'][$i][$j]['importe'] . "</td><td></td>";
//                                }
//                                echo "<td style='text-align: rigth;'>" . $saldo_permisionario_actual . "</td><td>" . $value['polizas_detalle'][$i][$j]['idSiniestro'] . "</td></tr>";
//                            }
//                        }
//                    }
//                }
//                echo "</table><br/><br/><br/>";
//            }
//        }
//    }

//    private function _calcular_dias($mes) {
//        $dias = [];
//        $fecha_inicio = explode("-", $mes['fecha_inicio']);
//        $fecha_termino = explode("-", $mes['fecha_termino']);
//        for ($i = (int) $fecha_inicio[2]; $i <= $fecha_termino[2]; $i++) {
//            $dia = ($i < 10) ? "0" . $i : $i;
//            $dias[] = array("fecha" => $fecha_inicio[0] . "-" . $fecha_inicio[1] . "-" . $dia, "primer_dia" => FALSE);
//        }
//        $dias[0]['primer_dia'] = TRUE;
//        return $dias;
//    }

//    private function _calcular_fechas($fecha_inicio, $fecha_final) {
//        $anio_inicio = explode("-", $fecha_inicio);
//        $fechas = [];
//        $mes_inicio = $fecha_inicio;
//        while ($anio_inicio[0] <= $fecha_final) {
//            for ($i = 1; $i <= 12; $i++) {
//                $ultimo_dia_mes = new DateTime($mes_inicio);
//                $fechas[] = array("fecha_inicio" => $mes_inicio, "fecha_termino" => $ultimo_dia_mes->format('Y-m-t'));
//                $fecha = date_create($ultimo_dia_mes->format('Y-m-t'));
//                date_add($fecha, date_interval_create_from_date_string("1 day"));
//                $mes_inicio = date_format($fecha, "Y-m-d");
//            }
//            $anio_inicio[0] += 1;
//        }
//        $count = count($fechas);
//        for ($i = 39; $i < $count; $i++) {
//            unset($fechas[$i]);
//        }
//        return $fechas;
//    }

}
