Update PlanController y EstandarController
This commit is contained in:
parent
c0cfefc002
commit
b0ed11c56b
@ -18,15 +18,182 @@
|
|||||||
|
|
||||||
|
|
||||||
class PlanController extends Controller{
|
class PlanController extends Controller{
|
||||||
|
public function update(Request $request,$id){
|
||||||
|
|
||||||
|
//Actualizamos los atributos propios
|
||||||
|
$plan = plan::find($id);
|
||||||
|
$plan -> update([
|
||||||
|
//"codigo" => $request->codigo,
|
||||||
|
"nombre" => $request->nombre,
|
||||||
|
"oportunidad_plan" => $request->oportunidad_plan,
|
||||||
|
"semestre_ejecucion" => $request->semestre_ejecucion,
|
||||||
|
"duracion" => $request->duracion,
|
||||||
|
"estado" => $request->estado,
|
||||||
|
"evaluacion_eficacia" => $request->evaluacion_eficacia,
|
||||||
|
"avance" => $request->avance,
|
||||||
|
]);
|
||||||
|
|
||||||
|
//Actualizar estandar
|
||||||
|
$estandar = Estandar::find($request->estandar_id);
|
||||||
|
if(isset($estandar)){
|
||||||
|
$plan->estandars()->associate($estandar);
|
||||||
|
}
|
||||||
|
/*-------------------------------Fuentes------------------------------*/
|
||||||
|
$fuentes = $request->fuentes;
|
||||||
|
//Eliminar fuentes que no esten en el Request
|
||||||
|
$existingsIds = collect($fuentes)->pluck('id')->filter();
|
||||||
|
$plan->fuentes()->whereNotIn('id', $existingsIds)->delete();
|
||||||
|
//Actualizar fuentes de estandar
|
||||||
|
if(isset($fuentes)){
|
||||||
|
foreach($fuentes as $fuente){
|
||||||
|
$plan->fuentes()->updateOrCreate(
|
||||||
|
[
|
||||||
|
"id" => $fuente['id']
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"descripcion" => $fuente['value'],
|
||||||
|
"id_plan"=> $plan->id
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*----------------------------Problemas-------------------------------*/
|
||||||
|
$problemas = $request->problemas;
|
||||||
|
//Eliminar problemas que no esten en el Request
|
||||||
|
$existingsIds = collect($problemas)->pluck('id')->filter();
|
||||||
|
$plan->problemasOportunidade()->whereNotIn('id', $existingsIds)->delete();
|
||||||
|
//Actualizar problemas de estandar
|
||||||
|
if(isset($problemas)){
|
||||||
|
foreach($problemas as $problema){
|
||||||
|
$plan->problemasOportunidade()->updateOrCreate(
|
||||||
|
[
|
||||||
|
"id" => $problema['id']
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"descripcion" => $problema['value'],
|
||||||
|
"id_plan"=> $plan->id
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*--------------------------------Causas-------------------------------*/
|
||||||
|
$causas = $request->causas;
|
||||||
|
//Eliminar causas que no esten en el Request
|
||||||
|
$existingsIds = collect($causas)->pluck('id')->filter();
|
||||||
|
$plan->causasRaices()->whereNotIn('id', $existingsIds)->delete();
|
||||||
|
//Actualizar causas de estandar
|
||||||
|
if(isset($causas)){
|
||||||
|
foreach($causas as $causa){
|
||||||
|
$plan->causasRaices()->updateOrCreate(
|
||||||
|
[
|
||||||
|
"id" => $causa['id']
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"descripcion" => $causa['value'],
|
||||||
|
"id_plan"=> $plan->id
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*------------------------------Acciones-------------------------------*/
|
||||||
|
$acciones = $request->acciones;
|
||||||
|
//Eliminar acciones que no esten en el Request
|
||||||
|
$existingsIds = collect($acciones)->pluck('id')->filter();
|
||||||
|
$plan->accionesMejoras()->whereNotIn('id', $existingsIds)->delete();
|
||||||
|
//Actualizar acciones de estandar
|
||||||
|
if(isset($acciones)){
|
||||||
|
foreach($acciones as $accion){
|
||||||
|
$plan->accionesMejoras()->updateOrCreate(
|
||||||
|
[
|
||||||
|
"id" => $accion['id']
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"descripcion" => $accion['value'],
|
||||||
|
"id_plan"=> $plan->id
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*------------------------------Recursos-------------------------------*/
|
||||||
|
$recursos = $request->recursos;
|
||||||
|
//Eliminar recursos que no esten en el Request
|
||||||
|
$existingsIds = collect($recursos)->pluck('id')->filter();
|
||||||
|
$plan->recursos()->whereNotIn('id', $existingsIds)->delete();
|
||||||
|
//Actualizar recursos de estandar
|
||||||
|
if(isset($recursos)){
|
||||||
|
foreach($recursos as $recurso){
|
||||||
|
$plan->recursos()->updateOrCreate(
|
||||||
|
[
|
||||||
|
"id" => $recurso['id']
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"descripcion" => $recurso['value'],
|
||||||
|
"id_plan"=> $plan->id
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*--------------------------------Metas-------------------------------*/
|
||||||
|
$metas = $request->metas;
|
||||||
|
//Eliminar metas que no esten en el Request
|
||||||
|
$existingsIds = collect($metas)->pluck('id')->filter();
|
||||||
|
$plan->metas()->whereNotIn('id', $existingsIds)->delete();
|
||||||
|
//Actualizar metas de estandar
|
||||||
|
if(isset($metas)){
|
||||||
|
foreach($metas as $meta){
|
||||||
|
$plan->metas()->updateOrCreate(
|
||||||
|
[
|
||||||
|
"id" => $meta['id']
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"descripcion" => $meta['value'],
|
||||||
|
"id_plan"=> $plan->id
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*---------------------------Responsables-------------------------------*/
|
||||||
|
$responsables = $request->responsables;
|
||||||
|
//Eliminar responsables que no esten en el Request
|
||||||
|
$existingsIds = collect($responsables)->pluck('id')->filter();
|
||||||
|
$plan->responsables()->whereNotIn('id', $existingsIds)->delete();
|
||||||
|
//Actualizar responsables de estandar
|
||||||
|
if(isset($responsables)){
|
||||||
|
foreach($responsables as $responsable){
|
||||||
|
$plan->responsables()->updateOrCreate(
|
||||||
|
[
|
||||||
|
"id" => $responsable['id']
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"nombre" => $responsable['value'],
|
||||||
|
"id_plan"=> $plan->id
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*--------------------------Observaciones-------------------------------*/
|
||||||
|
$observaciones = $request->observaciones;
|
||||||
|
//Eliminar observaciones que no esten en el Request
|
||||||
|
$existingsIds = collect($observaciones)->pluck('id')->filter();
|
||||||
|
$plan->observaciones()->whereNotIn('id', $existingsIds)->delete();
|
||||||
|
//Actualizar observaciones de estandar
|
||||||
|
if(isset($observaciones)){
|
||||||
|
foreach($observaciones as $observacion){
|
||||||
|
$plan->observaciones()->updateOrCreate(
|
||||||
|
[
|
||||||
|
"id" => $observacion['id']
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"descripcion" => $observacion['value'],
|
||||||
|
"id_plan"=> $plan->id
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json($plan, 200);
|
||||||
|
}
|
||||||
|
|
||||||
// Arreglar el formato de IDs
|
// Arreglar el formato de IDs
|
||||||
public function createPlan(Request $request){
|
public function createPlan(Request $request){
|
||||||
$request->validate([
|
$request->validate([
|
||||||
"estandar_id"=> "required|integer",
|
"estandar_id"=> "required|integer",
|
||||||
"nombre"=>"present|max:255",
|
"nombre"=>"present|max:255",
|
||||||
/* "codigo"=> "required|unique_with:plans,id_estandar|max:11", */
|
/* "codigo"=> "required|unique_with:plans,id_estandar|max:11", */
|
||||||
'codigo' => [
|
'codigo' => [
|
||||||
'required',
|
'required',
|
||||||
Rule::unique('plans', 'codigo')->where(function ($query) use ($request) {
|
Rule::unique('plans', 'codigo')->where(function ($query) use ($request) {
|
||||||
return $query->where('id_estandar', $request->estandar_id);
|
return $query->where('id_estandar', $request->estandar_id);
|
||||||
}),
|
}),
|
||||||
@ -36,20 +203,20 @@ public function createPlan(Request $request){
|
|||||||
"problemas_oportunidades"=>"present",
|
"problemas_oportunidades"=>"present",
|
||||||
"problemas_oportunidades.*.descripcion"=> "required",
|
"problemas_oportunidades.*.descripcion"=> "required",
|
||||||
"causas_raices"=>"present",
|
"causas_raices"=>"present",
|
||||||
"causas_raices.*.descripcion"=> "required",
|
"causas_raices.*.descripcion"=> "required",
|
||||||
"oportunidad_plan"=>"present|max:255",
|
"oportunidad_plan"=>"present|max:255",
|
||||||
"acciones_mejoras"=>"present",
|
"acciones_mejoras"=>"present",
|
||||||
"acciones_mejoras.*.descripcion"=> "required",
|
"acciones_mejoras.*.descripcion"=> "required",
|
||||||
"semestre_ejecucion"=>"present|max:8", //aaaa-A/B/C/AB
|
"semestre_ejecucion"=>"present|max:8", //aaaa-A/B/C/AB
|
||||||
"duracion"=> "present|integer",
|
"duracion"=> "present|integer",
|
||||||
"recursos"=>"present",
|
"recursos"=>"present",
|
||||||
"recursos.*.descripcion"=> "required",
|
"recursos.*.descripcion"=> "required",
|
||||||
"metas"=>"present",
|
"metas"=>"present",
|
||||||
"metas.*.descripcion"=> "required",
|
"metas.*.descripcion"=> "required",
|
||||||
"responsables"=>"present",
|
"responsables"=>"present",
|
||||||
"responsables.*.nombre"=> "required",
|
"responsables.*.nombre"=> "required",
|
||||||
"observaciones"=>"present",
|
"observaciones"=>"present",
|
||||||
"observaciones.*.descripcion"=> "required",
|
"observaciones.*.descripcion"=> "required",
|
||||||
"estado"=> "present|max:30",
|
"estado"=> "present|max:30",
|
||||||
"evaluacion_eficacia"=> "present|boolean",
|
"evaluacion_eficacia"=> "present|boolean",
|
||||||
"avance"=> "present|integer"
|
"avance"=> "present|integer"
|
||||||
@ -129,7 +296,7 @@ public function createPlan(Request $request){
|
|||||||
$responsable_aux ->id_plan = $id_plan;
|
$responsable_aux ->id_plan = $id_plan;
|
||||||
$responsable_aux ->save();
|
$responsable_aux ->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return response([
|
return response([
|
||||||
"status" => 1,
|
"status" => 1,
|
||||||
|
Loading…
Reference in New Issue
Block a user