Просмотр исходного кода

Modulos de Marca de auto y tipo de autos en funcionamiento

Jogibeda месяцев назад: 10
Родитель
Сommit
29d13d9008

+ 38 - 0
migrations/m240806_184222_tabla_marca.php

@@ -0,0 +1,38 @@
+<?php
+
+use yii\db\Migration;
+
+/**
+ * Class m240806_184222_tabla_marca
+ */
+class m240806_184222_tabla_marca extends Migration
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function safeUp()
+    {
+          // Crear la tabla Marca
+          $this->createTable('Marca', [
+            "id" => $this->string(36),
+            "clave" => $this->string(100)->notNull(),
+            "marca" => $this->string(100)->notNull(),
+            "descripcion" => $this->string(100)->notNull(),
+            "creado" => $this->timestamp()->append(" with time zone"),
+            "modificado" => $this->timestamp()->append(" with time zone"),
+            "eliminado" => $this->timestamp()->append(" with time zone"),
+        ]);
+
+        $this->addPrimaryKey('MarcaPK', 'Marca', 'id');
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function safeDown()
+    {
+        $this->dropTable("Marca");
+    }
+
+   
+}

+ 53 - 0
migrations/m240806_212252_tabla_tipoauto.php

@@ -0,0 +1,53 @@
+<?php
+
+use yii\db\Migration;
+
+/**
+ * Class m240806_212252_tabla_tipoauto
+ */
+class m240806_212252_tabla_tipoauto extends Migration
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function safeUp()
+    {
+
+          // Crear la tabla Marca
+          $this->createTable('TipoAuto', [
+            "id" => $this->string(36),
+            "clave" => $this->string(100)->notNull(),
+            "tipo" => $this->string(100)->notNull(),
+            "descripcion" => $this->string(100)->notNull(),
+            "creado" => $this->timestamp()->append(" with time zone"),
+            "modificado" => $this->timestamp()->append(" with time zone"),
+            "eliminado" => $this->timestamp()->append(" with time zone"),
+        ]);
+
+        $this->addPrimaryKey('TipoAutoPK', 'TipoAuto', 'id');
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function safeDown()
+    {
+        $this->dropTable("TipoAuto");
+       
+    }
+
+    /*
+    // Use up()/down() to run migration code without a transaction.
+    public function up()
+    {
+
+    }
+
+    public function down()
+    {
+        echo "m240806_212252_tabla_tipoauto cannot be reverted.\n";
+
+        return false;
+    }
+    */
+}

+ 56 - 0
models/Marca.php

@@ -0,0 +1,56 @@
+<?php
+
+namespace app\models;
+
+use Yii;
+
+/**
+ * This is the model class for table "Marca".
+ *
+ * @property string $id
+ * @property string $clave
+ * @property string $marca
+ * @property string $descripcion
+ * 
+ */
+class Marca extends ModeloBase
+{
+    /**
+     * {@inheritdoc}
+     */
+    public static function tableName()
+    {
+        return 'Marca';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function rules()
+    {
+        return [
+            [['id', 'clave', 'marca'], 'required'],
+            [['descripcion'], 'string'],
+            [['creado', 'modificado', 'eliminado'], 'safe'],
+            [['id'], 'string', 'max' => 36],
+            [['clave', 'marca'], 'string', 'max' => 100],
+            [['id'], 'unique'],
+        ];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function attributeLabels()
+    {
+        return [
+            'id' => 'ID',
+            'clave' => 'Clave',
+            'marca' => 'Marca',
+            'descripcion' => 'Descripcion',
+            'creado' => 'Creado',
+            'modificado' => 'Modificado',
+            'eliminado' => 'Eliminado',
+        ];
+    }
+}

+ 56 - 0
models/TipoAuto.php

@@ -0,0 +1,56 @@
+<?php
+
+namespace app\models;
+
+use Yii;
+
+/**
+ * This is the model class for table "Tipo de auto".
+ *
+ * @property string $id
+ * @property string $clave
+ * @property string $Tipo
+ * @property string $descripcion
+ * 
+ */
+class TipoAuto extends ModeloBase
+{
+    /**
+     * {@inheritdoc}
+     */
+    public static function tableName()
+    {
+        return 'TipoAuto';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function rules()
+    {
+        return [
+            [['id', 'clave', 'tipo'], 'required'],
+            [['descripcion'], 'string'],
+            [['creado', 'modificado', 'eliminado'], 'safe'],
+            [['id'], 'string', 'max' => 36],
+            [['clave', 'tipo'], 'string', 'max' => 100],
+            [['id'], 'unique'],
+        ];
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function attributeLabels()
+    {
+        return [
+            'id' => 'ID',
+            'clave' => 'Clave',
+            'tipo' => 'Tipo',
+            'descripcion' => 'Descripcion',
+            'creado' => 'Creado',
+            'modificado' => 'Modificado',
+            'eliminado' => 'Eliminado',
+        ];
+    }
+}

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

@@ -0,0 +1,83 @@
+<?php
+
+namespace v1\controllers;
+
+use common\data\Respuesta;
+use common\rest\AuthController;
+use yii\db\Expression;
+
+class MarcaController extends AuthController {
+
+  public $modelClass = "v1\models\Marca";
+
+  public function actionIndex() {
+    $id = trim($this->req->get("id", ""));
+    $buscar = trim($this->req->get("q", ""));
+    
+    $query = $this->queryInicial;
+    
+
+    if($id !== "") {
+      $query->andWhere(["id" => $id]);
+    }
+
+    if($buscar) {
+      
+      $query->andWhere([
+        "OR",
+        ["ilike", "marca", $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 la Marca");
+    }
+
+    $modelo->refresh();
+    return (new Respuesta($modelo))
+      ->mensaje("Marca guardada");
+  }
+
+  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("Marca no encontrado");
+    }
+    $modelo->eliminado = new Expression('now()');
+    if(!$modelo->save()) {
+      return (new Respuesta($modelo))
+        ->mensaje("No se pudo eliminar la Marca");
+    }
+
+    return (new Respuesta())
+      ->mensaje("Marca eliminada");
+  }
+}

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

@@ -66,7 +66,7 @@ class ServicioController extends AuthController {
 
     $modelo->refresh();
     return (new Respuesta($modelo))
-      ->mensaje("Serivicio guardado");
+      ->mensaje("Servicio guardado");
   }
 
   public function actionEliminar() {

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

@@ -60,7 +60,7 @@ class ServicioElementoController extends AuthController {
 
     $modelo->refresh();
     return (new Respuesta($modelo))
-      ->mensaje("Serivicio Elemento guardado");
+      ->mensaje("Servicio Elemento guardado");
   }
 
   public function actionEliminar() {

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

@@ -0,0 +1,83 @@
+<?php
+
+namespace v1\controllers;
+
+use common\data\Respuesta;
+use common\rest\AuthController;
+use yii\db\Expression;
+
+class TipoAutoController extends AuthController {
+
+  public $modelClass = "v1\models\TipoAuto";
+
+  public function actionIndex() {
+    $id = trim($this->req->get("id", ""));
+    $buscar = trim($this->req->get("q", ""));
+    
+    $query = $this->queryInicial;
+    
+
+    if($id !== "") {
+      $query->andWhere(["id" => $id]);
+    }
+
+    if($buscar) {
+      
+      $query->andWhere([
+        "OR",
+        ["ilike", "tipo", $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 el tipo de auto");
+    }
+
+    $modelo->refresh();
+    return (new Respuesta($modelo))
+      ->mensaje("Tipo de auto guardad");
+  }
+
+  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("Tipo de auto no encontrado");
+    }
+    $modelo->eliminado = new Expression('now()');
+    if(!$modelo->save()) {
+      return (new Respuesta($modelo))
+        ->mensaje("No se pudo eliminar el tipo de auto");
+    }
+
+    return (new Respuesta())
+      ->mensaje("Tipo de auto eliminado");
+  }
+}

+ 19 - 0
modules/v1/models/Marca.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace v1\models;
+
+use app\models\Marca as ModeloMarca;
+
+class Marca extends ModeloMarca {
+
+  public function fields() {
+    return [
+      'id',
+      'clave',
+      'marca',
+      'descripcion',
+      'creado',
+      'modificado',
+    ];
+  }
+}

+ 19 - 0
modules/v1/models/TipoAuto.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace v1\models;
+
+use app\models\TipoAuto as ModeloTipoAuto;
+
+class TipoAuto extends ModeloTipoAuto {
+
+  public function fields() {
+    return [
+      'id',
+      'clave',
+      'tipo',
+      'descripcion',
+      'creado',
+      'modificado',
+    ];
+  }
+}