/**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Relevadores::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['idRelevador' => $this->idRelevador, 'kmARecorrer' => $this->kmARecorrer, 'latitud' => $this->latitud, 'longitud' => $this->longitud]);
     $query->andFilterWhere(['like', 'nombre', $this->nombre])->andFilterWhere(['like', 'correo', $this->correo])->andFilterWhere(['like', 'direccion', $this->direccion]);
     return $dataProvider;
 }
 public function actionRutas($id)
 {
     $ruta = array();
     $conjuntoRutas = ArrayHelper::toArray(Rutas::find()->all());
     $conjuntoRelevadores = ArrayHelper::toArray(Relevadores::find()->all());
     foreach ($conjuntoRelevadores as $value) {
         if ($value["idUsuario"] == $id) {
             $Relevador = $value;
         }
     }
     foreach ($conjuntoRutas as $value) {
         if ($value["idRelevador"] == $Relevador['idRelevador']) {
             array_push($ruta, $value);
         }
     }
     return $this->render('rutas', ['ruta' => $ruta]);
 }
 public function actionGetruta($id)
 {
     $array = array();
     $array = explode('-', $id);
     $ruta = array();
     $conjuntoRutas = ArrayHelper::toArray(Rutas::find()->all());
     $conjuntoRelevadores = ArrayHelper::toArray(Relevadores::find()->all());
     foreach ($conjuntoRelevadores as $value) {
         if ($value["idUsuario"] == $array[0]) {
             $Relevador = $value;
         }
     }
     foreach ($conjuntoRutas as $value) {
         if ($value["idRelevador"] == $Relevador['idRelevador'] && $value["diaDeRelevamiento"] == $array[1]) {
             array_push($ruta, $value);
         }
     }
     return JSON::encode($ruta);
 }
 public function actionObtenernombrecomercios($dia, $id)
 {
     $Relevador = array();
     $comerciosParaRelevar = array();
     $buleano = true;
     $conjuntoComercios = ArrayHelper::toArray(Comercios::find()->all());
     //todos los comercios de la db
     $conjuntoRelevadores = ArrayHelper::toArray(Relevadores::find()->all());
     //todos los relevadores de la db
     $conjuntoRutas = ArrayHelper::toArray(Rutas::find()->all());
     foreach ($conjuntoRutas as $value) {
         if ($value["idRelevador"] == $id && $value['diaDeRelevamiento'] == $dia) {
             $buleano = false;
         }
     }
     if ($buleano == true) {
         //obtengo el relevador que seleccione en el dropdownlist
         foreach ($conjuntoRelevadores as $value) {
             if ($value["idRelevador"] == $id) {
                 $Relevador = $value;
             }
         }
         $distanciaMayorActual = 0;
         foreach ($conjuntoComercios as $value) {
             $latitudeFrom = $Relevador['latitud'];
             $longitudeFrom = $Relevador['longitud'];
             $latitudeTo = $value['latitud'];
             $longitudeTo = $value['longitud'];
             $theta = $longitudeFrom - $longitudeTo;
             $dist = sin(deg2rad($latitudeFrom)) * sin(deg2rad($latitudeTo)) + cos(deg2rad($latitudeFrom)) * cos(deg2rad($latitudeTo)) * cos(deg2rad($theta));
             $dist = acos($dist);
             $dist = rad2deg($dist);
             $miles = $dist * 60 * 1.1515;
             $distancia = $miles * 1.609344 . 'km';
             if ($distancia <= $Relevador['kmARecorrer']) {
                 $kk = array();
                 $kk = json_decode($value['diasParaRelevar']);
                 foreach ($kk as $value2) {
                     if ($value2 == $dia) {
                         array_push($comerciosParaRelevar, $value['nombre']);
                     }
                 }
             }
         }
         if (empty($comerciosParaRelevar)) {
             return "no existen comercios que esten dentro del rango de recorrido del relevador o de dias para relevarlo...";
         } else {
             echo JSON::encode($comerciosParaRelevar);
         }
     } else {
         return "Ya existe una ruta para este relevador este dia";
     }
 }
Пример #5
0
/* @var $this yii\web\View */
/* @var $model backend\models\Relevadores */
/* @var $form yii\widgets\ActiveForm */
?>

<div class="relevadores-form">

    <?php 
$form = ActiveForm::begin();
?>

    <?php 
$usuarios = ArrayHelper::map(user::find()->all(), 'id', 'username');
?>
    <?php 
$relevadores = ArrayHelper::toArray(Relevadores::find()->all());
?>



    <?php 
unset($usuarios['1']);
?>
    
    <?php 
foreach ($relevadores as $value) {
    if (!in_array($value['idUsuario'], $usuarios, true)) {
        unset($usuarios[$value['idUsuario']]);
    }
}
?>
Пример #6
0
}


</script>

<div class="rutas-form">

    <?php 
$form = ActiveForm::begin();
?>
         <h4>Definir Ruta<br />
    <small><input type="radio" name="Tipo" value="automatica" id="Tipo_1" class="radio-inline"/> automatica</small>
    <small><input type="radio" name="Tipo" value="manual" id="Tipo_0" class="radio-inline"/> manual</small>
    </h4> 
    <?php 
$relevador = ArrayHelper::map(Relevadores::find()->all(), 'idRelevador', 'nombre');
echo $form->field($model, 'idRelevador')->dropDownList($relevador, ['prompt' => '-seleccionar Relevador-', 'onchange' => '
             
               
                
            '])->label('Relevadores');
$diasDeSemana = array('lunes' => 'lunes', 'martes' => 'martes', 'miercoles' => 'miercoles', 'jueves' => 'jueves', 'viernes' => 'viernes');
echo $form->field($model, 'diaDeRelevamiento')->dropDownList($diasDeSemana, ['prompt' => '-seleccionar dia a relevar-', 'onchange' => '
                  misComerciosFunction(this);
                  myFunction(this)
            '])->label('Dia para relevar');
?>

    <div id="manual" style="display: none;" >
    <?php 
echo $form->field($model, 'ordenComercios')->textInput(['maxlength' => true]);