Пример #1
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]);
 }
Пример #2
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());
     }
 }
Пример #3
0
 public function divergencia(Os $os, Request $request)
 {
     if ($request->isMethod('post')) {
         $os->processos_divergentes()->where('divergencia', true)->delete();
         $this->parse($os, $request, 1);
     }
     if ($request->has('processo')) {
         $processo = Processo::find($request->processo);
         $os->processos()->where('codigo', $processo->codigo)->where('setor', $processo->setor)->where('divergencia', false)->delete();
         $processo->divergencia = false;
         $processo->save();
     }
     $divergencias = $os->getDivergencia();
     return view('operacional.processo.divergencia', compact('divergencias'));
 }
Пример #4
0
 public function ajax(Request $request)
 {
     $lista = Processo::where('descricao', 'ilike', '%' . $request->get('search') . '%')->orWhere('codigo', 'ilike', '%' . $request->get('search') . '%')->orderBy('descricao')->take(5)->get(['descricao', 'codigo']);
     return response()->json($lista);
 }