~danielside/rptfront

3c053f80c2839b07b7c386314bbf4d7d304a6b99 — Danielside 1 year, 2 months ago 67ac28a
arregla filtros puestos sin grupo, añade fetch_assoc, agrupa centro de trabajo en una celda, saca provincia y loc
M lib/Db/Organismo.php => lib/Db/Organismo.php +4 -3
@@ 2,7 2,8 @@
namespace Rpt\Db;

use Rpt\Db\Entidad;
    
use \PDO;

class Organismo extends Entidad
{
    private function getRootQueryStart()


@@ 23,7 24,7 @@ class Organismo extends Entidad
    {
        $sth = $this->db->prepare("SELECT * FROM ministerio ORDER BY denominacion");
        $sth->execute();
        return $sth->fetchAll();
        return $sth->fetchAll(PDO::FETCH_ASSOC);
    }

    public function find($id, $centroDirectivo = null)


@@ 38,7 39,7 @@ class Organismo extends Entidad

        $sth = $this->db->prepare($query);
        $sth->execute($parametros);
        $ministerio = $sth->fetchAll();
        $ministerio = $sth->fetchAll(PDO::FETCH_ASSOC);

        return $ministerio;
    }

M lib/Db/Pais.php => lib/Db/Pais.php +2 -1
@@ 2,6 2,7 @@
namespace Rpt\Db;

use Rpt\Db\Entidad;
use \PDO;
    
class Pais extends Entidad
{


@@ 9,6 10,6 @@ class Pais extends Entidad
    {
        $sth = $this->db->prepare("SELECT * FROM pais ORDER BY nombre");
        $sth->execute();
        return $sth->fetchAll();
        return $sth->fetchAll(PDO::FETCH_ASSOC);
    }
}

M lib/Db/Provincia.php => lib/Db/Provincia.php +6 -5
@@ 2,20 2,21 @@
namespace Rpt\Db;

use Rpt\Db\Entidad;
    
use \PDO;

class Provincia extends Entidad
{
    public function all()
    {
        $sth = $this->db->prepare("SELECT * FROM provincia ORDER BY nombre");
        $sth->execute();
        return $sth->fetchAll();
        return $sth->fetchAll(PDO::FETCH_ASSOC);
    }

    public function find($id) {
        $sth = $this->db->prepare("SELECT * FROM provincia WHERE codigo = :id_provincia");
        $sth->execute(['id_provincia' => $id]);
        return $sth->fetchAll();
        return $sth->fetchAll(PDO::FETCH_ASSOC);
    }

    private function clausulaGrupo($grupo) {


@@ 44,7 45,7 @@ class Provincia extends Entidad

        $sth = $this->db->prepare($consulta);
        $sth->execute(['id_provincia' => $idProvincia]);
        return $sth->fetchAll();
        return $sth->fetchAll(PDO::FETCH_ASSOC);
    }

    public function estructuraResumida($idProvincia, $grupo = null) {


@@ 57,7 58,7 @@ class Provincia extends Entidad

        $sth = $this->db->prepare($consulta);
	$sth->execute(['id_provincia' => $idProvincia]);
	return $sth->fetchAll();
	return $sth->fetchAll(PDO::FETCH_ASSOC);
    }
    
}

M lib/Db/Puesto.php => lib/Db/Puesto.php +3 -4
@@ 3,8 3,7 @@ namespace Rpt\Db;

use Rpt\Db\Entidad;
use Rpt\Db\Retribucion;


use \PDO;
use Rpt\SearchCriteria\ISearchPuestoCriteria;

class Puesto extends Entidad


@@ 82,7 81,7 @@ class Puesto extends Entidad

        $sth = $this->db->prepare($query);
        $sth->execute($substitutions);
        $allRecords = $sth->fetchAll();
        $allRecords = $sth->fetchAll(PDO::FETCH_ASSOC);

        $totalRecords = count($allRecords);
        $this->setTotalEncontrados($totalRecords);


@@ 239,6 238,6 @@ class Puesto extends Entidad
    {
        $sth = $this->db->prepare("select distinct(grupo) from puesto order by grupo");
        $sth->execute();
        return $sth->fetchAll();
        return $sth->fetchAll(PDO::FETCH_ASSOC);
    }
}

M lib/Db/Retribucion.php => lib/Db/Retribucion.php +3 -2
@@ 2,13 2,14 @@
namespace Rpt\Db;

use Rpt\Db\Entidad;
    
use \PDO;

class Retribucion extends Entidad
{
    public function all()
    {
        $sth = $this->db->prepare("SELECT * FROM retribuciones");
        $sth->execute();
        return $sth->fetchAll();
        return $sth->fetchAll(PDO::FETCH_ASSOC);
    }
}

M lib/SearchCriteria/GrupoPuestoCriteria.php => lib/SearchCriteria/GrupoPuestoCriteria.php +4 -2
@@ 21,8 21,11 @@ class GrupoPuestoCriteria implements ISearchPuestoCriteria
    {
        $cl = "";
        $numItems = count($arrayItems);
        for($i = 0; $i < $numItems; $i++) {
        for ($i = 0; $i < $numItems; $i++) {
            $item = $arrayItems[$i];
            if ('Sin grupo' == $item) {
                $item = '';
            }
            $cl .= "\"" . $item . "\"";
            if ($i < $numItems - 1) {
                $cl .= ",";


@@ 36,4 39,3 @@ class GrupoPuestoCriteria implements ISearchPuestoCriteria
        return [];
    }
}


M public_html/assets/css/danielside.css => public_html/assets/css/danielside.css +4 -0
@@ 132,3 132,7 @@ li.contenedor-ministerio-nivel2 ul {
.form-group i {
    color: gray;
}

.celda-centro div {
    margin-bottom: 5px;
}

M public_html/index.php => public_html/index.php +4 -1
@@ 87,7 87,10 @@ function dataForIndex($app, $isWebview)

    $organismos = $organismo->all();
    $grupos = $puesto->gruposAll();

    $grupos = array_map(
        fn ($g) => '' === ($g['grupo']) ? ['grupo' => 'Sin grupo'] : $g,
        $grupos
    );
    return [$grupos, $organismos, $paises, $provincias];
}


M templates/buscarpt.php => templates/buscarpt.php +2 -1
@@ 113,6 113,7 @@

    <div class="form-group">
      <label>Forma de provisión</label>
      <p><i>La opción "Cualquiera" incluirá aquéllos puestos que no tienen informada la forma de provisión.</i></p>
      <select id="select_provision" name="provision" class="form-control">
        <option value="">Cualquiera</option>
	<option


@@ 123,7 124,7 @@
	  Libre designación</option>
	<option
	  value="I" <?= (isset($flash['defaults']['provision']) && 'I' == $flash['defaults']['provision']) ? 'selected' : '' ?>>
	  Indistintamente personal eventual o funcionario</option>
	    Indistintamente personal eventual o funcionario</option>
      </select>
    </div>


M templates/puestos.php => templates/puestos.php +38 -28
@@ 20,28 20,32 @@
	      <a class="provision-tooltip" href="#" data-toggle="tooltip" title="C - Concurso de méritos, L - Libre Designación, I - Indistintamente personal eventual o funcionario. Nota: también puede venir sin indicar">?</a>
	    </th>
            <th>Estado</th>
            <th>Unidad</th>
            <th>Centro Directivo</th>
            <th>Organismo</th>
            <th>Centro de trabajo</th>
            <th>Localidad</th>            
            <th>Provincia</th>
        </tr>
        <?php foreach($puestos as $puesto) { 
          $salarioBrutoAnual = '';
          if (is_array($puesto['salario'])) {
            if (count($puesto['salario']) == 1) {
              $salario = array_shift($puesto['salario']);
              $salarioBrutoAnual = str_replace('.', ',', $salario) . " €";
            } elseif (count($puesto['salario']) == 2) {
              $grupo1 = array_keys($puesto['salario'])[0];
              $salario1 = array_shift($puesto['salario']);
              $salarioBrutoAnual = str_replace('.', ',', $salario1) . " € (como $grupo1) <br />";
            $salarioBrutoAnual = '';
            if (is_array($puesto['salario'])) {
                if (count($puesto['salario']) == 1) {
                    $salario = array_shift($puesto['salario']);
                    $salarioBrutoAnual = str_replace('.', ',', $salario) . " €";
                } elseif (count($puesto['salario']) == 2) {
                    $grupo1 = array_keys($puesto['salario'])[0];
                    $salario1 = array_shift($puesto['salario']);
                    $salarioBrutoAnual = str_replace('.', ',', $salario1) . " € (como $grupo1) <br />";

              $grupo2 = array_keys($puesto['salario'])[0];
              $salario2 = array_shift($puesto['salario']);
              $salarioBrutoAnual .= str_replace('.', ',', $salario2) . "€ (como $grupo2)";
                    $grupo2 = array_keys($puesto['salario'])[0];
                    $salario2 = array_shift($puesto['salario']);
                    $salarioBrutoAnual .= str_replace('.', ',', $salario2) . "€ (como $grupo2)";
                }
            }
          }

          ?>
            $elementosDelCentro = 3;
            if (strcmp($unidad, $centroDirectivo) == 0) {
                $elementosDelCentro = 2;
            }
        ?>
            <tr>
                <td>
                    <?= $puesto['nivel']; ?>


@@ 86,21 90,27 @@
                        No vacante
                    <?php } ?>
                </td>
                <td>
                    <?= $puesto['unidad']; ?>
                <td class="celda-centro">
                    <?php
                    if (3 == $elementosDelCentro) {
                        echo "<div>" . $puesto['unidad'] . "</div>";
                    }
                    ?>
                    <div><a class="link-centrodirectivo" data-id="<?= $puesto['ministerio_id'] ?>" data-centroid="<?= $puesto['centrodirectivo_id'] ?>"
                       data-toggle="modal" data-target="#modal-organismo">
                        
                        <?= $puesto['centrodirectivo'] ?>
                    </a></div>
                    <div><a class="link-ministerio" data-id="<?= $puesto['ministerio_id'] ?>"
                       data-toggle="modal" data-target="#modal-organismo">
                        <?= $puesto['ministerio']; ?>
		    </a></div>
                </td>
                <td>
                    <a class="link-centrodirectivo" data-id="<?= $puesto['ministerio_id'] ?>" data-centroid="<?= $puesto['centrodirectivo_id'] ?>"
                       data-toggle="modal" data-target="#modal-organismo">
           
                       <?= $puesto['centrodirectivo'] ?>
                    </a>
                    <?= $puesto['localidad'] ?>
                </td>
                <td>
                    <a class="link-ministerio" data-id="<?= $puesto['ministerio_id'] ?>"
                       data-toggle="modal" data-target="#modal-organismo">
                       <?= $puesto['ministerio']; ?>
		    </a>
                    <?= $puesto['provincia'] ?>
                </td>
            </tr>
        <?php }  ?>