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; }