Frank K Hosaka Postado Novembro 14 Denunciar Share Postado Novembro 14 (editado) Gastei dois dias para transformar um arquivo com o CSS Bootstrap para o Tailwinds, tive que trocar um monte de <td> por um monte de <div>: arquivo balanceteView.blade.php @include('menuView') <script>btMenu.innerHTML="Balancete";document.title="Balancete"</script> <div class="flex bg-gray-200"> <div style=width:350px><a href='balanceteApura'>{{$apuracao->apuracao}}</a></div> <div style=width:200px class=text-right>Anterior</div> <div style=width:200px class=text-right>Débito</div> <div style=width:200px class=text-right>Crédito</div> <div style=width:200px class=text-right>Saldo</div> </div> @foreach($balancete as $conta) <div class="flex bg-gray-200 odd:bg-white even:bg-gray-200"> <div style=width:50px><a href="balanceteRazao?conta={{$conta->conta}}">{{$conta->conta}}</a></div> <div style=width:300px>{{$conta->descricao}}</div> <div style=width:200px class=text-right>{{dec($conta->inicio)}}</div> <div style=width:200px class=text-right>{{dec($conta->debito)}}</div> <div style=width:200px class=text-right>{{dec($conta->credito)}}</div> <div style=width:200px class=text-right>{{dec($conta->fim)}}</div> </div> @if($conta->conta==304) <div class="flex bg-white"> <div style=width:950px class="text-right font-semibold">Receita</div> <div style=width:200px class="text-right font-semibold">{{dec($receita)}}</div> </div> @endif </div> @endforeach <div class="flex bg-white"> <div style=width:950px class="text-right font-semibold">Despesa</div> <div style=width:200px class="text-right font-semibold">{{dec($despesa)}}</div> </div> <div class="flex bg-gray-200"> <div style=width:550px class="text-right font-semibold">{{dec($anterior)}}</div> <div style=width:400px class="text-right font-semibold">{{$nota}}</div> <div style=width:200px class="text-right font-semibold">{{dec($resultado)}}</div> </div> e apenas alguns segundos para acabar com a lentidão da minha função balancete: arquivo Balancete.php (listagem parcial) <?php // ... function inicio (Request $request) { $previa=$this->balancete(); $balancete=$previa->balancete; $apuracao=$previa->apuracao; $anterior=$previa->anterior; $receita=$previa->receita; $despesa=$previa->despesa; $resultado=$previa->resultado; $nota=$previa->nota; return view('balanceteView',['balancete'=>$balancete, 'apuracao'=>$apuracao,'anterior'=>$anterior,'despesa'=>$despesa, 'receita'=>$receita,'resultado'=>$resultado,'nota'=>$nota]); } function balancete() { $receita = 0; $despesa = 0; $anterior = 0; $balancete = []; $contas = tbconta::all(); if (!session()->has('dia')) { session(['dia' => date('Y-m-d')]); } $apuracao = apuracao(session('dia')); $primeiroDia = $apuracao->primeiroDia; $ultimoDia = $apuracao->ultimoDia; // Agregações para melhorar a performance $debitosAnteriores = tbdiario::where('dia', '<', $primeiroDia) ->select('contad', \DB::raw('SUM(valor) as debito_anterior')) ->groupBy('contad') ->pluck('debito_anterior', 'contad')->all(); $creditosAnteriores = tbdiario::where('dia', '<', $primeiroDia) ->select('contac', \DB::raw('SUM(valor) as credito_anterior')) ->groupBy('contac') ->pluck('credito_anterior', 'contac')->all(); $debitos = tbdiario::whereBetween('dia', [$primeiroDia, $ultimoDia]) ->select('contad', \DB::raw('SUM(valor) as debito')) ->groupBy('contad') ->pluck('debito', 'contad')->all(); $creditos = tbdiario::whereBetween('dia', [$primeiroDia, $ultimoDia]) ->select('contac', \DB::raw('SUM(valor) as credito')) ->groupBy('contac') ->pluck('credito', 'contac')->all(); $debitosFinais = tbdiario::where('dia', '<=', $ultimoDia) ->select('contad', \DB::raw('SUM(valor) as debito_fim')) ->groupBy('contad') ->pluck('debito_fim', 'contad')->all(); $creditosFinais = tbdiario::where('dia', '<=', $ultimoDia) ->select('contac', \DB::raw('SUM(valor) as credito_fim')) ->groupBy('contac') ->pluck('credito_fim', 'contac')->all(); foreach ($contas as $conta) { $debitoAnterior = isset($debitosAnteriores[$conta->conta]) ? $debitosAnteriores[$conta->conta] : 0; $creditoAnterior = isset($creditosAnteriores[$conta->conta]) ? $creditosAnteriores[$conta->conta] : 0; $inicio = $debitoAnterior - $creditoAnterior; $anterior += $inicio; $debito = isset($debitos[$conta->conta]) ? $debitos[$conta->conta] : 0; $credito = isset($creditos[$conta->conta]) ? $creditos[$conta->conta] : 0; $debitoFim = isset($debitosFinais[$conta->conta]) ? $debitosFinais[$conta->conta] : 0; $creditoFim = isset($creditosFinais[$conta->conta]) ? $creditosFinais[$conta->conta] : 0; $fim = $debitoFim - $creditoFim; if ($conta->conta >= 301 && $conta->conta <= 304) { $receita += $fim; } if ($conta->conta > 304) { $despesa += $fim; } $balancete[] = [ 'conta' => $conta->conta, 'descricao' => $conta->descricao, 'inicio' => $inicio, 'debito' => $debito, 'credito' => $credito, 'fim' => $fim, ]; } $resultado = $receita + $despesa; $nota = ($resultado < 0) ? "Lucro" : "Prejuízo"; $balancete = json_decode(json_encode($balancete)); return json_decode(json_encode([ 'balancete' => $balancete, 'apuracao' => $apuracao, 'anterior' => $anterior, 'despesa' => $despesa, 'receita' => $receita, 'resultado' => $resultado, 'nota' => $nota, ])); } Esse Copilot é fora de série! Editado Novembro 14 por Frank K Hosaka Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Frank K Hosaka
Gastei dois dias para transformar um arquivo com o CSS Bootstrap para o Tailwinds, tive que trocar um monte de <td> por um monte de <div>:
e apenas alguns segundos para acabar com a lentidão da minha função balancete:
Esse Copilot é fora de série!
Editado por Frank K HosakaLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.