예제 #1
0
 public function run()
 {
     $faker = Faker::create('pt_BR');
     foreach (range(1, 10) as $index) {
         Pedido::create(['cliente_id' => rand(1, 2), 'fornecedor_id' => rand(1, 2), 'entrega_endereco' => $faker->text(), 'entrega_data' => $faker->date('Y-m-d'), 'frete' => $faker->text(), 'pgto' => $faker->text(), 'total' => rand(3, 3), 'obs' => $faker->text()]);
     }
 }
예제 #2
0
 /**
  * Store a newly created pedido in storage.
  *
  * @return Response
  */
 public function store()
 {
     $validator = Validator::make($data = Input::all(), Pedido::$rules);
     if ($validator->fails()) {
         $alert[] = ['class' => 'alert-danger', 'message' => 'Erros de validação. Verifique!'];
         Session::flash('alerts', $alert);
         return Redirect::back()->withErrors($validator)->withInput(Input::except('password'));
     }
     $total = NULL;
     // Tratamos os valores monetários com carinho ;)
     foreach ($data['itens']['preco'] as $item => $preco) {
         $data['itens']['preco'][$item] = FazMeRir::feio($preco);
     }
     foreach ($data['itens']['subtotal'] as $item => $subtotal) {
         $data['itens']['subtotal'][$item] = FazMeRir::feio($subtotal);
         // Soma ao total
         $total += $data['itens']['subtotal'][$item];
     }
     //Reformata o total
     $data['total'] = number_format($total, '2', '.', '');
     // Codifica PRODUTOS em JSON
     $data['itens'] = json_encode($data['itens']);
     //Status
     // 1 = Salvo / Não enviado
     // 2 = Enviado
     $data['status'] = '1';
     /**
      *    CRIA NOVO PEDIDO
      */
     $pedido = Pedido::create($data);
     if ($pedido) {
         $alert[] = ['class' => 'alert-success', 'message' => 'O pedido foi fechado. Não esqueça de enviá-lo!'];
         Session::flash('alerts', $alert);
         // GERA PDF
         $this->gerarPdf($pedido->id);
         $pedido = $pedido->id;
         return Redirect::route('pedidos.show', compact('pedido'));
     } else {
         $alert[] = ['class' => 'alert-danger', 'message' => 'Erro: Não foi possível fechar o pedido.'];
         Session::flash('alerts', $alert);
         return Redirect::back()->withErrors();
     }
 }
예제 #3
0
 public function postVentadirecta()
 {
     $pedido = Pedido::create(['estado' => 2, 'fechainicio' => date('Y-m-d H:i:s'), 'usuario_id' => Auth::user()->id]);
     $productos = Input::get('productos');
     foreach ($productos as $producto) {
         $cantidad = $producto['cantidad'];
         $pedido->productos()->attach($producto['producto_id'], ['cantidad' => $cantidad, 'estado' => 1, 'precio' => $producto['precio'], 'preciounitario' => $producto['preciounitario']]);
         $producto = Producto::find($producto['producto_id']);
         $newstock = $producto->stockactual - $cantidad;
         $producto->stockactual = $newstock;
         $producto->save();
     }
     $pagarpro = $pedido->productos()->where('detallepedidoproductos.estado', '=', 1)->sum('detallepedidoproductos.precio');
     $subtotal = $pagarpro / 1.18;
     $documentoventa = Documentoventa::create(['estado' => 1, 'igv' => $pagarpro - $subtotal, 'importe' => $pagarpro, 'subtotal' => $subtotal, 'caja_id' => $this->detallecaja->caja_id, 'detallecaja_id' => $this->detallecaja->id, 'pedido_id' => $pedido->id, 'tipocomprobante_id' => 1]);
     $productos = $pedido->productos;
     foreach ($productos as $producto) {
         if ($producto->pivot->estado == 1) {
             $producto->pivot->estado = 0;
             $documentoventa->productos()->attach($producto->id, ['precio' => $producto->pivot->precio, 'preciounitario' => $producto->pivot->preciounitario, 'cantidad' => $producto->pivot->cantidad, 'descripcion' => $producto->nombre]);
             $producto->pivot->save();
         }
     }
     return Response::json(['estado' => true, 'msg' => 'Operacion Completada Correctamente']);
 }