public static function etapa($project_id, $stage_id) { return Activity_Stage::join('stages', 'stages.id', '=', 'activity_stage.stage_id')->join('desing_stage', 'desing_stage.stage_id', '=', 'stages.id')->join('designs', 'designs.id', '=', 'desing_stage.desing_id')->join('projects', 'projects.desing_id', '=', 'projects.id')->where('projects.id', '=', $project_id)->where('stages.id', '=', $stage_id)->get([DB::raw('count(activity_stage.id) as c')]); }
public function update($id, Request $request) { $design = Desing::find($id); $design->name = $request->get('name'); $design->save(); $tree = $request->get('data'); $stages_ids = array(); $activities_ids = array(); foreach ($tree as $node) { foreach ($node as $key => $attribute) { if ($key == 'stage_id') { array_push($stages_ids, $attribute); } } } foreach ($design->etapas as $etapa) { foreach ($etapa->actividades as $actividad) { $actividad->etapas()->detach($etapa->id); } $design->etapas()->detach($etapa->id); } foreach ($stages_ids as $ids) { $design->etapas()->attach($ids); } foreach ($tree as $leaf) { $act = Activity_Stage::create($leaf); $act->design_id = $design->id; $act->save(); } return response()->json($request->all()); }
/** * 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]); }