Exemplo n.º 1
0
 public static function getDeudaMeses($fechaInicio, $fechaFin, $tipo)
 {
     // 1.- Hacer los intérvalos de fecha en forma de array
     // 2.- Hacer búsquedas de las personas que pagaron un determinado mes
     // 3.- Añadir listado de conductores con numeros de control y anexarlo en los intérvalos
     // 4.- Realizar comparación y determinar quienes no pagaron en cada mes. Añadir los meses y años
     // 5.- Extraer esos listados y concatenarlos.
     $conjuntoFechas = self::getListaMeses($fechaInicio, $fechaFin);
     $fechaInicio = date('Y-m', strtotime($fechaInicio));
     $fechaFin = date('Y-m', strtotime($fechaFin));
     $listadoVehiculos = array();
     $deudores = array();
     foreach ($conjuntoFechas as $key => $value) {
         $model = Yii::app()->db->createCommand()->select(array('men_pag_mes_can', 'veh_num_con', 'per_nom', 'per_ape'))->from(array('actr_pagos', 'actr_mensualidad_pagos', 'actr_conductores', 'actr_vehiculos', 'actr_personas'))->where("actr_pagos.id = actr_mensualidad_pagos.id_pago \n                        AND actr_personas.id = actr_conductores.id_persona \n                        AND actr_vehiculos.id = actr_conductores.id_vehiculo \n                        AND actr_conductores.id = actr_pagos.id_conductor \n                        AND actr_pagos.pag_anu = '0' \n                        AND actr_conductores.con_tip_con =:tipo \n                        AND DATE_FORMAT(men_pag_mes_can, '%Y-%m') =:fecha", array(':fecha' => $value['anio'] . "-" . $value['mes'], ':tipo' => $tipo))->order('men_pag_mes_can ASC, veh_num_con ASC')->queryAll();
         // Añadimos en $conjuntoFechas un array con los conductores que cancelaron
         array_push($conjuntoFechas[$key], $model);
         // Matriz con los conductores
         $listadoVehiculos[$key] = Conductor::getConductoresConVehiculo($tipo, "{$value['anio']}-{$value['mes']}");
         foreach ($listadoVehiculos[$key] as $key1 => $value1) {
             if (empty($conjuntoFechas[$key][0]) == false) {
                 foreach ($conjuntoFechas[$key][0] as $key2 => $value2) {
                     if ($value1['veh_num_con'] == $value2['veh_num_con'] && $value1['per_nom'] == $value2['per_nom'] && $value1['per_ape'] == $value2['per_ape']) {
                         $aux = array();
                         break;
                     }
                     // Te acordarás que lloraste sangre aqui por TU CULPA jajajajaja
                     $aux = $value1;
                 }
                 if (!empty($aux)) {
                     $mesEnLetra = Yii::app()->FuncionesImportantes->getMesNumeroALetra($conjuntoFechas[$key]['mes']);
                     $aux["men_pag_mes_can"] = "{$mesEnLetra} de {$conjuntoFechas[$key]['anio']}";
                     array_push($deudores, $aux);
                 }
             } else {
                 $mesEnLetra = Yii::app()->FuncionesImportantes->getMesNumeroALetra($conjuntoFechas[$key]['mes']);
                 array_push($value1, "{$mesEnLetra} de {$conjuntoFechas[$key]['anio']}");
                 array_push($deudores, $value1);
             }
         }
     }
     return $deudores;
 }