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

Laravel Geliştiricileri Aranıyor – DEV Community
Gerçek Zamanlı Teslimat Takibi Mühendisliği ile Ödeme Dönüşümlerini %20 Artırma
Laravel Koleksiyonları Sadece Daha İyi Dizilerdir. TypeScript’te de %90 Var.
Her Laravel Projesinde Kimlik Doğrulamayı Yeniden İnşa Etmeyi Durdurun
PHP 8.4 Güncellemeleri Sonrası Laravel Herd’de dyld: Symbol not found Hatasını Nasıl Çözdüm (macOS Monterey)
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

Kritik Everest Forms Pro Açığı: WordPress Siteleri Tehditte!
Siber Güvenlik
Belirli Bir Kelimeye Bağlantı Nasıl Paylaşılır? İşte Bilmeniz Gerekenler!
Genel
Prusa Research, INDX için tamamen spektrum çalışmalarına başladı
Donanım
82-0 En İyi Basketbol Oyunu, NBA 2K’ya Elveda!
Liste
Bungie, Marathon Deluxe Edition Sorununu Ücretsiz Oyunla Çözüyor
Oyun
Final Fantasy 7 Yenilikleri İlk Fragmanı ile Gözler Önünde
Oyun
//

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?