Esempio n. 1
0
 public function autocompleteBuscarEquipo()
 {
     $term = Input::get('term');
     $results = array();
     $queries = Movement::where('serial', 'LIKE', '%' . $term . '%')->take(10)->get();
     foreach ($queries as $query) {
         $results[] = ['id' => $query->id, 'value' => $query->serial];
     }
     return $results;
 }
 /**
  * Bootstrap the application services.
  *
  * @return void
  */
 public function boot()
 {
     //
     Movement::created(function ($movement) {
         $i = $movement->item;
         $i->quantity += $movement->quantity;
         $movement->result_quantity = $i->quantity;
         $movement->save();
         $i->save();
     });
 }
Esempio n. 3
0
 public function rejectMovement(Request $request)
 {
     if (Auth::user()->securityLevel >= 20) {
         $m = Movement::findOrFail($request->id);
         $m->update(['status_id' => '4', 'approved_by' => Auth::user()->id, 'note' => $request->note]);
         $arrayM = ['article' => $m->article->name, 'origen' => $m->origin->name, 'destino' => $m->destination->name, 'created_at' => $m->created_at, 'ticket' => $m->ticket, 'cantidad' => $m->quantity, 'nota' => $m->note];
         $result = Mail::send('emails.movementRejected', $arrayM, function ($message) use($m) {
             //                $message->from($request->email);
             $message->to($m->user->email)->subject('Tu movimiento ha sido rechazado')->replyTo(Auth::user()->email);
         });
     }
     return $request->id;
 }
 public function all($entity)
 {
     parent::all($entity);
     $this->filter = \DataFilter::source(\App\Movement::with('person', 'category', 'group'));
     $this->filter->build();
     $this->grid = \DataGrid::source($this->filter);
     $this->grid->add('fecha', 'Fecha', 'date');
     $this->grid->add('tipo', 'Tipo');
     $this->grid->add('monto', 'Monto');
     $this->grid->add('{{ $category->nombre }}', 'Categoría', 'category_id');
     $this->grid->add('{{ $person->nombre }}', 'Persona', 'person_id');
     $this->grid->add('{{ $group->nombre }}', 'Grupo', 'group_id');
     $this->addStylesToGrid();
     return $this->returnView();
 }
 public function show()
 {
     $meses = ['01' => 'Enero', '02' => 'Febrero', '03' => 'Marzo', '04' => 'Abril', '05' => 'Mayo', '06' => 'Junio', '07' => 'Julio', '08' => 'Agosto', '09' => 'Septiembre', '10' => 'Octubre', '11' => 'Noviembre', '12' => 'Diciembre'];
     $movimientos = Movement::all()->where('tipo', 'ingreso')->groupBy(function ($item) {
         return date('Y', strtotime($item->fecha));
     })->each(function ($year) {
         $year->total = $year->sum('monto');
         $year->meses = $year->groupBy(function ($item) {
             return date('m', strtotime($item->fecha));
         })->sort()->reverse();
         $year->meses->each(function ($month) {
             $month->total = $month->sum('monto');
         });
     });
     return view('ingresos', ['tab' => 'ingresos'])->with('movimientos', $movimientos)->with('meses', $meses);
 }
Esempio n. 6
0
 public function findInactiveArticles(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");
     $inactivos = 0;
     $active = Movement::select('article_id')->distinct()->where('created_at', '>', $desde)->where('created_at', '<', $hasta)->get();
     $activos = $active->count();
     $articles = Article::whereNotIn('id', $active)->get();
     //        dd($articles);
     foreach ($articles as $article) {
         $inactivos++;
         $article->update(['active' => 0]);
         //            dd($article);
     }
     return view('settings.findInactiveArticles', compact('activos', 'inactivos'));
 }
Esempio n. 7
0
 /**
  * Recibe el ID de un articulo y devuelve arreglo con los seriales de ese articulo que se encuentran
  * en el almacén actual
  * @param $art
  * @return array
  */
 private function buscarSeriales($art)
 {
     // status 1: Aprobado, Status 2: por aprobar
     if ($art->serializable == '1') {
         $out = Movement::select(DB::raw('DISTINCT(serial)'))->whereIn('status_id', [1, 2])->where('origin_id', '=', $this->id)->where('article_id', $art->id)->orderBy('id', 'asc')->get()->toArray();
         foreach ($out as $movOut) {
             $seriales[] = $movOut['serial'];
         }
         if (count($out) > 0) {
             $s = DB::table('movements')->select(DB::raw('DISTINCT(serial)'))->whereIn('status_id', [1, 2])->whereNotIn('serial', $seriales)->where('destination_id', '=', $this->id)->where('article_id', $art->id)->orderBy('id', 'asc')->get();
         } else {
             $s = DB::table('movements')->select(DB::raw('DISTINCT(serial)'))->whereIn('status_id', [1, 2])->where('destination_id', '=', $this->id)->where('article_id', $art->id)->orderBy('id', 'asc')->get();
         }
     } else {
         $s[] = '';
     }
     return $s;
 }
Esempio n. 8
0
 /**
  * Devuelve el ultimo movimiento APROBADO del articulo con el serial indicado
  * retorna un movimiento vacío si no se encuentran movimientos del artículo
  * @param $serial
  * @return Movement
  */
 private function lastMovement($serial)
 {
     $mov = Movement::where('serial', '=', $serial)->where('status_id', '=', 1)->orderBy('id', 'desc')->first();
     if (is_null($mov)) {
         $mov = new Movement();
     }
     return $mov;
 }
Esempio n. 9
0
 public function buscarEquipo($serial)
 {
     $movements = Movement::where('serial', $serial)->orderBy('id', 'desc')->paginate(20);
     $title = 'Últimos movimientos de MAC ' . $serial;
     return view('movements.index', compact('movements', 'title'));
 }