/** * 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]); }
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>'; }
/** * @return \yii\db\ActiveQuery */ public function getIdcomercios() { return $this->hasMany(Comercios::className(), ['id' => 'idcomercio'])->viaTable('producto_tienda', ['idproducto' => 'id']); }
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"; } }
/** * 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.'); } }