public function relatorio(Request $request) { $result = Compra::select('fornecedores.fantasia', 'fornecedores.nome_razao', 'compras.id', 'compras.data_compra', 'compras.status as status_compra', 'compras.fornecedor_id')->with(['compra_itens' => function ($q) { $q->with('produto'); }])->join('fornecedores', 'fornecedores.id', '=', 'compras.fornecedor_id')->whereBetween('data_compra', [setDataBR($request->data_inicial), setDataBR($request->data_final)]); /* Verifica o status solicitado */ if ($request->status == 2) { $result->where('compras.status', '2'); } // Vefirica se o usuário selecionou um fornecedor if ($request->fornecedor != '') { $result->where('fornecedor_id', $request->fornecedor); } $result = $result->get(); $dado['data_inicial'] = $request->data_inicial; $dado['data_final'] = $request->data_final; return view('compras.relatorios.relatorio', compact('dado', 'result')); }
private function enderecoSql($datas) { $sql = Lancamento::leftJoin('boletos', 'boletos.lancamento_id', '=', 'lancamentos.id')->leftJoin('vendas', 'vendas.id', '=', 'lancamentos.venda_id')->leftJoin('clientes', 'clientes.id', '=', 'vendas.cliente_id')->leftJoin('enderecos', 'clientes.id', '=', 'enderecos.enderecavel_id')->where('tipo', 'bo')->where('enderecos.enderecavel_type', 'App\\Models\\Cliente')->whereBetween('lancamentos.data_vencimento', [setDataBR($datas['data_inicial']), setDataBR($datas['data_final'])]); return $sql; }
public function relatorio(Request $request) { $debitos = Lancamento::whereBetween('data_vencimento', [setDataBR($request->data_inicial), setDataBR($request->data_final)])->where('tipo_lancamento', 'D'); if ($request->tp == 'pagos') { $debitos = $debitos->where('status', 2)->orWhere('status', 3); } if ($request->tp == 'nao_pagos') { $debitos = $debitos->where('status', '1'); } $debitos = $debitos->get(); $dado['data_inicial'] = $request->data_inicial; $dado['data_final'] = $request->data_final; return view('/debitos/relatorio-final', compact('debitos', 'dado')); }
public function geraRelatorio(Request $request) { $dado['data_inicial'] = $request->data_inicial; $dado['data_final'] = $request->data_final; $enderecos = Endereco::select('enderecos.estado', 'enderecos.cidade', 'enderecos.bairro')->where('enderecavel_type', 'App\\Models\\Cliente'); $enderecos = $request->estado != '' ? $enderecos->where('estado', '=', $request->estado) : $enderecos; $enderecos = ($request->cidade != "? undefined:undefined ?" and $request->cidade != '') ? $enderecos->where('cidade', $request->cidade) : $enderecos; $enderecos = ($request->bairro != "? undefined:undefined ?" and $request->bairro != '') ? $enderecos->where('bairro', $request->bairro) : $enderecos; $estados = $enderecos->groupBy('estado')->select('estado')->get()->toArray(); $cidades = $enderecos->groupBy('estado', 'cidade')->select('cidade')->get()->toArray(); $bairros = $enderecos->groupBy('estado', 'cidade', 'bairro')->select('bairro')->get()->toArray(); $enderecos->get(); // Pega o status para gerar o relatorio de acordo com as opções [ Todos, Pagos, Não pagos ] $status = $request->tp; $boletos = Boleto::select(DB::raw('CONCAT(clientes.nome_razao, "/", clientes.fantasia) as cliente'), 'enderecos.estado', 'enderecos.cidade', 'enderecos.bairro', 'boletos.numero', 'lancamentos.valor_pago', 'lancamentos.valor', 'lancamentos.data_vencimento', 'lancamentos.data_pagamento', 'lancamentos.status', 'lancamentos.tipo_lancamento')->join('lancamentos', function ($q) use($dado, $status) { $q->on('lancamentos.id', '=', 'boletos.lancamento_id'); $q->where('lancamentos.data_vencimento', '>=', setDataBR($dado['data_inicial'])); $q->where('lancamentos.data_vencimento', '<=', setDataBR($dado['data_final'])); if ($status == 'nao_pagos') { $q->where('lancamentos.status', '=', 1); } if ($status == 'pagos') { $q->where('lancamentos.status', '=', 2); } })->join('clientes', 'clientes.id', '=', 'boletos.cliente_id')->join('enderecos', function ($q) use($estados, $cidades, $bairros) { $q->on('enderecos.enderecavel_id', '=', 'clientes.id'); $q->where('enderecos.enderecavel_type', '=', 'App\\Models\\Cliente'); $q->whereIn('estado', $estados); $q->whereIn('cidade', $cidades); $q->whereIn('bairro', $bairros); })->orderBy('enderecos.estado')->orderBy('enderecos.cidade')->orderBy('enderecos.bairro')->orderBy('enderecos.logradouro')->orderBy('enderecos.numero')->orderBy('clientes.fantasia')->orderBy('clientes.nome_razao')->get(); /*$pdf = App::make('dompdf.wrapper'); $pdf->loadView('boletos/relatorio-final', compact('estados', 'cidades', 'bairros', 'boletos', 'datas')); return $pdf->stream();*/ return view('boletos/relatorio-final', compact('boletos', 'dado')); }
public function setDataVendaAttribute($value) { $this->attributes['data_venda'] = setDataBR($value); }
public function setDataPagamentoAttribute($value) { $this->attributes['data_pagamento'] = setDataBR($value); }
public function setDataCompraAttribute($value) { $this->attributes['data_compra'] = setDataBR($value); }
public function geraRelatorioPorCidade(Request $request) { $dado['data_inicial'] = $request->data_inicial; $dado['data_final'] = $request->data_final; $enderecos = Endereco::select('enderecos.estado', 'enderecos.cidade', 'enderecos.bairro')->where('enderecavel_type', 'App\\Models\\Cliente'); $enderecos = $request->estado != '' ? $enderecos->where('estado', '=', $request->estado) : $enderecos; $enderecos = ($request->cidade != "? undefined:undefined ?" and $request->cidade != '') ? $enderecos->where('cidade', $request->cidade) : $enderecos; $enderecos = ($request->bairro != "? undefined:undefined ?" and $request->bairro != '') ? $enderecos->where('bairro', $request->bairro) : $enderecos; $estados = $enderecos->groupBy('estado')->select('estado')->get()->toArray(); $cidades = $enderecos->groupBy('estado', 'cidade')->select('cidade')->get()->toArray(); $bairros = $enderecos->groupBy('estado', 'cidade', 'bairro')->select('bairro')->get()->toArray(); $enderecos->get(); // Pega o status do cheque selecionado $status = $request->tp; $cheques = Cheque::select('bancos.numero as banco', 'cheques.numero', 'cheques.nome', 'lancamentos.valor', 'lancamentos.valor_pago', 'lancamentos.status', 'lancamentos.data_vencimento', 'lancamentos.data_pagamento', 'clientes.id as cliente_id', DB::raw('CONCAT(clientes.nome_razao, "/", clientes.fantasia) as cliente'), 'enderecos.estado', 'enderecos.cidade', 'enderecos.bairro')->leftJoin('bancos', 'bancos.id', '=', 'cheques.banco_id')->leftJoin('lancamentos', function ($q) use($dado, $status) { $q->on('lancamentos.id', '=', 'cheques.lancamento_id'); if ($status != 'todos') { $q->where('lancamentos.status', '=', $status); } /*if($status == 'nao_pagos') { $q->where('lancamentos.status', '=', 1); } if($status == 'pagos') { $q->where('lancamentos.status', '=', 2); }*/ })->leftJoin('clientes', 'clientes.id', '=', 'cheques.cliente_id')->leftJoin('enderecos', function ($q) use($estados, $cidades, $bairros) { $q->on('enderecos.enderecavel_id', '=', 'clientes.id'); $q->where('enderecos.enderecavel_type', '=', 'App\\Models\\Cliente'); $q->whereIn('estado', $estados); $q->whereIn('cidade', $cidades); $q->whereIn('bairro', $bairros); })->whereBetween('lancamentos.data_vencimento', [setDataBR($dado['data_inicial']), setDataBR($dado['data_final'])])->orderBy('enderecos.estado', 'asc')->orderBy('enderecos.cidade', 'asc')->orderBy('enderecos.bairro', 'asc')->orderBy('enderecos.logradouro', 'asc')->orderBy('enderecos.numero', 'asc')->orderBy('clientes.fantasia', 'asc')->orderBy('clientes.nome_razao', 'asc')->get(); // $pdf = App::make('dompdf.wrapper'); // // $pdf->loadView('cheques.relatorios.relatorio_cheques', compact('dado', 'cheques')); // // return $pdf->stream(); return view('cheques.relatorios.relatorio_cheques', compact('dado', 'cheques')); }
public function postRelatorioRomaneio(Request $request, VendasService $vendasService) { // $dado['data_inicial'] = $request->data_inicial; // $dado['data_final'] = $request->data_final; // // $enderecos = Endereco::select('enderecos.estado', 'enderecos.cidade', 'enderecos.bairro')->where('enderecavel_type', 'App\Models\Cliente'); // // $enderecos = $request->estado != '' ? $enderecos->where('estado', '=', $request->estado) : $enderecos; // $enderecos = ($request->cidade != "? undefined:undefined ?" and $request->cidade != '') ? $enderecos->where('cidade', $request->cidade) : $enderecos; // $enderecos = ($request->bairro != "? undefined:undefined ?" and $request->bairro != '') ? $enderecos->where('bairro', $request->bairro) : $enderecos; // // $estados = $enderecos->groupBy('estado')->select('estado')->get()->toArray(); // $cidades = $enderecos->groupBy('estado', 'cidade')->select('cidade')->get()->toArray(); // $bairros = $enderecos->groupBy('estado', 'cidade', 'bairro')->select('bairro')->get()->toArray(); // $enderecos->get(); $address = new EnderecosCapa(); $address = $address->getCapa($request, 'App\\Models\\Cliente'); $clientes = Cliente::select('clientes.id', 'clientes.nome_razao', 'clientes.fantasia', 'vendas.cliente_id', 'vendas.data_venda', 'enderecos.logradouro', 'enderecos.bairro', 'enderecos.numero', DB::raw('sum(venda_itens.quantidade * venda_itens.preco_venda) as total'), 'enderecos.estado', 'enderecos.cidade', 'enderecos.bairro')->leftJoin('vendas', function ($v) use($address) { $v->on('clientes.id', '=', 'vendas.cliente_id'); $v->where('data_venda', '>=', setDataBR($address['data_inicial'])); $v->where('data_venda', '<=', setDataBR($address['data_final'])); })->leftJoin('venda_itens', 'vendas.id', '=', 'venda_itens.venda_id')->leftJoin('enderecos', function ($q) use($address) { $q->on('enderecos.enderecavel_id', '=', 'clientes.id'); $q->where('enderecos.enderecavel_type', '=', 'App\\Models\\Cliente'); $q->whereIn('estado', $address['estados']); $q->whereIn('cidade', $address['cidades']); $q->whereIn('bairro', $address['bairros']); })->groupBy('clientes.id')->orderBy('enderecos.estado', 'asc')->orderBy('enderecos.cidade', 'asc')->orderBy('enderecos.bairro', 'asc')->orderBy('enderecos.logradouro', 'asc')->orderBy('enderecos.numero', 'asc')->orderBy('clientes.fantasia', 'asc')->orderBy('clientes.nome_razao', 'asc')->get(); return view('clientes/relatorios/relatorio_romaneio', compact('address', 'clientes')); }