Ejemplo n.º 1
0
 public function obtenerDistribuidores()
 {
     $distribuidores = Distribuidor::all();
     for ($i = 0; $i < sizeof($distribuidores); $i++) {
         //$distribuidores[$i]->calle=$distribuidores[$i]->calle." #".$distribuidores[$i]->numero_exterior." ".$distribuidores[$i]->colonia." ".$distribuidores[$i]->municipio." ".$distribuidores[$i]->estado." ".$distribuidores[$i]->codigo_postal;
         $distribuidores[$i]->acciones = '<a type="button" class="btn btn-success margin" href="verDistribuidor/' . $distribuidores[$i]->id_distribuidor . '">Ver</a> <a type="button" class="btn btn-primary margin" href="editarDistribuidor/' . $distribuidores[$i]->id_distribuidor . '">Actualizar</a>';
     }
     return $distribuidores;
 }
Ejemplo n.º 2
0
 public function crearPagos(Request $request)
 {
     $id = $request->input('id');
     $fecha = $request->input('fecha');
     if ($fecha == "") {
         $fecha = Carbon::today();
     }
     if ($id == 0) {
         $distribuidores = Distribuidor::all();
         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);
                 $pagoDoble = Pago::where('id_distribuidor', $distribuidores[$j]->id_distribuidor)->where('fecha_creacion', $this->calcularFechaCorte($fecha))->get();
                 $pagoAux = Pago::where('id_distribuidor', $distribuidores[$j]->id_distribuidor)->where('estado', 1)->get();
                 //pagos
                 if (count($pagoDoble) == 0) {
                     if (count($pagoAux) == 0) {
                         $pago = new Pago();
                         $pago->id_distribuidor = $distribuidores[$j]->id_distribuidor;
                         $pago->cantidad = $saldoTotal;
                         $pago->fecha_creacion = $this->calcularFechaCorte($fecha);
                         $pago->estado = 0;
                         // 0:pendiente  1:desfasado 2:pagado 3:Cancelado por nuevo pago
                         $pago->comision = $comision;
                         $pago->id_cuenta = Session::get('id');
                         $pago->save();
                         $distribuidores[$j]->comision = $comision;
                         $distribuidores[$j]->save();
                     } else {
                         $pagoAux[0]->estado = 3;
                         $pagoAux[0]->save();
                         $pago = new Pago();
                         $pago->id_distribuidor = $distribuidores[$j]->id_distribuidor;
                         $pago->cantidad = $saldoTotal + $this->saldoAtrasado($vales, $distribuidores[$j]->id_distribuidor);
                         $pago->fecha_creacion = $this->calcularFechaCorte($fecha);
                         $pago->estado = 0;
                         // 0:pendiente  1:desfasado 2:pagado 3:Cancelado por nuevo pago
                         $pago->comision = 0;
                         $pago->abono = $pagoAux[0]->abono;
                         $pago->id_cuenta = Session::get('id');
                         $pago->save();
                         $distribuidores[$j]->comision = $comision;
                         $distribuidores[$j]->save();
                     }
                     ///else
                 }
             }
             // if saldo total
         }
         // for distribuidores
     } else {
         $vales = Vale::where('id_distribuidor', $id)->where('deuda_actual', '>', 0)->where('estatus', 1)->where('fecha_inicio_pago', '<=', $this->calcularFechaCorte($fecha))->get();
         $saldoTotal = 0;
         $distribuidor = Distribuidor::find($id);
         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, $id);
             $pagoDoble = Pago::where('id_distribuidor', $distribuidor->id_distribuidor)->where('fecha_creacion', $this->calcularFechaCorte($fecha))->get();
             $pagoAux = Pago::where('id_distribuidor', $distribuidor->id_distribuidor)->where('estado', 1)->get();
             if (count($pagoDoble) == 0) {
                 if (count($pagoAux) == 0) {
                     $pago = new Pago();
                     $pago->id_distribuidor = $distribuidor->id_distribuidor;
                     $pago->cantidad = $saldoTotal;
                     $pago->fecha_creacion = $this->calcularFechaCorte($fecha);
                     $pago->estado = 0;
                     // 0:pendiente  1:desfasado 2:pagado 3:Cancelado por nuevo pago
                     $pago->comision = $comision;
                     $pago->id_cuenta = Session::get('id');
                     $pago->save();
                     $distribuidor->comision = $comision;
                     $distribuidor->save();
                 } else {
                     $pagoAux[0]->estado = 3;
                     $pagoAux[0]->save();
                     $pago = new Pago();
                     $pago->id_distribuidor = $distribuidor->id_distribuidor;
                     $pago->cantidad = $saldoTotal + $this->saldoAtrasado($vales, $distribuidor->id_distribuidor);
                     $pago->fecha_creacion = $this->calcularFechaCorte($fecha);
                     $pago->estado = 0;
                     // 0:pendiente  1:desfasado 2:pagado 3:Cancelado por nuevo pago
                     $pago->comision = 0;
                     $pago->abono = $pagoAux[0]->abono;
                     $pago->id_cuenta = Session::get('id');
                     $pago->save();
                     $distribuidor->comision = $comision;
                     $distribuidor->save();
                 }
                 ///else
             }
         }
         // if saldo total
     }
     // for distribuidores
     return redirect('consultarPagos');
 }
Ejemplo n.º 3
0
 public function reporte_1b_todos(Request $request)
 {
     $tipo = $request->input('tipo');
     $fecha = $request->input('fecha');
     //Partes de la vista
     $head = '<!DOCTYPE html><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>Reporte 1</title><link href="css/reporte_1' . $tipo . '.css"  rel="stylesheet" ></head>';
     $foot = '</html>';
     $body = ' ';
     $todo = ' ';
     //Filtrar los administradores que tienen vales
     $distribuidores = Distribuidor::all();
     for ($i = 0; $i < sizeof($distribuidores); $i++) {
         $id = $distribuidores[$i]->id_distribuidor;
         $vales = Vale::where('id_distribuidor', $id)->where('deuda_actual', '>', 0)->where('estatus', 1)->where('fecha_inicio_pago', '<', $this->calcularFechaCorte($fecha))->get();
         if (count($vales) != 0) {
             $conVales[] = $distribuidores[$i]->id_distribuidor;
         }
     }
     //Crear el cuerpo de la vista
     for ($i = 0; $i < sizeof($conVales); $i++) {
         $body = $this->body_reporte_1b($conVales[$i], $fecha);
         $todo = $todo . $body;
     }
     $result = $head . $todo . $foot;
     //Crear el pdf
     $pdf = \App::make('dompdf.wrapper');
     $pdf->loadHTML($result);
     return $result;
     //$pdf->stream('reporte_1b_todos.pdf');
 }