Shift Planner Docs

Hlavni cil projektu je automatizace planovani smen brigadniku v jednotlivych skladech.

Co je uz implementovano

  1. Webova aplikace pro denni zadani dat (pallet, roll_cage) po skladech.
  2. Kalendar Shift locking pro zapnuti/vypnuti auto-locku po dnech.
  3. Kalendar Shift occupancy pro prehled obsazenosti a rucni lock/unlock smen v CME.
  4. Scheduler shift-planner-jobs, ktery vyhodnocuje over-capacity dny a v LIVE rezimu zamyka smeny.
  5. WAHA integrace pro notifikace do WhatsApp skupiny po uspesnem zamceni.

Automaticke zamykani smen (shift-planner-jobs)

Aktualni implementace je v shift-planner-jobs/jobs/auto_shift_lock.py.

Vyhodnoceni funguje takto:

  1. Vezme dny v intervalu dnes .. dnes+N (AUTO_SHIFT_LOCK_LOOKAHEAD_DAYS).
  2. Nacte auto_shift_lock_enabled z data/sp-shift-lock-YYYY-MM.csv.
  3. Pokud zaznam pro sklad+den chybi, bere se hodnota 1 (povoleno).
  4. Nacte planned_hours z API matematiciAPI.php?naplanovane_hodiny.
  5. Nacte expected_hours z CME DB (expedice_prehled_plan, typ planu 3).
  6. Pokud pri nacitani vstupnich dat dojde k chybe (API/DB), cele kolo vyhodnoceni se preskoci.
  7. Pokud je expected_hours <= 0, den se nikdy nezamyka.
  8. Den je over-capacity, pokud plati planned_hours > expected_hours + 100.
  9. Pokud je den over-capacity, auto-lock je povolen a smena jeste neni zamcena, provede lock.
  10. V LIVE rezimu po uspesnem locku muze poslat WAHA notifikaci.

Rezimy behu:

  • AUTO_SHIFT_LOCK_DRY_RUN=1 -> pouze loguje, nic nezamyka.
  • AUTO_SHIFT_LOCK_DRY_RUN=0 -> realne zamyka smeny.

Dulezite log radky:

  • AUTO_SHIFT_LOCK_SCAN_STARTED
  • AUTO_SHIFT_LOCK_ROUND_SKIPPED
  • AUTO_SHIFT_LOCK_LIVE / AUTO_SHIFT_LOCK_LIVE_FAILED
  • AUTO_SHIFT_LOCK_NOTIFY_SENT / AUTO_SHIFT_LOCK_NOTIFY_FAILED
  • AUTO_SHIFT_LOCK_RESULT

Pokud chybi WAHA konfigurace (typicky AUTO_SHIFT_LOCK_NOTIFY_GROUP_CHAT_ID), v logu bude:

  • AUTO_SHIFT_LOCK_NOTIFY_DISABLED reason=missing_config

Provozni cesty

  • DEV logs: target/logs
  • PROD logs: /home/agent/shift-planner/logs
  • PROD data: /home/agent/shift-planner/data
  • PROD conf: /home/agent/shift-planner/conf

Nasazeni

Spousteci/deploy skripty jsou v scripts/:

  • start-<module>.sh
  • stop-<module>.sh
  • deploy-<module>.sh

Podrobnejsi informace:

Ktere pravidlo kde hledat:

  • docs/remote-server.md zustava aktivni dokument pro server, HAProxy, certifikaty a deploy flow na hostu.
  • docs/container-runtime-contract.md je projektovy runtime kontrakt pro Docker image, Compose a deploy skripty.
  • Codex skill neni source of truth; je to jen workflow guardrail nad dokumentaci a implementaci v repu.
  • Zdroj skillu je commitnuty v codex-skills/shift-planner-deploy-runtime/, ale pro realne pouziti v Codexu je potreba ho nainstalovat do ${CODEX_HOME:-$HOME/.codex}/skills/shift-planner-deploy-runtime.
  • Instalace skillu z repa: ./scripts/install-shift-planner-skill.sh

Lokalni serve

Nasazene kontejnery (default domeny)

Moduly

As-Is stav

Data o poctech kleci a palet jsou podklad pro generovani ocekavaneho poctu hodin brigadniku do CME.

As-Is state

Resources