Beispiel #1
0
 public function remove($id)
 {
     $socio = Socio::where('id', '=', $id)->first();
     if ($socio->pessoa->usuario->id == Auth::user()->id) {
         $socio->delete();
     }
     return redirect()->back();
 }
 public function search()
 {
     $query = strtoupper(Input::get("q"));
     //query
     $team = strtoupper(Input::get("t"));
     //team
     $exclude = Input::get("e");
     //id's A EXCLUIR DE LOS RESULTADOS
     $notInID[] = 0;
     $notInTR[] = 0;
     if (!is_null($exclude)) {
         //armo el arreglo con los resultados a excluir de la visual.
         foreach ($exclude as $e) {
             $notInID[] = $e;
         }
     }
     if ((int) $query > 0) {
         // BUSQUEDA POR CARNET O DOCUMENTO
         if ((int) $query < 999999) {
             // BUSQUEDA POR CARNET
             $socio_try = Socio::where('carnet', $query)->first();
             if ($socio_try and in_array($socio_try->id, $notInID)) {
                 // ES UN PELOTUDO Y BUSCA DE NUEVO UN JUGADOR
                 return response()->json(['result' => 'Error', 'response' => ['title' => 'Jugador asociado', 'text' => 'El jugador <kbd>' . $socio_try->full_name . '</kbd> ya esta asociado a este club.']]);
             } else {
                 $trayectoria = Trayectoria::with('socio')->with('club')->select('trayectorias.*')->join('socios', 'socios.id', '=', 'trayectorias.socio_id')->join('clubes', 'clubes.id', '=', 'trayectorias.club_id')->where('socios.carnet', $query)->whereNull('trayectorias.baja')->get();
                 //if (count($trayectoria)==0) {
                 if ($trayectoria->isEmpty() or $trayectoria->first()->club_id == $team) {
                     $results = Socio::with('persona.tipo_documento')->select('socios.*')->join('personas', 'personas.id', '=', 'socios.persona_id')->where('socios.carnet', $query)->whereNotIn('socios.id', $notInID)->limit('10')->get();
                 } else {
                     return response()->json(['result' => 'Error', 'response' => ['title' => 'Jugador asociado', 'text' => 'El jugador con carnet <strong>' . $query . '</strong> (<var>' . $socio_try->full_name . '</var>) ya esta asociado a <strong>' . $trayectoria[0]->club->nombre . '</strong>']]);
                 }
             }
         } else {
             //BUSQUEDA POR DOCUMENTO
             $socio_try = Socio::select('socios.*')->join('personas', 'personas.id', '=', 'socios.persona_id')->where('personas.documento', $query)->first();
             //dd($socio_try,$notInID,in_array($socio_try->persona_id, $notInID ));
             if ($socio_try and in_array($socio_try->id, $notInID)) {
                 // ES UN PELOTUDO Y BUSCA DE NUEVO UN JUGADOR
                 return response()->json(['result' => 'Error', 'response' => ['title' => 'Jugador asociado', 'text' => 'El jugador <kbd>' . $socio_try->full_name . '</kbd> ya esta asociado a este club.']]);
             } else {
                 $trayectoria = Trayectoria::with('socio.persona')->with('club')->whereNull('trayectorias.baja')->select('*')->join('socios', 'socios.id', '=', 'trayectorias.socio_id')->join('personas', 'personas.id', '=', 'socios.persona_id')->join('clubes', 'clubes.id', '=', 'trayectorias.club_id')->where("personas.documento", 'LIKE', '%' . $query . '%')->get();
                 //if (count($trayectoria)==0) {
                 if ($trayectoria->isEmpty() or $trayectoria->first()->club_id == $team) {
                     $results = Socio::with("persona.tipo_documento.pais")->select('socios.*')->join('personas', 'personas.id', '=', 'socios.persona_id')->where("documento", 'LIKE', '%' . $query . '%')->whereNotIn('socios.id', $notInID)->limit('10')->get();
                 } else {
                     return response()->json(['result' => 'Error', 'response' => ['title' => 'Jugador asociado', 'text' => 'El jugador con documento <strong>' . $query . '</strong>(<var>' . $socio_try->full_name . '</var>) ya esta asociado a <strong>' . $trayectoria[0]->nombre . '</strong>']]);
                 }
             }
         }
     } else {
         //BUSQUEDA POR NOMBRE Y APELLIDO
         $results = Socio::with("persona.tipo_documento.pais")->select('socios.*')->join('personas', 'personas.id', '=', 'socios.persona_id')->where(DB::raw('CONCAT(personas.nombre, " ", personas.apellido)'), 'LIKE', '%' . $query . '%')->whereNotIn('socios.id', $notInID)->orWhere(DB::raw('CONCAT(personas.apellido, " ", personas.nombre)'), 'LIKE', '%' . $query . '%')->whereNotIn('socios.id', $notInID)->limit('10')->get();
     }
     foreach ($results as $socio) {
         $socio->edad_limite = $socio->edad_limite;
         $socio->persona->edad = $socio->persona->edad;
         //   $socio->persona->inverse_full_name  = $socio->persona->inverse_full_name;
         $socio->route_show = route('people.socios.show', $socio->id);
     }
     return response()->json(['result' => 'Ok', 'response' => $results]);
 }
Beispiel #3
0
 /**
  * 
  * @return integer
  */
 public function esAlgo($es_que = '')
 {
     $persona_id = $this->id;
     switch ($es_que) {
         case 'socio':
             $existe = Socio::where('persona_id', $persona_id)->first();
             break;
         case 'arbitro':
             $existe = Arbitro::where('persona_id', $persona_id)->first();
             break;
         case 'veedor':
             $existe = Veedor::where('persona_id', $persona_id)->first();
             break;
         case 'club':
             $existe = Club::where('persona_id', $persona_id)->first();
             break;
         default:
             $existe = NULL;
             break;
     }
     return $existe;
 }
 /**
  * Necessary show data
  *
  * @param $persona : el objeto persona que se va a mostrar
  * @param $entidad : el objeto entidad que se va a mostrar
  * @param string $entidad_nombre : a que entidad hacemos referencia
  */
 public function showData($persona, $entidad, $entidad_nombre)
 {
     $club = null;
     $plantilla = [];
     $socio = null;
     $trayectoria = [];
     $arbitro = null;
     $veedor = null;
     $active_section = 'info_persona';
     if ($entidad_nombre != 'club') {
         $active_section = 'info_persona';
         if ($entidad_nombre == 'persona') {
             $club = Club::where('persona_id', $persona->id)->first();
         }
         // Si estoy tratando de mostrar los datos del club, no necesito estos datos
         if (is_null($club)) {
             $veedor = $entidad;
             if ($entidad_nombre != 'veedor') {
                 $veedor = Veedor::where('persona_id', $persona->id)->first();
                 if ($veedor) {
                     $active_section = 'info_veedor';
                 }
             }
             $arbitro = $entidad;
             if ($entidad_nombre != 'arbitro') {
                 $arbitro = Arbitro::where('persona_id', $persona->id)->first();
                 if ($arbitro) {
                     $active_section = 'info_arbitro';
                 }
             }
             $socio = $entidad;
             if ($entidad_nombre != 'socio') {
                 $socio = Socio::where('persona_id', $persona->id)->first();
                 if ($socio) {
                     $trayectoria = $socio->trayectoria;
                     $active_section = 'info_socio';
                 }
             }
         } else {
             $active_section = 'info_club';
         }
     } else {
         $club = $entidad;
         $active_section = 'info_club';
     }
     $delegados = [];
     if ($club) {
         $plantilla = $club->plantilla;
         $delegados = $club->delegados;
     }
     $this->webpage['active_section'] = $active_section;
     $this->data = array_merge(['webpage' => $this->webpage, 'persona' => $persona, 'domicilio' => $persona->domicilio, 'telefonos' => $persona->telefonos, 'emails' => $persona->emails, 'web_pages' => $persona->webpages, 'club' => $club, 'plantilla' => $plantilla, 'delegados' => $delegados, 'socio' => $socio, 'trayectoria' => $trayectoria, 'arbitro' => $arbitro, 'veedor' => $veedor], $this->data);
 }
 public function save()
 {
     $result = DB::transaction(function () {
         $result = array("result" => '', 'response' => '');
         $result["result"] = 'nothing2do';
         //respuesta para el resultado por defecto si no debo realizar ningun cambio
         $equipo = Input::get("e");
         //arreglo de id de socios
         $torneo_id = Input::get("torneo_id");
         //id del torneo
         $torneo_club_id = Input::get("t");
         //torneo_club_id
         $torneo_club = TorneoClub::where('id', $torneo_club_id)->first();
         $tr = new Trayectoria();
         $jugadores_actuales = [];
         $plantel = [];
         $i = 0;
         // ==================
         $director_tecnico = TorneoTecnico::where('torneo_club_id', $torneo_club->id)->get();
         foreach ($director_tecnico as $tecnico) {
             $tecnico->forceDelete();
         }
         $dt = Input::get("dt");
         $socio_dt = Socio::where('id', $dt)->first();
         if ($socio_dt) {
             $director_tecnico = TorneoTecnico::firstOrNew(['tecnico_id' => $dt, 'torneo_club_id' => $torneo_club->id]);
             $director_tecnico->save();
         }
         // ==================
         //$trayectoria_club =  $tr::where('club_id',$torneo_club->club_id)->whereNull('baja')->select('socio_id')->get();
         $jugadores_club_categoria = TorneoPlantel::with('jugador.jugador')->select('torneos_planteles.*')->join('temporadas_planteles', 'torneos_planteles.jugador_id', '=', 'temporadas_planteles.id')->join('torneos_clubes', 'torneos_planteles.torneo_club_id', '=', 'torneos_clubes.id')->join('socios', 'socios.id', '=', 'temporadas_planteles.jugador_id')->where('torneos_planteles.torneo_club_id', $torneo_club_id)->get();
         $habia_jugadores = count($jugadores_club_categoria);
         if ($habia_jugadores) {
             foreach ($jugadores_club_categoria as $p) {
                 $jugadores_actuales[] = $p->jugador->jugador_id;
             }
             $i = array_intersect($jugadores_actuales, $equipo);
             //Interseccion de jugadores cargados y seleccionados
             $insertar = array_diff($equipo, $i);
             //SOCIOS a insertar en la tabla
             $remover = array_diff($jugadores_actuales, $i);
             //SOCIOS a remover de la tabla
         } else {
             $insertar = $equipo;
         }
         $torneo = Torneo::where("id", $torneo_id)->first();
         if (isset($remover)) {
             foreach ($remover as $p) {
                 //elimino los jugadores que fueron removidos de la interface.
                 /*
                 $result = $tr::where('socio_id', $p)->whereNull('baja')->first();        
                 $result->forceDelete();
                 */
                 $jugador_temporada = TemporadaPlantel::where('temporada_id', $torneo->temporada_id)->where('jugador_id', $p)->first();
                 $jugador_torneo = TorneoPlantel::where('jugador_id', $jugador_temporada->id)->where('torneo_club_id', $torneo_club->id)->first();
                 if ($jugador_torneo) {
                     $jugador_torneo->forceDelete();
                 }
                 if ($jugador_temporada) {
                     $jugador_temporada->forceDelete();
                 }
                 //$result =  DB::table('trayectorias')->where('socio_id', $p)->softDeletes();
             }
         }
         if (count($insertar)) {
             foreach ($insertar as $p) {
                 //creo el arreglo asociativo de los nuevos jugadores
                 $plantel[] = array('alta' => date("Y-m-d"), 'alta_tipo' => 1, 'socio_id' => $p, 'club_id' => $torneo_club->club_id);
                 $jugador_temporada = TemporadaPlantel::firstOrNew(['temporada_id' => $torneo->temporada_id, 'jugador_id' => $p]);
                 $jugador_temporada->save();
                 $jugador_torneo = TorneoPlantel::firstOrNew(['jugador_id' => $jugador_temporada->id, 'torneo_club_id' => $torneo_club->id]);
                 $jugador_torneo->save();
             }
         }
         $result_ldbf = ($jugador_temporada and $jugador_torneo);
         // $result_trayectoria = (count($plantel)) ? DB::table('trayectorias')->insert($plantel) : true;         //inserto los socios o si solo removi devuelvo verdadero
         if ($result_ldbf) {
             $result["result"] = "Ok";
             $result["response"] = $result_ldbf;
         } else {
             $result["result"] = "Error";
             if ($jugador_temporada) {
                 $error = '***Error al agregar a la temporada***';
             }
             if ($jugador_torneo) {
                 $error = '***Error al agregar al torneo***';
             }
             $result["response"] = $error;
         }
         $this->jugadores_compartidos($torneo_club, $torneo);
         return $result;
     });
     return response()->json($result);
 }
 public function storeAdmin($id, Request $request)
 {
     //        dd($request->all());
     $empresa = new \App\Pessoa();
     $request->merge(['id_usuario' => Auth::user()->id]);
     if (count($request->get('cnaes'))) {
         foreach ($request->get('cnaes') as $cnae) {
             if (\App\Cnae::where('id', '=', $cnae)->first()->id_tabela_simples_nacional == null) {
                 return redirect(route('cadastrar-abertura-empresa-admin', [$id]))->withInput()->withErrors(['Não foi possível cadastrar sua empresa pois um de seus CNAEs não está apto para o Simples Nacional.\\nNesse momento só trabalhamos com Simples Nacional.']);
             }
         }
     }
     if (!count($request->get('socio'))) {
         return redirect(route('cadastrar-abertura-empresa-admin', [$id]))->withInput()->withErrors(['É necessário cadastrar pelo menos um sócio']);
     }
     //atencao, arrumar telefone!!!!!!!!!!!!!!!!!!!!
     $request->merge(['id_tipo_tributacao' => 1]);
     if ($empresa->validate($request->all())) {
         $empresa = $empresa->create($request->all());
         if (count($request->get('socio'))) {
             foreach ($request->get('socio') as $obj) {
                 $socio = new \App\Socio();
                 $obj['id_pessoa'] = $empresa->id;
                 if ($socio->validate($obj)) {
                     $socio = $socio->create($obj);
                 } else {
                     \App\Socio::where('id_pessoa', '=', $empresa->id)->delete();
                     \App\Pessoa::find($empresa->id)->delete();
                     return redirect(route('cadastrar-abertura-empresa-admin', [$id]))->withInput()->withErrors($socio->errors());
                 }
             }
         }
         if (count($request->get('cnaes'))) {
             foreach ($request->get('cnaes') as $cnae) {
                 $pessoaCnae = new \App\PessoaCnae();
                 $pessoaCnae->id_pessoa = $empresa->id;
                 $pessoaCnae->id_cnae = $cnae;
                 $pessoaCnae->save();
             }
         }
         $abertura_empresa = \App\AberturaEmpresa::find($id);
         $abertura_empresa->status = 'Concluído';
         $abertura_empresa->enviar_notificacao_conclusao($request->get('nome_fantasia'));
         $abertura_empresa->save();
         $impostos_mes = \App\ImpostoMes::where('mes', '=', date('n'))->get();
         $competencia = date('Y-m-d', strtotime(date('Y-m') . " -1 month"));
         foreach ($impostos_mes as $imposto_mes) {
             if ($imposto_mes->imposto->vencimento > (int) date('d')) {
                 $imposto = $imposto_mes->imposto;
                 $processo = new Processo();
                 $processo->create(['id_pessoa' => $empresa->id, 'competencia' => $competencia, 'id_imposto' => $imposto_mes->id_imposto, 'vencimento' => $imposto->corrigeData(date('Y') . '-' . date('m') . '-' . $imposto->vencimento, 'Y-m-d'), 'status' => 'novo']);
             }
         }
         $plano = \App\Plano::where('total_documentos', '>=', $request->get('total_documentos'))->where('total_documentos_contabeis', '>=', $request->get('total_contabeis'))->where('pro_labores', '>=', $request->get('pro_labores'))->orderBy('valor', 'asc')->first();
         $mensalidade = new \App\Mensalidade();
         $mensalidade->id_usuario = Auth::user()->id;
         $mensalidade->id_pessoa = $empresa->id;
         $mensalidade->duracao = $plano->duracao;
         $mensalidade->valor = $plano->valor;
         $mensalidade->documentos_fiscais = $plano->total_documentos;
         $mensalidade->documentos_contabeis = $plano->total_documentos_contabeis;
         $mensalidade->pro_labores = $plano->pro_labores;
         $mensalidade->funcionarios = $plano->funcionarios;
         $mensalidade->save();
         $pagamento = new \App\Pagamento();
         $pagamento->id_mensalidade = $mensalidade->id;
         $pagamento->status = 'Paga';
         $pagamento->valor = 0.0;
         $pagamento->vencimento = date('Y-m-d H:i:s');
         $pagamento->save();
         return redirect(route('empresas-admin'));
     } else {
         return redirect(route('cadastrar-abertura-empresa-admin', [$id]))->withInput()->withErrors($empresa->errors());
     }
 }
Beispiel #7
0
 public function create($id)
 {
     $socio = Socio::where('id', '=', $id)->first();
     return view('admin.pro_labore.cadastrar', ['socio' => $socio]);
 }