12 KiB
Incoming Control Task Analysis & Roadmap
📋 Task Overview
Bu dokümantasyon, Incoming Control modülü için yeni task'ın analizini ve uygulama roadmap'ini içermektedir.
🔍 Önceki Task'ta Yapılanlar (Tamamlanmış)
1. Incoming Control Popup Sistemi
- ✅ Weldlog/Weldmap ekranlarında certificate no ve heat number alanlarına popup eklendi
- ✅ Popup'ta incoming control verilerine erişim sağlandı
- ✅ RFI date > welding date kontrolü ve renklendirme eklendi
- ✅ Seçilen bilgilerin Certificate no ve Heat no'ya yazılması
- ✅ RFI tarihine göre sıralama
2. Incoming Control'e Eklenen Yeni Alanlar
- ✅
inspection_photo_file- Inspection photo dosyaları (10004_Incoming_inspection_Photos/) - ✅
email_tq_file- Email/TQ agreement dosyaları (10005_Material_Agreement/) - ✅
email_tq_number- Email/TQ takip numarası - ✅
osd_defect_akt_file- OSD Defect AKT dosyaları (10003_Defect_Akt/) - ✅
osd_report_date- OSD rapor tarihi - ✅
drawing_number- Drawing numarası
3. MTO Entegrasyonu
- ✅ MTO'dan
drawing_numbersync edildi - ✅ MTO sync işleminde drawing_number dahil edildi
4. Dosya Yükleme Sistemi
- ✅ 3 farklı upload alanı eklendi (inspection photo, email/TQ, OSD defect)
- ✅ Her biri için ayrı klasör yapısı
🎯 Yeni Task'ta İstenenler
✅ Tamamlanması Gerekenler
1. Dosya Klasör Yapısı Değişiklikleri
- ❌ Material Agreement:
10005_Material_Agreement/→002_Project_Materials/005_Material_Agreement/olmalı - ❌ OSD Defect:
10003_Defect_Akt/→002_Project_Materials/006_Defect_Documents/veya006_Defect_Akt/olmalı - ❌ Inspection Photo: Kaldırılacak (removed sub-issue)
2. PDF Görüntüleme Sistemi
- ❌ Incoming Control ekranına Weldlog'daki gibi sol tarafta PDF görüntüleme alanı eklenmeli
- ❌ Yüklenen PDF'ler (Material Agreement ve OSD Defect) bu alanda gösterilmeli
- ❌ Sütunlar PDF görüntüleme alanının yanına gelmeli
3. Sütun İsimlendirme Değişiklikleri
- ❌ Drawing: "Drawing" → "Line" olarak değiştirilmeli
- ❌ Drawing yanına: "Project" sütunu eklenmeli
- ❌ Email/TQ: "Email / TQ No" → sadece "TQ" olmalı
- ❌ Zone: Popup'ta "Zone" olarak gösterilen
projectalanı doğru çalışıyor (değişiklik yok)
4. Sum/Avg Hesaplamaları
- ❌ Входящий контроль (Incoming Control) alanında sum/avg gibi hesaplamalar kaldırılmalı
5. Yetkilendirme Sistemi
- ❌ Tüm dosya yükleme yetkilendirmeleri
incoming_control_upload_permissionaltında toplanmalı - ❌ Special permissions sayfasında düzenleme yapılmalı
6. Comments Ekranı Sorunu
- ❌ Weldlog - Weldmap açılır ekran Comments'te hiçbir veri görüntülenmiyor
- ❌ Mevcut veriler içinde olmasına rağmen gösterilmiyor
📊 Mevcut Durum Analizi
Dosya Yapısı
Mevcut:
- 10004_Incoming_inspection_Photos/ (KALDIRILACAK)
- 10005_Material_Agreement/ (DEĞİŞTİRİLECEK)
- 10003_Defect_Akt/ (DEĞİŞTİRİLECEK)
Yeni:
- 002_Project_Materials/005_Material_Agreement/
- 002_Project_Materials/006_Defect_Documents/ (veya 006_Defect_Akt/)
Sütun İsimleri
Mevcut:
- "Drawing" → "Line" olmalı
- "Email / TQ No" → "TQ" olmalı
- "Project" sütunu eklenmeli (Drawing yanına)
PDF Görüntüleme
- Weldlog'da PDF görüntüleme sistemi mevcut
- Incoming Control'de yok, eklenmeli
Sum/Avg Hesaplamaları
datagrid.blade.phpiçinde summary sistemi var- Incoming Control için devre dışı bırakılmalı
🗺️ Implementation Roadmap
Phase 1: Dosya Klasör Yapısı ve Upload Değişiklikleri
1.1. Upload Klasörlerini Güncelle
Dosya: resources/views/admin/type/incoming-control.blade.php
Değişiklikler:
$thirdUploadFolder- Inspection Photo kaldırılacak$fourthUploadFolder:10005_Material_Agreement/→002_Project_Materials/005_Material_Agreement/$fifthUploadFolder:10003_Defect_Akt/→002_Project_Materials/006_Defect_Documents/
Etkilenen Alanlar:
- Upload section HTML
- Block groups (inspection_photo_file kaldırılacak)
- Relation datas (inspection_photo_file kaldırılacak)
1.2. Database Migration (Gerekirse)
- Eğer mevcut dosyalar taşınacaksa migration gerekebilir
- Dosya yollarını güncellemek için script
Phase 2: PDF Görüntüleme Sistemi
2.1. PDF Viewer Component Oluştur
Yeni Dosya: resources/views/components/incoming-control-pdf-viewer.blade.php
Özellikler:
- Sol tarafta PDF görüntüleme alanı
- Material Agreement ve OSD Defect PDF'lerini gösterme
- Weldlog'daki PDF viewer'a benzer yapı
2.2. Incoming Control Layout'u Güncelle
Dosya: resources/views/admin/type/incoming-control.blade.php
Değişiklikler:
- Layout'u iki kolonlu yap (PDF viewer sol, datagrid sağ)
- PDF viewer component'ini dahil et
- Seçili satırdaki PDF'leri göster
2.3. JavaScript Entegrasyonu
- DataGrid'de satır seçildiğinde PDF'leri yükle
- PDF viewer'ı güncelle
Phase 3: Sütun İsimlendirme ve Düzenlemeler
3.1. Incoming Control Ana Ekran
Dosya: resources/views/admin/type/incoming-control.blade.php
Değişiklikler:
- Block groups'da
drawing_number→ "Line" olarak göster projectalanını "Project" olarak ekle (Drawing yanına)email_tq_number→ "TQ" olarak göster
3.2. Popup Ekranı
Dosya: resources/views/components/incoming-control-popup.blade.php
Değişiklikler:
- "Drawing" → "Line" olarak değiştir (satır 220)
- "Email / TQ No" → "TQ" olarak değiştir (satır 262)
- "Zone" zaten
projectalanını gösteriyor, doğru
3.3. AJAX Endpoint
Dosya: resources/views/admin-ajax/get-incoming-for-weldlog.blade.php
Değişiklikler:
- Response'da field isimleri aynı kalacak (sadece caption'lar değişecek)
Phase 4: Sum/Avg Hesaplamalarını Kaldır
4.1. Incoming Control DataGrid Ayarları
Dosya: resources/views/admin/type/incoming-control.blade.php
Değişiklikler:
$disableTotalSummary = true;ekle- Veya
$limitedSummaryColumns = [];(boş array)
4.2. Module Block Component
Dosya: resources/views/components/blocks/module-block.blade.php
Kontrol:
- Incoming Control için summary'lerin devre dışı olduğundan emin ol
Phase 5: Yetkilendirme Sistemi
5.1. Upload Permission Kontrolü
Dosya: resources/views/admin-ajax/document-upload.blade.php
Mevcut Durum:
incoming_control_upload_permissionzaten tanımlı (satır 215 incoming-control.blade.php'de)
Kontrol:
- Tüm upload işlemlerinde bu permission'ın kullanıldığından emin ol
5.2. Special Permissions Sayfası
Dosya: resources/views/admin/type/settings/specific-permissions.blade.php
Mevcut Durum:
incoming_control_upload_permissionzaten "Other Upload Permissions" kategorisinde (satır 39)
Kontrol:
- Tüm incoming control upload'ları için tek bir permission kullanıldığından emin ol
Phase 6: Comments Ekranı Sorunu
6.1. Comments Ekranını İncele
Dosya: resources/views/admin-ajax/column-history.blade.php
Dosya: resources/views/admin-ajax/row-history.blade.php
Sorun:
- Weldlog/Weldmap Comments ekranında veri görüntülenmiyor
Kontrol Edilecekler:
- DataGrid dataSource doğru mu?
- AJAX endpoint çalışıyor mu?
- Filter/query sorunları var mı?
- Table name ve record ID doğru mu?
6.2. Debug ve Düzeltme
- Console log'ları ekle
- AJAX response'u kontrol et
- DataGrid yapılandırmasını kontrol et
📝 Detaylı Görev Listesi
✅ Yapılacaklar
-
Dosya Klasör Yapısı
- Inspection photo upload'ı kaldır
- Material Agreement klasörünü güncelle
- OSD Defect klasörünü güncelle
- Mevcut dosyaları yeni klasörlere taşı (gerekirse)
-
PDF Görüntüleme
- PDF viewer component oluştur
- Layout'u iki kolonlu yap
- JavaScript entegrasyonu
- Satır seçildiğinde PDF yükleme
-
Sütun İsimlendirme
- Drawing → Line
- Email/TQ → TQ
- Project sütunu ekle
- Popup'ta aynı değişiklikler
-
Sum/Avg Kaldırma
- Incoming Control için summary'leri devre dışı bırak
-
Yetkilendirme
- Tüm upload'ların tek permission kullandığını doğrula
-
Comments Sorunu
- Sorunu tespit et
- Düzelt
🔧 Teknik Detaylar
Dosya Yolları
// Eski
$fourthUploadFolder = '10005_Material_Agreement/';
$fifthUploadFolder = '10003_Defect_Akt/';
// Yeni
$fourthUploadFolder = '002_Project_Materials/005_Material_Agreement/';
$fifthUploadFolder = '002_Project_Materials/006_Defect_Documents/';
Sütun Caption'ları
// Popup'ta
'drawing_number' => 'Line', // Eski: 'Drawing'
'email_tq_number' => 'TQ', // Eski: 'Email / TQ No'
'project' => 'Project', // Zaten var
PDF Viewer Layout
<div class="row">
<div class="col-md-3">
<!-- PDF Viewer -->
</div>
<div class="col-md-9">
<!-- DataGrid -->
</div>
</div>
⚠️ Dikkat Edilmesi Gerekenler
- Dosya Taşıma: Mevcut dosyalar yeni klasörlere taşınırken path'lerin güncellenmesi gerekebilir
- Backward Compatibility: Eski path'lerdeki dosyalara erişim sorunları olabilir
- Database:
incoming_controlstablosundaki file path'ler güncellenmeli - Permissions: Upload permission'larının doğru çalıştığından emin ol
- Comments: Weldlog/Weldmap comments sorunu ayrı bir issue olabilir
📅 Tahmini Süre
- Phase 1: 2-3 saat (Dosya yapısı değişiklikleri)
- Phase 2: 4-6 saat (PDF viewer)
- Phase 3: 1-2 saat (Sütun isimlendirme)
- Phase 4: 1 saat (Sum/avg kaldırma)
- Phase 5: 1 saat (Yetkilendirme kontrolü)
- Phase 6: 2-4 saat (Comments sorunu)
Toplam: 11-17 saat
🎯 Öncelik Sırası
- Yüksek Öncelik: Sütun isimlendirme, Sum/avg kaldırma
- Orta Öncelik: Dosya klasör yapısı, PDF görüntüleme
- Düşük Öncelik: Comments sorunu (ayrı issue olabilir)
📚 İlgili Dosyalar
Değiştirilecek Dosyalar
resources/views/admin/type/incoming-control.blade.phpresources/views/components/incoming-control-popup.blade.phpresources/views/admin-ajax/get-incoming-for-weldlog.blade.phpresources/views/components/blocks/module-block.blade.php(gerekirse)
Yeni Oluşturulacak Dosyalar
resources/views/components/incoming-control-pdf-viewer.blade.php
Kontrol Edilecek Dosyalar
resources/views/admin-ajax/column-history.blade.phpresources/views/admin-ajax/row-history.blade.phpresources/views/admin-ajax/document-upload.blade.phpresources/views/admin/type/settings/specific-permissions.blade.php
✅ Test Senaryoları
-
Dosya Yükleme
- Material Agreement dosyası yükle →
002_Project_Materials/005_Material_Agreement/klasörüne gitmeli - OSD Defect dosyası yükle →
002_Project_Materials/006_Defect_Documents/klasörüne gitmeli
- Material Agreement dosyası yükle →
-
PDF Görüntüleme
- Satır seç → PDF viewer'da gösterilmeli
- Material Agreement PDF'i gösterilmeli
- OSD Defect PDF'i gösterilmeli
-
Sütun İsimleri
- Ana ekranda "Line" görünmeli (Drawing değil)
- "TQ" görünmeli (Email / TQ No değil)
- "Project" sütunu görünmeli
- Popup'ta aynı isimler görünmeli
-
Sum/Avg
- Incoming Control'de sum/avg hesaplamaları görünmemeli
-
Yetkilendirme
- Upload permission kontrolü çalışmalı
- İzin olmayan kullanıcı upload yapamamalı
-
Comments
- Weldlog/Weldmap Comments ekranında veriler görünmeli
📝 Notlar
- Inspection photo alanı tamamen kaldırılacak (removed sub-issue)
- Material Agreement ve OSD Defect aynı klasör yapısı altında olacak (
002_Project_Materials/) - PDF görüntüleme Weldlog'daki gibi sol tarafta olacak
- Tüm değişiklikler backward compatible olmalı (mümkünse)