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’de via() fonksiyonunu yeniden yazmadan kullanıcı bazlı bildirim tercihleri
Haitao Geliştirmenin 3 Yaygın Tuzağı
Üretim Uygulamalarınızı Kodu Durdurun: Geliştirici Odaklı Yapay Zeka İçin Bir Gerekçe
Kendi uygulamamdan bir Laravel SaaS motoru çıkardım ve ardından uygulamayı bunun üzerine yeniden inşa ettim. İşte ortaya çıkan sonuç ve beni kandıran hata.
Laravel Alt Alan Adı Rotalarında Kök Alan Adı URL’leri Oluşturma: UrlGenerator’ı Kopyala
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

ASML, Low-NA EUV araçlarının fiyatlarını artırmayı hedefliyor
Donanım
Laravel’de XSS Önleme — Neden {!! !!} Güvenli ile Hacklenmiş Arasındaki Sınırdır
Yazılım
2000 Mules Ekibi, Seçim Entrikalarını Yeniden İşliyor: Yeni Film Geliyor!
Genel
Vertu’nun yöneticilerden 6,880 dolara AI ajansı talebi ve performansı
Yapay Zeka
Stripe x Startup Battlefield için 48 Saat Kaldı: Avustralyalı Girişimciler İçin Bilinmesi Gerekenler
Genel
Acil: Yeni GoSerpent Kötü Amaçlı Yazılım Asya Hükümetlerini Tehdit Ediyor
Siber Güvenlik
//

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?