Documentation

DepartamentoPDO
in package

FinalYes

Clase que gestiona la persistencia y operaciones de los Departamentos en la base de datos.

  • Actúa como el modelo DAO (Data Access Object) para la entidad Departamento, encapsulando todas las consultas SQL necesarias para el mantenimiento de la tabla T02_Departamento.
Tags
author

Enrique Nieto Lorenzo

since
27/01/2026
version
1.1.0

Table of Contents

Methods

altaDepartamento()  : Departamento|null
Registra un nuevo departamento en la base de datos (Alta Física).
altaLogicaDepartamento()  : bool
Reactiva un departamento previamente dado de baja (Alta Lógica).
bajaFisicaDepartamento()  : bool
Elimina un departamento permanentemente de la base de datos (Baja Física).
bajaLogicaDepartamento()  : bool
Desactiva temporalmente un departamento en el sistema (Baja Lógica).
buscaDepartamentoPorCod()  : Departamento|null
Busca un departamento específico utilizando su código identificador.
buscaDepartamentosPorDesc()  : array<string|int, Departamento>
Busca departamentos cuya descripción contenga la cadena proporcionada.
buscaDepartamentosPorDescEstadoPaginado()  : array<string|int, Departamento>
Obtiene un subconjunto de departamentos basado en filtros y parámetros de paginación.
contarDepartamentosPorDescEstado()  : int
Calcula el número total de departamentos que coinciden con unos filtros dados.
exportarDepartamentos()  : array<string|int, mixed>
Prepara y estructura la información de los departamentos para su exportación a JSON.
importarDepartamentos()  : bool
Importa masivamente un conjunto de departamentos hacia la base de datos usando una Transacción.
modificaDepartamento()  : PDOStatement|bool
Actualiza los datos modificables de un departamento existente.
validaCodNoExiste()  : bool
Comprueba la existencia de un departamento a través de su código.

Methods

altaDepartamento()

Registra un nuevo departamento en la base de datos (Alta Física).

public static altaDepartamento(string $codDepartamento, string $descDepartamento, float $volumenDeNegocio) : Departamento|null
  • Inserta un registro en la tabla T02_Departamento estableciendo automáticamente la fecha de creación actual (NOW()) y dejando la fecha de baja en NULL (activo).
Parameters
$codDepartamento : string

Código único del departamento (PK, 3 letras mayúsculas).

$descDepartamento : string

Nombre o descripción del departamento.

$volumenDeNegocio : float

Volumen de negocio económico.

Return values
Departamento|null

Devuelve el objeto Departamento instanciado si la inserción fue exitosa, o null si falló.

altaLogicaDepartamento()

Reactiva un departamento previamente dado de baja (Alta Lógica).

public static altaLogicaDepartamento(string $codDepartamento) : bool
  • Elimina la fecha de baja (la establece a NULL), restaurando el departamento al estado activo en el sistema.
Parameters
$codDepartamento : string

Código del departamento a rehabilitar.

Return values
bool

True si se actualizó la fila correctamente, false en caso contrario.

bajaFisicaDepartamento()

Elimina un departamento permanentemente de la base de datos (Baja Física).

public static bajaFisicaDepartamento(string $codDepartamento) : bool
Parameters
$codDepartamento : string

Código del departamento a borrar.

Return values
bool

True si se eliminó alguna fila correctamente, false en caso contrario.

bajaLogicaDepartamento()

Desactiva temporalmente un departamento en el sistema (Baja Lógica).

public static bajaLogicaDepartamento(string $codDepartamento) : bool
  • En lugar de borrar el registro, actualiza el campo T02_FechaBajaDepartamento con la fecha y hora exacta de la solicitud (NOW()), ocultándolo de las consultas generales.
Parameters
$codDepartamento : string

Código del departamento a dar de baja.

Return values
bool

True si se actualizó la fila correctamente, false en caso contrario.

buscaDepartamentoPorCod()

Busca un departamento específico utilizando su código identificador.

public static buscaDepartamentoPorCod(string $codDepartamento) : Departamento|null
Parameters
$codDepartamento : string

Código único del departamento (PK).

Return values
Departamento|null

Devuelve un objeto Departamento si lo encuentra, o null en caso contrario.

buscaDepartamentosPorDesc()

Busca departamentos cuya descripción contenga la cadena proporcionada.

public static buscaDepartamentosPorDesc(string $descDepartamento) : array<string|int, Departamento>
  • Realiza una consulta SQL utilizando el operador LIKE para coincidencias parciales. Si no se especifica cadena o está vacía, devuelve todos los departamentos.
Parameters
$descDepartamento : string

Descripción a buscar (o parte de ella).

Return values
array<string|int, Departamento>

Array de objetos Departamento encontrados, o array vacío si no hay coincidencias.

buscaDepartamentosPorDescEstadoPaginado()

Obtiene un subconjunto de departamentos basado en filtros y parámetros de paginación.

public static buscaDepartamentosPorDescEstadoPaginado(string $descDepartamento, string $estadoDepartamento, int $paginaActual) : array<string|int, Departamento>
  • Combina la búsqueda por descripción y estado con cláusulas LIMIT y OFFSET para devolver únicamente los registros correspondientes a la página solicitada.
Parameters
$descDepartamento : string

Cadena de texto para filtrar la descripción.

$estadoDepartamento : string

Estado a filtrar ('alta', 'baja', o 'todos').

$paginaActual : int

Número de la página solicitada por el usuario.

Return values
array<string|int, Departamento>

Array de objetos Departamento para la página actual.

contarDepartamentosPorDescEstado()

Calcula el número total de departamentos que coinciden con unos filtros dados.

public static contarDepartamentosPorDescEstado(string $descDepartamento, string $estadoDepartamento) : int
  • Esencial para construir sistemas de paginación precisos. Cuenta los registros filtrando tanto por coincidencia de texto como por su estado lógico.
Parameters
$descDepartamento : string

Cadena de texto a buscar en la descripción.

$estadoDepartamento : string

Estado para filtrar ('alta', 'baja', o 'todos').

Return values
int

Número total de registros coincidentes. Devuelve 0 en caso de error o ausencia.

exportarDepartamentos()

Prepara y estructura la información de los departamentos para su exportación a JSON.

public static exportarDepartamentos([string $descDepartamento = "" ]) : array<string|int, mixed>
  • Solicita los datos a la BBDD a través de los métodos de búsqueda existentes, iterando sobre los objetos recuperados para extraer sus valores puros a un array asociativo.
Parameters
$descDepartamento : string = ""

(Opcional) Cadena de texto para filtrar por descripción. Por defecto vacío.

Return values
array<string|int, mixed>

Array multidimensional con la estructura de datos lista para codificar en formato JSON.

importarDepartamentos()

Importa masivamente un conjunto de departamentos hacia la base de datos usando una Transacción.

public static importarDepartamentos(array<string|int, mixed> $aDepartamentos) : bool
  • Toma los datos decodificados de un JSON, genera una colección estructurada de parámetros y delega su inserción transaccional a la clase DBPDO. Si la base de datos rechaza un solo registro (ej: clave primaria duplicada), se ejecuta un Rollback automático revirtiendo cualquier cambio previo.
Parameters
$aDepartamentos : array<string|int, mixed>

Array asociativo extraído del fichero JSON con la información a importar.

Return values
bool

Devuelve true si la totalidad de los departamentos se han insertado correctamente. False en caso de error.

modificaDepartamento()

Actualiza los datos modificables de un departamento existente.

public static modificaDepartamento(string $codDepartamento, string $descDepartamento, float $volumenDeNegocio) : PDOStatement|bool
  • Permite modificar la descripción y el volumen de negocio referenciando el registro por su código.
Parameters
$codDepartamento : string

Código del departamento a actualizar.

$descDepartamento : string

Nueva descripción del departamento.

$volumenDeNegocio : float

Nuevo volumen de negocio.

Return values
PDOStatement|bool

Devuelve el objeto PDOStatement evaluable como booleano para confirmar el éxito de la consulta.

validaCodNoExiste()

Comprueba la existencia de un departamento a través de su código.

public static validaCodNoExiste(string $codDepartamento) : bool
  • ATENCIÓN: A pesar del nombre del método, devuelve true si el departamento YA EXISTE en la base de datos (rowCount > 0). Útil para validaciones de claves duplicadas.
Parameters
$codDepartamento : string

Código del departamento a buscar.

Return values
bool

True si el departamento existe en la BBDD, false si no existe.


        
On this page

Search results