TrasiegoDao
in package
TrasiegoDao SQL puro para trasiegos directos (sin partida de entrada ni salida) en BDs destino (tr_*).
Recibe mysqli como parámetro — nunca lo resuelve solo.
Table of Contents
Methods
- getListado() : array<int, array<string, mixed>>
- Devuelve los trasiegos directos de la campaña activa.
- getTrasiegosAtrasHastaVacio() : array<string|int, int>
- Devuelve los ids de trasiegos del depósito que no son vacíos y ocurrieron después del último vacío anterior a $fecha.
- getTrasiegoUltimoVacio() : Trasiego|null
- Devuelve el último trasiego vacío del depósito anterior a la fecha dada.
- getUltimoByDestino() : Trasiego|null
- Devuelve el último trasiego cuyo destino sea el depósito indicado, dentro de la campaña y centro activos.
- insert() : int
- Inserta un trasiego. Usa auto_increment — no recibe id.
- updateNLote() : bool
- Actualiza n_lote y lote_filtro de un trasiego concreto.
- _hydrate() : Trasiego
Methods
getListado()
Devuelve los trasiegos directos de la campaña activa.
public
static getListado(mysqli $db, int $campania) : array<int, array<string, mixed>>
Un trasiego directo es aquel con lote=0, salida=0, externa=0, partida=0 y origen distinto al destino.
Parameters
- $db : mysqli
-
: base de datos objetivo
- $campania : int
-
: id de campania
Return values
array<int, array<string, mixed>>getTrasiegosAtrasHastaVacio()
Devuelve los ids de trasiegos del depósito que no son vacíos y ocurrieron después del último vacío anterior a $fecha.
public
static getTrasiegosAtrasHastaVacio(mysqli $db, int $idDeposito, DateTime $fecha) : array<string|int, int>
Se usa para actualizar el n_lote de todos ellos cuando se registra un vacío.
Parameters
- $db : mysqli
- $idDeposito : int
- $fecha : DateTime
Return values
array<string|int, int>getTrasiegoUltimoVacio()
Devuelve el último trasiego vacío del depósito anterior a la fecha dada.
public
static getTrasiegoUltimoVacio(mysqli $db, int $idDeposito, DateTime $fecha) : Trasiego|null
Se usa para delimitar el rango al actualizar lotes.
Parameters
- $db : mysqli
- $idDeposito : int
- $fecha : DateTime
Return values
Trasiego|nullgetUltimoByDestino()
Devuelve el último trasiego cuyo destino sea el depósito indicado, dentro de la campaña y centro activos.
public
static getUltimoByDestino(mysqli $db, int $idDeposito, int $campania, int $centro, string $cif) : Trasiego|null
Se usa para encadenar fechaOrigen al crear un trasiego de entrada.
Parameters
- $db : mysqli
-
: base de datos objetivo
- $idDeposito : int
-
: id de deposito en concreto
- $campania : int
-
: id de campania
- $centro : int
-
: id de centro
- $cif : string
-
: cif del centro
Tags
Return values
Trasiego|nullinsert()
Inserta un trasiego. Usa auto_increment — no recibe id.
public
static insert(mysqli $db, Trasiego $t, string $cif) : int
Devuelve el id generado, o 0 en caso de error.
Si el trasiego es vacío limpia acidez/peroxido del depósito origen y elimina sus categorías (comportamiento del legacy).
Parameters
- $db : mysqli
-
: base de datos objetivo
- $t : Trasiego
-
: nuevo trasiego
- $cif : string
Return values
int —id insertado, 0 si error
updateNLote()
Actualiza n_lote y lote_filtro de un trasiego concreto.
public
static updateNLote(mysqli $db, int $idTrasiego, string $nLote, string $loteFiltro, int $campania, int $centro, string $cif) : bool
Solo actúa sobre trasiegos no vacíos, habilitados, del centro y campaña activos.
Parameters
- $db : mysqli
- $idTrasiego : int
- $nLote : string
- $loteFiltro : string
- $campania : int
- $centro : int
- $cif : string
Return values
bool_hydrate()
private
static _hydrate(array<string|int, mixed> $row, int $centro) : Trasiego
Parameters
- $row : array<string|int, mixed>
- $centro : int