/** * Realiza las siguientes validaciones antes de traspasar: * * - Se haya indicado tpv destino y que sea distinto al de origen * - Que los importes a traspasar no superen la cantidad origen * - Que el arqueo del tpv origen no esté cerrado * - Que el arqueo del tpv destino para la fecha actual no esté cerrado * * * @return boolean */ private function validaTraspaso() { if ($this->request['IDTpvDestino'] == '') { $this->errorTraspaso[] = "Debe indicar un TPV destino"; } if ($this->request['IDTpvDestino'] == $this->request['IDTpvOrigen']) { $this->errorTraspaso[] = "El TPV destino no puede ser igual al de origen"; } foreach ($this->request['traspaso'] as $value) { if ($value['importeDestino'] > $value['importeOrigen']) { $this->errorTraspaso[] = "El importe a traspasar supera el importe origen"; } } // Comprobar que la caja origen no esté cerrada $arqueoOrigen = new CajaArqueos($this->request['IDArqueo']); if ($arqueoOrigen->estaCerrada()) { $this->errorTraspaso[] = "La caja de origen está cerrada. No se puede traspasar"; } // Comprobar que la caja destino no esté cerrada $arqueoDestino = new CajaArqueos(); $arqueoDestino->setIDSucursal($this->request['IDSucursalDestino']); $arqueoDestino->setIDTpv($this->request['IDTpvDestino']); $arqueoDestino->setDia(date('Y-m-d')); if ($arqueoDestino->estaCerrada()) { $this->errorTraspaso[] = "La caja de destino está cerrada. No se puede traspasar"; } return count($this->errorTraspaso) == 0; }