/** * *Crear un nuevo lote * * @param id_almacen int A que almacen pertenecera este lote. * @param observaciones string Alguna observacin o detalle relevante que se deba documentar * @return id_lote int El identificador del lote recien generado. **/ static function NuevoLote($id_almacen, $folio = null) { if (!($almacen = AlmacenDAO::getByPK($id_almacen))) { Logger::error("No se tiene registro del almacen {$id_almacen}"); throw new BusinessLogicException("No se tiene registro del almacen {$id_almacen}"); } $sesion = SesionController::Actual(); $l = new Lote(array("id_almacen" => $almacen->getIdAlmacen(), "id_usuario" => $sesion['id_usuario'], "folio" => is_null($folio) ? "" : $folio)); try { LoteDAO::save($l); } catch (Exception $e) { Logger::error("Error al crear nuevo lote {$e->getMessage()}"); throw new InvalidDatabaseOperationException("Error al crear el nuevo lote"); } return array("id_lote" => $l->getIdLote()); }