/**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index(Request $request)
 {
     $practicante_id = Practicante::where('email', $request->user()->email)->get()[0]->id;
     $pagos = Pago::where('practicante_id', $practicante_id)->orderBy('fecha_pago', 'desc')->paginate(10);
     return view('practicante.pagos.index')->with('pagos', $pagos)->with('conceptos', Config::get('constants.conceptos'));
 }
예제 #2
0
 public function actualizarPagos()
 {
     $fechaHoy = Carbon::today();
     $pagos = Pago::where('estado', '<', 2)->get();
     for ($i = 0; $i < sizeof($pagos); $i++) {
         $fechaActualizacion = Carbon::parse($pagos[$i]->updated_at);
         if ($fechaHoy > $fechaActualizacion) {
             $pagos[$i]->comision = $this->calcularComisionActual($pagos[$i]->fecha_creacion, $pagos[$i]->comision);
             $pagos[$i]->estado = $this->nuevoEstado($pagos[$i]->fecha_creacion, $pagos[$i]->id_distribuidor);
             $pagos[$i]->save();
         }
     }
 }
예제 #3
0
 public function reporte_7_excel()
 {
     $pagos = Pago::where('estado', '<', 2)->get();
     $saldoTotal = 0;
     $saldoTotalAbono = 0;
     $saldoTotalComision = 0;
     for ($i = 0; $i < sizeof($pagos); $i++) {
         $saldoTotalComision += $pagos[$i]->cantidad - intval($pagos[$i]->cantidad * $pagos[$i]->comision / 100);
         $saldoTotal += $pagos[$i]->cantidad;
         $saldoTotalAbono += $pagos[$i]->abono;
         $pagos[$i]->cantidad_comision = $this->pagoComision($pagos[$i]->cantidad, $pagos[$i]->comision) . ".00";
         $pagos[$i]->id_distribuidor = Distribuidor::find($pagos[$i]->id_distribuidor)->nombre;
         $pagos[$i]->cantidad = $pagos[$i]->cantidad . ".00";
         $pagos[$i]->abono = $pagos[$i]->abono . ".00";
         $pagos[$i]->fecha_creacion = $this->modificarFechas($pagos[$i]->fecha_creacion);
         $pagos[$i]->fecha_limite = $this->CalcularFechaLimiteCorta($pagos[$i]->fecha_creacion);
         $pagos[$i]->id_cuenta = Cuenta::find($pagos[$i]->id_cuenta)->nombre;
         $pagos[$i]->comision = $pagos[$i]->comision . "%";
         if ($pagos[$i]->estado == 0) {
             $pagos[$i]->estado = 'Esperando pago...';
         }
         if ($pagos[$i]->estado == 1) {
             $pagos[$i]->estado = 'Pago Desfasado';
         }
     }
     $datas = $pagos;
     $fechaHoy = Carbon::now();
     Excel::create('Reporte_Deudores', function ($excel) use($datas, $fechaHoy, $saldoTotal, $saldoTotalAbono, $saldoTotalComision) {
         $excel->sheet('Reporte_Deudores', function ($sheet) use($datas, $fechaHoy, $saldoTotal, $saldoTotalAbono, $saldoTotalComision) {
             $sheet->loadView('reportes.reporte_7_excel')->with("datas", $datas)->with("fechaHoy", $fechaHoy)->with("saldoTotal", $saldoTotal)->with("saldoTotalAbono", $saldoTotalAbono)->with("saldoTotalComision", $saldoTotalComision);
         });
     })->export('xls');
 }
 public function show(Request $request, $id)
 {
     $practicante = Practicante::find($id);
     $pagos = Pago::where('practicante_id', $id)->orderBy('fecha_pago', 'desc')->paginate(10);
     return view('admin.pagos.detail')->with('practicante', $practicante)->with('pagos', $pagos)->with('dojos', Config::get('constants.dojos'))->with('ranks', Config::get('constants.ranks'))->with('type', Config::get('constants.type'))->with('conceptos', Config::get('constants.conceptos'));
 }
예제 #5
0
 public function emitirReporteDistribuidores(Request $request)
 {
     $fecha = $request->input('fecha');
     if ($fecha == "") {
         $fecha = Carbon::today();
     }
     $pagos = Pago::where('estado', 0)->orderBy('id_pago', 'asc')->get();
     // $distribuidores=Distribuidor::orderBy('id_distribuidor', 'asc')->get();
     // for($j=0; $j < sizeof($distribuidores); $j++) {
     //     $vales=Vale::where('id_distribuidor',$distribuidores[$j]->id_distribuidor)->where('deuda_actual','>',0)->where('estatus',1)->where('fecha_inicio_pago','<=',$this->calcularFechaCorte($fecha))->get();
     //     $saldoTotal=0;
     //     for ($i=0; $i <sizeof($vales); $i++) {
     //          $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);
     //          $saldoTotal+=$abono;
     //     }
     //     if($saldoTotal>0){
     //         $comision=$this->calcularComision($saldoTotal,$distribuidores[$j]->id_distribuidor);
     //         $saldoDistribuidor=intval(($saldoTotal*$comision)/100);
     //         $saldoComision=$saldoTotal-$saldoDistribuidor;
     //         $resultado[] = [ 'nombre' => $distribuidores[$j]->nombre, 'pagoSinComision' => $saldoTotal,'comision'=>$comision+"%",'pagoConComision'=>$saldoComision];
     //     }
     // }
     foreach ($pagos as $key => $pago) {
         $pago->nombre = $pago->distribuidor->nombre;
         $pago->pagoComision = $pago->cantidad - intval($pago->cantidad * $pago->comision / 100);
     }
     return $pagos;
     // return $resultado;
 }
예제 #6
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;
 }