public function GenerarLiquidacion($legajos, $anio, $mes, $user_id, $tipo = null) { DB::transaction(function () use($legajos, $mes, $anio, $user_id, $tipo) { if (!is_null($tipo)) { Liquidacion::where('mes', $mes)->where('año', $anio)->where('tipo', $tipo)->delete(); } else { Liquidacion::where('mes', $mes)->where('año', $anio)->delete(); } $this->IniciarLiquidacion($mes, $anio, $user_id, $tipo); $empleados = Employees::DelLegajo($legajos)->get(); if ($empleados->isEmpty()) { Flash::error('employees not found'); return redirect(route('employees.index')); } $reciboDel = Recibo::DelPeriodo($mes, $anio)->DelLegajo($legajos)->DelTipo($tipo)->get(); if (!$reciboDel->isEmpty()) { foreach ($reciboDel as $recibo) { foreach ($recibo->conceptos as $concepto) { ConceptosenRecibos::find($concepto->id)->delete(); } Recibo::find($recibo->id)->delete(); } } foreach ($empleados as $empleado) { $this->liquidar_empleado($mes, $anio, $empleado, $tipo); } $this->CerrarLiquidacion($legajos, $mes, $anio, $empleados); }); }
/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $user = \Auth::user(); $userRole = $user->hasRole('user'); $editorRole = $user->hasRole('editor'); $adminRole = $user->hasRole('administrator'); if ($userRole) { $access = 'User'; } elseif ($editorRole) { $access = 'Editor'; } elseif ($adminRole) { $access = 'Administrator'; } $today = Carbon::today(); $año = $today->year; // int(2012) $mes = $today->month; $Activos = Employees::Activos()->count(); $Bajas = EstadosRevista::BajasDelMes($año, $mes)->count(); $AltasNuevas = Employees::Activos()->get()->sortBy('Fecha_Ingreso')->forPage(1, 8); $Liquidaciones = Liquidacion::where('año', $año)->where('mes', '<=', 12)->whereNull('deleted_at')->orderBy('mes')->get(); $UltimaLiquidacion = Liquidacion::where('año', $año)->where('mes', '<=', 12)->whereNull('deleted_at')->orderBy('mes', 'desc')->first(); $AnteUltimaLiquidacion = Liquidacion::where('año', $año)->where('mes', '<=', $UltimaLiquidacion->mes)->whereNull('deleted_at')->orderBy('mes', 'desc')->first(); $Meses = $Liquidaciones->sortByDesc('mes')->lists('mes'); $Reten = $Liquidaciones->sortByDesc('mes')->lists('total_retenciones')->toArray(); $Debes = $Liquidaciones->sortByDesc('mes')->lists('total_debes')->toArray(); setlocale(LC_TIME, 'Spanish'); $MesesEsp = []; foreach ($Meses as $MesEsp) { $MesesEsp = array_prepend($MesesEsp, '"' . Carbon::createFromDate($año, $MesEsp, 1)->formatLocalized('%B') . '"'); } return view('admin.pages.user-home', compact('Activos', 'Bajas', 'AltasNuevas', 'Liquidaciones', 'UltimaLiquidacion', 'AnteUltimaLiquidacion', 'MesesEsp', 'Debes', 'Reten'))->withUser($user)->withAccess($access); }