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'); }
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'); }
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; }
public function invertirVales(Request $request) { $vale_1 = $request->input('vale_1'); $vale_2 = $request->input('vale_2'); $serie_1 = $request->input('serie_1'); $serie_2 = $request->input('serie_2'); $vale1 = Vale::where("folio", $vale_1)->where("serie", $serie_1)->first(); $vale2 = Vale::where("folio", $vale_2)->where("serie", $serie_2)->first(); $auxVale = clone $vale1; if ($vale1 && $vale2) { $vale1->id_vale = $vale2->id_vale; $vale1->folio = $vale2->folio; $vale1->serie = $vale2->serie; $vale1->id_distribuidor = $vale2->id_distribuidor; $vale1->cantidad_limite = $vale2->cantidad_limite; $vale1->fecha_creacion = $vale2->fecha_creacion; /////// $vale2->id_vale = 0; $vale2->folio = $auxVale->folio; $vale2->serie = $auxVale->serie; $vale2->id_distribuidor = $auxVale->id_distribuidor; $vale2->cantidad_limite = $auxVale->cantidad_limite; $vale2->fecha_creacion = $auxVale->fecha_creacion; $vale2->save(); $vale1->save(); $vale2->id_vale = $auxVale->id_vale; $vale2->save(); //return $vale1.'---------------'.$vale2; Session::flash('message', 'Vales invertidos correctamente'); Session::flash('class', 'success'); } else { Session::flash('message', 'Algún vale no se encuentra en la base de datos'); Session::flash('class', 'danger'); } return redirect('mostrarInvertirVales'); }
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; }
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; });