Esempio n. 1
0
 /**
  * Recepciona la orden de traspaso, que consiste en:
  *  1.- Recepcionar la mercancia indicada en las lineas de traspaso del tipo 1
  *  2.- Poner la cabecera de la orden de traspaso y sus lineas en estado RECIBIDO (2)
  *
  * @param string $incidencias Posibles incidencias en la recepcion
  * @return boolean
  */
 public function recepciona($incidencias)
 {
     if ($this->getIDEstado()->getIDTipo() == '2') {
         // Recorrer cada linea de traspaso del tipo 1
         $lineaTraspaso = new TraspasosLineas();
         $rows = $lineaTraspaso->cargaCondicion("IDLinea", "IDTraspaso='{$this->IDTraspaso}' and Tipo='1' and IDEstado='0'", "IDLinea ASC");
         foreach ($rows as $row) {
             $lineaTraspaso = new TraspasosLineas($row['IDLinea']);
             if (!$lineaTraspaso->recepciona()) {
                 $this->_errores = $lineaTraspaso->getErrores();
                 break;
             }
         }
         unset($lineaTraspaso);
         if (count($this->_errores) == 0) {
             //Marcar la orden de traspaso como recepcionada
             $this->setIDEstado('3');
             $this->setFechaEntrada('');
             $this->setIncidencias($incidencias);
             $this->save();
         }
     }
     return count($this->_errores) == 0;
 }