Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Laravel’de Çoklu Departman Onay İş Akışı Nasıl Oluşturulur
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Laravel’de Çoklu Departman Onay İş Akışı Nasıl Oluşturulur

Yazılım

Laravel’de Çoklu Departman Onay İş Akışı Nasıl Oluşturulur

teknomers
Son güncelleme: 14 Mayıs 2026 14:07
teknomers
Paylaş
Paylaş

Giriş
VMMS’yi geliştirirken gördüğüm en yaygın sorunlardan biri şuydu: belgeler oluşturuluyor, sonraki departmana e-posta ile gönderiliyor, birinin gelen kutusunda günlerce bekliyor ve yönetim “bu fiş nerede?” diye sorduğunda — kimse bilmiyor.
Bu makalede, bu sorunu çözen esnek bir çok departman onay iş akışını Laravel kullanarak nasıl oluşturduğumu anlatacağım.

Temel Konsept
Onay adımlarını sabit kodlamak yerine, her belgenin bir güncel aşaması olan ve bir sonraki aşamanın veritabanında depolanan departman yapılandırmasına göre belirlendiği bir işlem hattı oluşturdum — kodda değil.
Bu, departmanları bir satır PHP kodu dokunmadan ekleyip çıkarabileceğiniz veya yeniden sıralayabileceğiniz anlamına geliyor.

Veritabanı Yapısı
İşte ana tablolar:

// vouchers table
Schema::create(, function (Blueprint $table) {
    $table->id();
    $table->string();
    $table->foreignId()->constrained();
    $table->enum(, [, , ]);
    $table->timestamps();
});

// departments table
Schema::create(, function (Blueprint $table) {
    $table->id();
    $table->string();
    $table->integer(); // yönlendirme sırasını belirler
    $table->timestamps();
});

Routing Mantığı
Bir personel fişi onayladığında, otomatik olarak sipariş sütununa dayalı olarak bir sonraki departmana geçer:

public function approve(Voucher $voucher)
{
    $currentOrder = $voucher->department->order;

    $nextDepartment = Department::where(, , $currentOrder)
        ->orderBy()
        ->first();

    if ($nextDepartment) {
        $voucher->update([
            => $nextDepartment->id,
            => ]);
    } else {
        // Artık departman yok — fiş tamamlandı
        $voucher->update([=> ]);
    }

    // E-posta bildirimleri için olay tetikleyin
    event(new VoucherAdvanced($voucher));
}

E-posta Bildirimleri
Her seferinde fiş bir sonraki aşamaya geçtiğinde e-posta bildirimlerini tetiklemek için Laravel Olayları ve Dinleyicileri kullandım:

// VoucherAdvanced Event
class VoucherAdvanced
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    public function __construct(public Voucher $voucher) {}
}

// Dinleyici
class SendVoucherNotification implements ShouldQueue
{
    public function handle(VoucherAdvanced $event): void
    {
        $voucher = $event->voucher;
        $staff = $voucher->department->staff;

        foreach ($staff as $member) {
            Mail::to($member->email)->send(new VoucherNotification($voucher));
        }
    }
}

Rol Tabanlı Erişim
Her departman yalnızca kendilerine atanan fişleri görür ve bu işlem Laravel Politikalıları kullanarak yapılır:

public function view(User $user, Voucher $voucher): bool
{
    return $user->department_id === $voucher->current_department_id
        || $user->role === ;
}

Gerçek Zamanlı İşlem Hattı İzleyici
Kullanıcılara bir fişin nerede olduğunu gerçek zamanlı olarak göstermek için Vue 3 ön yüzünde güncel departmanı okuyan ve bunu bir ilerleme göstergesi olarak render eden basit bir durum izleyici oluşturdum — websocket kullanmaya gerek yok, yalnızca bir eylem üzerinde temiz bir Inertia.js sayfa yenilemesi yeterli.

Öğrendiklerim

Routing mantığını veritabanında tutun, kodda değil — bu, sistemi çok daha esnek hale getiriyor
Laravel Olayları bildirimler için mükemmel — temiz, kuyruğa alınabilir ve genişletmesi kolay
Middleware yerine politikalar kullanarak satır bazında erişim — karmaşık rol kurallarınız olduğunda çok daha temiz bir yöntem

Sonuç
Bu model, yalnızca fişler için değil, her türlü çok adımlı onay sistemi için çalışır. İzin talepleri, satın alma siparişleri veya birden fazla departmandan geçmesi gereken herhangi bir belge için kullanılabilir.
Tam sistemi görmek isterseniz, VMMS’in canlı demosuna göz atın: https://vmms-app-production.up.railway.app/login
Herhangi bir sorunuz varsa, yorumlarda memnuniyetle yanıtlarım!

Kaynak: Orijinal Makale

blade-flags, size kullanıcıların gerçekten tanıdığı SVG bayraklarını sunar.
Ücretsiz, kendi barındırdığım Pusher Alternatifini Geliştirdim
SPA ve Laravel Entegrasyonu için Dizin Yapısı ve Nginx Yapılandırması
Ritimlerin Geometri Olarak Görselleştirilmesi – Bir Geliştirici Deneyimi
Laravel Uygulamalarını Yaygın Saldırılardan Nasıl Korursunuz?
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Android’in Son AI Özelliği Geleceğinizi Tahmin Ediyor
Sonraki Makale InstaFarm Otomatik Mikro Yeşillik Bahçesi: Yeşil Olmak Kolay mı?

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Pentagon, Dialog Veri Sızıntısını Ulusal Güvenlik İçin Araştırıyor
Genel
Eufy Floodlight Güvenlik Kamerası Fiyatı Şimdi Daha Uygun!
Genel
Apple, 2027 için M7 çipleri hızlandıracak, M6 çıkabilir
Donanım
Geliştirici Günlüğü: 2026-06-26 — Yapılandırma Odaklı Faturalama, Uygulama Genelinde Yeniden Markalaşma ve Markalı Hata Sayfaları
Yazılım
2026 Amazon Prime Günü: Bose Kulaklıklarımın Kesin Alışverişi!
Genel
Framework Laptop 13 Pro fiyatı düştü, CPU artışı kapıda
Donanım
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?