예제 #1
0
 public function guardar(Request $request)
 {
     $codigo = $request->input('codigo');
     $entrada = Entrada::where('codigo', $codigo)->first();
     $entrada->base_grava = $request->input('Esubtotal');
     $entrada->total = $request->input('Etotal');
     $detalles = DetalleEntrada::where('compra_id', $entrada->codigo)->get();
     foreach ($detalles as $key => $value) {
         $producto = Producto::where('codigo', $value->producto_id)->first();
         $producto->stock += $value->cantidad;
         $producto->save();
     }
     $entrada->estado = 1;
     $entrada->save();
     $kardex = new Kardex();
     $kardex->factcmp_id = $entrada->codigo;
     $kardex->tipo_entrdsald = 1;
     $kardex->estado = 1;
     $kardex->save();
     $empresa = Empresa::where('id', 1)->first();
     $empresa->conse_entrada = $entrada->codigo;
     $empresa->save();
     $msg = 'Se ha guardado la entrada.';
     return redirect()->route('entradas')->with('status', $msg);
 }
예제 #2
0
 public function guardar(Request $request)
 {
     $codigo = $request->input('codigo');
     $factura = Factura::where('codigo', $codigo)->first();
     $factura->subtotal = $request->input('Esubtotal');
     $factura->total = $request->input('Etotal');
     $factura->forma = $request->input('forma');
     $factura->modo = $request->input('modo');
     $factura->descuento = $request->input('descuento');
     $detalles = DetalleFactura::where('factura_id', $factura->codigo)->get();
     foreach ($detalles as $key => $value) {
         $producto = Producto::where('codigo', $value->producto_id)->first();
         $producto->costo = $value->precio;
         $producto->stock -= $value->cantidad;
         $producto->save();
     }
     $factura->estado = 1;
     $factura->save();
     $kardex = new Kardex();
     $kardex->factcmp_id = $factura->codigo;
     $kardex->tipo_entrdsald = 2;
     $kardex->estado = 1;
     $kardex->save();
     $empresa = Empresa::where('id', 1)->first();
     $empresa->conse_factura = $factura->codigo;
     $empresa->save();
     $msg = 'Se ha guardado la factura.';
     return redirect()->route('facturas')->with('status', $msg);
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $nombre = Input::get('nombre');
     $producto = Producto::where('nombre', '=', $nombre)->where('activo', '=', '0')->first();
     // Si es nulo el producto no existe
     if (is_null($producto)) {
         $validaciones = ['nombre' => 'required|min:3|max:100|unique:tbl_productos', 'imagen' => 'required|image', 'precio' => 'required|numeric', 'categoria' => 'required'];
         $mensajes = ['nombre.required' => 'El nombre no debe de ser vacío', 'nombre.min' => 'El nombre debe ser mayor a 3 caracteres', 'nombre.max' => 'El nombre no debe ser mayor a 100 caracteres', 'nombre.unique' => 'El nombre ya existe', 'imagen.required' => 'Se necesita una imagen', 'imagen.image' => 'El archivo no es valido', 'precio.required' => 'El precio no debe ser vacío', 'precio.numeric' => 'Precio no valido', 'categoria.integer' => 'Se necesita una categoria'];
         $validar = Validator::make($request->all(), $validaciones, $mensajes);
         if ($validar->fails()) {
             return Redirect::back()->withErrors($validar)->withInput();
         } else {
             $file = Input::file('imagen');
             $destinationPath = 'imagenes/productos/';
             $filename = uniqid() . "." . $file->getClientOriginalExtension();
             $imagename = $destinationPath . $filename;
             if ($file->move($destinationPath, $filename)) {
                 $producto = new Producto();
                 $producto->nombre = $request->nombre;
                 $producto->detalles = $request->detalles;
                 $producto->precio = $request->precio;
                 $producto->categorias_id = $request->categoria;
                 $producto->imagen_principal = $imagename;
                 $producto->activo = 1;
                 $producto->save();
             }
             return redirect('productos');
         }
     } else {
         $validaciones = ['nombre' => 'required|min:3|max:100|', 'imagen' => 'required|image', 'precio' => 'required|numeric', 'categoria' => 'required'];
         $mensajes = ['nombre.required' => 'El nombre no debe de ser vacío', 'nombre.min' => 'El nombre debe ser mayor a 3 caracteres', 'nombre.max' => 'El nombre no debe ser mayor a 100 caracteres', 'nombre.unique' => 'El nombre ya existe', 'imagen.required' => 'Se necesita una imagen', 'imagen.image' => 'El archivo no es valido', 'precio.required' => 'El precio no debe ser vacío', 'precio.numeric' => 'Precio no valido', 'categoria.integer' => 'Se necesita una categoria'];
         $validar = Validator::make($request->all(), $validaciones, $mensajes);
         if ($validar->fails()) {
             return Redirect::back()->withErrors($validar)->withInput();
         } else {
             $file = Input::file('imagen');
             $destinationPath = 'imagenes/productos/';
             $filename = uniqid() . "." . $file->getClientOriginalExtension();
             $imagename = $destinationPath . $filename;
             if ($file->move($destinationPath, $filename)) {
                 $producto->nombre = $request->nombre;
                 $producto->detalles = $request->detalles;
                 $producto->precio = $request->precio;
                 $producto->categorias_id = $request->categoria;
                 $producto->imagen_principal = $imagename;
                 $producto->activo = 1;
                 $producto->save();
             }
             return redirect('productos');
         }
     }
 }
예제 #4
0
 public function postFlete(Request $request)
 {
     $codigo = $request->input('codigo');
     $total = $request->input('total');
     $flete = $request->input('flete');
     $porcentajeDetalle = $flete / $total;
     $detalles = DetalleEntrada::where('compra_id', $codigo)->get();
     foreach ($detalles as $detalle) {
         $flete_detalle = $detalle->subtotal * $porcentajeDetalle;
         $producto = Producto::where('codigo', $detalle->producto_id)->first();
         $flete_unitario = round($flete_detalle / $detalle->cantidad, 3);
         $producto->costo_flete = $flete_unitario;
         $producto->save();
     }
     return response()->json((object) array('status' => 'ok'));
 }
 public function buscarProducto(Request $request)
 {
     $prmProductos = Producto::where('nombre', 'LIKE', '%' . $request['nomProducto'] . '%')->paginate(8);
     return view('sitio.productos', compact('prmProductos'))->with('nomProducto', $request['nomProducto']);
 }
예제 #6
0
 public function index()
 {
     $productos = Producto::where('id', '>', 0)->get(['codigo', 'nombre', 'costo', 'stock', 'pvp1']);
     return response()->json($productos);
 }
예제 #7
0
 public function validarNp(Request $request)
 {
     if ($request->ajax()) {
         $repite = 0;
         $repite = Producto::where('id_patrimonial', $request->np)->count();
         return response()->json(['repetido' => $repite, 'id' => $request->id]);
     }
 }
예제 #8
0
 public function getdata()
 {
     $productos = Producto::where('estado', 1)->orderBy('nombre', 'asc')->get();
     $all = collect();
     foreach ($productos as $key => $value) {
         $item = array('id' => $value->codigo, 'nombre' => $value->nombre, 'costo' => $value->costo, 'pvp1' => $value->pvp1, 'pvp2' => $value->pvp2, 'pvp3' => $value->pvp3, 'pvp4' => $value->pvp4, 'pvp5' => $value->pvp5);
         $all->push($item);
     }
     return response()->json($all);
 }
 public function search(Request $request)
 {
     $nombre = $request->input('nombre_producto');
     return View('productos.search')->with('tables', Producto::where('nombre_producto', 'like', '%' . $nombre . '%')->paginate(7));
 }
예제 #10
0
 /**
  * Searches for an especific product name
  * @param Request $request
  * @return array|\Illuminate\Contracts\View\Factory|\Illuminate\View\View|mixed
  */
 public function search(Request $request)
 {
     $productos = Producto::where("name", 'like', '%' . $request->input("search") . '%')->orWhere("id", $request->input("search"))->orderBy('created_at', 'desc')->paginate(10);
     return view("productos.index", compact("productos"));
 }