/** * Store a newly created resource in storage. * * @return Response */ public function store(Requests\BeneficiatyCreateRequest $request) { $proyecto = Project::find($request->get('project_id')); if ($proyecto == null) { return redirect()->back()->with('errors', 'El proyecto no existe'); } $homes = Beneficiary::where('project_id', '=', $proyecto->id)->get(); if (count($homes) >= $proyecto->quantity) { Session::flash('message', 'Este proyecto tiene el maximo numero de beneficiarios'); return redirect()->to('admin/proyectos'); } else { $beneficiario = Beneficiary::create($request->all()); $beneficiario->birthdate = Carbon::parse($request->get('birthdate')); $beneficiario->save(); $etapas_project = Project::where('projects.id', '=', $proyecto->id)->join('designs', 'designs.id', '=', 'projects.desing_id')->join('desing_stage', 'desing_stage.desing_id', '=', 'designs.id')->join('stages', 'stages.id', '=', 'desing_stage.stage_id')->join('activity_stage', 'activity_stage.stage_id', '=', 'stages.id')->join('activities', 'activities.id', '=', 'activity_stage.activity_id')->groupBy('activities.id')->get(['activities.id as id']); foreach ($etapas_project as $e) { $avance = new Advanced(); $avance->porcent = 0.0; $avance->state = 4; $avance->beneficiary_id = $beneficiario->id; $avance->save(); $avance->actividades()->attach($e->id); } Session::flash('message', 'Beneficiario creado de forma correcta'); return redirect()->to('admin/beneficiarios'); } }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function addAvance(Request $request) { $estado = $request->get('estado'); if ($estado == 'problemas') { $home = Beneficiary::where('id', '=', $request->get('beneficario_id'))->first(); $avance = new Advanced(); $avance->problema = $request->get('problemas')[0]; $avance->state = 2; $avance->fecha_visita = Carbon::now(); $avance->beneficiary_id = $home->id; $home->save(); $avance->save(); return response()->json($home->id); } if ($estado == 'ejecucion') { $home = Beneficiary::where('id', '=', $request->get('beneficario_id'))->first(); foreach ($request->get('porcentaje') as $key => $porcent) { $avance = new Advanced(); $avance->state = 4; $avance->porcent = $porcent; $avance->fecha_visita = Carbon::now(); $avance->beneficiary_id = $home->id; $avance->resident_id = Auth::user()->id; $avance->save(); $a_s = new Advanced_Activity(); $a_s->advanced_id = $avance->id; $a_s->activity_id = $request->get('ids')[$key]; $a_s->save(); } return response()->json('success'); } if ($estado == 'entrega') { $home = Beneficiary::where('id', '=', $request->get('beneficario_id'))->first(); $avance = new Advanced(); $avance->state = 3; $avance->fecha_visita = Carbon::now(); $avance->observaciones = $request->get('observacion'); $avance->beneficiary_id = $home->id; $avance->resident_id = Auth::user()->id; $home->save(); $avance->save(); return response()->json('success'); } if ($estado == 'terminada') { $home = Beneficiary::where('id', '=', $request->get('beneficario_id'))->first(); $avance = new Advanced(); $avance->state = 5; $avance->fecha_visita = Carbon::now(); $avance->observaciones = $request->get('observacion'); $avance->beneficiary_id = $home->id; $avance->resident_id = Auth::user()->id; $home->save(); $avance->save(); return response()->json('success'); } if ($estado == 'renuncia') { $home = Beneficiary::where('id', '=', $request->get('beneficario_id'))->first(); $avance = new Advanced(); $avance->state = 6; $avance->fecha_visita = Carbon::now(); $avance->beneficiary_id = $home->id; $avance->resident_id = Auth::user()->id; $home->save(); $avance->save(); return response()->json('success'); } }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function crear(Request $request) { $data = $request->all(); $actividad = new Activity_Stage(); $actividad->stage_project_id = $data['project_stage_id']; $actividad->activity_id = $data['activity_id']; $actividad->unity = $data['unity']; $actividad->other_unity = $data['other_unity']; $actividad->quantity = $data['quantity']; $actividad->material = $data['material']; $actividad->hand = $data['hand']; $actividad->transport = $data['transport']; $actividad->save(); $project = Project::find($data['project_id']); $homes = Home::where('project_id', '=', $project->id)->get(); foreach ($homes as $home) { $avance = new Advanced(); $avance->porcent = 0.0; $avance->state = 4; $avance->home_id = $home->id; $avance->project_stage_id = $actividad->stage_project_id; $avance->save(); } $all = Activity_Stage::join('project_stage', 'project_stage.id', '=', 'activity_stage.stage_project_id')->join('projects', 'projects.id', '=', 'project_stage.project_id')->where('projects.id', '=', $project->id)->get(['activity_stage.*']); $valor_total = 0; foreach ($all as $a) { $valor = 0; $valor += $a->hand + $a->transport + $a->material; $valor_total += $valor * $a->quantity; } $project->budget = 0; $project->budget = $valor_total; $project->save(); return response()->json([$all]); }