Files
citrus-cms/resources/views/guide/incoming-control-task-analysis-roadmap.md
T
2026-04-28 21:15:09 +03:00

12 KiB
Raw Blame History

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ı

// 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

  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)