From 9f726ca1c8978851ff538c95922b7f80357f830b Mon Sep 17 00:00:00 2001 From: Elias Yambay Date: Thu, 22 Apr 2021 17:11:41 -0400 Subject: [PATCH] Committing all files --- app/Http/Controllers/CloneController.php | 287 ++++++++++++++++++ app/Http/Controllers/EncuestasController.php | 2 +- .../Controllers/ImportExportController.php | 156 +++++----- app/Http/Controllers/ReporteController.php | 33 +- app/Traits/ClubsTrait.php | 8 + .../encuestas/clone/clonar_amx.blade.php | 49 +++ .../encuestas/clone/clonar_cofco.blade.php | 55 ++++ resources/views/layout.blade.php | 14 +- routes/web.php | 5 + 9 files changed, 517 insertions(+), 92 deletions(-) create mode 100644 app/Http/Controllers/CloneController.php create mode 100644 resources/views/encuestas/clone/clonar_amx.blade.php create mode 100644 resources/views/encuestas/clone/clonar_cofco.blade.php diff --git a/app/Http/Controllers/CloneController.php b/app/Http/Controllers/CloneController.php new file mode 100644 index 0000000..88d64cd --- /dev/null +++ b/app/Http/Controllers/CloneController.php @@ -0,0 +1,287 @@ +with('toast', false); + } + + public function cloneCofco(Request $request){ + ini_set('max_execution_time', 0); + ini_set('memory_limit', '500M'); + $periodo = $request->periodo; + $empresasIn = [ + '28', + '29', + '30', + '31', + '32', + '33', + '34', + '35', + '36', + '37', + '38', + '39', + '40', + '41', + '43', + '44', + '45', + '46', + '47', + '48', + '49', + '50', + '51', + '52', + '85', + '87', + '89', + '106', + '110', + '111', + '125', + '162', + ]; + $encuestas = Cabecera_encuesta::where('periodo', $periodo) + ->where('rubro_id', 2) + ->whereIn('empresa_id', $empresasIn) + ->get(); + $empresas = [ + '28' => '201', + '29' => '202', + '30' => '203', + '31' => '204', + '32' => '205', + '33' => '206', + '34' => '207', + '35' => '208', + '36' => '209', + '37' => '210', + '38' => '211', + '39' => '212', + '40' => '213', + '41' => '214', + '43' => '215', + '44' => '216', + '45' => '217', + '46' => '218', + '47' => '219', + '48' => '220', + '49' => '221', + '50' => '222', + '51' => '223', + '52' => '224', + '85' => '225', + '87' => '226', + '89' => '227', + '106' => '228', + '110' => '229', + '111' => '230', + '125' => '231', + '162' => '232', + ]; + foreach($encuestas as $encuesta){ + $cabecera = $encuesta->replicate(); + $cabecera->rubro_id = 17; + + $cabecera->empresa_id = $empresas[$cabecera->empresa_id]; + $cabecera->save(); + $encuestaCargo = $encuesta->encuestasCargo; + foreach($encuestaCargo as $cargo){ + $newCargo = $cargo->replicate(); + $newCargo->cabecera_encuesta_id = $cabecera->id; + $newCargo->save(); + $detalle = $cargo->detalleEncuestas; + if($detalle){ + $newDetalle = $detalle->replicate(); + $newDetalle->cabecera_encuesta_id = $cabecera->id; + $newDetalle->encuestas_cargo_id = $newCargo->id; + $newDetalle->save(); + } + } + + } + $toast = true; + + return redirect()->route('clonar.cofco.form')->with('toast', $toast); + } + + + public function cloneAMXForm() + { + return view('encuestas.clone.clonar_amx')->with('toast', false); + } + + public function cloneAMX(Request $request){ + ini_set('max_execution_time', 0); + ini_set('memory_limit', '1000M'); + + $encuestasId = [ + '642', + '643', + '644', + '645', + '646', + '647', + '648', + '649', + '650', + '651', + '652', + '653', + '654', + '668', + '526', + '505', + '514', + '511', + '556', + '515', + '508', + '513', + '518', + '510', + '677', + '670', + '695', + '680', + '696', + '684', + '678', + '691', + '681', + '674', + '694', + '697', + '687', + '688', + '599', + '590', + '609', + '593', + '596', + '594', + '598', + '608', + '612', + '346', + '345', + '348', + '349', + '350', + '351', + '352', + '353', + '354', + '355', + '356', + '357', + '387', + '469', + ]; + + $encuestas = Cabecera_encuesta::whereIn('id', $encuestasId) + ->get(); + $empresas = [ + '1' => '187', + '2' => '188', + '3' => '189', + '4' => '190', + '5' => '191', + '6' => '192', + '7' => '193', + '8' => '194', + '9' => '195', + '10' => '196', + '11' => '197', + '12' => '198', + '53' => '199', + '143' => '200', + '84' => '234', + '56' => '235', + '67' => '236', + '64' => '233', + '163' => '237', + '68' => '238', + '61' => '239', + '66' => '240', + '71' => '241', + '63' => '242', + '207' => '243', + '213' => '244', + '214' => '245', + '202' => '246', + '206' => '247', + '201' => '248', + '215' => '249', + '208' => '250', + '218' => '251', + '203' => '252', + '225' => '253', + '210' => '254', + '204' => '255', + '224' => '256', + '27' => '270', + '26' => '271', + '19' => '272', + '22' => '273', + '25' => '274', + '17' => '275', + '15' => '276', + '16' => '277', + '18' => '278', + '109' => '279', + '112' => '280', + '113' => '281', + '114' => '282', + '115' => '283', + '116' => '284', + '117' => '285', + '118' => '286', + '120' => '289', + '121' => '287', + '122' => '288', + '123' => '290', + '128' => '291', + '148' => '292', + ]; + // dd($encuestas->where('empresa_id', '63')); + + foreach($encuestas as $encuesta){ + $cabecera = $encuesta->replicate(); + $cabecera->rubro_id = 16; + $cabecera->periodo = '03/2021'; + $cabecera->empresa_id = $empresas[$cabecera->empresa_id]; + $cabecera->save(); + $encuestaCargo = $encuesta->encuestasCargo; + foreach($encuestaCargo as $cargo){ + $newCargo = $cargo->replicate(); + $newCargo->cabecera_encuesta_id = $cabecera->id; + $newCargo->save(); + $detalle = $cargo->detalleEncuestas; + if($detalle){ + $newDetalle = $detalle->replicate(); + $newDetalle->cabecera_encuesta_id = $cabecera->id; + $newDetalle->encuestas_cargo_id = $newCargo->id; + $newDetalle->save(); + } + } + + } + $toast = true; + + return redirect()->route('clonar.amx.form')->with('toast', $toast); + } + + + + +} diff --git a/app/Http/Controllers/EncuestasController.php b/app/Http/Controllers/EncuestasController.php index e58380e..17ef166 100644 --- a/app/Http/Controllers/EncuestasController.php +++ b/app/Http/Controllers/EncuestasController.php @@ -17,7 +17,7 @@ class EncuestasController extends Controller */ public function index() { - $dbData = Cabecera_encuesta::all(); + $dbData = Cabecera_encuesta::with('empresa')->get(); return view('encuestas.list')->with('dbData', $dbData); } diff --git a/app/Http/Controllers/ImportExportController.php b/app/Http/Controllers/ImportExportController.php index 8156037..69c90f1 100644 --- a/app/Http/Controllers/ImportExportController.php +++ b/app/Http/Controllers/ImportExportController.php @@ -133,7 +133,7 @@ public function destroy($id) public function download(Request $request){ ini_set('max_execution_time', 0); - ini_set('memory_limit', '512M'); + ini_set('memory_limit', '1G'); $periodo = $request->periodo; $empresa = $request->empresa_id; $query = "SELECT d.cabecera_encuesta_id, IF(e.incluir = 1, 'NO', 'SI') excluir, c.periodo, @@ -280,89 +280,89 @@ public function upload(Request $request){ 'file.mimes' => 'El tipo de archivo no es correcto'); $validator = Validator::make($request->all(), $rules, $messages); - if($validator->passes()){ DB::beginTransaction(); Excel::load($file, function($reader) { try{ - $reader->each(function($row){ - - $encuesta = trim($row->id_encuesta); - $encCargoId = trim($row->id_cargo_cliente); - $cargoCliente = Encuestas_cargo::find($encCargoId); - if(!$cargoCliente){ - $cargoCliente = new Encuestas_cargo(); - $cargoCliente->cabecera_encuesta_id = $encuesta; - } - $cargoClienteDesc = trim($row->cargocliente); - $cargoOficialId = trim($row->id_cargo_oficial); - if($cargoOficialId == ''){ - $cargoOficialId = null; - } - $excluir = trim($row->excluir); - if($excluir == "NO"){ - $incluir = 1; - }else{ - $incluir = 0; - } - $cargoCliente->descripcion = $cargoClienteDesc; - $cargoCliente->cargo_id = $cargoOficialId; - $cargoCliente->incluir = $incluir; - $cargoCliente->save(); - $detalle = Detalle_encuesta::where('cabecera_encuesta_id', $encuesta) - ->where('encuestas_cargo_id', $encCargoId) - ->first(); - if(!$detalle){ - $detalle = new Detalle_encuesta(); - $detalle->cabecera_encuesta_id = $encuesta; - $detalle->encuestas_cargo_id = $cargoCliente->id; + if(!$row->filter()->isEmpty()){ + $encuesta = trim($row->id_encuesta); + $encCargoId = trim($row->id_cargo_cliente); + $cargoCliente = Encuestas_cargo::find($encCargoId); + if(!$cargoCliente){ + $cargoCliente = new Encuestas_cargo(); + $cargoCliente->cabecera_encuesta_id = $encuesta; + } + $cargoClienteDesc = trim($row->cargocliente); + $cargoOficialId = trim($row->id_cargo_oficial); + if($cargoOficialId == ''){ + $cargoOficialId = null; + } + $excluir = trim($row->excluir); + if($excluir == "NO"){ + $incluir = 1; + }else{ + $incluir = 0; + } + $cargoCliente->descripcion = $cargoClienteDesc; + $cargoCliente->cargo_id = $cargoOficialId; + $cargoCliente->incluir = $incluir; + + $cargoCliente->save(); + $detalle = Detalle_encuesta::where('cabecera_encuesta_id', $encuesta) + ->where('encuestas_cargo_id', $encCargoId) + ->first(); + if(!$detalle){ + $detalle = new Detalle_encuesta(); + $detalle->cabecera_encuesta_id = $encuesta; + $detalle->encuestas_cargo_id = $cargoCliente->id; + } + $detalle->cantidad_ocupantes = $row->ocupantes; + $detalle->area_id = $row->id_area; + $detalle->nivel_id = $row->id_nivel; + $detalle->salario_base = $row->salariobase; + $detalle->gratificacion = $row->gratificacion; + $detalle->aguinaldo = $row->aguinaldo; + $detalle->comision = $row->comision; + $detalle->plus_rendimiento = $row->variableanual; + $detalle->variable_viaje = $row->variableviaje; + $detalle->salario_base = $row->salariobase; + $detalle->adicional_amarre = $row->adicionalamarre; + $detalle->adicional_tipo_combustible = $row->adicionaltipocombustible; + $detalle->adicional_embarque = $row->adicionalembarque; + $detalle->adicional_carga = $row->adicionaltipocarga; + $detalle->adicional_titulo = $row->adicionaltitulo; + $detalle->fallo_caja = $row->fallocaja; + $detalle->fallo_caja_ext = $row->fallocajaext; + $detalle->gratificacion_contrato = $row->gratifcontrato; + $detalle->bono_anual = $row->bonoanual; + $detalle->incentivo_largo_plazo = $row->incentivolargoplazo; + $detalle->refrigerio = $row->refrigerio; + $detalle->costo_seguro_medico = $row->costoseguromedico; + $detalle->cobertura_seguro_medico = $row->coberturaseguromedico; + $detalle->costo_seguro_medico = $row->costoseguromedico; + $detalle->costo_seguro_vida = $row->costosegurovida; + $detalle->car_company = $row->carcompany; + $detalle->movilidad_full = $row->movilidadfull; + $detalle->flota = $row->tarjflota; + $detalle->tarjeta_flota = $row->montotarjflota; + $detalle->monto_movil = $row->montoautomovil; + $detalle->seguro_movil = $row->seguroautomovil; + $detalle->mantenimiento_movil = $row->mantenimientoautomovil; + $detalle->monto_km_recorrido = $row->kmrecorrido; + $detalle->monto_ayuda_escolar = $row->ayudaescolar; + $detalle->monto_comedor_interno = $row->comedorinterno; + $detalle->monto_curso_idioma = $row->cursoidioma; + $detalle->cobertura_curso_idioma = $row->coberturaidioma; + $detalle->monto_post_grado = $row->postgrado; + $detalle->cobertura_post_grado = $row->coberturapostgrado; + $detalle->monto_celular_corporativo = $row->celular; + $detalle->monto_vivienda = $row->vivienda; + $detalle->monto_colegiatura_hijos = $row->colegiatura; + $detalle->condicion_ocupante = $row->condicionocupante; + $detalle->save(); + } - $detalle->cantidad_ocupantes = $row->ocupantes; - $detalle->area_id = $row->id_area; - $detalle->nivel_id = $row->id_nivel; - $detalle->salario_base = $row->salariobase; - $detalle->gratificacion = $row->gratificacion; - $detalle->aguinaldo = $row->aguinaldo; - $detalle->comision = $row->comision; - $detalle->plus_rendimiento = $row->variableanual; - $detalle->variable_viaje = $row->variableviaje; - $detalle->salario_base = $row->salariobase; - $detalle->adicional_amarre = $row->adicionalamarre; - $detalle->adicional_tipo_combustible = $row->adicionaltipocombustible; - $detalle->adicional_embarque = $row->adicionalembarque; - $detalle->adicional_carga = $row->adicionaltipocarga; - $detalle->adicional_titulo = $row->adicionaltitulo; - $detalle->fallo_caja = $row->fallocaja; - $detalle->fallo_caja_ext = $row->fallocajaext; - $detalle->gratificacion_contrato = $row->gratifcontrato; - $detalle->bono_anual = $row->bonoanual; - $detalle->incentivo_largo_plazo = $row->incentivolargoplazo; - $detalle->refrigerio = $row->refrigerio; - $detalle->costo_seguro_medico = $row->costoseguromedico; - $detalle->cobertura_seguro_medico = $row->coberturaseguromedico; - $detalle->costo_seguro_medico = $row->costoseguromedico; - $detalle->costo_seguro_vida = $row->costosegurovida; - $detalle->car_company = $row->carcompany; - $detalle->movilidad_full = $row->movilidadfull; - $detalle->flota = $row->tarjflota; - $detalle->tarjeta_flota = $row->montotarjflota; - $detalle->monto_movil = $row->montoautomovil; - $detalle->seguro_movil = $row->seguroautomovil; - $detalle->mantenimiento_movil = $row->mantenimientoautomovil; - $detalle->monto_km_recorrido = $row->kmrecorrido; - $detalle->monto_ayuda_escolar = $row->ayudaescolar; - $detalle->monto_comedor_interno = $row->comedorinterno; - $detalle->monto_curso_idioma = $row->cursoidioma; - $detalle->cobertura_curso_idioma = $row->coberturaidioma; - $detalle->monto_post_grado = $row->postgrado; - $detalle->cobertura_post_grado = $row->coberturapostgrado; - $detalle->monto_celular_corporativo = $row->celular; - $detalle->monto_vivienda = $row->vivienda; - $detalle->monto_colegiatura_hijos = $row->colegiatura; - $detalle->condicion_ocupante = $row->condicionocupante; - $detalle->save(); - }); }catch(Exception $e){ DB::rollback(); diff --git a/app/Http/Controllers/ReporteController.php b/app/Http/Controllers/ReporteController.php index ba4281c..05d5ac9 100644 --- a/app/Http/Controllers/ReporteController.php +++ b/app/Http/Controllers/ReporteController.php @@ -125,6 +125,7 @@ public function metodologia($id){ } public function ficha($id){ + $reporteEspecial = Session::get('especial'); $dbEmpresa = $id; $empresa = Empresa::find($id); @@ -1279,7 +1280,7 @@ public function cargosReportExcel(Request $request){ public function resultados(){ - $dbData = Cabecera_encuesta::get(); + $dbData = Cabecera_encuesta::with('rubro')->get(); $dbData = $dbData->map(function($item){ $rubro = $item->rubro->descripcion; $periodo = $item->periodo; @@ -1312,19 +1313,27 @@ public function resultadosExcel(Request $request){ monto_comedor_interno, monto_curso_idioma, cobertura_curso_idioma, tipo_clase_idioma, monto_post_grado, cobertura_post_grado, monto_celular_corporativo, monto_vivienda, monto_colegiatura_hijos, condicion_ocupante - FROM detalle_encuestas d, encuestas_cargos e, cabecera_encuestas c, cargos ca, rubros r, - areas a, niveles n, empresas em, niveles n1, areas a1 + FROM cabecera_encuestas c + left join detalle_encuestas d + on d.cabecera_encuesta_id = c.id + left join encuestas_cargos e + on e.id = d.encuestas_cargo_id + left join cargos ca + on ca.id = e.cargo_id + left join rubros r + on r.id = c.rubro_id + left join areas a + on a.id = d.area_id + left join niveles n + on n.id = d.nivel_id + left join empresas em + on em.id = c.empresa_id + left join niveles n1 + on n1.id = ca.nivel_id + left join areas a1 + on a1.id = ca.area_id where c.periodo = :periodo and c.rubro_id = :rubro - and c.id = d.cabecera_encuesta_id - and d.encuestas_cargo_id = e.id - and e.cargo_id = ca.id - and c.rubro_id = r.id - and d.area_id = a.id - and d.nivel_id = n.id - and c.empresa_id = em.id - and ca.nivel_id = n1.id - and ca.area_id = a1.id order by 1"; $dbDetalle = DB::select($query, ["periodo" => $periodo, "rubro" => $rubro]); $detalle = array(); diff --git a/app/Traits/ClubsTrait.php b/app/Traits/ClubsTrait.php index b6ac9a1..75132a3 100644 --- a/app/Traits/ClubsTrait.php +++ b/app/Traits/ClubsTrait.php @@ -29,6 +29,10 @@ public function club($rubro, $getImagen = null){ case 8: $imagen = "images/caratula-bancos.PNG"; $club = "Club de Empresas de Consumo Masivo"; + break; + case 16: + $imagen = "images/caratula-bancos.PNG"; + $club = "AMX Especial"; break; default: $imagen = "images/caratula-bancos.PNG"; @@ -65,6 +69,10 @@ public function club($rubro, $getImagen = null){ $imagen = "images/caratula-bancos.PNG"; $club = "Club Industrial Especial"; break; + case 16: + $imagen = "images/caratula-bancos.PNG"; + $club = "AMX Especial"; + break; default: $imagen = "images/caratula-bancos.PNG"; $club = "Club de Bancos"; diff --git a/resources/views/encuestas/clone/clonar_amx.blade.php b/resources/views/encuestas/clone/clonar_amx.blade.php new file mode 100644 index 0000000..62caa6a --- /dev/null +++ b/resources/views/encuestas/clone/clonar_amx.blade.php @@ -0,0 +1,49 @@ +@extends('layout') +@section('content') +
+
+
+

Clonar AMX

+
+
+
+ +
+ +
+
+
+
+
+ @if($toast) +
+ @endif +@stop +@push('scripts') + +@endpush \ No newline at end of file diff --git a/resources/views/encuestas/clone/clonar_cofco.blade.php b/resources/views/encuestas/clone/clonar_cofco.blade.php new file mode 100644 index 0000000..e3585a9 --- /dev/null +++ b/resources/views/encuestas/clone/clonar_cofco.blade.php @@ -0,0 +1,55 @@ +@extends('layout') +@section('content') +
+
+
+

Clonar Periodo COFCO

+
+
+
+
+
+ + +
+
+ +
+ +
+
+
+
+
+ @if($toast) +
+ @endif +@stop +@push('scripts') + +@endpush \ No newline at end of file diff --git a/resources/views/layout.blade.php b/resources/views/layout.blade.php index 252649e..9e20324 100644 --- a/resources/views/layout.blade.php +++ b/resources/views/layout.blade.php @@ -68,6 +68,12 @@
  • Encuestas
  • +
  • + Clonar AMX +
  • +
  • + Clonar Cofco +
  • Clonar Bancard
  • @@ -197,7 +203,13 @@