public function produtosVendidos(Request $request) { $take = $request->input('itensPorPagina'); $de = $request->input('de'); $ate = $request->input('ate'); $vendedor_id = $request->input('vendedor_id'); $pagina = $request->input('pagina'); $orderBy = $request->input('orderBy'); $orderByField = $request->input('orderByField'); $skip = $take * $pagina; $filial = ""; if (isset($_COOKIE['filial'])) { $filial = $_COOKIE['filial']; } $venda = new Venda(); if ($take) { if ($de && $ate) { $venda = $venda->where('data', '>=', $de)->where('data', '<=', $ate)->take(intval($take))->skip($skip); } if ($vendedor_id) { $venda = $venda->where('vendedor_id', $vendedor_id); } $venda = $venda->take(intval($take))->skip($skip)->get(); } else { $venda = Venda::get(); } $venda = $venda->load(['vendedor' => function ($query) use($filial) { if ($filial) { $query->where('filial_id', $filial); } }]); $vendas = $venda->load('produtos'); $produtos = array(); $dados_venda = array(); $vendedores = array(); $dados_venda['qtde_vendas'] = 0; $dados_venda['valor_total'] = 0; foreach ($vendas as $key => $venda) { $valor_parcial = 0; if (isset($venda->vendedor)) { foreach ($venda->produtos as $key => $produto) { if (isset($produtos[$produto->id])) { $prod = $produtos[$produto->id]; $prod['valor_total'] = 0; $prod['produtos_vendidos'] += $produto->pivot->quantidade; $prod['valor_total'] = $prod['produtos_vendidos'] * $produto->valor; $prod['vendedor_id'] = $venda->vendedor->id; $prod['vendedor_nome'] = $venda->vendedor->nome; } else { $prod = array(); $prod['id'] = $produto->id; $prod['valor_total'] = 0; $prod['produtos_vendidos'] = $produto->pivot->quantidade; $prod['valor_total'] = $produto->pivot->quantidade * $produto->valor; $prod['vendedor_id'] = $venda->vendedor->id; $prod['vendedor_nome'] = $venda->vendedor->nome; $prod['cod_produto'] = $produto->cod_produto; $prod['descricao'] = $produto->descricao; } if (isset($prod['vendedores'][$venda->vendedor->id])) { $prod['vendedores'][$venda->vendedor->id]['quantidade'] += $produto->pivot->quantidade; } else { $prod['vendedores'][$venda->vendedor->id]['nome'] = $venda->vendedor->nome; $prod['vendedores'][$venda->vendedor->id]['quantidade'] = $produto->pivot->quantidade; } $produtos[$produto->id] = $prod; } } $dados_venda['qtde_vendas']++; } foreach ($produtos as $key => $produto) { $dados_venda['valor_total'] += $produto['valor_total']; /*if(isset($produto['vendedor_id'])){ $vendedores[$produto['vendedor_id']]["quantidade"]=$produto['produtos_vendidos']; $vendedores[$produto['vendedor_id']]["nome"]=$produto['vendedor_nome']; $produto["vendedores"][$produto['vendedor_id']] = $vendedores[$produto['vendedor_id']]; }*/ $produtos[$key] = $produto; } $retorno = array(); $retorno["dados"] = $produtos; $retorno["dados_venda"] = $dados_venda; return response()->json($retorno); }
public function getProdutoVenda() { $vendas = Venda::has("produto_venda.produto")->get(); $vendas->load('produto_venda.produto'); return response()->json($vendas); }