Example #1
0
 public function simular()
 {
     $planos = Plano::orderBy('total_documentos', 'asc')->get();
     $max_documentos = Plano::max('total_documentos');
     $max_contabeis = Plano::max('total_documentos_contabeis');
     $max_funcionarios = Plano::max('funcionarios');
     $max_pro_labores = Plano::max('pro_labores');
     $max_valor = Plano::max('valor');
     $min_valor = Plano::min('valor');
     return response()->json(['planos' => $planos, 'total_funcionarios' => $max_funcionarios, 'max_documentos' => (int) $max_documentos, 'max_pro_labores' => (int) $max_pro_labores, 'max_valor' => (double) $max_valor, 'min_valor' => (int) $min_valor, 'max_contabeis' => (int) $max_contabeis]);
 }
 public function create()
 {
     $usuarios = Usuario::lists('nome', 'id');
     $tiposEmpresas = TipoEmpresa::lists('tipo', 'id');
     $planos = Plano::lists('nome', 'id');
     $vendedores = Vendedor::all();
     $vendedoresSelect = array();
     //TODO: Refatorar isso depois
     foreach ($vendedores as $vendedor) {
         $vendedoresSelect[$vendedor->id] = Usuario::find($vendedor->idUsuario)->nome;
     }
     return view('Empresa.Create')->with('usuarios', $usuarios)->with('tiposEmpresas', $tiposEmpresas)->with('planos', $planos)->with('vendedores', $vendedoresSelect);
 }
Example #3
0
 public function criar_mensalidade($request)
 {
     $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();
     $valor = $plano->valor;
     if ($request->get('funcionarios')) {
         if ($request->get('funcionarios') >= 10) {
             $valor = $plano->valor + $request->get('funcionarios') * 20;
         } else {
             $valor = $plano->valor + $request->get('funcionarios') * 25;
         }
     }
     $mensalidade = new \App\Mensalidade();
     $mensalidade->id_usuario = Auth::user()->id;
     $mensalidade->id_pessoa = $this->id;
     $mensalidade->duracao = $plano->duracao;
     $mensalidade->valor = $valor;
     $mensalidade->documentos_fiscais = $plano->total_documentos;
     $mensalidade->documentos_contabeis = $plano->total_documentos_contabeis;
     $mensalidade->pro_labores = $plano->pro_labores;
     $mensalidade->funcionarios = $request->get('funcionarios') ? $request->get('funcionarios') : 0;
     $mensalidade->status = 'Pendente';
     $mensalidade->save();
 }
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     $planos = \App\Plano::select('id', 'nome')->get();
     return $planos;
 }
 public function edit($id)
 {
     $usuario = User::with('PlanoUsuario')->with('PlanoUsuario.Plano')->find($id);
     $perfis = ['-1' => 'Selecione o perfil'] + PerfilUsuario::orderBy('tipo', 'asc')->lists('tipo', 'id')->all();
     $planos = ['-1' => 'Selecione o plano'] + Plano::orderBy('nome', 'asc')->lists('nome', 'id')->all();
     return view('Usuario.Edit')->with('usuario', $usuario)->with('perfis', $perfis)->with('planos', $planos);
 }
 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());
     }
 }
 public function store(Request $request)
 {
     \App\Plano::create(['Nome' => $request['nome'], 'Valor' => $request['valor'], 'Descricao' => $request['descricao']]);
     return "Plano Registrado com sucesso!!";
 }