/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $rules = ['value' => 'required|regex:/^/^[0-9]+$/$/i'];
     $messages = ['value.required' => 'El campo es requerido', 'value.regex' => 'Sólo se aceptan números'];
     $validator = Validator::make($request->all(), $rules, $messages);
     if ($validator->fails()) {
         return redirect("presupuesto")->withErrors($validator)->withInput();
     } else {
         $presupuesto = new Presupuesto();
         $presupuesto->value = $request->value;
         $presupuesto->chart_id = $request->cuenta;
         $presupuesto->cycle_id = $request->ciclo;
         $presupuesto->save();
         return redirect("presupuesto");
     }
     ////
 }
 /**
  * Bootstrap any application services.
  *
  * @return void
  */
 public function boot()
 {
     Articulo::observe(new BaseObserver());
     ArticuloPresupuesto::observe(new ArticuloPresupuestoObserver());
     ArticuloProveedor::observe(new BaseObserver());
     Configuracion::observe(new BaseObserver());
     DetalleArticulo::observe(new BaseObserver());
     Persona::observe(new BaseObserver());
     Presupuesto::observe(new PresupuestoObserver());
     TipoArticulo::observe(new BaseObserver());
     User::observe(new BaseObserver());
 }
 /**
  * Show the application welcome screen to the user.
  *
  * @return Response
  */
 public function index()
 {
     $data['cant_presupuestos_aprobados'] = Presupuesto::where('estatus', '>=', 3)->count();
     $data['cant_presupuestos_enviados'] = Presupuesto::whereEstatus(2)->count();
     $data['cant_eventos_mes'] = Presupuesto::filtrar(['evento' => 'mes'])->count();
     $data['monto_x_pagar'] = DetalleArticulo::whereNull('fecha_pago')->get()->sum('costo_total');
     $presupuestos = Presupuesto::whereEstatus(3)->get();
     $data['monto_x_cobrar'] = 0;
     $presupuestos->each(function (Presupuesto $presupuesto) use($data) {
         $data['monto_x_cobrar'] += $presupuesto->monto_total;
     });
     return view('index', $data);
 }
예제 #4
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Presupuesto::create(['area' => 1, 'anual' => 2010, 'presupuesto' => 5100, 'real' => 5200]);
     Presupuesto::create(['area' => 1, 'anual' => 2011, 'presupuesto' => 5000, 'real' => 4800]);
     Presupuesto::create(['area' => 1, 'anual' => 2012, 'presupuesto' => 6100, 'real' => 5600]);
     Presupuesto::create(['area' => 1, 'anual' => 2013, 'presupuesto' => 5500, 'real' => 5000]);
     Presupuesto::create(['area' => 1, 'anual' => 2014, 'presupuesto' => 4900, 'real' => 5800]);
     Presupuesto::create(['area' => 1, 'anual' => 2015, 'presupuesto' => 6000, 'real' => 6000]);
     Presupuesto::create(['area' => 2, 'anual' => 2010, 'presupuesto' => 7500, 'real' => 7300]);
     Presupuesto::create(['area' => 2, 'anual' => 2011, 'presupuesto' => 7400, 'real' => 7600]);
     Presupuesto::create(['area' => 2, 'anual' => 2012, 'presupuesto' => 6900, 'real' => 6850]);
     Presupuesto::create(['area' => 2, 'anual' => 2013, 'presupuesto' => 7200, 'real' => 7200]);
     Presupuesto::create(['area' => 2, 'anual' => 2014, 'presupuesto' => 7100, 'real' => 6800]);
 }
 public function getAsignarproveedores($presupuesto_id)
 {
     $data['presupuesto'] = Presupuesto::findOrFail($presupuesto_id);
     $data['detalles'] = $data['presupuesto']->detalles;
     return view('detalle-articulos.asignar-proveedores', $data);
 }
예제 #6
0
 public function addProposal(Request $request, $id)
 {
     try {
         $proyecto = Proyecto::findOrFail($id);
         $proposal = Presupuesto::findOrFail($request->input("proposal_id"));
         $proyecto->last_update_user_id = Auth::id();
         $proyecto->facturas()->save($proposal);
         session()->flash('flash_message', 'Se ha asociado el presupuesto #' . $request->input("proposal_id") . ' al proyecto #' . $proyecto->id . ' - ' . $proyecto->name . ' con éxito');
     } catch (ModelNotFoundException $e) {
         session()->flash('flash_message', 'Ha habido un error');
     }
     return redirect()->route("proyecto.associate.proposal", ["id" => $id]);
 }
 /**
  * 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);
     }
 }
예제 #8
0
 public function delete($id)
 {
     Presupuesto::findOrFail($id)->delete();
     return redirect('presupuesto/registrar');
 }
 /**
  * Elimina un presupuesto especifico
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     try {
         if (Auth::user()) {
             $presupuesto = Presupuesto::find($id);
             $presupuesto->forceDelete($id);
             $anno = DB::table('tconfiguracion')->select('iValor')->where('vConfiguracion', 'Periodo')->where('tUsuario_idUsuario', Auth::user()->id)->first();
             return view('/presupuesto/presupuesto', ['anno' => $anno]);
         } else {
             return view('layouts/master');
         }
     } catch (\Illuminate\Database\QueryException $e) {
         return Redirect::back()->withErrors(['errors' => 'El presupuesto tiene partidas asignadas']);
     }
 }
예제 #10
0
 public function presupuesto(Request $request)
 {
     if ($request->ajax()) {
         $updatecuenta = new Cuenta();
         $updatecuenta->where('id', $request->cuenta)->update(['active_pres' => 1]);
         $presupuesto = new Presupuesto();
         $presupuesto->value = $request->presupuesto;
         $presupuesto->chart_id = $request->cuenta;
         $presupuesto->save();
         $cuentas = DB::table('budgets')->join('charts', 'charts.id', '=', 'budgets.chart_id')->select('budgets.value', 'budgets.chart_id', 'charts.name')->where('budgets.cycle_id', null)->get();
         $returnHTML = view('periodo_fiscal/cuentas_presupuesto')->with('cuentas_pres', $cuentas)->render();
         return response()->json(['html' => $returnHTML]);
     }
 }
 public function getDisponibilidad($fecDesde, $fecHasta, $pretty = true, $proveedor = null)
 {
     $contExterno = $this->proveedoresExternos->count();
     if ($contExterno > 0 && $proveedor == null) {
         return $pretty ? "∞" : 99999;
     } else {
         if ($proveedor != null && $proveedor->ind_externo) {
             return $pretty ? "∞" : 99999;
         }
     }
     $contPropio = $this->proveedoresInternos->count();
     if ($contPropio == 0) {
         return $pretty ? "No tiene proveedor" : 0;
     } else {
         $cantTotal = $this->proveedoresInternos()->sum('cantidad');
         $cantOcupada = Presupuesto::join('articulo_presupuesto as b', 'presupuestos.id', '=', 'b.presupuesto_id')->join('detalle_articulos as c', 'b.id', '=', 'c.articulo_presupuesto_id')->join('personas as d', 'c.proveedor_id', '=', 'd.id')->where('presupuestos.fecha_montaje', '<', $fecHasta->format('Y-m-d'))->where('presupuestos.fecha_evento', '>', $fecDesde->format('Y-m-d'))->where('d.ind_externo', '=', false)->where('b.articulo_id', '=', $this->id);
         if ($proveedor != null) {
             $cantOcupada = $cantOcupada->where('c.proveedor_id', '=', $proveedor->id);
         }
         $cantOcupada = $cantOcupada->count('c.articulo_presupuesto_id');
         $cantDisponible = $cantTotal - $cantOcupada;
         return $pretty ? number_format($cantDisponible, 0, '.', ',') : $cantDisponible;
     }
 }
예제 #12
0
 public function addInvoice(Request $request, $id)
 {
     try {
         $presupuesto = Presupuesto::findOrFail($id);
         $invoice = Factura::findOrFail($request->input("invoice_id"));
         $presupuesto->last_update_user_id = Auth::id();
         $presupuesto->facturas()->save($invoice);
         session()->flash('flash_message', 'Se ha asociado la factura #' . $request->input("invoice_id") . ' al presupuesto #' . $presupuesto->id . ' con éxito');
     } catch (ModelNotFoundException $e) {
         session()->flash('flash_message', 'Ha habido un error');
     }
     return redirect()->route("presupuesto.associate.invoice", ["id" => $id]);
 }
 /**
  * Elimina una coordinacion especifica
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     try {
         $presupuestos = Presupuesto::all()->where('tCoordinacion_idCoordinacion', $id);
         //dd(count($presupuestos));
         if (count($presupuestos) <= 0) {
             DB::table('tusuario_tcoordinacion')->where('tCoordi_idCoordinacion', $id)->delete();
             Coordinacion::where('idCoordinacion', '=', $id)->forceDelete();
             $mensaje = [];
             array_push($mensaje, 'Se elimino la Unidad Ejecutora');
         } else {
             $coordinacion = Coordinacion::find($id);
             return view('coordinacion/editarCoordinacion', ['coordinacion' => $coordinacion, 'errors' => 'La Unidad Ejecutora seleccionada tiene un presupuesto asignado']);
         }
         return redirect('/coordinacion')->with($mensaje);
     } catch (\Illuminate\Database\QueryException $ex) {
         $coordinacion = Coordinacion::find($id);
         return view('coordinacion/editarCoordinacion', ['coordinacion' => $coordinacion, 'errors' => 'La Unidad Ejecutora seleccionada tiene un presupuesto asignado']);
     }
 }
예제 #14
0
    $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');
//Route::get('transaccion/pendiente/create', 'FacturaController@createPendiente'); //ruta factura pendiente
Route::get('transaccion/reintegro/create', 'FacturaController@createReintregro');
//ruta reintegro factura pendiente
Route::get('transaccion/reintegro/insert', 'FacturaController@insertaReintegro');
//retua para insertar las facturas a reintegrar en el metodo insertaReintegro
Route::post('transaccion/{transaccion}/delete', 'FacturaController@destroy');
Route::get('transaccion/reintegro/update', "FacturaController@updateReintegro");
//ruta modificar reintegro
 /**
  * Consulta el presupuesto de un Presupuesto_Partida especifico
  *
  * @return App\Presupuesto
  */
 public function getPresupuestoTransferencia($id)
 {
     $presupuesto = Presupuesto::find($id);
     return $presupuesto;
 }
예제 #16
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     \App\Presupuesto::destroy($id);
     return redirect('/presupuesto');
 }