# 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_number` sync 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/` veya `006_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 `project` alanı 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_permission` altı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.php` iç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 - `project` alanı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 `project` alanı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_permission` zaten 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_permission` zaten "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 1. **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) 2. **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 3. **Sütun İsimlendirme** - [ ] Drawing → Line - [ ] Email/TQ → TQ - [ ] Project sütunu ekle - [ ] Popup'ta aynı değişiklikler 4. **Sum/Avg Kaldırma** - [ ] Incoming Control için summary'leri devre dışı bırak 5. **Yetkilendirme** - [ ] Tüm upload'ların tek permission kullandığını doğrula 6. **Comments Sorunu** - [ ] Sorunu tespit et - [ ] Düzelt --- ## 🔧 Teknik Detaylar ### Dosya Yolları ```php // 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ı ```php // Popup'ta 'drawing_number' => 'Line', // Eski: 'Drawing' 'email_tq_number' => 'TQ', // Eski: 'Email / TQ No' 'project' => 'Project', // Zaten var ``` ### PDF Viewer Layout ```html
``` --- ## ⚠️ Dikkat Edilmesi Gerekenler 1. **Dosya Taşıma**: Mevcut dosyalar yeni klasörlere taşınırken path'lerin güncellenmesi gerekebilir 2. **Backward Compatibility**: Eski path'lerdeki dosyalara erişim sorunları olabilir 3. **Database**: `incoming_controls` tablosundaki file path'ler güncellenmeli 4. **Permissions**: Upload permission'larının doğru çalıştığından emin ol 5. **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ı 1. **Yüksek Öncelik**: Sütun isimlendirme, Sum/avg kaldırma 2. **Orta Öncelik**: Dosya klasör yapısı, PDF görüntüleme 3. **Düşük Öncelik**: Comments sorunu (ayrı issue olabilir) --- ## 📚 İlgili Dosyalar ### Değiştirilecek Dosyalar - `resources/views/admin/type/incoming-control.blade.php` - `resources/views/components/incoming-control-popup.blade.php` - `resources/views/admin-ajax/get-incoming-for-weldlog.blade.php` - `resources/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.php` - `resources/views/admin-ajax/row-history.blade.php` - `resources/views/admin-ajax/document-upload.blade.php` - `resources/views/admin/type/settings/specific-permissions.blade.php` --- ## ✅ Test Senaryoları 1. **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 2. **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 3. **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 4. **Sum/Avg** - Incoming Control'de sum/avg hesaplamaları görünmemeli 5. **Yetkilendirme** - Upload permission kontrolü çalışmalı - İzin olmayan kullanıcı upload yapamamalı 6. **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)