validate([ "estandar_id"=> "required|integer", "nombre"=>"required|max:255", "codigo"=> "required|max:11", "fuentes"=>"required", "fuentes.*.descripcion"=> "required", "problemas_oportunidades"=>"required", "problemas_oportunidades.*.descripcion"=> "required", "causas_raices"=>"required", "causas_raices.*.descripcion"=> "required", "oportunidad_plan"=>"required|max:255", "acciones_mejoras"=>"required", "acciones_mejoras.*.descripcion"=> "required", "semestre_ejecucion"=>"required|max:7", "duracion"=> "required|integer", "recursos"=>"required", "recursos.*.descripcion"=> "required", "metas"=>"required", "metas.*.descripcion"=> "required", "responsables"=>"required", "responsables.*.nombre"=> "required", "observaciones"=>"required", "observaciones.*.descripcion"=> "required", "estado"=> "required|max:30", "evidencias_planes_mejoras"=>"required", "evidencias_planes_mejoras.*.codigo"=> "required", "evidencias_planes_mejoras.*.denominacion"=> "required", "evidencias_planes_mejoras.*.encargado_id"=> "required", "evidencias_planes_mejoras.*.adjunto"=> "required", "evaluacion_eficacia"=> "required|boolean", "avance"=> "required|integer", ]); $id_user = auth()->user()->id; $plan = new plan(); $plan->id_user = $id_user; $plan->id_estandar = $request->estandar_id; //actualizar a estandar_id $plan->nombre = $request->nombre; $plan->codigo = $request->codigo; $plan->oportunidad_plan = $request->oportunidad_plan; $plan->semestre_ejecucion = $request->semestre_ejecucion; $plan->duracion = $request->duracion; $plan->estado = $request->estado; $plan->evaluacion_eficacia = $request->evaluacion_eficacia; $plan->avance = $request->avance; $plan->save(); $id_plan = $plan->id; foreach($request->fuentes as $fuente){ $fuentes_aux = new Fuentes(); $fuentes_aux->descripcion = $fuente["descripcion"]; $fuentes_aux->id_plan = $id_plan; $fuentes_aux->save(); } foreach($request->problemas_oportunidades as $problema){ $problemas_oportunidades_aux = new ProblemasOportunidades(); $problemas_oportunidades_aux->descripcion = $problema["descripcion"]; $problemas_oportunidades_aux->id_plan = $id_plan; $problemas_oportunidades_aux->save(); } foreach($request->causas_raices as $causa){ $causas_raices_aux = new CausasRaices(); $causas_raices_aux->descripcion = $causa["descripcion"]; $causas_raices_aux->id_plan = $id_plan; $causas_raices_aux->save(); } foreach($request->acciones_mejoras as $accion){ $acciones_mejoras_aux = new AccionesMejoras(); $acciones_mejoras_aux->descripcion = $accion["descripcion"]; $acciones_mejoras_aux->id_plan = $id_plan; $acciones_mejoras_aux->save(); } foreach($request->recursos as $recurso){ $recursos_aux = new Recursos(); $recursos_aux->descripcion = $recurso["descripcion"]; $recursos_aux->id_plan = $id_plan; $recursos_aux->save(); } foreach($request->metas as $meta){ $meta_aux = new Metas(); $meta_aux->descripcion = $meta["descripcion"]; $meta_aux->id_plan = $id_plan; $meta_aux->save(); } foreach($request->observaciones as $observacion){ $observaciones_aux = new Observaciones(); $observaciones_aux->descripcion = $observacion["descripcion"]; $observaciones_aux->id_plan = $id_plan; $observaciones_aux->save(); } /* $evidencias_planes_mejoras = new Evidencias(); Falta completar $responsables = new Responsables(); Falta completar */ return response([ "status" => 1, "message" => "!Plan de mejora creado exitosamente", ]); } public function listPlan(){ $planAll = plan::select('plans.id', 'plans.codigo','plans.avance','plans.estado','estandars.name as estandar_name','users.name as user_name') ->join('estandars', 'plans.id_estandar', '=', 'estandars.id') ->join('users', 'plans.id_user', '=', 'users.id') ->orderBy('id','asc') ->get(); return response([ "status" => 1, "message" => "!Lista de planes de mejora", "data" => $planAll, ]); } public function updatePlan(Request $request, $id){ $id_user = auth()->user()->id; if(plan::where(["id_user"=>$id_user,"id"=>$id])->exists()){ $plan = plan::find($id); $plan->name = isset($request->name) ? $request->name : $plan->title; $plan->save(); return response([ "status" => 1, "message" => "!Plan de mejora actualizado", "data" => $plan, ]); } else{ return response([ "status" => 0, "message" => "!No se encontro el plan o no esta autorizado", ],404); } } public function deletePlan($id){ $id_user = auth()->user()->id; if(plan::where(["id"=>$id,"id_user"=>$id_user])->exists()){ $plan = plan::where(["id"=>$id,"id_user"=>$id_user])->first(); $plan->delete(); return response([ "status" => 1, "message" => "!Plan de mejora eliminado", ]); } else{ return response([ "status" => 0, "message" => "!No se encontro el plan de mejora o no esta autorizado", ],404); } } public function showPlan($id){ if(plan::where("id",$id)->exists()){ $plan = plan::find($id); return response([ "status" => 1, "message" => "!plan", "data" => $plan, ]); } else{ return response([ "status" => 0, "message" => "!No se encontro el plan de mejora", ],404); } } }