Пример #1
0
 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);
 }
Пример #2
0
 public function getProdutoVenda()
 {
     $vendas = Venda::has("produto_venda.produto")->get();
     $vendas->load('produto_venda.produto');
     return response()->json($vendas);
 }