/**
  * 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);
     }
 }
Esempio n. 2
0
Route::get('auth/login', 'Auth\\AuthController@getLogin');
Route::post('auth/login', 'Auth\\AuthController@postLogin');
Route::get('auth/logout', 'Auth\\AuthController@getLogout');
// Turas de Registro...
Route::get('auth/register', 'Auth\\AuthController@getRegister');
Route::post('auth/register', 'Auth\\AuthController@postRegister');
// Rutas de reestablecimiento de contraseña...
Route::get('password/email', 'Auth\\PasswordController@getEmail');
Route::post('password/email', 'Auth\\PasswordController@postEmail');
// Password reset routes...
Route::get('password/reset/{token}', 'Auth\\PasswordController@getReset');
Route::post('password/reset', 'Auth\\PasswordController@postReset');
//angular model routes
Route::get('/partidas', function () {
    $config = DB::table('tconfiguracion')->select('iValor')->where('vConfiguracion', '=', 'Periodo')->where('tUsuario_idUsuario', '=', Auth::user()->id)->first();
    $p = Presupuesto_Partida::all();
    foreach ($p as $x) {
        $x->presupuestoModificado();
        $x->calcularReserva();
        $x->calcularGasto();
        $x->calcularSaldo();
    }
    $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('idCoordinacion', 'anno', 'vNombreCoordinacion', 'vNombrePresupuesto', '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('anno', '=', $config->iValor)->orderBy('codPartida')->get();
    return $presupuestoPartida;
});
Route::get('/transaccionesReporte', function () {
    $transacciones = Factura::all();
    return $transacciones;
});
Route::get('/reservas', function () {
    $reservas = DB::table('treserva')->where('deleted_at', null)->get();
 /**
  * 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;
 }