public function store(Request $request) { $almacen = Almacen::find($request->almacen); if (!$almacen->verificaCapacidad($request->cantidad)) { Session::flash('message', 'No hay suficiente espacio en el almacen.'); return view('produccion'); } $almacen->actualizaStock($request->cantidad); $inventario = new Inventario(); $inventario->fechacosecha = $request->fechacosecha; $inventario->cantidad = $request->cantidad; $inventario->status = 4; $inventario->id_producto = $request->producto; $inventario->id_almacen = $request->almacen; $inventario->save(); $produccion = new Produccion(); $produccion->precio = $request->costo; $produccion->caracteristicas = $request->caracteristicas; $produccion->dificultades = $request->dificultades; $produccion->id_ciudad = $request->id_ciudad; $produccion->id_inventario = $inventario->id; $produccion->cantidad = $request->cantidad; $produccion->save(); Session::flash('message', 'Acción completada con éxito'); return Redirect::to('produccion'); }
public function store(Request $request) { $almacen = Almacen::find($request->almacen); if (!$almacen->verificaCapacidad($request->cantidad)) { Session::flash('message', 'No existe espacio suficiente en el almacen, intenta con otro.'); return Redirect::to('compra'); } $almacen->actualizaStock($request->cantidad); $inventario = new Inventario(); $inventario->fechacosecha = $request->fechacosecha; $inventario->cantidad = $request->cantidad; $pais = Pais::find($request->pais); if (strcmp($pais->pais, 'México') !== 0) { $inventario->status = 0; } else { $inventario->status = 4; } $inventario->id_producto = $request->producto; $inventario->id_almacen = $request->almacen; $inventario->save(); $compra = new Compra(); $compra->precio = $request->costo; $compra->proveedor = $request->proveedor; $compra->id_ciudad = $request->id_ciudad; $compra->id_inventario = $inventario->id; $compra->cantidad = $request->cantidad; $compra->save(); Session::flash('message', 'Acción completada con éxito'); return Redirect::to('compra'); }
public function PEPS($linea) { $total = 0; //variable auxiliar while ($total != $linea->cantidad) { //consulta que regresa del inv la cosecha mas vieja $oldInv = DB::table('inventarios')->where('status', '>=', 3)->where('cantidad', '>', 0)->where('id_producto', $linea->producto->id)->orderBy('fechacosecha', 'asc')->take(1)->get(); $inv = Inventario::find($oldInv[0]->id); if ($inv->cantidad <= $linea->cantidad - $total) { $total = $total + $inv->cantidad; $inv->cantidad = 0; } else { $inv->cantidad = $inv->cantidad - ($linea->cantidad - $total); $total = $linea->cantidad; } $inv->save(); } }
public function update(Request $request, $id) { $salidaJSON = array(); $lineasInventario = Inventario::all(); foreach ($request->datos as $index => $linea) { $lineaCarrito = LineaCarrito::find($linea[0]); $disponible = 0; foreach ($lineasInventario as $i => $lineaInv) { if ($lineaInv->id_producto == $lineaCarrito->producto->id && $lineaInv->status >= 3) { $disponible = $disponible + $lineaInv->cantidad; } } if ($linea[1] > $disponible) { return response()->json(['mensaje' => 'No se cuenta con la cantidad solicitada <br> O es producto en proceso de certificación', 'producto' => $lineaCarrito->producto, 'cantidad' => $disponible]); } $lineaCarrito->cantidad = $linea[1]; $lineaCarrito->save(); array_push($salidaJSON, $lineaCarrito->subTotal()); } return response()->json($salidaJSON); }