コード例 #1
0
 /**
  * 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;
 }