/** * Muestra una transferencia especifica * * @param int $id * @return \Illuminate\Http\Response */ public function verTransferencia($id) { try { $transferencia = Transferencia::find($id); if ($transferencia == null) { abort(404); } $presupuesto_partidaDe = Presupuesto_Partida::find($transferencia->tPresupuestoPartidaDe); $presupuesto_partidaA = Presupuesto_Partida::find($transferencia->tPresupuestoPartidaA); $usuario = User::find($transferencia->tUsuario_idUsuario); $partidaDe = Partida::find($presupuesto_partidaDe->tPartida_idPartida); $presupuestoDe = Presupuesto::find($presupuesto_partidaDe->tPresupuesto_idPresupuesto); $coordinacionDe = Coordinacion::find($presupuestoDe->tCoordinacion_idCoordinacion); $partidaA = Partida::find($presupuesto_partidaA->tPartida_idPartida); $presupuestoA = Presupuesto::find($presupuesto_partidaA->tPresupuesto_idPresupuesto); $coordinacionA = Coordinacion::find($presupuestoA->tCoordinacion_idCoordinacion); $presupuesto_partidaDe->presupuestoModificado(); $presupuesto_partidaDe->calcularSaldo(); $presupuesto_partidaDe->calcularGasto(); $presupuesto_partidaDe->save(); $presupuesto_partidaA->presupuestoModificado(); $presupuesto_partidaA->calcularSaldo(); $presupuesto_partidaA->calcularGasto(); $presupuesto_partidaA->save(); return view('/transferencia/verTransferencia', ['presupuesto_partidaDe' => $presupuesto_partidaDe, 'presupuesto_partidaA' => $presupuesto_partidaA, 'coordinacionDe' => $coordinacionDe, 'presupuestoDe' => $presupuestoDe, 'partidaDe' => $partidaDe, 'coordinacionA' => $coordinacionA, 'presupuestoA' => $presupuestoA, 'partidaA' => $partidaA, 'transferencia' => $transferencia, 'usuario' => $usuario]); } catch (Exception $e) { //return abort(404); } }
$anno = DB::table('tconfiguracion')->select('iValor')->where('vConfiguracion', 'Periodo')->where('tUsuario_idUsuario', Auth::user()->id)->first(); return view('transferencia/nuevaTransferencia', ['anno' => $anno]); } else { return view('layouts/master'); } }); //rutas de informes Route::get('/presupuesto/informe-gastos/{idPresupuesto}', function ($idPresupuesto) { $config = DB::table('tconfiguracion')->select('iValor')->where('vConfiguracion', '=', 'Periodo')->where('tUsuario_idUsuario', '=', Auth::user()->id)->first(); $presupuesto = Presupuesto::find($idPresupuesto); $coordinacion = Coordinacion::find($presupuesto->tCoordinacion_idCoordinacion); $presupuestoPartida = DB::table('tpresupuesto_tpartida')->join('tpresupuesto', 'idPresupuesto', '=', 'tPresupuesto_idPresupuesto')->join('tpartida', 'idPartida', '=', 'tPartida_idPartida')->join('tcoordinacion', 'idCoordinacion', '=', 'tCoordinacion_idCoordinacion')->join('tusuario_tcoordinacion', 'tCoordi_idCoordinacion', '=', 'idCoordinacion')->select('codPartida', 'vNombrePartida', 'idPartida', 'id', 'tPresupuesto_idPresupuesto', 'tpresupuesto_tpartida.iPresupuestoInicial', 'tpresupuesto_tpartida.iPresupuestoModificado', 'tpresupuesto_tpartida.iGasto', 'tpresupuesto_tpartida.iReserva', 'tpresupuesto_tpartida.iSaldo')->where('tUsuario_idUsuario', '=', Auth::user()->id)->where('idPresupuesto', '=', $presupuesto->idPresupuesto)->where('anno', '=', $config->iValor)->orderBy('codPartida')->get(); return view('reporte/reporteGasto', ['presupuestoPartida' => $presupuestoPartida, 'coordinacion' => $coordinacion, 'presupuesto' => $presupuesto]); }); Route::get('/partida/informe-gastos/{idPartda}', function ($idPartda) { $presupuesto_partida = Presupuesto_Partida::find($idPartda); $presupuesto = Presupuesto::find($presupuesto_partida->tPresupuesto_idPresupuesto); $coordinacion = Coordinacion::find($presupuesto->tCoordinacion_idCoordinacion); $partida = Partida::find($presupuesto_partida->tPartida_idPartida); return view('reporte/reportePartida', ['presupuesto_partida' => $presupuesto_partida, 'coordinacion' => $coordinacion, 'presupuesto' => $presupuesto, 'partida' => $partida]); }); Route::get('/presupuesto/informe-fin-gestion/{idPresupuesto}', function ($idPresupuesto) { $config = DB::table('tconfiguracion')->select('iValor')->where('vConfiguracion', '=', 'Periodo')->where('tUsuario_idUsuario', '=', Auth::user()->id)->first(); $presupuesto = Presupuesto::find($idPresupuesto); $coordinacion = Coordinacion::find($presupuesto->tCoordinacion_idCoordinacion); $presupuestoPartida = Presupuesto_Partida::all()->where('tPresupuesto_idPresupuesto', $presupuesto->idPresupuesto); return view('reporte/reporteFinGestion', ['presupuestoPartida' => $presupuestoPartida, 'coordinacion' => $coordinacion, 'presupuesto' => $presupuesto]); }); //Factura routes... Route::resource('transaccion', 'FacturaController'); Route::get('transaccion/create', 'FacturaController@create');
/** * Guarda una nueva factura creada * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $input = $request->all(); $count = 0; $campo = 1; $tipo = $request->vTipoFactura; $documento = $request->vDocumento; $fecha = $request->dFechaFactura; $descripcion = $request->vDescripcionFactura; $listaFactura = []; $listaPartida = []; foreach ($input as $in) { if ($count > 4) { if ($campo == 1) { $partida = $in; } if ($campo == 2) { $detalle = $in; } if ($campo == 3) { $monto = $in; if ($monto <= 0) { return redirect('transaccion/create')->withErrors('El monto de una transacción no puede ser igual a 0'); } $factura = new Factura(); $factura->vTipoFactura = $tipo; $factura->vDocumento = $documento; $factura->dFechaFactura = $fecha; $factura->vDescripcionFactura = $descripcion; $factura->tPartida_idPartida = $partida; $factura->vDetalleFactura = $detalle; $factura->iMontoFactura = $monto; if (in_array($partida, $listaPartida)) { return redirect('transaccion/create')->withErrors('Solo se puede agregar una linea por Partida'); } else { array_push($listaPartida, $partida); } array_push($listaFactura, $factura); $campo = 0; } $campo++; } $count++; } // return dd($listaPartida); $listaPartida; // return dd($listaFactura); foreach ($listaFactura as $fac) { if ($fac->vTipoFactura == 'Pases Anulacion' || $fac->vTipoFactura == 'Cancelacion GECO') { $presupuesto_partida = Presupuesto_Partida::find($fac->tPartida_idPartida); array_push($listaPartida, $presupuesto_partida); $reserva = DB::table('treserva')->where('vReserva', $fac->vDetalleFactura)->first(); //return dd($reserva); if ($reserva == null) { return redirect('transaccion/create')->withErrors('Debe seleccionar una reserva válida'); } if ($reserva->iMontoFactura < $fac->iMontoFactura) { return redirect('transaccion/create')->withErrors('El monto de una partida excede el limite posible'); } } else { $presupuesto_partida = Presupuesto_Partida::find($fac->tPartida_idPartida); array_push($listaPartida, $presupuesto_partida); if ($presupuesto_partida->iSaldo < $fac->iMontoFactura) { return redirect('transaccion/create')->withErrors('El monto de una partida excede el limitesd posible'); } } } foreach ($listaFactura as $fac) { $fac->save(); if ($tipo == "Solicitud GECO") { DB::table('treserva')->insert(['vReserva' => $fac->idFactura, 'vDocumento' => $fac->vDocumento, 'vDetalle' => $fac->vDetalleFactura, 'iMontoFactura' => $fac->iMontoFactura, 'tPartida_idPartida' => $fac->tPartida_idPartida]); $fac->tReserva_vReserva = $fac->idFactura; } if ($tipo == "Pases Adicionales") { $fac->tReserva_vReserva = $fac->vDetalleFactura; // DB::table('treserva')->where('vReserva', $fac->vDetalleFactura) //->increment('iMontoFactura', $fac->iMontoFactura); $reserva = DB::table('treserva')->where('vReserva', $fac->vDetalleFactura)->first(); $fac->vDetalleFactura = 'Aumento en la reserva ' . $reserva->vDocumento . ' ' . $reserva->vDetalle; } if ($tipo == "Pases Anulacion") { $fac->tReserva_vReserva = $fac->vDetalleFactura; // DB::table('treserva')->where('vReserva', $fac->vDetalleFactura)->decrement('iMontoFactura', $fac->iMontoFactura); $reserva = DB::table('treserva')->where('vReserva', $fac->vDetalleFactura)->first(); $fac->vDetalleFactura = 'Reduccion en la reserva ' . $reserva->vDocumento . ' ' . $reserva->vDetalle; } if ($tipo == "Cancelacion GECO") { $fac->tReserva_vReserva = $fac->vDetalleFactura; $date = date('Y/m/d h:i:s'); $reserva = DB::table('treserva')->where('vReserva', $fac->vDetalleFactura)->first(); // DB::table('treserva')->update('deleted_at', $date)->where('vReserva', $fac->vDetalleFactura); $fac->vDetalleFactura = 'Cancelacion de la reserva ' . $reserva->vDocumento . ' ' . $reserva->vDetalle; } $fac->save(); $this->calcularReserva(); } return redirect('transaccion/create')->with('mensaje', 's'); }
/** * Consulta el Presupuesto_Partida de una Transferencia * * @return App\Presupuesto_Partida */ public function getPresupuestoPartidaTransferencia($id) { $presupuesto = Presupuesto_Partida::find($id); return $presupuesto; }