/** * 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"; } }
/* @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']]); } } ?>
} </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]);