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,95 @@
# WPQ Follow-up Datagrid Algoritması
Bu doküman, `resources/views/admin/type/wpq-follow-up/datagrid-script.blade.php` dosyasındaki DataGrid içerisinde yer alan **Diameter (Çap)** ve **Thickness (Kalınlık)** alanlarının değişim mantığını ve hesaplama algoritmasını açıklar.
## Algoritma Özeti
Süreç iki ana kola ayrılır:
### 1. Diameter (Çap) Değişikliği Algoritması
1. Kullanıcı **Diameter** değerini değiştirir.
2. Sistem, satırdaki `grade_1` değerini kullanarak sunucudan malzeme detayını (JSON) çeker.
3. Gelen `short_name` (Kısa Ad) değerine göre malzeme tipi belirlenir:
* **Çelik (AS, SS, CS) veya Nikel (NI) ise:**
* Değer <= 25 ise: `min = değer`, `max = değer * 2`
* 25 < Değer <= 150 ise: `min = değer * 0.5`, `max = değer * 2`
* Değer > 150 ise: `min = değer * 0.5`, `max = Boş`
* **Alüminyum (AL) ise:**
* Değer <= 125 ise: `min = değer * 0.5`, `max = değer * 2.5`
* Değer > 125 ise: `min = 0.5 * değer`, `max = 2.5 * değer`
4. Hesaplanan `min` ve `max` değerleri tablodaki `dia_min` ve `dia_max` hücrelerine yazılır.
### 2. Thickness (Kalınlık) Değişikliği Algoritması
1. Kullanıcı **Thickness** hücresine odaklandığında (FocusIn):
* `wps_no` ile sunucudan veri çekilir, `min/max_thick` değerleri `localStorage`'a kaydedilir (Bu adım kodda var ancak hesaplamada doğrudan kullanılmamış gibi görünüyor, yine de akışta mevcuttur).
2. Kullanıcı **Thickness** değerini değiştirdiğinde:
3. Sistem `grade_1` ile malzeme detayını sunucudan çeker.
4. `short_name` değerine göre limitler hesaplanır:
* **Çelik (AS, SS, CS) veya Nikel (NI) ise:**
* Değer <= 3 ise: `min = değer`, `max = değer * 2`
* 3 < Değer <= 12 ise: `min = 3`, `max = değer * 2`
* Değer > 12 ise: `min = 5`, `max = Boş`
* **Alüminyum (AL) ise:**
* Değer <= 6 ise: `min = değer * 0.7`, `max = değer * 2.5`
* 6 < Değer <= 15 ise: `min = 6`, `max = 40`
5. Hesaplanan değerler `thk_min` ve `thk_max` hücrelerine yazılır.
---
## Akış Şeması (Flowchart)
```mermaid
flowchart TD
Start(("Başla")) --> CheckField{"Alan Hangisi?"}
%% --- DIAMETER BRANCH ---
CheckField -- "Diameter (Çap)" --> DiaFetch["Get JSON: materials/steel_grade (grade_1)"]
DiaFetch --> CheckMaterialDia{"Malzeme Kısa Adı\n(short_name)"}
%% Steel/Nickel Logic (Diameter)
CheckMaterialDia -- "AS, SS, CS, NI" --> DiaSteelRange{"Değer Aralığı?"}
DiaSteelRange -- "<= 25" --> DiaCalc1["Min = Değer\nMax = Değer * 2"]
DiaSteelRange -- "25 < x <= 150" --> DiaCalc2["Min = 0.5 * Değer\nMax = Değer * 2"]
DiaSteelRange -- "> 150" --> DiaCalc3["Min = 0.5 * Değer\nMax = Boş"]
%% Aluminium Logic (Diameter)
CheckMaterialDia -- "AL" --> DiaAlRange{"Değer Aralığı?"}
DiaAlRange -- "<= 125" --> DiaCalc4["Min = Değer * 0.5\nMax = Değer * 2.5"]
DiaAlRange -- "> 125" --> DiaCalc5["Min = 0.5 * Değer\nMax = 2.5 * Değer"]
%% Finalize Diameter
DiaCalc1 --> SetDiaCells["Tabloyu Güncelle:\ndia_min, dia_max"]
DiaCalc2 --> SetDiaCells
DiaCalc3 --> SetDiaCells
DiaCalc4 --> SetDiaCells
DiaCalc5 --> SetDiaCells
%% --- THICKNESS BRANCH ---
CheckField -- "Thickness (Kalınlık)" --> ThkFocus["On Focus: WPS detaylarını\nlocalStorage'a kaydet"]
ThkFocus --> ThkChange["Kullanıcı Değer Değiştirdi"]
ThkChange --> ThkFetch["Get JSON: materials/steel_grade (grade_1)"]
ThkFetch --> CheckMaterialThk{"Malzeme Kısa Adı\n(short_name)"}
%% Steel/Nickel Logic (Thickness)
CheckMaterialThk -- "AS, SS, CS, NI" --> ThkSteelRange{"Değer Aralığı?"}
ThkSteelRange -- "<= 3" --> ThkCalc1["Min = Değer\nMax = Değer * 2"]
ThkSteelRange -- "3 < x <= 12" --> ThkCalc2["Min = 3\nMax = Değer * 2"]
ThkSteelRange -- "> 12" --> ThkCalc3["Min = 5\nMax = Boş"]
%% Aluminium Logic (Thickness)
CheckMaterialThk -- "AL" --> ThkAlRange{"Değer Aralığı?"}
ThkAlRange -- "<= 6" --> ThkCalc4["Min = Değer * 0.7\nMax = Değer * 2.5"]
ThkAlRange -- "6 < x <= 15" --> ThkCalc5["Min = 6\nMax = 40"]
%% Finalize Thickness
ThkCalc1 --> SetThkCells["Tabloyu Güncelle:\nthk_min, thk_max"]
ThkCalc2 --> SetThkCells
ThkCalc3 --> SetThkCells
ThkCalc4 --> SetThkCells
ThkCalc5 --> SetThkCells
SetDiaCells --> End(("Bitir"))
SetThkCells --> End
```