97 lines
12 KiB
Markdown
97 lines
12 KiB
Markdown
# Spool Release Workflow Guide / Spool Release İş Akışı Rehberi
|
||
|
||
## 1. Scope & Purpose / Kapsam ve Amaç
|
||
- **EN:** This guide explains how the Spool Release NDT, Spool Release Paint, and Spool Area Release screens work together, covering release triggers, automatic updates, and rollback logic.
|
||
- **TR:** Bu rehber Spool Release NDT, Spool Release Paint ve Spool Area Release ekranlarının birlikte nasıl çalıştığını, tetikleyicileri, otomatik güncellemeleri ve geri alma (rollback) mantığını açıklar.
|
||
|
||
## 2. Key Files / Ana Dosyalar
|
||
- **`resources/views/admin/type/spool-release-ndt.blade.php`** – Shared template; `$paint` değişkeni set edildiğinde Paint modu açılır (`resources/views/admin/type/spool-release-paint.blade.php` sadece bu dosyayı `@include` eder).
|
||
- **`resources/views/admin/type/spool-release/rollback.blade.php`** – Statü geri alma zinciri.
|
||
- **`resources/views/admin/type/spool-release/*`** – Spool listesi, weld/paint info panelleri, release listeleri ve paint follow-up güncelleyicileri gibi parçalar.
|
||
- **`resources/views/admin/type/spool-area-release.blade.php` + `resources/views/admin-ajax/spool-area-release.blade.php`** – Tüm spool’ların özet ekranı ve veri kaynağı.
|
||
|
||
## 3. Layout & Widgets / Arayüz ve Bileşenler
|
||
### Left Column – Spool List & Checklists
|
||
- **EN:** Checklist modal (`admin.type.spool-release.checklist-system`) and document upload widget switch between NDT vs Paint folders based on `$paint`.
|
||
- **TR:** Checklist modülü ve doküman yükleme bileşeni `$paint` değerine göre NDT ya da Paint klasörlerine yönlenir.
|
||
- **EN:** `spool-list` grid (DevExtreme) fetches data via `?ajax=spool-list`, supports multi-select and exports. Selecting rows auto-posts `iso_number` & `spool_number` back to the main form.
|
||
- **TR:** `spool-list` grid’i (`?ajax=spool-list`) çoklu seçim ve dışa aktarma sunar; seçilen satırlar formda `iso_number`/`spool_number` alanlarını doldurur.
|
||
|
||
### Middle Column – Weld/Paint Info Form
|
||
- **EN:** The form mirrors `iso_number` & `spool_number` filters, shows painting cycles (grouped per ISO), NDT % and PWHT badges, and lowest spool status (via `getLowestSpoolStatus`).
|
||
- **TR:** Form, seçilen ISO/SPL bilgilerini tekrar gösterir, boyama çevrimlerini listeler, NDT % ve PWHT etiketlerini, ayrıca `getLowestSpoolStatus` ile hesaplanan minimum statüyü sunar.
|
||
- **EN:** For SHOP vs FIELD toggling, `$field` flag is stored in session (`oturum("type_of_joint", ...)`) to render specialized field lists.
|
||
- **TR:** SHOP / FIELD geçişi oturumda saklanan `$field` bayrağıyla yapılır; bu bayrak belirli alan listelerini (ör. `spool-list-field`) yükler.
|
||
|
||
### Right Column – Release Lists
|
||
- **EN:** `ndt-release-list` or `ndt-release-paint-list` show recent release numbers with rollback icons for each row.
|
||
- **TR:** `ndt-release-list` veya `ndt-release-paint-list` panelleri, son release numaralarını ve her satır için rollback ikonunu gösterir.
|
||
|
||
## 4. Release Actions / Release İşlemleri
|
||
### NDT Release (`ndt_release=ok`)
|
||
- **EN:** Generates `ndt_release_no` from `setting("ndt_release_number_pattern")` via `get_counter`, stamps `ndt_release_check`, `ndt_release_date`, and pushes `spool_status` to `Paint`.
|
||
- **TR:** `setting("ndt_release_number_pattern")` kalıbından `get_counter` ile numara üretir, `ndt_release_check`, `ndt_release_date` alanlarını doldurur ve `spool_status` değerini `Paint` yapar.
|
||
- **EN:** Query is limited to `iso_number` & `spool_number`, ensures `spool_ndt_check_no` exists but `ndt_release_date` is null.
|
||
- **TR:** Sorgu seçilen ISO/SPL ile sınırlandırılır, `spool_ndt_check_no` dolu ama `ndt_release_date` boş kayıtlar hedeflenir.
|
||
|
||
### NDT + Paint Release (`ndt_paint_release=ok`)
|
||
- **EN:** Accepts comma-separated ISO/SPL pairs, loops through them, and issues paint release numbers using `setting("paint_release_number_pattern")`.
|
||
- **TR:** Virgülle ayrılmış ISO/SPL çiftlerini döngü ile işler, `setting("paint_release_number_pattern")` ile yeni numaralar üretir.
|
||
- **EN:** `spool_status` becomes `Paint` when `painting_cycle` exists, otherwise `Completed`; both `ndt_release_*` fields are stamped in one shot.
|
||
- **TR:** `painting_cycle` varsa `spool_status` `Paint` olur, yoksa `Completed`; `ndt_release_*` alanları aynı anda doldurulur.
|
||
- **EN:** Includes `admin.type.spool-release.paint-follow-up-updater`, which backfills `paint_follow_ups`, `construction_paint_logs`, and maps brand info from `incoming_control_paints` without overwriting existing values.
|
||
- **TR:** `admin.type.spool-release.paint-follow-up-updater` dosyası tetiklenir; `paint_follow_ups`, `construction_paint_logs` ve `incoming_control_paints` tablolarını mevcut veriyi bozmadan günceller.
|
||
|
||
### Paint Mode Differences
|
||
- **EN:** When `$paint` is set (Spool Release Paint screen), the left upload widget points to `004_QA/0016_Spool_Paint_Release_Checklist`, and the central table renders `paint-info` partial instead of `weld-info`.
|
||
- **TR:** `$paint` aktif olduğunda (Spool Release Paint), yükleme klasörü `004_QA/0016_Spool_Paint_Release_Checklist` olur ve orta bölüm `paint-info` parçasını kullanır.
|
||
- **EN:** SHOP/FIELD radio toggles limit queries by `type_of_joint` and influences which list partial (`spool-list-field`) is loaded.
|
||
- **TR:** SHOP/FIELD butonları sorguları `type_of_joint` değerine göre filtreler ve hangi liste parçasının (`spool-list-field`) yükleneceğini belirler.
|
||
|
||
## 5. Rollback Logic / Rollback Mantığı
|
||
- **EN:** `spool-release/rollback.blade.php` inspects the current `spool_status` per selected ISO/SPL pair and steps one level backward (Completed → Paint → NDT Release → Spool Release → Manufacturing). Relevant date/number fields are nulled to keep consistency.
|
||
- **TR:** `spool-release/rollback.blade.php`, seçilen her ISO/SPL çifti için mevcut `spool_status` değerini bir önceki aşamaya çeker (Completed → Paint → NDT Release → Spool Release → Manufacturing) ve ilgili tarih/numara alanlarını sıfırlar.
|
||
- **EN:** Supports batch rollback: `iso_number` and `spool_number` strings are split, paired by index, and updated in a loop. Success message shows previous/current states and total affected rows.
|
||
- **TR:** Toplu rollback desteklenir; `iso_number` ve `spool_number` değerleri virgül ile ayrılır, indeks bazlı eşleştirilir ve döngüyle güncellenir. Sonuç mesajında eski/yeni statüler ile etkilenen satır sayısı gösterilir.
|
||
- **EN:** Rollback is blocked if no update data is generated (e.g., unsupported status transitions); users receive an error toast.
|
||
- **TR:** Desteklenmeyen statülerde güncelleme yapılmadığında rollback iptal olur ve kullanıcıya hata mesajı gönderilir.
|
||
|
||
## 6. Spool Area Release Overview / Spool Area Release Özeti
|
||
- **EN:** `spool-area-release.blade.php` is a DevExtreme grid backed by `?ajax=spool-area-release`. It groups by ISO/SPL, aggregates status-related dates, and color-codes columns for Manufacturing, Spool Release, and Paint Release phases.
|
||
- **TR:** `spool-area-release.blade.php`, `?ajax=spool-area-release` tarafından beslenen DevExtreme grid’idir; ISO/SPL bazında gruplanır, statü tarihlerini toplar ve üretim/NDTR/Paint aşamalarını renk kodlarıyla gösterir.
|
||
- **EN:** AJAX layer computes `min_status_order` with a CASE expression so statuses can be sorted (Waiting → Manufacturing → QC → Paint → Completed). `getLowestSpoolStatus` is reapplied client-side to flag inconsistencies (⚠️).
|
||
- **TR:** AJAX katmanı CASE ifadeleriyle `min_status_order` hesaplar (Waiting → Manufacturing → QC → Paint → Completed). İstemci tarafında `getLowestSpoolStatus` tekrar çalıştırılarak tutarsızlıklar ⚠️ ikonu ile işaretlenir.
|
||
- **EN:** Detail modal (`spoolDetailModal`) reuses the same endpoint with `filter_iso_number/filter_spool_number` to show all joints, while toolbar buttons generate Clearance/Paint Release PDFs from selected rows.
|
||
- **TR:** Detay modalı (`spoolDetailModal`) aynı endpoint’i `filter_iso_number/filter_spool_number` parametreleriyle çağırıp tüm joint’leri gösterir; araç çubuğu butonları seçilen satırlardan Clearance/Paint Release PDF’leri üretir.
|
||
|
||
## 7. Operational Checklist / Operasyonel Kontrol Listesi
|
||
1. **EN:** Filter or pick ISO/SPL rows in Spool List → **TR:** Spool List’te ISO/SPL seçin.
|
||
2. **EN:** Use the center form to verify painting cycles, NDT %, PWHT, and spool status → **TR:** Orta formda boyama çevrimlerini, NDT %, PWHT ve spool statüsünü doğrulayın.
|
||
3. **EN:** Upload checklist PDFs if needed; SHOP/FIELD toggle applies proper templates → **TR:** Gerekirse checklist PDF’lerini yükleyin; SHOP/FIELD seçimi doğru şablonları açar.
|
||
4. **EN:** Trigger `NDT Release` when only NDT clearance is required; use `NDT & Paint Release` when paint cycle is already defined → **TR:** Sadece NDT onayı gerekiyorsa `NDT Release` butonunu, boyama çevrimi hazırsa `NDT & Paint Release` butonunu kullanın.
|
||
5. **EN:** Monitor automatic paint follow-up updates via notifications (Log::debug + `bilgi()` toast) → **TR:** Otomatik paint follow-up güncellemelerini log ve `bilgi()` bildirimlerinden takip edin.
|
||
6. **EN:** If a mistake happens, use rollback icons in the release list to revert statuses in bulk → **TR:** Hata durumunda release listesinde yer alan rollback ikonlarıyla statüleri toplu olarak geri alın.
|
||
7. **EN:** Review consolidated progress inside Spool Area Release; generate registers or drill into detail modal as needed → **TR:** Spool Area Release ekranından genel ilerlemeyi kontrol edin; gerekirse register üretin veya detay modala inin.
|
||
|
||
## 8. Data & Integration Notes / Veri ve Entegrasyon Notları
|
||
- **EN:** All release flows operate on `weld_logs`; status counts for charts also rely on this table. Paint follow-up sync touches `paint_follow_ups`, `construction_paint_logs`, `incoming_control_paints`, and MTO aggregates.
|
||
- **TR:** Tüm release akışları `weld_logs` tablosu üzerinde çalışır; grafikler de bu tabloya dayanır. Paint follow-up senkronu `paint_follow_ups`, `construction_paint_logs`, `incoming_control_paints` ve MTO özetlerini kullanır.
|
||
- **EN:** Number generators (`get_counter`) respect patterns from `settings`; ensure counters are configured for `ndt_release_number_pattern`, `paint_release_number_pattern`, `CLN`, `L1/L2/L3`.
|
||
- **TR:** Numara üreticileri (`get_counter`) `settings` tablosundaki kalıpları kullanır; `ndt_release_number_pattern`, `paint_release_number_pattern`, `CLN`, `L1/L2/L3` sayaçlarının tanımlı olduğundan emin olun.
|
||
- **EN:** Temperature snapshots for paint sync come from `setting("temperatures")`, indexed by day-of-year; missing data aborts the updater to avoid wrong entries.
|
||
- **TR:** Paint senkronizasyonundaki sıcaklık değerleri `setting("temperatures")` dizisinden (yılın günü indeksli) alınır; veri yoksa güncelleme iptal edilir.
|
||
|
||
## 9. Troubleshooting / Sorun Giderme
|
||
- **EN:** Release button hidden? Confirm `spool_ndt_check` is filled and current status equals `NDT Release`. Also ensure `painting_cycle` exists when attempting paint release.
|
||
- **TR:** Release butonu görünmüyor mu? `spool_ndt_check` alanının dolu ve mevcut statünün `NDT Release` olduğundan emin olun. Paint release için `painting_cycle` kaydını kontrol edin.
|
||
- **EN:** Rollback unavailable? Requested status may already be at the earliest phase or no matching ISO/SPL pair exists; verify selections on the left grid.
|
||
- **TR:** Rollback çalışmıyor mu? Statü zaten en erken aşamada olabilir veya eşleşen ISO/SPL bulunmamış olabilir; sol grid’deki seçimi doğrulayın.
|
||
- **EN:** Spool Area data mismatch? Use the detail modal to inspect raw rows; `⚠️` icons usually mean inconsistent dates between joints of the same spool.
|
||
- **TR:** Spool Area verisi tutarsız mı? Detay modalla ham satırları inceleyin; `⚠️` ikonları aynı spool’daki joint’ler arasında tarih uyumsuzluğu olduğuna işaret eder.
|
||
|
||
---
|
||
|
||
- **EN:** Keeping these interactions in sync ensures NDT and Paint releases move smoothly from detailed forms to the consolidated area dashboard.
|
||
- **TR:** Bu etkileşimleri senkron tutmak, ayrıntılı formlardan konsolide alan paneline kadar NDT ve Paint release süreçlerinin sorunsuz ilerlemesini sağlar.
|
||
|