/**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $faker = Faker\Factory::create();
     $faker->addProvider(new FakerBR($faker));
     for ($i = 1; $i <= 300; $i++) {
         Pessoa::insert(['nome' => $faker->name, 'documento' => $faker->cpf, 'genero' => $faker->randomElement(['M', 'F']), 'created_at' => $faker->dateTime, 'updated_at' => $faker->dateTime]);
     }
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Model::unguard();
     $faker = Faker\Factory::create();
     $faker->addProvider(new FakerBR($faker));
     for ($i = 1; $i <= 300; $i++) {
         Pessoa::insert(['nome' => $faker->name, 'documento' => $faker->cpf, 'genero' => $faker->randomElement(['M', 'F']), 'created_at' => $faker->dateTime, 'updated_at' => $faker->dateTime]);
     }
     // $this->call(UserTableSeeder::class);
     Model::reguard();
 }
示例#3
0
 public function store($id, Request $request)
 {
     $pessoa = \App\Pessoa::where('id_usuario', '=', Auth::user()->id)->where('id', '=', $id)->first();
     if (!$pessoa instanceof \App\Pessoa) {
         return redirect(route('cadastrar-funcionario', [$id]))->withErrors(['Ocorreu um erro ao tentar cadastrar o funcionário, verifique se você está logado e tente novamente.'])->withInput();
     }
     $request->merge(['id_pessoa' => $id, 'id_uf' => 1, 'id_uf_ctps' => 1]);
     $funcionario = new Funcionario();
     $contrato = new \App\ContratoTrabalho();
     if ($funcionario->validate($request->all(), false) && $contrato->validate($request->all(), false)) {
         if (count($request->get('horario'))) {
             $validator = $this->validateHorario($request->all());
             if ($validator->fails()) {
                 return redirect(route('funcionario-novo'))->withErrors($validator->errors()->all())->withInput();
             }
         }
         $funcionario = $funcionario->create($request->all());
         $request->merge(['id_funcionario' => $funcionario->id]);
         $contrato = $contrato->create($request->all());
         if (count($request->get('deficiencia'))) {
             foreach ($request->get('deficiencia') as $i) {
                 $deficiencia = new FuncionarioDeficiencia();
                 $deficiencia->id_funcionario = $funcionario->id;
                 $deficiencia->deficiencia = $i;
                 $deficiencia->save();
             }
         }
         if (count($request->get('dependente'))) {
             foreach ($request->get('dependente') as $dep) {
                 $dependente = new FuncionarioDependente();
                 $dep['id_funcionario'] = $funcionario->id;
                 $dependente->create($dep);
             }
         }
         if (count($request->get('horario'))) {
             foreach ($request->get('horario') as $dia => $hora) {
                 $horario = new HorarioTrabalho();
                 $horario->id_contrato_trabalho = $contrato->id;
                 $horario->hora1 = $hora[0] ? $hora[0] : null;
                 $horario->hora2 = $hora[1] ? $hora[1] : null;
                 $horario->hora3 = $hora[2] ? $hora[2] : null;
                 $horario->hora4 = $hora[3] ? $hora[3] : null;
                 $horario->dia = $dia;
                 $horario->save();
             }
         }
         return redirect(route('funcionarios'))->with('alertModal', ['message' => 'Funcionário cadastrado com sucesso!', 'title' => 'Sucesso!']);
     } else {
         return array_merge($funcionario->errors(), $contrato->errors());
     }
 }
示例#4
0
 public function index()
 {
     $meses = array('01' => 'Janeiro', '02' => 'Fevereiro', '03' => 'Março', '04' => 'Abril', '05' => 'Maio', '06' => 'Junho', '07' => 'Julho', '08' => 'Agosto', '09' => 'Setembro', '10' => 'Outubro', '11' => 'Novembro', '12' => 'Dezembro');
     $impostos = \App\Imposto::join('imposto_mes', 'imposto_mes.id_imposto', '=', 'imposto.id')->where('imposto_mes.mes', '=', (int) date('m'))->orderBy('imposto.vencimento')->select('imposto.*')->get();
     $notificacoes = \App\Notificacao::where('id_usuario', '=', Auth::user()->id)->orderBy('created_at', 'desc')->get();
     $mensagens = ChamadoResposta::join("chamado", "chamado.id", '=', "chamado_resposta.id_chamado")->where('chamado.id_usuario', '=', Auth::user()->id)->groupBy('chamado_resposta.id_chamado')->orderBy('chamado_resposta.created_at', 'desc')->select('chamado_resposta.*')->limit(5)->get();
     $empresas = Pessoa::where('id_usuario', '=', Auth::user()->id)->orderBy('nome_fantasia')->limit(5)->get();
     $socios = Socio::join('pessoa', 'pessoa.id', '=', 'socio.id_pessoa')->where('pessoa.id_usuario', '=', Auth::user()->id)->select('socio.*')->orderBy('socio.nome')->limit(5)->get();
     $apuracoes = Processo::join('pessoa', 'pessoa.id', '=', 'processo.id_pessoa')->where('pessoa.id_usuario', '=', Auth::user()->id)->where('processo.status', '<>', 'concluido')->select('processo.*')->get();
     $apuracoes_urgentes = [];
     foreach ($apuracoes as $apuracao) {
         if ($apuracao->imposto->informacoes_extras()->count() > 0 && $apuracao->informacoes_extras()->count() < 1) {
             $apuracoes_urgentes[] = $apuracao;
         }
     }
     return view('dashboard.index', ['mensagens' => $mensagens, 'empresas' => $empresas, 'impostos' => $impostos, 'apuracoes' => $apuracoes, 'meses' => $meses, 'notificacoes' => $notificacoes]);
 }
示例#5
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     $pessoa = Pessoa::find($id);
     $pessoa->delete($pessoa);
     Session::flash('message', 'Pessoa removida com sucesso!');
     return Redirect::to('/pessoa');
 }
 private function save($id, $link, $msgOk, $msgErro)
 {
     // Validação: regras
     $rules = array('nome' => 'required', 'nascimento' => array('required', 'date_format:"d-m-Y"'));
     // Validação: processamento
     $validator = Validator::make(Input::all(), $rules);
     // Validação: tratamento de erros
     if ($validator->fails()) {
         // Voltar para tela de edição e mostrar mensagem de erro
         Session::flash('message', $msgErro . ' (' . $validator->messages() . ')');
         return Redirect::to($link)->withErrors($validator)->withInput();
     }
     // Se ID não foi definido, incluir nova pessoa
     if (empty($id)) {
         $pessoa = new Pessoa();
     } else {
         $pessoa = Pessoa::find($id);
     }
     $pessoa->nome = trim(Input::get('nome'));
     $pessoa->nascimento = date('Y-m-d', strtotime(Input::get('nascimento')));
     $pessoa->save();
     // Voltar para página principal e
     // mostrar mensagem de sucesso
     Session::flash('message', $msgOk);
     return Redirect::to('pessoas');
 }
示例#7
0
 public function updateAdmin($id, Request $request)
 {
     $empresa = \App\Pessoa::where('id', '=', $id)->first();
     $statusAnterior = $empresa->status;
     $statusAtual = $request->get('status');
     $empresa->status = $statusAtual;
     $empresa->save();
     if ($statusAtual == 'Aprovado' && $statusAnterior != $statusAtual) {
         $empresa->iniciar_periodo_gratis();
         $empresa->abrir_processos();
     }
     $empresa->enviar_notificacao_status();
     return redirect(route('empresas-admin'));
 }
示例#8
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy(Request $request, $id)
 {
     $pessoa = Pessoa::find($id);
     $pessoa->delete();
     return "Pessoa deletada #" . $request->input('id');
 }
示例#9
0
 public function index($id_empresa)
 {
     $socios = Socio::where('id_pessoa', '=', $id_empresa)->orderBy('nome', 'asc')->get();
     $empresa = Pessoa::where('id', '=', $id_empresa)->first()->nome_fantasia;
     return view('empresa.socios.index', ['socios' => $socios, 'id_empresa' => $id_empresa, 'empresa' => $empresa]);
 }
<?php

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
use Illuminate\Http\Request;
Route::get('/pessoas', ['middleware' => 'cors', function (Request $request) {
    //Filtro
    $limit = $request->get('limit', 15);
    //Order
    $order = $request->get('order', 'nome');
    $by = $request->get('by', $order[0] == '-' ? 'DESC' : 'ASC');
    return \App\Pessoa::orderBy(str_replace('-', '', $order), $by)->paginate($limit);
}]);
示例#11
0
 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());
     }
 }
示例#12
0
 public function create($competencia, $id_imposto, $cnpj, $vencimento, Request $request)
 {
     $imposto = \App\Imposto::where('id', '=', $id_imposto)->first();
     $empresa = \App\Pessoa::where('cpf_cnpj', '=', $cnpj)->where('id_usuario', '=', Auth::user()->id)->first();
     return view('processos.cadastrar', ['competencia' => $competencia, 'empresa' => $empresa, 'vencimento' => $vencimento, 'imposto' => $imposto]);
 }