Esempio n. 1
0
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index()
 {
     if (Auth::user()->securityLevel > 20) {
         //      1) Busco todos los almacenes de la empresa que tiene seleccionada el usuario
         $arrayW = DB::table('warehouses')->select('id')->where('company_id', Auth::user()->current_company_id)->get();
         $arrayW = collect($arrayW);
         //      2) Busco los movimientos de esos almacenes
         $movements = Movement::whereIn('status_id', ['1', '2'])->whereIn('origin_id', $arrayW->lists('id')->toArray())->orderBy('id', 'desc')->paginate(10);
     } else {
         //      Si es un técnico, Busco los movimientos solo de ese usuario
         $movements = Movement::whereIn('status_id', ['1', '2'])->where('user_id', Auth::user()->id)->orderBy('id', 'desc')->paginate(10);
     }
     $title = 'Últimos Movimientos';
     return view('movements.index', compact('movements', 'title'));
 }
Esempio n. 2
0
 public function movimientosPorUsuario(Request $request)
 {
     $desde = date_format(date_create($request->fechaDesde), "Y/m/d H:i:s");
     $hasta = date_format(date_create($request->fechaHasta), "Y/m/d 23:59:99");
     if ($request->rdUser == 'all') {
         //       Traigo todos los almacenes (que no han sido borrados) que pertenecen a la compañía seleccionada por usuario
         $arrayW = collect(DB::table('warehouses')->select('id')->whereNull('deleted_at')->where('company_id', $request->companyList)->get());
         //       Traigo todos los movimientos sobre los almacenes seleccionados
         $movements = Movement::whereIn('origin_id', $arrayW->lists('id')->toArray())->where('created_at', '>=', $desde)->where('created_at', '<=', $hasta)->whereIn('status_id', [1, 2, 4])->orderBy('user_id', 'desc')->get();
     } else {
         $movements = Movement::where('user_id', $request->user)->whereIn('status_id', [1, 2, 4])->orderBy('id', 'desc')->get();
     }
     return view('reports.movimientosPorUsuario', compact('movements'));
 }