/**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Comercios::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(['idComercio' => $this->idComercio, 'latitud' => $this->latitud, 'longitud' => $this->longitud, 'prioridad' => $this->prioridad]);
     $query->andFilterWhere(['like', 'nombre', $this->nombre])->andFilterWhere(['like', 'direccion', $this->direccion]);
     return $dataProvider;
 }
 public function actionStock($id)
 {
     $idStockDeComercio = array();
     $arrayNombresProductos = array();
     $cantStockDeComercio = array();
     $conjuntoComercios = ArrayHelper::toArray(Comercios::find()->all());
     $conjuntoStock = ArrayHelper::toArray(Stock::find()->all());
     foreach ($conjuntoComercios as $value) {
         if ($value['idComercio'] == $id) {
             $nomComercio = $value['nombre'];
         }
     }
     foreach ($conjuntoStock as $value) {
         if ($value['nombreComercio'] == $nomComercio) {
             array_push($arrayNombresProductos, $value['nombreProducto']);
             //obtengo los nombres de los productos del stock de ese comercio
             array_push($idStockDeComercio, $value['idStock']);
             array_push($cantStockDeComercio, $value['cantidadEnStock']);
         }
     }
     return $this->render('stock', ['comerciostock' => $arrayNombresProductos, 'nombreComercio' => $nomComercio, 'idStockDeComercio' => $idStockDeComercio, 'cantStockDeComercio' => $cantStockDeComercio]);
 }
Example #3
0
use yii\helpers\ArrayHelper;
use yii\helpers\Url;
use backend\models\Rutas;
use yii\helpers\Json;
use backend\models\Comercios;
?>

<div class="ruta-view">

<?php 
echo '<div class="body-content">';
echo "<h4>Descripcion de la ruta del dia seleccionado <small>";
echo '</small></h4>';
echo '<table>';
$rutaArray = json_decode($rutaDelDia['ordenComercios']);
$conjuntoComercios = ArrayHelper::toArray(Comercios::find()->all());
$rutaDeComercios = array();
$longitud = count($rutaArray);
for ($i = 0; $i < $longitud; $i++) {
    echo '<div class="row">';
    echo "<br>";
    $id = $rutaArray[$i];
    foreach ($conjuntoComercios as $value) {
        if ($value['idComercio'] == $id) {
            array_push($rutaDeComercios, $value);
            echo Html::a(Yii::t('app', $value['nombre']), ['../web/ruta/view?id=' . $id], ['class' => 'btn btn-default']);
        }
    }
    echo "</br>";
    echo '</div>';
}
Example #4
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getIdcomercios()
 {
     return $this->hasMany(Comercios::className(), ['id' => 'idcomercio'])->viaTable('producto_tienda', ['idproducto' => 'id']);
 }
Example #5
0
 public function actionPordia()
 {
     $request = Yii::$app->request;
     $dia = $request->post('id');
     //   $comercios=Comercios::find()->where(['dia'=>$dia])->all();
     $sql = 'SELECT * FROM comercios WHERE dia=' . $dia . ' and id not in (Select idcomercio FROM ruta WHERE activa=1)';
     $modelo = Comercios::findBySql($sql)->all();
     $comerciosrecorridos = ArrayHelper::toArray($modelo, ['id', 'nombre', 'latitud', 'longitud']);
     //   $comerciosarray=ArrayHelper::toArray($comercios, ['id', 'nombre','latitud','longitud']);
     //   if(isset($comerciosrecorridos) && !empty($comerciosrecorridos) ){
     //      $return = array_diff_key($comerciosarray,$comerciosrecorridos);
     echo json_encode($comerciosrecorridos);
     //   }else{
     //       echo json_encode($comerciosarray);
     //   }
 }
 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";
     }
 }
Example #7
0
 /**
  * Finds the Comercios model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param string $id
  * @return Comercios the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = Comercios::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }