]> git.llucax.com Git - mecon/yatta.git/blobdiff - lib/YATTA/Proceso.php
YATTA_Proceso cuando asigna un servidor a un nuevo proceso lo hace ponderando.
[mecon/yatta.git] / lib / YATTA / Proceso.php
index 31fb12262a7055ad254cfebba4b4922c86e4d4e5..2c1e2fe3747c15f86d03d44342ea849da07711bc 100644 (file)
@@ -376,14 +376,31 @@ class YATTA_Proceso extends MECON_DBO {
     }
 
     /**
+     * Guarda los datos en la base.
+     *
      * @param  DB $db Conexion a la base de datos.
      * @param  bool $nuevo Indica si se trata de un nuevo registro en la base.
      *
      * @return mixed
      * @access public
      */
-    function guardar($db = null, $nuevo = false)
+    function guardar($db = null, $nuevo = true)
     {
+        //Busco el servidor
+        $res = $db->query('SELECT id, escala * procesos AS ponderacion
+                FROM yatta.servidores 
+                ORDER BY ponderacion, escala');
+        $res = $res->fetchRow(DB_FETCHMODE_ASSOC);
+        // Si hay error lo devuelve.
+        if (DB::isError($res)) {
+            return $res;
+        }
+        $this->server = $res['id'];
+        //Asigno la fecha
+        if (@is_null($this->fecha)) {
+            $this->fecha = date ('Y-m-d');
+        }
+        
         if ($nuevo) {
             $datos = array (
                         'fecha'         => $this->fecha,
@@ -429,6 +446,15 @@ class YATTA_Proceso extends MECON_DBO {
                     DB_AUTOQUERY_UPDATE, 'id = '.$this->id);
             
         }
+
+        if (DB::isError($res)) {
+            return $res;
+        }
+
+        $res = $db->query('
+                UPDATE yatta.servidores
+                SET procesos = procesos + 1
+                WHERE id = '. $this->server);
         return $res;
     }