Skip to content

Instantly share code, notes, and snippets.

@danillo10
Created March 10, 2022 13:17
Show Gist options
  • Select an option

  • Save danillo10/38e0bf72244e02c307d77b4ac4d0ead2 to your computer and use it in GitHub Desktop.

Select an option

Save danillo10/38e0bf72244e02c307d77b4ac4d0ead2 to your computer and use it in GitHub Desktop.
$planos = PlanosFunerarios::where(function ($query) use ($request){
if (isset($request->cadastro_at))
$query->whereDate('planos_funerarios.data_os','>=',Carbon::parse($request->cadastro_at)->format('Y-m-d'));
if (isset($request->cadastro_end))
$query->whereDate('planos_funerarios.data_os','<=',Carbon::parse($request->cadastro_end)->format('Y-m-d'));
if(isset($request->emissao_at))
$query->whereDate('planos_funerarios.data_carne','>=', $request->emissao_at);
if(isset($request->emissao_end))
$query->whereDate('planos_funerarios.data_carne','<=', $request->emissao_end);
if (isset($request->entrega_at))
$query->whereDate('planos_funerarios.data_entrega','>=',Carbon::parse($request->entrega_at)->format('Y-m-d'));
if (isset($request->entrega_end))
$query->whereDate('planos_funerarios.data_entrega','<=',Carbon::parse($request->entrega_end)->format('Y-m-d'));
})
->join('clientes','clientes.id','planos_funerarios.cliente')
->where(function ($query) use ($request){
if(isset($request->cliente))
$query->where('clientes.id',$request->cliente);
if(isset($request->estado))
$query->where('clientes.estado',$request->estado);
if(isset($request->cidade))
$query->where('clientes.cidade','LIKE','%'.$request->cidade.'%');
if(isset($request->bairro))
$query->where('clientes.bairro','LIKE','%'.$request->bairro.'%');
if(isset($request->endereco))
$query->where('clientes.endereco','LIKE','%'.$request->endereco.'%');
})
->leftJoin('vendedores','vendedores.id','planos_funerarios.tecnico')
->where(function ($query) use ($request){
if(isset($request->vendedor))
$query->where('vendedores.id',$request->vendedor);
})
->leftJoin('planos_funerarios_servicos','planos_funerarios_servicos.plano_id','planos_funerarios.id')
->where(function ($query) use ($request){
if(isset($request->tipo_plano))
$query->where('planos_funerarios_servicos.servico_id',$request->tipo_plano);
})
->leftJoin('planos_funerarios_parcelas','planos_funerarios_parcelas.plano_id','planos_funerarios.id')
// ->where('planos_funerarios_parcelas.parcela_numero',2)
->leftJoin('produtos','produtos.id','planos_funerarios_servicos.servico_id')
->select(DB::raw('max(planos_funerarios.id) as id'),'clientes.nome_fantasia','clientes.cnpjcpf','clientes.endereco','clientes.numero','clientes.complemento','clientes.bairro','clientes.cidade','clientes.estado','clientes.cep','clientes.email','clientes.celular','produtos.nome','vendedores.nome_fantasia as v_nome_fantasia','planos_funerarios_parcelas.parcela_valor','planos_funerarios.valor_bruto','planos_funerarios.qtd_parcelas','planos_funerarios.data_os','planos_funerarios.data_entrega','planos_funerarios.situacao','planos_funerarios.taxa_adesao')
->orderBy('planos_funerarios.id','DESC')
->groupBy('clientes.nome_fantasia', 'clientes.cnpjcpf')
->get();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment