Proces zamówienia | Produkcja

%%{init: {"theme": "base", "flowchart": {"curve": "basis", "nodeSpacing": 16, "rankSpacing": 24, "useMaxWidth": true, "htmlLabels": true}}}%%
flowchart TB
  classDef actor fill:#FFF59D,stroke:#F9A825,stroke-width:2px,color:#5D4037
  classDef command fill:#90CAF9,stroke:#1565C0,stroke-width:2px,color:#0D47A1
  classDef event fill:#A5D6A7,stroke:#2E7D32,stroke-width:2px,color:#1B5E20
  classDef gate fill:#FFFFFF,stroke:#616161,stroke-width:2px,color:#212121

  subgraph F1["Faza 1 — Rejestracja zamówienia"]
    direction TB
    aKlient1(["Klient"]):::actor
    aHand1(["Handlowiec"]):::actor
    c1["Zarejestruj zamówienie"]:::command
    aKlient1 --> c1
    aHand1 --> c1
    e1["(1) Zamówienie klienta wpłynęło"]:::event
    e2["(2) Reguły terminu wysyłki zostały zdefiniowane"]:::event
    e3["(3) Wstępne potwierdzenie zostało wysłane z proformą"]:::event
    c1 --> e1 --> e2 --> e3
    aSys1(["System GoNet"]):::actor
    aSys1 -.-> e3
  end

  subgraph F2["Faza 2 — Warunki brzegowe"]
    direction TB
    aKsieg(["Księgowość / Enova"]):::actor
    aKlient2(["Klient"]):::actor
    c2["Zaksięguj wpłatę"]:::command
    c3["Zatwierdź rysunki"]:::command
    aKsieg --> c2
    aKlient2 --> c3
    e4["(4) Wpłata została zaksięgowana"]:::event
    e5["(5) Rysunki techniczne zostały zaakceptowane"]:::event
    c2 --> e4
    c3 --> e5
    g1{"Wpłata AND rysunki?"}:::gate
    e4 --> g1
    e5 --> g1
    wait["Oczekiwanie na brakujący warunek"]:::gate
    g1 -->|nie| wait
    aSys2(["System GoNet / Automatyzacja"]):::actor
    c4["Sprawdź warunki uruchomienia"]:::command
    g1 -->|tak| c4
    aSys2 --> c4
    e6["(6) Warunki brzegowe zostały spełnione"]:::event
    e7["(7) Powiadomienie o gotowości do akceptacji zostało wyświetlone"]:::event
    c4 --> e6 --> e7
  end

  subgraph F3["Faza 3 — Akceptacja do realizacji"]
    direction TB
    aHand2(["Handlowiec"]):::actor
    c5["Otwórz podsumowanie / Okno Modalne"]:::command
    aHand2 --> c5
    e8["(8) Bramka walidacyjna została otwarta"]:::event
    c5 --> e8
    c6["Zatwierdź zlecenie dla CUW"]:::command
    e8 --> c6
    e9["(9) Komentarz operacyjny dla CUW został dodany"]:::event
    e10["(10) Zamówienie zostało zaakceptowane do realizacji"]:::event
    e11["(11) Ostateczna data wysyłki została wyliczona"]:::event
    e12["(12) Końcowe potwierdzenie zostało wysłane do klienta"]:::event
    c6 --> e9 --> e10 --> e11 --> e12
    aSys3(["System GoNet / Automatyzacja"]):::actor
    aSys3 -.-> e11
    aSys3 -.-> e12
  end

  subgraph F4["Faza 4 — Panel CUW i braki magazynowe"]
    direction TB
    aCUW(["Pracownik CUW"]):::actor
    c7["Weryfikuj stany magazynowe"]:::command
    aCUW --> c7
    e13["(13) Zlecenie realizacji trafiło do panelu CUW"]:::event
    e14["(14) Braki magazynowe zostały wykryte"]:::event
    c7 --> e13 --> e14
    g2{"Są braki?"}:::gate
    e14 --> g2
    ok["Komplet na magazynie — ścieżka zakupowa pominięta"]:::gate
    g2 -->|nie| ok
    c8["Oblicz zapotrzebowanie u dostawcy"]:::command
    g2 -->|tak| c8
    e15["(15) Ostrzeżenie o minimum logistycznym MOQ zostało wyświetlone"]:::event
    c8 --> e15
    c9["Zamów brakujący towar"]:::command
    e15 --> c9
    e16["(16) Zamówienie do dostawcy zewnętrznego zostało złożone"]:::event
    c9 --> e16
  end

  F1 --> F2 --> F3 --> F4
%%{init: {"theme": "base", "flowchart": {"curve": "basis", "nodeSpacing": 16, "rankSpacing": 28, "useMaxWidth": true, "htmlLabels": true}}}%%
flowchart TB
  classDef startend fill:#ECEFF1,stroke:#546E7A,stroke-width:2px,color:#263238
  classDef actor fill:#FFF59D,stroke:#F9A825,stroke-width:2px,color:#5D4037
  classDef action fill:#90CAF9,stroke:#1565C0,stroke-width:2px,color:#0D47A1
  classDef artifact fill:#CE93D8,stroke:#7B1FA2,stroke-width:2px,color:#4A148C
  classDef system fill:#80CBC4,stroke:#00695C,stroke-width:2px,color:#004D40
  classDef status fill:#A5D6A7,stroke:#2E7D32,stroke-width:2px,color:#1B5E20
  classDef gate fill:#FFFFFF,stroke:#616161,stroke-width:2px,color:#212121

  nStart(["Rozpoczęcie procesu"]):::startend

  subgraph F1["Faza 1 — Przekazanie zamówienia"]
    direction TB
    nHand["HANDLOWIEC:<br/>przekazanie informacji o zamówieniu"]:::actor
    nCuw["CUW:<br/>przekazanie oficjalnej wiadomości"]:::actor
    nMail["Mail zawierający:<br/>- numer ZO<br/>- informacja o proformie oraz warunkach"]:::artifact
  end

  subgraph F2["Faza 2 — Czynności wstępne"]
    direction TB
    nProdWst["PRODUKCJA:<br/>Wykonanie czynności wstępnych"]:::actor
    nFolder["Założenie folderu ZO:<br/>Dokumenty kontrolne, Etykiety, Listy materiałowe,<br/>Materiały pomocnicze, Numery komponentów,<br/>Rysunki GW, Zdjęcia"]:::action
    nZapis["Zapis maila otrzymanego od CUW"]:::action
    nZest["Dodanie pozycji do Zestawienia Zamówień"]:::action
    nTermin["Ustalenie terminu realizacji"]:::action
    nBomPrep["Przygotowanie BOM"]:::action
    nKalk["Kalkulator"]:::system
    nGonet["GONET"]:::system
    nEnova1["ENOVA"]:::system
    nPoprawki{"Potrzebne poprawki?"}:::gate
  end

  subgraph F3["Faza 3 — MM i lista materiałowa"]
    direction TB
    nAnaliza["Analiza BOM i rejestracja<br/>ewentualnych braków magazynowych"]:::action
    nMm["PRODUKCJA:<br/>Przygotowanie MM"]:::actor
    nPrzekazMm["Przekazanie MM"]:::action
    nMag["MAGAZYN:<br/>Wydanie materiałów oraz zatwierdzenie MM"]:::actor
    nBomIn["BOM"]:::artifact
    nKalkTerm["Kalkulator termiczny"]:::system
    nZestProd["Zestawienie Produkcji"]:::artifact
    nLista["Stworzenie produkcyjnej listy materiałowej"]:::action
  end

  subgraph F4["Faza 4 — Etap produkcyjny"]
    direction TB
    nEtap["PRODUKCJA:<br/>Etap produkcyjny"]:::actor
    nGonetEtap["GONET: w projekcie tworzony jest etap produkcyjny"]:::system
    nOsoby["Dodanie powiązanych osób:<br/>Handlowiec, CUW, produkcja itd."]:::action
    nPrefab["Prefabrykacja w projekcie"]:::action
    nEto["ETO:<br/>rysunki oraz trajektorie"]:::actor
    nStartProd["Rozpoczęcie produkcji"]:::action
  end

  subgraph F5["Faza 5 — Ukończenie, kompletacja i wysyłka"]
    direction TB
    nInfo["Przekazanie informacji o ukończeniu produkcji"]:::action
    nEnovaGotowe["ENOVA"]:::system
    nStatGotowe["Status: Gotowe"]:::status
    nBomRoz["BOM"]:::artifact
    nUzyte["Użyte materiały"]:::artifact
    nRozliczenie["Rozliczenie BOM i kompletacja"]:::action
    nKpl["Powstanie dokumentów KPL"]:::artifact
    nMagKpl["MAGAZYN:<br/>zatwierdzenie KPL"]:::actor
    nKoszt["Wyliczenie Kosztu Ogólnego"]:::action
    nZgloszenie["Zgłoszenie do CUW ukończenia oraz zmiana statusu"]:::action
    nEnovaZgl["ENOVA"]:::system
    nStatZgl["Status: Zgłoszone"]:::status
    nCuwWys["CUW"]:::actor
    nDocs["Dokumenty kontrolne, zdjęcia, WZ"]:::artifact
    nInfoWys["Informacje o wysyłce"]:::artifact
    nMagWys["MAGAZYN:<br/>Wysłanie produktu"]:::actor
    nMailWys["Mail"]:::artifact
    nEnovaWys["ENOVA"]:::system
    nStatWys["Status: Wysłane"]:::status
  end

  nEnd(["Zakończenie procesu"]):::startend

  nStart --> nHand
  nHand --> nCuw --> nMail --> nProdWst
  nHand --> nProdWst
  nProdWst --> nFolder --> nZapis --> nZest --> nTermin --> nBomPrep --> nKalk --> nGonet --> nEnova1 --> nPoprawki
  nPoprawki -->|Tak| nEnova1
  nPoprawki -->|Nie| nAnaliza
  nAnaliza --> nMm
  nMm --> nPrzekazMm --> nMag
  nMm --> nLista
  nBomIn -.-> nLista
  nKalkTerm -.-> nLista
  nZestProd -.-> nLista
  nLista --> nEtap
  nEtap --> nGonetEtap --> nOsoby
  nEtap --> nPrefab
  nPrefab --> nStartProd
  nEto --> nStartProd
  nMag --> nStartProd
  nStartProd --> nInfo
  nInfo --> nEnovaGotowe -.-> nStatGotowe
  nInfo --> nRozliczenie
  nBomRoz -.-> nRozliczenie
  nUzyte -.-> nRozliczenie
  nRozliczenie --> nKpl --> nMagKpl
  nRozliczenie --> nKoszt --> nZgloszenie
  nZgloszenie --> nEnovaZgl -.-> nStatZgl
  nZgloszenie --> nCuwWys --> nInfoWys
  nZgloszenie --> nDocs
  nDocs --> nMagWys
  nInfoWys --> nMagWys
  nMagWys --> nEnovaWys
  nMagWys -.-> nMailWys
  nEnovaWys -.-> nStatWys
  nMagWys --> nEnd