# TODO: Bugs & Known Issues

---

## [DONE] Reorder jobs — date_start_planned po przeciąganiu

**Data:** 2026-04-01  
**Fix:** 2026-04-01 — `ajax/reorder_mos.php` commit `afc4c00`

Gdy planista przeciąga MO (drag & drop) i zmienia kolejność jobów, `date_start_planned` nie jest odpowiednio zarządzane:

- MO które było na **pozycji 1** miało konkretny `date_start_planned` (np. 31/03/2026 22:30)
- Po przeciągnięciu nowego MO na **pozycję 1**, ten nowy MO powinien przejąć datę startową poprzednika
- Stary "pierwszy" MO traci priorytet — jego `date_start_planned` powinno zostać zaktualizowane przez Calc

### Rozwiązanie (zaimplementowane)

W `ajax/reorder_mos.php` przed transakcją reorderu:
1. Pobierz aktualne MO na pozycji 1 i jego `date_start_planned`
2. Transfer następuje tylko gdy pozycja 1 się zmienia **i** stary pierwszy ma czas `≠ 00:00`
3. Nowe MO na pozycji 1 dostaje `date_start_planned` starego
4. Stare MO dostaje `NULL` → Calc wyliczy je przy następnym uruchomieniu

### Znane ograniczenie

Warunek `≠ 00:00` jest heurystyką — zakłada że czas `00:00` = Dolibarr default (nie user-set).
Problem: Calc sam zapisuje np. `06:00` (shift_start), co po pierwszym Calcu byłoby traktowane jako "user-set".
**Docelowo** należy wprowadzić flagę `date_start_planned_locked TINYINT` w `mrp_mo_extrafields` zamiast zgadywania po czasie — ale narazie podejście `≠ 00:00` jest wystarczające dla użytkownika który ustawia czas ręcznie z formularza MO (np. `22:30`).

---

## [OPEN] Chemi / wet-process workstations — brak qty_per_hour

**Data:** 2026-03-31

Tylko workstacje typu **Form / Laser / CNC** mają extrafields z prędkością produkcji:

- `qty_per_hour_form`
- `qty_per_hour_laser`
- `qty_per_hour_cnc`

Workstacje chemiczne (np. Chemi clean) **nie mają tego extrafielda** — przez co:
- czas produkcji nie jest obliczany (`qty_per_hr = 0`)
- MO nie ma planowanej długości na gridzie
- "Time to start" nie jest obliczany

### Do rozwiązania

Trzeba znaleźć inną metodę wyświetlania/szacowania czasu dla takich MO.
Opcje do przemyślenia:
- stały czas (np. 1 dzień na wsad) konfigurowalny per workstation w `planning_ws_config`
- nowy extrafield `qty_per_hour_chemi` (lub ogólny `qty_per_hour_default`)
- ręczne wpisanie godzin przez planistę bez auto-kalkulacji

---
