コード例 #1
0
 function getCountsUnits($id_empresa = null, $id_area = null, $id_flota = null, $dateMonth = null, $view = null)
 {
     /** NOTE @Config-Section */
     $debug = false;
     // 		if status is set then only get the given status
     /** NOTE @Config-Section */
     /** DEFINE the status */
     if (empty($id_empresa)) {
         $id_empresa = $_SESSION['Auth']['User']['id_empresa'];
     }
     /** ALERT work form hir */
     if (!empty($dateMonth) and $dateMonth < (string) date('Y-m')) {
         /* NOTE add or diferent of today or maybe $dateMonth < date('m')*/
         pr('Go with the history');
         $getDate = explode('-', $dateMonth);
         $disponibilidad = $this->getDisponibilidadHistory($id_empresa, $id_area, $getDate['0'], $getDate['1'], $return = null);
         // 		  exit();
     } elseif (empty($dateMonth) or !empty($dateMonth) and $dateMonth === (string) date('Y-m')) {
         /*NOTE or $dateMonth == date('m') */
         pr('Go Un-Real Time');
         $_append = $this->whereEmpresa();
         $modelStatus = 'MssqlDespStatus' . $_append;
         $modelFlotas = 'MssqlFlotas' . $_append;
         $modelUnidades = 'MssqlUnidadesAsignadas' . $_append;
         $modelViajesRt = 'MssqlViajesRt' . $_append;
         $getFlotasArray = $this->arrayFlotas();
         // 		$fechaViajes = implode('-',explode('-',date_format(date_sub(date_create(date('Y-m-d')), date_interval_create_from_date_string('1 day')),  'Y-m-d')));
         // 	  pr($fechaViajes);
         $fechaViajes = date('Y-m-d');
         // 	  exit();
         $getTraficoViaje = $this->{$modelViajesRt}->getMssqlTraficoViaje($id_area, $no_viaje = null, $fechaViajes, $id_empresa);
         if (isset($getTraficoViaje['viajes_count'])) {
             $viajesDespachados[$id_empresa] = $getTraficoViaje['viajes_count'];
         } else {
             $viajesDespachados[$id_empresa] = null;
         }
         if (isset($getTraficoViaje['toneladas'])) {
             $toneladasDespachados[$id_empresa] = $getTraficoViaje['toneladas'];
         } else {
             $toneladasDespachados[$id_empresa] = null;
         }
         // 		  pr($viajesDespachados);
         // 		pr($toneladasDespachados);
         // 		  exit();
         if (empty($view)) {
             $status = $this->{$modelStatus}->getStatus();
             // 		  $flotas = $this->$modelFlotas->getFlotas();
             foreach (fleetsConfig() as $ind => $fleetConfig) {
                 /** NOTE */
                 // 			if(isset($getFlotasArray[$id_area][$fleetConfig])){
                 if (isset($getFlotasArray[$id_area][$fleetConfig])) {
                     $id_flota = $getFlotasArray[$id_area][$fleetConfig];
                     if (isset($id_flota) and !empty($id_flota)) {
                         foreach ($id_flota as $idFleet => $indexFleet) {
                             if (isset($viajesDespachados[$id_empresa][$indexFleet])) {
                                 if (!isset($countIdFlota[$fleetConfig])) {
                                     $countIdFlota[$fleetConfig] = null;
                                     $countTonsFlota[$fleetConfig] = null;
                                 }
                                 $countIdFlota[$fleetConfig] += count($viajesDespachados[$id_empresa][$indexFleet]);
                                 $countTonsFlota[$fleetConfig] += array_sum($toneladasDespachados[$id_empresa][$indexFleet]);
                             }
                         }
                     }
                     $getUnidadesTotales = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, null, $id_empresa);
                     $getUnidadesDisponibles = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '1', $id_empresa);
                     $getUnidadesTransito = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '2', $id_empresa);
                     $getUnidadesMantenimiento = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '3', $id_empresa);
                     $getUnidadesAccidentados = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '4', $id_empresa);
                     $getUnidadesCargado = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '5', $id_empresa);
                     $getUnidadesDescargado = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '6', $id_empresa);
                     $getUnidadesFueraDeServicio = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '7', $id_empresa);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['totalDetail'] = $getUnidadesTotales;
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['totales'] = $getUnidadesTotales['allUnits'];
                     $disponibilidad['disponibilidad'][$fleetConfig]['personal']['asignado'] = $getUnidadesTotales['personalCount'];
                     // 			  pr($getUnidadesTotales);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['detalle'] = $getUnidadesTotales['unidades'];
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['disponibles'] = count($getUnidadesDisponibles['unidades']);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['transito'] = count($getUnidadesTransito['unidades']);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['mantenimiento'] = count($getUnidadesMantenimiento['unidades']);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['accidentados'] = count($getUnidadesAccidentados['unidades']);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['cargado'] = count($getUnidadesCargado['unidades']);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['descargado'] = count($getUnidadesDescargado['unidades']);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['fuera_de_servicio'] = count($getUnidadesFueraDeServicio['unidades']);
                     if (isset($countIdFlota[$fleetConfig])) {
                         $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['viajes_despachados'] = $countIdFlota[$fleetConfig];
                         $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['toneladas'] = $countTonsFlota[$fleetConfig];
                         /** TODO NOTE add logic for insert new data */
                         $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['productividad'] = $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['viajes_despachados'] / $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['disponibles'] * 100;
                     } else {
                         $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['viajes_despachados'] = '0';
                         $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['productividad'] = '0';
                         $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['toneladas'] = '0';
                     }
                     // 			  $countIdFlota = null;//reset countIdFlota
                     /** NOTE */
                 }
             }
             // 		  pr($disponibilidad);
         } elseif (!empty($view)) {
             //NOTE get fleets of all id_empresa
             $disponibilidad = null;
             $id_area = null;
             $id_flota = null;
             $status = $this->{$modelStatus}->getStatus();
             foreach ($getFlotasArray as $idn_area => $flotasConfig) {
                 $id_area[] = $idn_area;
                 foreach ($flotasConfig as $clasification => $fleetArrays) {
                     foreach ($fleetArrays as $idx_fleet => $fleetName) {
                         $id_fleet[$clasification][] = $fleetName;
                     }
                 }
             }
             // 		  pr($id_fleet);
             // 		  pr($id_area);
             foreach (fleetsConfig() as $ind => $fleetConfig) {
                 if (isset($id_fleet[$fleetConfig])) {
                     $id_flota = $id_fleet[$fleetConfig];
                     if (isset($id_flota) and !empty($id_flota)) {
                         foreach ($id_flota as $idFleet => $indexFleet) {
                             if (isset($viajesDespachados[$id_empresa][$indexFleet])) {
                                 if (!isset($countIdFlota[$fleetConfig])) {
                                     $countIdFlota[$fleetConfig] = null;
                                     $countTonsFlota[$fleetConfig] = null;
                                 }
                                 $countIdFlota[$fleetConfig] += count($viajesDespachados[$id_empresa][$indexFleet]);
                                 $countTonsFlota[$fleetConfig] += array_sum($toneladasDespachados[$id_empresa][$indexFleet]);
                             }
                         }
                     }
                     $getUnidadesTotales = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, null, $id_empresa);
                     // 		  $disponibilidad['disponibilidad']['view']['flotas'] = disponibleFlotasConfig($flotas,$id_empresa,false);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['totales'] = $getUnidadesTotales['allUnits'];
                     $disponibilidad['disponibilidad'][$fleetConfig]['personal']['asignado'] = $getUnidadesTotales['personalCount'];
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['detalle'] = $getUnidadesTotales['unidades'];
                     $getUnidadesDisponibles = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '1', $id_empresa);
                     $getUnidadesTransito = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '2', $id_empresa);
                     $getUnidadesMantenimiento = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '3', $id_empresa);
                     $getUnidadesAccidentados = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '4', $id_empresa);
                     $getUnidadesCargado = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '5', $id_empresa);
                     $getUnidadesDescargado = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '6', $id_empresa);
                     $getUnidadesFueraDeServicio = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '7', $id_empresa);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['disponibles'] = count($getUnidadesDisponibles['unidades']);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['transito'] = count($getUnidadesTransito['unidades']);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['mantenimiento'] = count($getUnidadesMantenimiento['unidades']);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['accidentados'] = count($getUnidadesAccidentados['unidades']);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['cargado'] = count($getUnidadesCargado['unidades']);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['descargado'] = count($getUnidadesDescargado['unidades']);
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['fuera_de_servicio'] = count($getUnidadesFueraDeServicio['unidades']);
                     if (isset($countIdFlota[$fleetConfig])) {
                         $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['viajes_despachados'] = $countIdFlota[$fleetConfig];
                         $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['toneladas'] = $countTonsFlota[$fleetConfig];
                         $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['productividad'] = $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['viajes_despachados'] / $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['disponibles'] * 100;
                     } else {
                         $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['viajes_despachados'] = '0';
                         $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['productividad'] = '0';
                         $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['toneladas'] = '0';
                     }
                     // 			$countIdFlota = null;//reset countIdFlota
                 }
                 //end if isset
             }
             /*end fleetConfig*/
         }
         //end empty view
     }
     //end else if empty $dateMonth
     // 		pr($disponibilidad);
     return $disponibilidad;
 }
コード例 #2
0
 function getCountsUnits($id_empresa = null, $id_area = null, $id_flota = null, $status = null, $view = null, $fecha = null)
 {
     /** NOTE @Config-Section */
     $debug = false;
     // 		$id_empresa = $_SESSION['Auth']['User']['id_empresa'];
     // 		$id_area = '1'; //for Orizaba
     // 		$id_flota = '1'; //for Holcim
     // 		$id_flota = '16'; //for terceros
     // 		$status = null;
     // 		if status is set then only get the given status
     /** NOTE @Config-Section */
     /** DEFINE the status */
     // 		if(empty($id_empresa)){
     // 		  $id_empresa = $_SESSION['Auth']['User']['id_empresa'];
     // 		}
     $_append = $this->whereEmpresa($id_empresa);
     $modelStatus = 'MssqlDespStatus' . $_append;
     $modelFlotas = 'MssqlFlotas' . $_append;
     $modelUnidades = 'MssqlUnidadesAsignadas' . $_append;
     $modelViajesRt = 'MssqlViajesRt' . $_append;
     $getFlotasArray = $this->arrayFlotas($id_empresa);
     // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // //
     // las labour day
     // firstlabour day
     //NOTE work form hir
     $this->hr();
     pr($id_area);
     $this->hr();
     pr($id_empresa);
     $this->hr();
     // 	  exit();
     $fechaViajes = implode('-', explode('-', date_format(date_sub(date_create(date('Y-m-d')), date_interval_create_from_date_string('1 day')), 'Y-m-d')));
     // 	  pr($fechaViajes);
     // 	  exit();
     $getTraficoViaje = $this->{$modelViajesRt}->getMssqlTraficoViaje($id_area, $no_viaje = null, $fechaViajes, $id_empresa);
     $viajesDespachados[$id_empresa] = $getTraficoViaje['viajes_count'];
     $toneladasDespachados[$id_empresa] = $getTraficoViaje['toneladas'];
     $this->hr();
     // 	  pr($viajesDespachados);
     // 	  if($id_empresa == '2'){
     // 		exit();
     // 	  }
     // 	  $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['viajes_despachados'] = $viajesDespachados;
     // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // //
     if (empty($view)) {
         $status = $this->{$modelStatus}->getStatus();
         // 		  $flotas = $this->$modelFlotas->getFlotas();
         foreach (fleetsConfig() as $ind => $fleetConfig) {
             if (isset($getFlotasArray[$id_area][$fleetConfig])) {
                 $id_flota = $getFlotasArray[$id_area][$fleetConfig];
                 // 			  pr($id_flota);
                 if (isset($id_flota) and !empty($id_flota)) {
                     foreach ($id_flota as $idFleet => $indexFleet) {
                         if (isset($viajesDespachados[$id_empresa][$indexFleet])) {
                             if (!isset($countIdFlota)) {
                                 $countIdFlota = null;
                                 $countTonsFlota = null;
                             }
                             $countIdFlota += count($viajesDespachados[$id_empresa][$indexFleet]);
                             $countTonsFlota += array_sum($toneladasDespachados[$id_empresa][$indexFleet]);
                         }
                     }
                 }
                 // 			  pr($countIdFlota);
                 // 			  exit();
                 $getUnidadesTotales = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, null, $id_empresa);
                 $getUnidadesDisponibles = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '1', $id_empresa);
                 $getUnidadesTransito = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '2', $id_empresa);
                 $getUnidadesMantenimiento = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '3', $id_empresa);
                 $getUnidadesAccidentados = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '4', $id_empresa);
                 $getUnidadesCargado = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '5', $id_empresa);
                 $getUnidadesDescargado = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '6', $id_empresa);
                 $getUnidadesFueraDeServicio = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '7', $id_empresa);
                 // 			  if(isset($viajesDespachados[$id_empresa][$id_flota])){
                 // 				$getViajesDespachados = $countIdFlota;
                 // 			  }
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['totalDetail'] = $getUnidadesTotales;
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['totales'] = $getUnidadesTotales['allUnits'];
                 $disponibilidad['disponibilidad'][$fleetConfig]['personal']['asignado'] = $getUnidadesTotales['personalCount'];
                 // 			  pr($getUnidadesTotales);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['detalle'] = $getUnidadesTotales['unidades'];
                 // 			  $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['viajes_ha'] =
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['disponibles'] = count($getUnidadesDisponibles['unidades']);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['transito'] = count($getUnidadesTransito['unidades']);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['mantenimiento'] = count($getUnidadesMantenimiento['unidades']);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['accidentados'] = count($getUnidadesAccidentados['unidades']);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['cargado'] = count($getUnidadesCargado['unidades']);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['descargado'] = count($getUnidadesDescargado['unidades']);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['fuera_de_servicio'] = count($getUnidadesFueraDeServicio['unidades']);
                 if (isset($countIdFlota)) {
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['viajes_despachados'] = $countIdFlota;
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['toneladas'] = $countTonsFlota;
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['productividad'] = $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['viajes_despachados'] / $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['disponibles'];
                 } else {
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['viajes_despachados'] = '0';
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['productividad'] = '0';
                     $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['toneladas'] = '0';
                 }
                 $countIdFlota = null;
                 //reset countIdFlota
             }
         }
         // 		  pr($disponibilidad);
     } elseif (!empty($view)) {
         //NOTE get fleets of all id_empresa
         $disponibilidad = null;
         $id_area = null;
         $id_flota = null;
         $status = $this->{$modelStatus}->getStatus();
         foreach ($getFlotasArray as $idn_area => $flotasConfig) {
             $id_area[] = $idn_area;
             foreach ($flotasConfig as $clasification => $fleetArrays) {
                 foreach ($fleetArrays as $idx_fleet => $fleetName) {
                     $id_fleet[$clasification][] = $fleetName;
                 }
             }
         }
         // 		  pr($id_fleet);
         // 		  pr($id_area);
         foreach (fleetsConfig() as $ind => $fleetConfig) {
             $id_flota = $id_fleet[$fleetConfig];
             if (isset($id_flota) and !empty($id_flota)) {
                 foreach ($id_flota as $idFleet => $indexFleet) {
                     if (isset($viajesDespachados[$id_empresa][$indexFleet])) {
                         if (!isset($countIdFlota)) {
                             $countIdFlota = null;
                             $countTonsFlota = null;
                         }
                         $countIdFlota += count($viajesDespachados[$id_empresa][$indexFleet]);
                         $countTonsFlota += array_sum($toneladasDespachados[$id_empresa][$indexFleet]);
                     }
                 }
             }
             // 			$this->hr('test');
             // 			pr($countIdFlota);
             // 			$this->hr('test');
             $getUnidadesTotales = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, null, $id_empresa);
             // 		  $disponibilidad['disponibilidad']['view']['flotas'] = disponibleFlotasConfig($flotas,$id_empresa,false);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['totales'] = $getUnidadesTotales['allUnits'];
             $disponibilidad['disponibilidad'][$fleetConfig]['personal']['asignado'] = $getUnidadesTotales['personalCount'];
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['detalle'] = $getUnidadesTotales['unidades'];
             $getUnidadesDisponibles = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '1', $id_empresa);
             $getUnidadesTransito = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '2', $id_empresa);
             $getUnidadesMantenimiento = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '3', $id_empresa);
             $getUnidadesAccidentados = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '4', $id_empresa);
             $getUnidadesCargado = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '5', $id_empresa);
             $getUnidadesDescargado = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '6', $id_empresa);
             $getUnidadesFueraDeServicio = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '7', $id_empresa);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['disponibles'] = count($getUnidadesDisponibles['unidades']);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['transito'] = count($getUnidadesTransito['unidades']);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['mantenimiento'] = count($getUnidadesMantenimiento['unidades']);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['accidentados'] = count($getUnidadesAccidentados['unidades']);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['cargado'] = count($getUnidadesCargado['unidades']);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['descargado'] = count($getUnidadesDescargado['unidades']);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['fuera_de_servicio'] = count($getUnidadesFueraDeServicio['unidades']);
             if (isset($countIdFlota)) {
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['viajes_despachados'] = $countIdFlota;
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['toneladas'] = $countTonsFlota;
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['productividad'] = $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['viajes_despachados'] / $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['disponibles'];
             } else {
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['viajes_despachados'] = '0';
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['productividad'] = '0';
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['toneladas'] = '0';
             }
         }
     }
     // 		pr($viajesDespachados);
     return $disponibilidad;
 }
コード例 #3
0
 function getCountsUnits($id_empresa = null, $id_area = null, $id_flota = null, $status = null, $view = null, $fecha = null)
 {
     /** NOTE @Config-Section */
     $debug = false;
     // 		$id_empresa = $_SESSION['Auth']['User']['id_empresa'];
     // 		$id_area = '1'; //for Orizaba
     // 		$id_flota = '1'; //for Holcim
     // 		$id_flota = '16'; //for terceros
     // 		$status = null;
     // 		if status is set then only get the given status
     /** NOTE @Config-Section */
     /** DEFINE the status */
     if (empty($id_empresa)) {
         $id_empresa = $_SESSION['Auth']['User']['id_empresa'];
     }
     $_append = $this->whereEmpresa();
     $modelStatus = 'MssqlDespStatus' . $_append;
     $modelFlotas = 'MssqlFlotas' . $_append;
     $modelUnidades = 'MssqlUnidadesAsignadas' . $_append;
     $getFlotasArray = $this->arrayFlotas();
     if (empty($view)) {
         $status = $this->{$modelStatus}->getStatus();
         // 		  $flotas = $this->$modelFlotas->getFlotas();
         foreach (fleetsConfig() as $ind => $fleetConfig) {
             if (isset($getFlotasArray[$id_area][$fleetConfig])) {
                 $id_flota = $getFlotasArray[$id_area][$fleetConfig];
                 $getUnidadesTotales = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, null, $id_empresa);
                 $getUnidadesDisponibles = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '1', $id_empresa);
                 $getUnidadesTransito = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '2', $id_empresa);
                 $getUnidadesMantenimiento = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '3', $id_empresa);
                 $getUnidadesAccidentados = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '4', $id_empresa);
                 $getUnidadesCargado = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '5', $id_empresa);
                 $getUnidadesDescargado = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '6', $id_empresa);
                 $getUnidadesFueraDeServicio = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '7', $id_empresa);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['totalDetail'] = $getUnidadesTotales;
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['totales'] = $getUnidadesTotales['allUnits'];
                 $disponibilidad['disponibilidad'][$fleetConfig]['personal']['asignado'] = $getUnidadesTotales['personalCount'];
                 // 			  pr($getUnidadesTotales);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['detalle'] = $getUnidadesTotales['unidades'];
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['disponibles'] = count($getUnidadesDisponibles['unidades']);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['transito'] = count($getUnidadesTransito['unidades']);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['mantenimiento'] = count($getUnidadesMantenimiento['unidades']);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['accidentados'] = count($getUnidadesAccidentados['unidades']);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['cargado'] = count($getUnidadesCargado['unidades']);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['descargado'] = count($getUnidadesDescargado['unidades']);
                 $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['fuera_de_servicio'] = count($getUnidadesFueraDeServicio['unidades']);
             }
         }
         // 		  pr($disponibilidad);
     } elseif (!empty($view)) {
         //NOTE get fleets of all id_empresa
         $disponibilidad = null;
         $id_area = null;
         $id_flota = null;
         $status = $this->{$modelStatus}->getStatus();
         foreach ($getFlotasArray as $idn_area => $flotasConfig) {
             $id_area[] = $idn_area;
             foreach ($flotasConfig as $clasification => $fleetArrays) {
                 foreach ($fleetArrays as $idx_fleet => $fleetName) {
                     $id_fleet[$clasification][] = $fleetName;
                 }
             }
         }
         // 		  pr($id_fleet);
         // 		  pr($id_area);
         foreach (fleetsConfig() as $ind => $fleetConfig) {
             $id_flota = $id_fleet[$fleetConfig];
             $getUnidadesTotales = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, null, $id_empresa);
             // 		  $disponibilidad['disponibilidad']['view']['flotas'] = disponibleFlotasConfig($flotas,$id_empresa,false);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['totales'] = $getUnidadesTotales['allUnits'];
             $disponibilidad['disponibilidad'][$fleetConfig]['personal']['asignado'] = $getUnidadesTotales['personalCount'];
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['detalle'] = $getUnidadesTotales['unidades'];
             $getUnidadesDisponibles = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '1', $id_empresa);
             $getUnidadesTransito = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '2', $id_empresa);
             $getUnidadesMantenimiento = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '3', $id_empresa);
             $getUnidadesAccidentados = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '4', $id_empresa);
             $getUnidadesCargado = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '5', $id_empresa);
             $getUnidadesDescargado = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '6', $id_empresa);
             $getUnidadesFueraDeServicio = $this->{$modelUnidades}->getUnidades($id_area, $id_flota, $status = '7', $id_empresa);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['disponibles'] = count($getUnidadesDisponibles['unidades']);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['transito'] = count($getUnidadesTransito['unidades']);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['mantenimiento'] = count($getUnidadesMantenimiento['unidades']);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['accidentados'] = count($getUnidadesAccidentados['unidades']);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['cargado'] = count($getUnidadesCargado['unidades']);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['descargado'] = count($getUnidadesDescargado['unidades']);
             $disponibilidad['disponibilidad'][$fleetConfig]['unidades']['fuera_de_servicio'] = count($getUnidadesFueraDeServicio['unidades']);
         }
     }
     // 		pr($disponibilidad);
     return $disponibilidad;
 }