/** * 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; }