瀏覽代碼

Se se agrego crud de Vehiculo

Jose Cienfuegos 9 月之前
父節點
當前提交
d5ecb12c60

+ 63 - 0
models/Vehiculo.php

@@ -0,0 +1,63 @@
+<?php
+
+namespace app\models;
+
+use Yii;
+
+/**
+ * This is the model class for table "Vehiculo".
+ *
+ * @property string $id
+ * @property string|null $nombre
+ * @property int|null $ano
+ * @property string|null $color
+ * @property string|null $placa
+ * @property string|null $serie
+ * @property string|null $creado
+ * @property string|null $modificado
+ * @property string|null $eliminado
+ */
+class Vehiculo extends \yii\db\ActiveRecord
+{
+    /**
+     * {@inheritdoc}
+     */
+    public static function tableName()
+    {
+        return 'Vehiculo';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function rules()
+    {
+        return [
+            [['id'], 'required'],
+            [['ano'], 'default', 'value' => null],
+            [['ano'], 'integer'],
+            [['creado', 'modificado', 'eliminado'], 'safe'],
+            [['id'], 'string', 'max' => 36],
+            [['nombre', 'color', 'placa', 'serie'], 'string', 'max' => 100],
+            [['id'], 'unique'],
+        ];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function attributeLabels()
+    {
+        return [
+            'id' => 'ID',
+            'nombre' => 'Nombre',
+            'ano' => 'Ano',
+            'color' => 'Color',
+            'placa' => 'Placa',
+            'serie' => 'Serie',
+            'creado' => 'Creado',
+            'modificado' => 'Modificado',
+            'eliminado' => 'Eliminado',
+        ];
+    }
+}

+ 1 - 1
modules/v1/controllers/TallerController.php

@@ -12,7 +12,7 @@ class TallerController extends AuthController {
 
   public function actionIndex() {
     $id = intval($this->req->get("id", ""));
-    $buscar = trim($this->req->get("buscar", ""));
+    $buscar = trim($this->req->get("q", ""));
 
     $query = $this->queryInicial;
 

+ 83 - 0
modules/v1/controllers/VehiculoController.php

@@ -0,0 +1,83 @@
+<?php
+
+namespace v1\controllers;
+
+use common\data\Respuesta;
+use common\rest\AuthController;
+use yii\db\Expression;
+
+class VehiculoController extends AuthController {
+
+  public $modelClass = "v1\models\Vehiculo";
+
+  public function actionIndex() {
+    $id = intval($this->req->get("id", ""));
+    $buscar = trim($this->req->get("q", ""));
+
+    $query = $this->queryInicial;
+
+    if($id > 0) {
+      $query->andWhere(["id" => $id]);
+    }
+
+    if($buscar) {
+      # Ejemplo de buscador
+      
+      $query->andWhere([
+        "OR",
+        ["ilike", "nombre", $buscar]
+      ]);
+      //
+    }
+
+    return new Respuesta($query, $this->limite, $this->pagina, $this->ordenar);
+  }
+
+  public function actionGuardar() {
+    $id = trim($this->req->getBodyParam("id", ""));
+    $modelo = null;
+
+    if($id !== "") {
+      $modelo = $this->modelClass::findOne($id);
+    }
+    if($modelo === null) {
+      $modelo = new $this->modelClass();
+      $modelo->uuid();
+      $modelo->creado = new Expression('now()');
+    } else {
+      $modelo->modificado = new Expression('now()');
+    }
+
+    $modelo->load($this->req->getBodyParams(), '');
+    if (!$modelo->save()) {
+      return (new Respuesta($modelo))
+        ->mensaje("Hubo un problema al guardar Taller");
+    }
+
+    $modelo->refresh();
+    return (new Respuesta($modelo))
+      ->mensaje("Taller guardado");
+  }
+
+  public function actionEliminar() {
+    $id = trim($this->req->getBodyParam("id", ""));
+    $modelo = null;
+
+    if($id !== "") {
+      $modelo = $this->modelClass::findOne(["id" => $id]);
+    }
+    if($modelo === null) {
+      return (new Respuesta())
+        ->esError()
+        ->mensaje("Taller no encontrado");
+    }
+    $modelo->eliminado = new Expression('now()');
+    if(!$modelo->save()) {
+      return (new Respuesta($modelo))
+        ->mensaje("No se pudo eliminar Taller");
+    }
+
+    return (new Respuesta())
+      ->mensaje("Taller eliminada");
+  }
+}

+ 1 - 1
modules/v1/models/Taller.php

@@ -2,7 +2,7 @@
 
 namespace v1\models;
 
-use app\models\Taller as Modelotaller;
+use app\models\Taller as ModeloTaller;
 
 class Taller extends ModeloTaller {
 

+ 21 - 0
modules/v1/models/Vehiculo.php

@@ -0,0 +1,21 @@
+<?php
+
+namespace v1\models;
+
+use app\models\Vehiculo as ModeloVehiculo;
+
+class Vehiculo extends ModeloVehiculo {
+
+  public function fields() {
+    return [
+      'id',
+      'nombre',
+      'ano',
+      'color',
+      'placa',
+      'serie',
+      'creado',
+      'modificado',
+    ];
+  }
+}