예제 #1
0
 public function reporte_8_excel(Request $request)
 {
     $id = $request->input('id');
     $saldoTotal = 0;
     $saldoTotalActual = 0;
     $vales = Vale::where('id_distribuidor', $id)->where('estatus', 1)->get();
     for ($i = 0; $i < sizeof($vales); $i++) {
         $importe = $vales[$i]->cantidad;
         $saldoAnterior = $vales[$i]->deuda_actual;
         $pagosRealizados = $vales[$i]->pagos_realizados;
         $numeroPagos = $vales[$i]->numero_pagos;
         $abono = $this->calcularPago($importe, $numeroPagos, $pagosRealizados);
         $saldoActual = $saldoAnterior - $abono;
         $nombreCliente = Vale::find($vales[$i]->id_vale)->cliente->nombre;
         $saldoTotalActual += $saldoAnterior;
         $saldoTotal += $importe;
         $vales[$i]->id_cliente = $nombreCliente;
         $vales[$i]->cantidad = $importe . ".00";
         $vales[$i]->pagos_realizados = $pagosRealizados . " de " . $numeroPagos;
         $vales[$i]->deuda_actual = $saldoAnterior . ".00";
     }
     $datas = $vales;
     $distribuidor = $id . ".-" . Distribuidor::find($id)->nombre;
     $fechaHoy = Carbon::now();
     Excel::create('Reporte_Historico', function ($excel) use($datas, $fechaHoy, $distribuidor, $saldoTotal, $saldoTotalActual) {
         $excel->sheet('Reporte_Historico', function ($sheet) use($datas, $fechaHoy, $distribuidor, $saldoTotal, $saldoTotalActual) {
             $sheet->loadView('reportes.reporte_8_excel')->with("datas", $datas)->with("fechaHoy", $fechaHoy)->with("distribuidor", $distribuidor)->with("saldoTotal", $saldoTotal)->with("saldoTotalActual", $saldoTotalActual);
         });
     })->export('xls');
 }
예제 #2
0
 public function emitirReporteHistorico(Request $request)
 {
     $id = $request->input('id');
     $vales = Vale::where('id_distribuidor', $id)->where('estatus', 1)->get();
     for ($i = 0; $i < sizeof($vales); $i++) {
         $importe = $vales[$i]->cantidad;
         $saldoAnterior = $vales[$i]->deuda_actual;
         $pagosRealizados = $vales[$i]->pagos_realizados;
         $numeroPagos = $vales[$i]->numero_pagos;
         $abono = $this->calcularPago($importe, $numeroPagos, $pagosRealizados);
         $saldoActual = $saldoAnterior - $abono * $pagosRealizados;
         $nombreCliente = Vale::find($vales[$i]->id_vale)->cliente->nombre;
         $vales[$i]->id_cliente = $nombreCliente;
         $vales[$i]->cantidad = "\$" . $importe . ".00";
         $vales[$i]->pagos_realizados = $pagosRealizados . " de " . $numeroPagos;
         $vales[$i]->deuda_actual = "\$" . $saldoAnterior . ".00";
     }
     return $vales;
 }
예제 #3
0
 public function body_reporte_1b($id, $fecha)
 {
     $vales = Vale::where('id_distribuidor', $id)->where('deuda_actual', '>', 0)->where('estatus', 1)->where('fecha_inicio_pago', '<=', $this->calcularFechaCorte($fecha))->get();
     $pagosAbonados = Pago::where('id_distribuidor', $id)->where('estado', 3)->get();
     $valesClonados = array();
     for ($i = 0; $i < sizeof($vales); $i++) {
         $clon = clone $vales[$i];
         $valesClonados[] = $clon;
     }
     for ($i = 0; $i < sizeof($vales); $i++) {
         for ($j = 0; $j < sizeof($pagosAbonados); $j++) {
             $fecha_pago_carbon = Carbon::parse($vales[$i]->fecha_inicio_pago);
             $fecha_atraso_carbon = Carbon::parse($pagosAbonados[$j]->fecha_creacion);
             if ($vales[$i]->pagos_realizados < $vales[$i]->numero_pagos - 1 && $fecha_pago_carbon <= $fecha_atraso_carbon) {
                 $importe = $vales[$i]->cantidad;
                 //*
                 $saldoAnterior = $vales[$i]->deuda_actual;
                 //*
                 $pagosRealizados = $vales[$i]->pagos_realizados + 1;
                 //*
                 $numeroPagos = $vales[$i]->numero_pagos;
                 //*
                 $abono = $this->calcularPago($importe, $numeroPagos, $pagosRealizados);
                 //*
                 $saldoActual = $saldoAnterior - $abono;
                 //*
                 $vales[$i]->deuda_actual = $saldoActual;
                 $vales[$i]->pagos_realizados = $vales[$i]->pagos_realizados + 1;
                 $clone = clone $vales[$i];
                 $valesClonados[] = $clone;
             }
         }
     }
     $saldoTotal = 0;
     $saldoComision;
     for ($i = 0; $i < sizeof($valesClonados); $i++) {
         $importe = $valesClonados[$i]->cantidad;
         $saldoAnterior = $valesClonados[$i]->deuda_actual;
         $pagosRealizados = $valesClonados[$i]->pagos_realizados + 1;
         $numeroPagos = $valesClonados[$i]->numero_pagos;
         $abono = $this->calcularPago($importe, $numeroPagos, $pagosRealizados);
         $saldoTotal += $abono;
         $saldoActual = $saldoAnterior - $abono;
         $nombreCliente = Vale::find($valesClonados[$i]->id_vale)->cliente->nombre;
         $valesClonados[$i]->id_vale = $valesClonados[$i]->id_cliente;
         $valesClonados[$i]->id_cliente = $nombreCliente;
         $valesClonados[$i]->cantidad = "\$" . $importe . ".00";
         $valesClonados[$i]->numero_pagos = "\$" . $saldoAnterior . ".00";
         $valesClonados[$i]->pagos_realizados = $pagosRealizados . " de " . $numeroPagos;
         $valesClonados[$i]->cantidad_limite = "\$" . $abono . ".00";
         $valesClonados[$i]->deuda_actual = "\$" . $saldoActual . ".00";
     }
     $comision = $this->calcularComision($saldoTotal, $id);
     $saldoDistribuidor = intval($saldoTotal * $comision / 100);
     $saldoComision = $saldoTotal - $saldoDistribuidor;
     $data = $valesClonados;
     $distribuidor = Distribuidor::find($id)->nombre;
     $fechaHoy = $this->modificarFechas(Carbon::today()->toDateString());
     $fechaEntrega = $this->CalcularFechaEntrega($fecha);
     $fechaLimite = $this->CalcularFechaLimiteCliente($fecha);
     $periodo = $this->calcularPeriodo($fecha);
     $view = \View::make('reportes/reporte_1b_todos', compact('data', 'fechaHoy', 'distribuidor', 'fechaEntrega', 'fechaLimite', 'periodo', 'comision', 'saldoTotal', 'saldoComision'))->render();
     return $view;
 }
예제 #4
0
 public function modificarVale(Request $request)
 {
     $vale = Vale::find($request->input('id_vale'));
     $valeMovimiento = (string) $vale;
     $folio = $request->input('folio');
     $serie = $request->input('serie');
     $fechaVenta = $request->input('fecha_venta');
     $fechaPago = $request->input('fecha_inicio_pago');
     $idPromocion = $request->input('id_promocion');
     $limiteVale = $request->input('limite_vale');
     $idCliente = $request->input('id_cliente');
     $idCuenta = $request->input('id_cuenta');
     $idDistribuidor = $request->input('id_distribuidor');
     $cantidad = $request->input('cantidad');
     $numeroPagos = $request->input('numero_pagos');
     $pagosRealizados = $request->input('pagos_realizados');
     $folioVenta = $request->input('folio_venta');
     $estatus = $request->input('estatus');
     $motivoCancelacion = $request->input('motivo_cancelacion');
     if ($pagosRealizados == $numeroPagos) {
         $deudaActual = 0;
     } else {
         $deudaActual = $cantidad - $this->calcularPago($cantidad, $numeroPagos, $pagosRealizados) * $pagosRealizados;
     }
     $vale->folio = $folio;
     $vale->serie = $serie;
     $vale->fecha_venta = $fechaVenta;
     $vale->fecha_inicio_pago = $fechaPago;
     $vale->id_promocion = $idPromocion;
     $vale->id_cliente = $idCliente;
     $vale->id_cuenta = $idCuenta;
     $vale->id_distribuidor = $idDistribuidor;
     $vale->cantidad = $cantidad;
     $vale->deuda_actual = $deudaActual;
     $vale->numero_pagos = $numeroPagos;
     $vale->pagos_realizados = $pagosRealizados;
     $vale->folio_venta = $folioVenta;
     $vale->estatus = $estatus;
     $vale->cantidad_limite = $limiteVale;
     $vale->motivo_cancelacion = $motivoCancelacion;
     $auxVale = Vale::where('serie', $serie)->where('folio', $folio)->get();
     if (sizeof($auxVale) == 0) {
         Session::flash('message', ' Ya existe Vale!');
         Session::flash('class', 'danger');
         return redirect('consultarVales');
     } else {
         if ($vale->save()) {
             $movimiento = new Movimiento();
             $movimiento->id_cuenta = Session::get('id');
             $movimiento->fecha = Carbon::today();
             $movimiento->estado_anterior = $valeMovimiento;
             $movimiento->estado_actual = (string) Vale::find($request->input('id_vale'));
             $movimiento->tipo = 1;
             // 1:vales 2:cuentas 3:pagos 4:distribuidores 5:comisiones
             $movimiento->save();
             Session::flash('message', ' Vale actualizado exitoso!');
             Session::flash('class', 'success');
             return redirect('consultarVales');
         } else {
             Session::flash('message', 'Error al guardar el vale en la base de datos');
             Session::flash('class', 'danger');
             return redirect('consultarVales');
         }
     }
 }
예제 #5
0
파일: routes.php 프로젝트: Alejando/SGR
    Route::get('reporte_2_todos', 'PdfController@reporte_2_todos');
    Route::get('reporte_9_pdf', 'PdfController@reporte_9_pdf');
    Route::get('reporteCobranzaExcel', 'DistribuidorsController@reporteCobranzaExcel');
    Route::get('reporte_2_excel', 'ExcelController@reporte_2_excel');
    Route::get('reporte_6_excel', 'ExcelController@reporte_6_excel');
    Route::get('reporte_8_excel', 'ExcelController@reporte_8_excel');
    Route::get('reporte_7_excel', 'ExcelController@reporte_7_excel');
    Route::get('reporte_9_excel', 'ExcelController@reporte_9_excel');
});
Route::get('prueba', function () {
    //--------------------------------------------------------------------------------------------------
    //Pruebas para la relacion de 1 - * de pagos y distribuidores (Aprobada)
    $calle_distribuidor = Pago::find(1)->distribuidor->calle;
    $pagos = Distribuidor::find(1)->pagos;
    //Pruebas para la relacion de 1 - * de pagos y cuenta (Aprobada)
    $nombre_cuenta = Pago::find(1)->cuenta->nombre;
    $pagos_cuenta = Cuenta::find(1)->pagos;
    //Pruebas para la relacion de 1 - * de vales y cuenta (Aprobada)
    $usuario_cuenta = Vale::find(80)->cuenta->usuario;
    $vales_cuenta = Cuenta::find(2)->vales;
    //Pruebas para la relacion de 1 - * de vales y distribuidor (Aprobada)
    $vales_distribuidor = Distribuidor::find(1)->vales;
    $colonia_distribuidor = Vale::find(80)->distribuidor->colonia;
    //Pruebas para la relacion de 1 - * de vales y clientes (Aprobada)
    $vales_cliente = Cliente::find(1)->vales;
    $telefono_cliente = Vale::find(80)->cliente->nombre;
    //Pruebas para la relacion de 1 - * de vales y promociones (Aprobada)
    //$vales_promocion = Promocion::find(33)->vales;
    //$fecha_termino = Vale::find(80)->promocion->fecha_termino;
    return "Holi--->" . $telefono_cliente;
});