Files
citrus-cms/resources/views/guide/spool-release-workflow.md
T
2026-04-28 21:15:09 +03:00

97 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.