public function admin()
 {
     Session::get('autenticado');
     $this->view->setMensaje("bienvenido al Banco de Alimentos");
     //genero reporte de productos
     $config = new Configuracion();
     $detalle = new Detalle();
     $max_dias = $config->buscarPor("clave", "vencimiento_stock");
     $proximos_a_vencerse = $detalle->getVencidosEn($max_dias[0]['valor']);
     //generar pendies
     $pedido = new Estadopedido();
     $hoy = date("Y-m-d");
     $pendientes = $pedido->getPedidosDelDia('fecha', $hoy);
     $hora = date('H:i:s');
     for ($i = 0; $i < count($pendientes); $i++) {
         if ($pendientes[$i]['hora'] < $hora and !$pendientes[$i]['entregado']) {
             $pendientes[$i]['tarde'] = "RETRASADO";
             $pendientes[$i]['entregado'] = "No";
         } else {
             $pendientes[$i]['tarde'] = "A TIEMPO";
             $pendientes[$i]['entregado'] = "No";
         }
     }
     $this->view->renderizar("backend", array("detalles" => $proximos_a_vencerse, "pendientes" => $pendientes, "dias" => $max_dias[0]['valor']));
 }
 function getListJuegoDetalleFactura($condicion = null, $parametros = array())
 {
     if ($condicion === null) {
         $condicion = "";
     } else {
         $condicion = "where {$condicion}";
     }
     $sql = "select ju.*, de.*, fa.*, cl.* from detalle de \r\n                    left join juego ju on ju.id_juego = de.id_juego \r\n                    left join factura fa on fa.num_factura = de.num_factura \r\n                    left join cliente cl on fa.id_cliente = cl.id_cliente  \r\n                {$condicion} ORDER BY cl.email, fa.fecha desc ";
     $this->bd->send($sql, $parametros);
     $r = array();
     $contador = 0;
     while ($fila = $this->bd->getRow()) {
         $juego = new Game();
         $juego->set($fila);
         $detalle = new Detalle();
         $detalle->set($fila, 8);
         $factura = new Factura();
         $factura->set($fila, 13);
         $cliente = new User();
         $cliente->set($fila, 16);
         $r[$contador]["juego"] = $juego;
         $r[$contador]["factura"] = $factura;
         $r[$contador]["detalle"] = $detalle;
         $r[$contador]["cliente"] = $cliente;
         $contador++;
     }
     return $r;
 }
Example #3
0
 public function process()
 {
     $factura = new Factura();
     $factura->usuario_id = Auth::user()->id;
     $factura->total = Cart::total();
     foreach (Cart::content() as $item) {
         if (Item::find($item['id'])->stock == 0) {
             Session::flash('error', 'El item ' . $item['name'] . ' se ha agotado');
             return Redirect::back();
         }
         if (Item::find($item['id'])->stock - $item['qty'] < 0) {
             Session::flash('error', 'No hay suficiente stock del item ' . $item['name'] . ' para cubrir su pedido');
             return Redirect::back();
         }
     }
     if ($factura->save()) {
         foreach (Cart::content() as $item) {
             $detalle = new Detalle();
             $detalle->factura_id = $factura->id;
             $detalle->item_id = $item['id'];
             $detalle->cantidad = $item['qty'];
             if ($detalle->save()) {
                 $deduct = Item::find($item['id']);
                 $deduct->stock -= $item['qty'];
                 $deduct->save();
             } else {
                 Session::flash('error', 'Error al procesar');
                 return Redirect::back();
             }
         }
     } else {
         Session::flash('error', 'Error al procesar');
         return Redirect::back();
     }
     Cart::destroy();
     return Redirect::to('shop');
 }
Example #4
0
<?php

/*
|--------------------------------------------------------------------------
| Controlador
|--------------------------------------------------------------------------
|
| Este archivo se encarga de eliminar un detalle del sistema.
|
*/
require __DIR__ . '/../../config/auth.php';
require __DIR__ . '/../../config/config.php';
require __DIR__ . '/../../clases/Detalle_oc.php';
$det = new Detalle();
$oc = isset($_GET['id']) && $_GET['id'] != "" ? $_GET['id'] : null;
$prod = isset($_GET['des']) && $_GET['des'] != "" ? $_GET['des'] : null;
if ($det->delete($oc, $prod)) {
    $_SESSION['success_del'] = true;
} else {
    $_SESSION['error_tmp'] = "Ha ocurrido un error, trate de nuevo!";
}
header('Location: ' . ROOT_ADMIN . 'vistas/ListarDetalle.php');
Example #5
0
<?php

/*Llamadas de archivos necesarios
por medio de require*/
$titulo = "Detalle de Compra";
require __DIR__ . '/../../config/auth.php';
require __DIR__ . '/../../config/config.php';
require __DIR__ . '/../templates/header.php';
require __DIR__ . '/../templates/menu.php';
require __DIR__ . '/../templates/sidebar.php';
require __DIR__ . '/../../clases/Detalle_oc.php';
$idoc = isset($_GET['id']) && $_GET['id'] != "" ? $_GET['id'] : null;
$modeloDetalle = new Detalle();
$listaDetalle = $modeloDetalle->read($idoc);
/*
|--------------------------------------------------------------------------
| Contenido del Sitio
|--------------------------------------------------------------------------
|
| Aqui se agrega toda la funcionalidad de la pagina, especialmente deberia
| haber solo HTML cn algunos tags para PHP para acceder a variables.
|
*/
?>
<div class="content-wrapper">
	<!-- Header de la pagina -->
	<section class="content-header">
		<h1>Ordenes de Compra</h1>
		<ol class="breadcrumb">
		<li><a href="<?php 
echo ROOT_URL;
 public function alimentosVencidosSinEntregar()
 {
     $detalle = new Detalle();
     $alimentosVencidos = $detalle->obtenerVencidos();
     print json_encode(array("data" => $alimentosVencidos));
 }
 public function alta()
 {
     Session::tienePermiso('alta');
     $this->view->setEncabezado("Nueva entrega directa");
     $this->view->setTitulo("Entrega directa");
     if (isset($_POST['params'])) {
         $this->check_csrf('post');
         $this->actualizar_csrf();
         $datosEntregaDirecta = $_POST["params"];
         $datosEntregaDirecta['fecha'] = date('Y-m-d');
         $entregaDirecta = Entregadirecta::nuevo($datosEntregaDirecta);
         $this->validar($entregaDirecta);
         $datos = $this->organizarDatos($_POST["detalles"], $_POST["params"]);
         $this->validarDatos($datos, $entregaDirecta);
         if (count($entregaDirecta->getErrores()) != 0) {
             //creo las clases necesarias para el primer acceso al formulario
             $detalle = new Detalle();
             $entidad = new EntidadReceptora();
             $config = new Configuracion();
             //obtengo todas las entidades, el limite de vencimiento y los detalles disponibles
             $entidades = $entidad->obtenerTodos();
             $dias = $config->buscarPor("clave", "vencimiento_stock");
             $entrega = $detalle->obtenerPorVencer($dias[0]['valor']);
             // $alimentosListado = Alimento::getStockOfall();
             $this->view->setError("Modifique los campos indicados.");
             $this->view->renderizar("formulario", array("accion" => "alta", "entrega_directa" => $entregaDirecta, "pedidos" => $entrega, "entidades" => $entidades, "token" => $this->token, "token_id" => $this->token_id));
             exit;
         }
         $entregaDirecta->guardar();
         $paramsAlimentoEntregaDirecta['entrega_directa_id'] = $entregaDirecta->getId();
         $alimento_pedido = array();
         foreach ($datos["pedidos"] as $key => $val) {
             $alimento_pedido['entrega_directa_id'] = $paramsAlimentoEntregaDirecta['entrega_directa_id'];
             $alimento_pedido['detalle_alimento_id'] = $key;
             $alimento_pedido['cantidad'] = $val;
             $alimento_pedido['baja'] = 0;
             $alimentoPedido = Alimentoentregadirecta::inicializar($alimento_pedido);
             $alimentoPedido->guardar();
             $detalleAlimento = new Detalle();
             $detalleAli = $detalleAlimento->obtenerDetalleAlimento($key);
             $detalleAlimento = $detalleAlimento->inicializar($detalleAli[0]);
             $stockActual = $detalleAlimento->getStock();
             $auxiliar = $stockActual - $val;
             $detalleAlimento->setStock($auxiliar);
             $detalleAlimento->actualizar();
         }
         $detalle = new Detalle();
         $entidad = new EntidadReceptora();
         $config = new Configuracion();
         //obtengo todas las entidades, el limite de vencimiento y los detalles disponibles
         $entidades = $entidad->obtenerTodos();
         $dias = $config->buscarPor("clave", "vencimiento_stock");
         $entrega = $detalle->obtenerPorVencer($dias[0]['valor']);
         // $alimentosListado = Alimento::getStockOfall();
         $this->view->renderizar("formulario", array("accion" => "alta", "pedidos" => $entrega, "entidades" => $entidades, "token" => $this->token, "token_id" => $this->token_id));
     } else {
         //creo las clases necesarias para el primer acceso al formulario
         $detalle = new Detalle();
         $entidad = new EntidadReceptora();
         $config = new Configuracion();
         //obtengo todas las entidades, el limite de vencimiento y los detalles disponibles
         $entidades = $entidad->obtenerTodos();
         $dias = $config->buscarPor("clave", "vencimiento_stock");
         $entrega = $detalle->obtenerPorVencer($dias[0]['valor']);
         // $alimentosListado = Alimento::getStockOfall();
         $this->view->renderizar("formulario", array("accion" => "alta", "pedidos" => $entrega, "entidades" => $entidades, "token" => $this->token, "token_id" => $this->token_id));
     }
 }
 public function eliminar($id = null)
 {
     Session::tienePermiso('eliminar');
     $this->check_csrf('get');
     $this->actualizar_csrf();
     if (Detalle::exist($id)) {
         $bool = Detalle::borrar($id);
         if ($bool) {
             $this->redireccionar('alimento/listado');
         } else {
             $this->view->setError("No se pudo eliminar el alimento");
         }
     } else {
         $this->redireccionar('alimento/listado');
     }
 }
 $facturas = new Factura();
 $facturas->read();
 $sesion = new Session();
 $id = $sesion->get("id");
 $time = time();
 $fecha = date("Y-m-d H:i:s", $time);
 echo $fecha;
 $facturas->setId_cliente($id);
 $facturas->setFecha($fecha);
 $r = $gestorFactura->insert($facturas);
 echo "El id de la factura es " . $r;
 /*GENERAMOS EL DETALLE*/
 $id_juego = Request::post("id_juego");
 $precio = Request::post("precio");
 $gestorDetalle = new ManageDetalle($bd);
 $detalles = new Detalle();
 $detalles->read();
 //$detalles->setNum_factura("27");
 $detalles->setNum_factura($r);
 echo "el numero de la factura es " . $facturas->getNum_factura();
 $detalles->setId_juego($id_juego);
 $detalles->setCantidad($cantidad);
 echo "<br/> la cantidad es " . $cantidad;
 echo $precioTotal = $cantidad * $precio;
 $detalles->setPrecio($precioTotal);
 $r = $gestorDetalle->insert($detalles);
 /**/
 /*MODIFICAMOS EL STOCK DEL JUEGO*/
 echo "<br><br>";
 echo "<br><br>Stock Disponible " . $stockDisponible . "<br><br>";
 $juego->setStock($stockDisponible);
Example #10
0
 public function guardarPedido()
 {
     if (Request::ajax()) {
         $num_productos = count(Input::get('codigos'));
         $codigos = Input::get('codigos');
         $cantidades = Input::get('cantidades');
         $unidadManejo = Input::get('unidadManejo');
         $n_pedido = $this->tomarNumPedido();
         $pedido = new Pedido();
         $pedido->sede_id = Auth::user()->sede_id;
         $pedido->NumeroPedido = $n_pedido;
         $pedido->CodigoCliente = Auth::user()->Codigo_Cliente;
         $pedido->DescuentoNegociado = 0;
         $pedido->Status = 'PENDIENTE';
         $pedido->Enviado = 0;
         $pedido->save();
         /*$id_pedido = DB::table('pedidos')
                   ->insertGetId($nuevo_pedido);
           */
         $id_pedido = $pedido->id;
         if ($id_pedido) {
             for ($i = 0; $i < $num_productos; $i++) {
                 $producto = DB::table('productos')->where('Codigo', '=', $codigos[$i])->first();
                 $decremento = $cantidades[$i] * $unidadManejo[$i];
                 DB::table('inventarios')->where('user_id', '=', Auth::user()->id)->where('Codigo', '=', $codigos[$i])->decrement('Existencia', $decremento);
                 $detalle = new Detalle();
                 $detalle->pedido_id = $id_pedido;
                 $detalle->producto_id = $producto->id;
                 $detalle->Cantidad = $cantidades[$i];
                 $detalle->DescuentoNegociado = 0;
                 $detalle->save();
             }
             return Response::json(array("guardado" => true, "pedido_id" => $id_pedido));
         }
     }
 }
Example #11
0
require __DIR__ . '/clases/Orden_compra.php';
require __DIR__ . '/clases/Detalle_oc.php';
/*Usuario*/
$modeloUsers = new Usuario();
$listaUsers = $modeloUsers->read();
/*Tipo Producto*/
$modeloTipo = new Tipo();
$listaTipo = $modeloTipo->read();
/*Producto*/
$modeloProd = new Productos();
$listaprod = $modeloProd->read();
/*Orden de compra*/
$modeloOC = new Orden();
$listaOC = $modeloOC->read();
/*detalle*/
$modeloDet = new Detalle();
$listaDet = $modeloDet->read();
/*$modeloProducto = new Producto();
$listaProducto = $modeloProducto->obtenerTodos();*/
/*
|--------------------------------------------------------------------------
| Contenido del Sitio
|--------------------------------------------------------------------------
|
| Aqui se agrega toda la funcionalidad de la pagina, especialmente deberia
| haber solo HTML cn algunos tags para PHP para acceder a variables.
|
*/
?>
<div class="content-wrapper" onLoad="simple_reloj();" onUnload="stop();">
	<!-- Header de la pagina -->
 public function eliminarDetalle($id = null)
 {
     Session::acceso('eliminar_detalle');
     $this->check_csrf('get');
     $this->actualizar_csrf();
     $alimento = Detalle::getById($id);
     if ($alimento->getId() != null) {
         if ($alimento->borrar()) {
             $this->redireccionar('alimento/listado&m=b');
         } else {
             $this->view->setError("No se pudo eliminar el alimento");
         }
     } else {
         $this->redireccionar('alimento/listado');
     }
 }
 function insert(Detalle $detalle)
 {
     $parametros = $detalle->getArray();
     return $this->bd->insert($this->tabla, $parametros, false);
 }
 public function entregar($id)
 {
     Session::tienePermiso('entregar');
     $pedido = EstadoPedido::getById($id);
     $pedido->actualizar();
     $pedido_modelo = Pedidomodelo::getById($id);
     if ($pedido_modelo->getNumero() != null) {
         $items = Pedidomodelo::getDetalleOf($id);
         foreach ($items as $item) {
             $detalleAlimento = new Detalle();
             $detalleAli = $detalleAlimento->obtenerDetalleAlimento($item['detalle_alimento_id']);
             $detalleAlimento = $detalleAlimento->inicializar($item);
             $reservadoActual = $detalleAlimento->getReservado();
             $auxiliar = $reservadoActual - $item['cantidad'];
             $detalleAlimento->setReservado($auxiliar);
             $detalleAlimento->actualizar();
         }
     }
     $this->redireccionar('pedidomodelo/listado');
 }
 public function executeAsyncCargarDetalle(sfWebRequest $request)
 {
     $idProducto = $request->getParameter('idProducto');
     $numeroPedido = $request->getParameter('numeroPedido');
     $cantidad = $request->getParameter('cantidad');
     $pedido = Restaurant::getInstance()->buscarPedidoPorNumero($numeroPedido);
     if ($pedido == null) {
         //titat excep
     } else {
         $producto = Restaurant::getInstance()->buscarProductoPorId($idProducto);
         if ($producto == null) {
             //tirar excep
         } else {
             $detalle = $pedido->buscarProducto($producto);
             if ($detalle != null) {
                 $cantidadAux = $detalle->getCantidad() + $cantidad;
                 $detalle->setCantidad($cantidadAux);
                 $detalle->save();
             } else {
                 $detalle = new Detalle();
                 $detalle->setProducto($producto);
                 $detalle->setCantidad($cantidad);
                 //$detalle->save();
                 $pedido->agregarDetalle($detalle);
                 $pedido->save();
             }
             $json = $pedido->getJson();
             return $this->renderText($json->getString());
         }
     }
 }
Example #16
0
<?php

require '../clases/AutoCarga.php';
$bd = new DataBase();
$gestor = new ManageDetalle($bd);
$detalle = new Detalle();
$detalle->read();
$pkID = Request::post("pkID");
$r = $gestor->set($detalle, $pkID);
$bd->close();
//echo $r;
//var_dump($bd->getError());
header("Location:index.php?op=edit&r={$r}");
Example #17
0
| Controladores
|--------------------------------------------------------------------------
|
| Este archivo se encarga de guardar una nueva orden en el sistema.
|
*/
require __DIR__ . '/../../config/auth.php';
require __DIR__ . '/../../config/config.php';
require __DIR__ . '/../../clases/Detalle_oc.php';
require __DIR__ . '/../../clases/Productos.php';
if (!empty($_POST['producto']) && !empty($_POST['cantidad'])) {
    $id = $_SESSION['idorden'];
    $prod = $_POST['producto'];
    $cant = $_POST['cantidad'];
    $product = new Productos();
    $precio = $product->precio($prod);
    foreach ($precio as $row) {
        $subtot = $cant * $row['PRECIO'];
        break;
    }
    $det = new Detalle($id, $prod, $cant, $subtot);
    if ($det->insert()) {
        $_SESSION['susses_det'] = true;
        $_SESSION['total'] = $_SESSION['total'] + $subtot;
    } else {
        $_SESSION['error_tmp'] = "Detalle no ingresado";
    }
} else {
    $_SESSION['error_tmp'] = "Todos los campos son obligatorios.";
}
header('Location: ' . ROOT_ADMIN . 'vistas/agregarOC.php');
<?php

require '../clases/AutoCarga.php';
$bd = new DataBase();
$gestor = new ManageDetalle($bd);
$detalles = new Detalle();
$detalles->read();
$r = $gestor->insert($detalles);
$bd->close();
//echo $r;
//var_dump($bd->getError());
header("Location:index.php?op=insert&r={$r}");
<?php

require '../clases/AutoCarga.php';
$bd = new DataBase();
$gestorDetalle = new ManageDetalle($bd);
$detalles = new Detalle();
$detalles->read();
/**/
$cantidad = Request::post("cantidad");
$precio = $cantidad * $precio;
$detalles->setPrecio($precio);
$time = time();
$fecha = date("Y-m-d H:i:s", $time);
echo $fecha;
$r = $gestorDetalle->insert($detalles);
$bd->close();
echo $r;
var_dump($bd->getError());