Correcion de EDITAR PM (Auth)

master
cgonzalesmo 2022-10-03 14:14:36 -05:00
parent 04972b9fb6
commit adae29fd81
1 changed files with 162 additions and 153 deletions

View File

@ -20,170 +20,179 @@ use App\Models\Responsables;
class PlanController extends Controller{ class PlanController extends Controller{
public function update(Request $request,$id){ public function update(Request $request,$id){
//Actualizamos los atributos propios $id_user = auth()->user()->id;
$plan = plan::find($id); if(plan::where(["id_user"=>$id_user,"id"=>$id])->exists()){
$plan -> update([ //Actualizamos los atributos propios
//"codigo" => $request->codigo, $plan = plan::find($id);
"nombre" => $request->nombre, $plan -> update([
"oportunidad_plan" => $request->oportunidad_plan, //"codigo" => $request->codigo,
"semestre_ejecucion" => $request->semestre_ejecucion, "nombre" => $request->nombre,
"duracion" => $request->duracion, "oportunidad_plan" => $request->oportunidad_plan,
"estado" => $request->estado, "semestre_ejecucion" => $request->semestre_ejecucion,
"evaluacion_eficacia" => $request->evaluacion_eficacia, "duracion" => $request->duracion,
"avance" => $request->avance, "estado" => $request->estado,
]); "evaluacion_eficacia" => $request->evaluacion_eficacia,
"avance" => $request->avance,
]);
//Actualizar estandar //Actualizar estandar
/*$estandar = Estandar::find($request->id_estandar); /*$estandar = Estandar::find($request->id_estandar);
if(isset($estandar)){ if(isset($estandar)){
$plan->estandars()->associate($estandar); $plan->estandars()->associate($estandar);
}*/ }*/
/*-------------------------------Fuentes------------------------------*/ /*-------------------------------Fuentes------------------------------*/
$fuentes = $request->fuentes; $fuentes = $request->fuentes;
//Eliminar fuentes que no esten en el Request //Eliminar fuentes que no esten en el Request
$existingsIds = collect($fuentes)->pluck('id')->filter(); $existingsIds = collect($fuentes)->pluck('id')->filter();
$plan->fuentes()->whereNotIn('id', $existingsIds)->delete(); $plan->fuentes()->whereNotIn('id', $existingsIds)->delete();
//Actualizar fuentes de estandar //Actualizar fuentes de estandar
if(isset($fuentes)){ if(isset($fuentes)){
foreach($fuentes as $fuente){ foreach($fuentes as $fuente){
$plan->fuentes()->updateOrCreate( $plan->fuentes()->updateOrCreate(
[ [
"id" => $fuente['id'] "id" => $fuente['id']
], ],
[ [
"descripcion" => $fuente['value'], "descripcion" => $fuente['value'],
"id_plan"=> $plan->id "id_plan"=> $plan->id
]); ]);
}
} }
} /*----------------------------Problemas-------------------------------*/
/*----------------------------Problemas-------------------------------*/ $problemas = $request->problemas;
$problemas = $request->problemas; //Eliminar problemas que no esten en el Request
//Eliminar problemas que no esten en el Request $existingsIds = collect($problemas)->pluck('id')->filter();
$existingsIds = collect($problemas)->pluck('id')->filter(); $plan->problemasOportunidade()->whereNotIn('id', $existingsIds)->delete();
$plan->problemasOportunidade()->whereNotIn('id', $existingsIds)->delete(); //Actualizar problemas de estandar
//Actualizar problemas de estandar if(isset($problemas)){
if(isset($problemas)){ foreach($problemas as $problema){
foreach($problemas as $problema){ $plan->problemasOportunidade()->updateOrCreate(
$plan->problemasOportunidade()->updateOrCreate( [
[ "id" => $problema['id']
"id" => $problema['id'] ],
], [
[ "descripcion" => $problema['value'],
"descripcion" => $problema['value'], "id_plan"=> $plan->id
"id_plan"=> $plan->id ]);
]); }
} }
} /*--------------------------------Causas-------------------------------*/
/*--------------------------------Causas-------------------------------*/ $causas = $request->causas_raices;
$causas = $request->causas_raices; //Eliminar causas que no esten en el Request
//Eliminar causas que no esten en el Request $existingsIds = collect($causas)->pluck('id')->filter();
$existingsIds = collect($causas)->pluck('id')->filter(); $plan->causasRaices()->whereNotIn('id', $existingsIds)->delete();
$plan->causasRaices()->whereNotIn('id', $existingsIds)->delete(); //Actualizar causas de estandar
//Actualizar causas de estandar if(isset($causas)){
if(isset($causas)){ foreach($causas as $causa){
foreach($causas as $causa){ $plan->causasRaices()->updateOrCreate(
$plan->causasRaices()->updateOrCreate( [
[ "id" => $causa['id']
"id" => $causa['id'] ],
], [
[ "descripcion" => $causa['value'],
"descripcion" => $causa['value'], "id_plan"=> $plan->id
"id_plan"=> $plan->id ]);
]); }
} }
} /*------------------------------Acciones-------------------------------*/
/*------------------------------Acciones-------------------------------*/ $acciones = $request->acciones;
$acciones = $request->acciones; //Eliminar acciones que no esten en el Request
//Eliminar acciones que no esten en el Request $existingsIds = collect($acciones)->pluck('id')->filter();
$existingsIds = collect($acciones)->pluck('id')->filter(); $plan->accionesMejoras()->whereNotIn('id', $existingsIds)->delete();
$plan->accionesMejoras()->whereNotIn('id', $existingsIds)->delete(); //Actualizar acciones de estandar
//Actualizar acciones de estandar if(isset($acciones)){
if(isset($acciones)){ foreach($acciones as $accion){
foreach($acciones as $accion){ $plan->accionesMejoras()->updateOrCreate(
$plan->accionesMejoras()->updateOrCreate( [
[ "id" => $accion['id']
"id" => $accion['id'] ],
], [
[ "descripcion" => $accion['value'],
"descripcion" => $accion['value'], "id_plan"=> $plan->id
"id_plan"=> $plan->id ]);
]); }
} }
} /*------------------------------Recursos-------------------------------*/
/*------------------------------Recursos-------------------------------*/ $recursos = $request->recursos;
$recursos = $request->recursos; //Eliminar recursos que no esten en el Request
//Eliminar recursos que no esten en el Request $existingsIds = collect($recursos)->pluck('id')->filter();
$existingsIds = collect($recursos)->pluck('id')->filter(); $plan->recursos()->whereNotIn('id', $existingsIds)->delete();
$plan->recursos()->whereNotIn('id', $existingsIds)->delete(); //Actualizar recursos de estandar
//Actualizar recursos de estandar if(isset($recursos)){
if(isset($recursos)){ foreach($recursos as $recurso){
foreach($recursos as $recurso){ $plan->recursos()->updateOrCreate(
$plan->recursos()->updateOrCreate( [
[ "id" => $recurso['id']
"id" => $recurso['id'] ],
], [
[ "descripcion" => $recurso['value'],
"descripcion" => $recurso['value'], "id_plan"=> $plan->id
"id_plan"=> $plan->id ]);
]); }
} }
} /*--------------------------------Metas-------------------------------*/
/*--------------------------------Metas-------------------------------*/ $metas = $request->metas;
$metas = $request->metas; //Eliminar metas que no esten en el Request
//Eliminar metas que no esten en el Request $existingsIds = collect($metas)->pluck('id')->filter();
$existingsIds = collect($metas)->pluck('id')->filter(); $plan->metas()->whereNotIn('id', $existingsIds)->delete();
$plan->metas()->whereNotIn('id', $existingsIds)->delete(); //Actualizar metas de estandar
//Actualizar metas de estandar if(isset($metas)){
if(isset($metas)){ foreach($metas as $meta){
foreach($metas as $meta){ $plan->metas()->updateOrCreate(
$plan->metas()->updateOrCreate( [
[ "id" => $meta['id']
"id" => $meta['id'] ],
], [
[ "descripcion" => $meta['value'],
"descripcion" => $meta['value'], "id_plan"=> $plan->id
"id_plan"=> $plan->id ]);
]); }
} }
} /*---------------------------Responsables-------------------------------*/
/*---------------------------Responsables-------------------------------*/ $responsables = $request->responsables;
$responsables = $request->responsables; //Eliminar responsables que no esten en el Request
//Eliminar responsables que no esten en el Request $existingsIds = collect($responsables)->pluck('id')->filter();
$existingsIds = collect($responsables)->pluck('id')->filter(); $plan->responsables()->whereNotIn('id', $existingsIds)->delete();
$plan->responsables()->whereNotIn('id', $existingsIds)->delete(); //Actualizar responsables de estandar
//Actualizar responsables de estandar if(isset($responsables)){
if(isset($responsables)){ foreach($responsables as $responsable){
foreach($responsables as $responsable){ $plan->responsables()->updateOrCreate(
$plan->responsables()->updateOrCreate( [
[ "id" => $responsable['id']
"id" => $responsable['id'] ],
], [
[ "nombre" => $responsable['value'],
"nombre" => $responsable['value'], "id_plan"=> $plan->id
"id_plan"=> $plan->id ]);
]); }
} }
} /*--------------------------Observaciones-------------------------------*/
/*--------------------------Observaciones-------------------------------*/ $observaciones = $request->observaciones;
$observaciones = $request->observaciones; //Eliminar observaciones que no esten en el Request
//Eliminar observaciones que no esten en el Request $existingsIds = collect($observaciones)->pluck('id')->filter();
$existingsIds = collect($observaciones)->pluck('id')->filter(); $plan->observaciones()->whereNotIn('id', $existingsIds)->delete();
$plan->observaciones()->whereNotIn('id', $existingsIds)->delete(); //Actualizar observaciones de estandar
//Actualizar observaciones de estandar if(isset($observaciones)){
if(isset($observaciones)){ foreach($observaciones as $observacion){
foreach($observaciones as $observacion){ $plan->observaciones()->updateOrCreate(
$plan->observaciones()->updateOrCreate( [
[ "id" => $observacion['id']
"id" => $observacion['id'] ],
], [
[ "descripcion" => $observacion['value'],
"descripcion" => $observacion['value'], "id_plan"=> $plan->id
"id_plan"=> $plan->id ]);
]); }
} }
return response()->json($plan, 200);
} }
else{
return response([
"status" => 0,
"message" => "!No se encontro el plan o no esta autorizado",
],404);
}
return response()->json($plan, 200);
} }
// Arreglar el formato de IDs // Arreglar el formato de IDs