Ejemplo n.º 1
0
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeIndex(sfWebRequest $request)
 {
     $this->form = new IngresoInventarioForm();
     if ($request->isMethod('POST')) {
         $this->form->bind($request->getParameter('ingreso_inventario'));
         if ($this->form->isValid()) {
             $valores = $this->form->getValues();
             $BitacoraCambios = new BitacoraCambios();
             $BitacoraCambios->setModelo('Inventario');
             $Producto = ProductoQuery::create()->findOneById($valores['Producto']);
             $BitacoraCambios->setDescripcion('Ingreso de Inventario de Producto: ' . $Producto->getDescripcion() . ' con cantidad ' . $valores['Cantidad']);
             $BitacoraCambios->setIp($request->getRemoteAddress());
             $Usuario = UsuarioQuery::create()->findOneById(sfContext::getInstance()->getUser()->getAttribute('usuario', null, 'seguridad'));
             if ($Usuario) {
                 $BitacoraCambios->setCreatedBy($Usuario->getUsuario());
             }
             $Movimiento = new Movimiento();
             $Movimiento->setTipoMovimiento('+');
             $Movimiento->setProveedorId($valores['Proveedor']);
             $Movimiento->setProductoId($Producto->getId());
             $Movimiento->setCantidad($valores['Cantidad']);
             $Movimiento->setPrecio($valores['Precio']);
             $Movimiento->save();
             $BitacoraCambios->save();
             $Comprobacion = InventarioQuery::create()->filterByProductoId($valores['Producto'])->filterByProveedorId($valores['Proveedor'])->findOne();
             if ($Comprobacion) {
                 $Comprobacion->setCantidad($Comprobacion->getCantidad() + $valores['Cantidad']);
                 $anterior = $Comprobacion->getCantidad() * $Comprobacion->getPrecioCompra();
                 $actual = $valores['Cantidad'] * $valores['Precio'];
                 $suma = ($anterior + $actual) / ($valores['Cantidad'] + $Comprobacion->getCantidad());
                 $Comprobacion->setPrecioCompra($suma);
                 $Comprobacion->save();
             } else {
                 $Inventario = new Inventario();
                 $Inventario->setPrecioCompra($valores['Precio']);
                 $Inventario->setProductoId($valores['Producto']);
                 $Inventario->setProveedorId($valores['Proveedor']);
                 $Inventario->setCantidad($valores['Cantidad']);
                 $Inventario->save();
             }
             $this->redirect('inventario/index');
         }
     }
     $this->cinco = InventarioQuery::create()->orderById('DESC')->limit(5)->find();
 }
Ejemplo n.º 2
0
 public function executeEntregado(sfWebRequest $request)
 {
     $id = $request->getParameter('id');
     $BitacoraCambios = new BitacoraCambios();
     $BitacoraCambios->setModelo('Pedido Proveedores');
     $Usuario = UsuarioQuery::create()->findOneById(sfContext::getInstance()->getUser()->getAttribute('usuario', null, 'seguridad'));
     $BitacoraCambios->setDescripcion('Cambio de estado de Pedido a Proveedor  a Entregado con id : ' . $id . ' el usuario ' . $Usuario->getNombre());
     $BitacoraCambios->setIp($request->getRemoteAddress());
     $pedido = PedidoProveedorQuery::create()->findOneById($id);
     $pedido->setEstado('Entregado');
     $pedido->save();
     $detalle_pedido = DetallePedidoProveedorQuery::create()->filterByPedidoProveedor($pedido)->find();
     foreach ($detalle_pedido as $det) {
         $Comprobacion = InventarioQuery::create()->filterByProductoId($det->getProductoId())->filterByProveedorId($pedido->getProveedorId())->findOne();
         if ($Comprobacion) {
             $Comprobacion->setCantidad($Comprobacion->getCantidad() + $det->getCantidad());
             $anterior = $det->getCantidad() * $Comprobacion->getPrecioCompra();
             $actual = $det->getCantidad() * $det->getPrecio();
             $suma = ($anterior + $actual) / ($det->getCantidad() + $Comprobacion->getCantidad());
             $Comprobacion->setPrecioCompra($suma);
             $Comprobacion->save();
         } else {
             $Inventario = new Inventario();
             $Inventario->setPrecioCompra($det->getPrecio());
             $Inventario->setProductoId($det->getProductoId());
             $Inventario->setProveedorId($pedido->getProveedorId());
             $Inventario->setCantidad($det->getCantidad());
             $Inventario->save();
         }
         $Movimiento = new Movimiento();
         $Movimiento->setTipoMovimiento('+');
         $Movimiento->setProveedorId($pedido->getProveedorId());
         $Movimiento->setProductoId($det->getProductoId());
         $Movimiento->setCantidad($det->getCantidad());
         $Movimiento->setPrecio($det->getPrecio());
         $Movimiento->save();
     }
     $this->redirect('pedido_proveedor/index');
 }
Ejemplo n.º 3
0
//si hace click sobre un registro llene el form modal con datos
if (isset($_GET['id'])) {
    $id = $_GET['id'];
}
//si hizo click en el envio
if (isset($_POST['submit'])) {
    //captura de datos
    $idProveedor = $_POST['proveedor'];
    $idIngrediente = $_POST['ingrediente'];
    $cantidad = $_POST['cantidad'];
    //instancia de la identidad
    $InventarioE = new Inventario();
    $InventarioE->setId($id);
    $InventarioE->setIngrediente($idIngrediente);
    $InventarioE->setProveedor($idProveedor);
    $InventarioE->setCantidad($cantidad);
    //$_SESSION['v']=$cantidad;
    //Actualiza los datos del inventario
    $inventarioBLL = new InventarioBLL();
    $inventarioBLL->Agregar($InventarioE);
    if ($inventarioBLL->getHayError()) {
        $_SESSION['registrado'] = 'f1';
    } else {
        $_SESSION['registrado'] = 't';
    }
    //sea cual sea el caso lo retorna a mantenimientos
    header("location:../Mantenimiento_Inventario.php");
}
?>

Ejemplo n.º 4
0
    $id = $_POST['idHidden'];
    $idProveedor = $_POST['proveedor'];
    $idIngrediente = $_POST['ingrediente'];
    $cantidad = $_POST['cantidad'];
    //instancia de la identidad
    $InventarioE = new Inventario();
    $enExistencia = $_POST['existencia'];
    $nuevaExistencia = $enExistencia + $cantidad;
    //verificar la cantidad
    if ($nuevaExistencia <= 0) {
        $nuevaExistencia = 0;
    }
    $InventarioE->setId($id);
    $InventarioE->setIngrediente($idIngrediente);
    $InventarioE->setProveedor($idProveedor);
    $InventarioE->setCantidad($nuevaExistencia);
    //$_SESSION['v']=$cantidad;
    //Actualiza los datos del inventario
    $inventarioBLL = new InventarioBLL();
    $inventarioBLL->Modificar($InventarioE);
    if ($inventarioBLL->getHayError()) {
        $_SESSION['registrado'] = 'f';
    } else {
        $_SESSION['registrado'] = 't';
    }
    //sea cual sea el caso lo retorna a mantenimientos
    header("location:../Mantenimiento_Inventario.php");
}
?>