コード例 #1
0
 /**
  *
  *Este metodo sirve para dar de baja un producto
  *
  * @param id_producto int Id del producto a desactivar
  **/
 public static function Desactivar($id_producto)
 {
     Logger::log("Desactivando producto " . $id_producto);
     //valida que el producto exista y que no haya sido desactivado antes
     $validar = self::validarParametrosProducto($id_producto);
     if (is_string($validar)) {
         Logger::error($validar);
         throw new Exception($validar);
     }
     //is_string($validar)
     //Si el producto forma parte de algun paquete activo no puede ser eliminado
     $productos_paquete = ProductoPaqueteDAO::search(new ProductoPaquete(array("id_producto" => $id_producto)));
     foreach ($productos_paquete as $producto_paquete) {
         $paquete = PaqueteDAO::getByPK($producto_paquete->getIdProducto());
         if ($paquete->getActivo()) {
             Logger::error("No se puede borrar este producto pues el paquete " . $paquete->getIdPaquete() . " aun lo contiene");
             throw new Exception("No se puede borrar este producto pues el paquete " . $paquete->getIdPaquete() . " aun lo contiene");
         }
         //$paquete->getActivo()
     }
     //$productos_paquete as $producto_paquete
     //Si el producto aun esta en existencia en algun almacen, no puede ser eliminado
     $productos_almacen = LoteProductoDAO::search(new LoteProducto(array("id_producto" => $id_producto)));
     foreach ($productos_almacen as $producto_almacen) {
         if ($producto_almacen->getCantidad() != 0) {
             Logger::error("El producto " . $id_producto . " no puede ser eliminado pues aun hay existencia en el almcen " . $producto_almacen->getIdAlmacen());
             throw new Exception("El producto " . $id_producto . " no puede ser eliminado pues aun hay existencia en el almcen " . $producto_almacen->getIdAlmacen());
         }
         //$producto_almacen->getCantidad() != 0
     }
     //$productos_almacen as $producto_almacen
     $producto = ProductoDAO::getByPK($id_producto);
     $producto->setActivo(0);
     //Se obtienen los registros de las tablas producto_empresa, producto_clasificacion e impuesto_producto
     //pues seran eliminados
     $productos_empresa = ProductoEmpresaDAO::search(new ProductoEmpresa(array("id_producto" => $id_producto)));
     $productos_clasificacion = ProductoClasificacionDAO::search(new ProductoClasificacion(array("id_producto" => $id_producto)));
     $impuestos_producto = ImpuestoProductoDAO::search(new ImpuestoProducto(array("id_producto" => $id_producto)));
     DAO::transBegin();
     try {
         ProductoDAO::save($producto);
         foreach ($productos_empresa as $producto_empresa) {
             ProductoEmpresaDAO::delete($producto_empresa);
         }
         //$productos_empresa as $producto_empresa
         foreach ($productos_clasificacion as $producto_clasificacion) {
             ProductoClasificacionDAO::delete($producto_clasificacion);
         }
         //$productos_clasificacion as $producto_clasificacion
         foreach ($impuestos_producto as $impuesto_producto) {
             ImpuestoProductoDAO::delete($impuesto_producto);
         }
         //$impuestos_producto as $impuesto_producto
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se ha podido descativar el producto " . $id_producto . " : " . $e);
         throw new Exception("No se ha podido descativar el producto " . $id_producto);
     }
     DAO::transEnd();
     LOgger::log("El producto ha sido eliminado exitosamente");
 }
コード例 #2
0
 /**
  *
  *Este metodo desactiva un proveedor. Para que este metodo funcione, no debe de haber ordenes de compra hacia ese proveedor ??
  *
  * @param id_proveedor int Id del proveedor que sera eliminado
  **/
 public static function Eliminar($id_proveedor)
 {
     Logger::log("Eliminando proveedor " . $id_proveedor);
     //Se utiliza el metodo eliminar usuario
     try {
         PersonalYAgentesController::EliminarUsuario($id_proveedor);
     } catch (Exception $e) {
         Logger::error("No se pudo eliminar el proveedor: " . $e);
         throw new Exception("No se pudo eliminar el proveedor");
     }
     LOgger::log("Proveedor eliminado exitosamente");
 }
コード例 #3
0
 /**
  *
  *Da de baja un servicio que ofrece una empresa
  *
  * @param id_servicio int Id del servicio que ser� eliminado
  **/
 public static function Eliminar($id_servicio)
 {
     Logger::log("Desactivando servicio " . $id_servicio . " ...");
     //valida que el servicio exista y que no haya sido desactivado antes
     $validar = self::validarParametrosServicio($id_servicio);
     if (is_string($validar)) {
         Logger::error($validar);
         throw new InvalidDataException($validar);
     }
     //Si el servicio forma parte de algun paquete activo no puede ser eliminado
     $servicios_paquete = OrdenDeServicioPaqueteDAO::search(new OrdenDeServicioPaquete(array("id_servicio" => $id_servicio)));
     foreach ($servicios_paquete as $servicio_paquete) {
         $paquete = PaqueteDAO::getByPK($servicio_paquete->getIdServicio());
         if ($paquete->getActivo()) {
             Logger::error("No se puede borrar este servicio pues el paquete " . $paquete->getIdPaquete() . " aun lo contiene");
             throw new Exception("No se puede borrar este servicio pues el paquete " . $paquete->getIdPaquete() . " aun lo contiene");
         }
     }
     $servicio = ServicioDAO::getByPK($id_servicio);
     $servicio->setActivo(0);
     //revisar que no tenga ordenes de servicio activas
     $res = OrdenDeServicioDAO::search(new OrdenDeServicio(array("id_servicio" => $id_servicio, "activa" => 1)));
     if (sizeof($res) > 0) {
         Logger::log("Intento borrar un servicio que tiene ordenes de servicio activas... ");
         throw new BusinessLogicException("Imposible eliminar un servicio que tiene ordenes abiertas");
     }
     //Se obtienen los registros de las tablas servicio_empresa, servicio_clasificacion e impuesto_servicio
     //pues seran eliminados
     $servicios_empresa = ServicioEmpresaDAO::search(new ServicioEmpresa(array("id_servicio" => $id_servicio)));
     $servicios_clasificacion = ServicioClasificacionDAO::search(new ServicioClasificacion(array("id_servicio" => $id_servicio)));
     $impuestos_servicio = ImpuestoServicioDAO::search(new ImpuestoServicio(array("id_servicio" => $id_servicio)));
     DAO::transBegin();
     try {
         ServicioDAO::save($servicio);
         foreach ($servicios_empresa as $servicio_empresa) {
             ServicioEmpresaDAO::delete($servicio_empresa);
         }
         foreach ($servicios_clasificacion as $servicio_clasificacion) {
             ServicioClasificacionDAO::delete($servicio_clasificacion);
         }
         foreach ($impuestos_servicio as $impuesto_servicio) {
             ImpuestoServicioDAO::delete($impuesto_servicio);
         }
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se ha podido descativar el servicio " . $id_servicio . " : " . $e);
         throw new Exception("No se ha podido descativar el servicio " . $id_servicio);
     }
     DAO::transEnd();
     LOgger::log("El servicio ha sido eliminado exitosamente");
 }