ikinci temizlik tamamlandı

This commit is contained in:
Ümit Tunç
2026-04-28 21:15:09 +03:00
parent f80443aec0
commit 37e7296527
8313 changed files with 2400677 additions and 0 deletions
@@ -0,0 +1,388 @@
# 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
<div class="row">
<div class="col-md-3">
<!-- PDF Viewer -->
</div>
<div class="col-md-9">
<!-- DataGrid -->
</div>
</div>
```
---
## ⚠️ 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)