public function store(Request $request, $id)
 {
     $pago = new Pago($request->all());
     $pago->practicante_id = $id;
     $pago->save();
     Flash::success('Se ha registrado el pago de forma satisfactoria.');
     return redirect()->route('admin.pagos.show', [$id]);
 }
 /**
  * @param CobroOtrosRequest $request
  * @return mixed
  */
 public function cuentaCobro(CobroOtrosRequest $request)
 {
     $cobro = ['valor' => $this->data["valor"], 'descripcion' => $this->data["descripcion"], 'fecha_inicial' => $this->data["fecha_inicial"], 'fecha_final' => $this->data["fecha_final"], 'propiedad_id' => $this->data["propiedad_id"], 'tipo_pago_id' => 1];
     $pago = new Pago();
     $pago->fill($cobro);
     $pago->save();
     return Response::json(['status => true'], 200);
 }
Exemple #3
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');
 }
Exemple #4
0
 public function mfInsertDebt()
 {
     if (Request::ajax()) {
         parse_str(Input::get('formData'), $formFields);
         $deuda = new Deuda();
         $deuda->idHogar = Session::get('infoRoomie')[0]['myself'][0]->idHogar;
         $deuda->concepto = $formFields['concepto'];
         $deuda->deudaInicial = $formFields['deudaInicial'];
         $deuda->fechaLimite = $formFields['fecha'];
         $deuda->save();
         $roomieData = Input::get('roomieData');
         foreach ($roomieData as $roomie) {
             $payment = new Pago();
             $payment->idDeuda = $deuda->id;
             $payment->idResidente = $roomie['id'];
             $payment->monto = $roomie['payment'];
             $payment->save();
         }
         return array('title' => 'Debt registered!', 'text' => '"' . $deuda->concepto . '" has been created', 'type' => 'success');
     }
 }