<details>
<summary>Obsah</summary>
[toc]
</details>dt
# Zpracování objednávky od zákazníka :point_down:
## Zasilka_obsah
>[!Note]
>- `Zasilka_obsah` musí mít vždy počet `1`
> - Každý jednotlivý předmět se musí evidovat jako separátní `Zasilka_obsah`
>- Jinak bychom museli řešit, že například jsou skladem 2 trička ze 3 a je třeba doobjednat jen >jedno
> - Pokud bude každé tričko jako separátní `Zasilka_obsah`, pak se tento problém vyřeší sám
>[!Warning]
>- `Zasilka_obsah_stav_id = 1` (zatím `NULL`)
> - Tady je problém s doktrínou
>[!Tip] Myšlenka
>- Měl by vzniknout časový zámek, který zamezí padání nových objednávek do front během procesu zpracovávání front
>- Týká se i plateb
---
# Fronta „Vše skladem“
## Podmínky pro Zásilka
- Spuštěno
- Neodesláno
- Plánované datum odeslání `<= Dnes`
- `Fronta_datum` buď:
- `NULL`
- `fronta_datum < Dnes`
- `Zasilka` musí mít alespoň jeden `Zasilka_obsah` a ten musí mít vazbu na Sklad
- Zásilka **nemá DIG** (kastomizace)
## Podmínky pro Zasilka_obsahy
- `Zasilka_obsah_stav_id` je buď `NULL` nebo `1`
- Bob musí mít ve skladu dostatek kusů, aby u dané zásilky všechny `Zasilka_obsahy` spojené se Skladem uspokojil
**POZOR**: Bob při generování fronty postupně odečítá ze skladu – jako první se uspokojí nejstarší zásilky (gerontokracie)
## Kontrola zásilek ve frontě
- Vyřadit zásilky bez navázaných skladových položek
- Vytvořit separátní scénář, jak zpracovat tyto objednávky
## Potvrdit frontu → Tvorba Trello karet a založení jezdíčků
- Vytvořit karty v Trellu
- Pokud již karta v Trellu existuje, netvořit (zamezit duplikaci)
- U položky objednávky
- Proklik na Trello kartu
- Možnost smazat existující vazbu na Trello kartu (hotovo)
- Při zakládání karet v Trellu z fronty bude hláška, pokud u nějaké položky už bude karta existovat
- Založit všechny jezdíčky
- Teď se generuje pro každou zásilku, stačilo pro každou položku objednávky
## Ihned vrátit zásilky do fronty
:::warning
- **POZOR**: - Musí se navázat hned
:::
- Přesun Trello karet do sloupce `Processing` (hotovo)
- Připravit jezdíčky
- Po jednom jezdíčku plnit ze skladových zásob
- Odečítat sklad pomocí mobilní verze Boba
- Pokud je v Bobovi chybný stav skladu → opravit
- Pokud nejde jezdíček naplnit → zásilku z fronty vyřadit
- Kompletní jezdíček → přesunout do sloupce `In house` v Trellu
- Human operator naplní jezdíček a pak ručně přesune kartu do `In house`
- Po naplnění všech jezdíčků → potvrdit frontu `Jezdíčky komplet naplněné`
- Bob mění u všech `Zasilka_obsah_stav_id = 3`: Mám ho u sebe v jezdíčku (hotovo)
## Ukončení
- Proces „Vše skladem“ končí až v tuto chvíli je možné přestat
---
# Fronta „Částečně skladem“
## Účel
- Získat zásilky, které lze částečně naplnit ze skladu
## Kontrola
- Po stisknutí "Vygenerovat frontu" --> "Fronta částečně skladem":
- Bob prověří, že nejde udělat fronta "vše skladem"
- Pokud ano, Bob vynucuje udělání fronty "vše skladem"(přesměruje na výběr a je třeba vybrat tu správnou frontu)
- Pokud ne, Bob vygeneruje frontu "Fronta částečně skladem"
## Podmínky pro Zásilka
- Spuštěno
- Neodesláno
- Plánované datum odeslání `<= Dnes`
- `Fronta_datum` buď:
- `NULL`
- `fronta_datum < Dnes`
- `Zasilka` musí mít alespoň jeden `Zasilka_obsah` s vazbou na Sklad
## Podmínky pro Zasilka_obsahy
- `Zasilka_obsah_stav_id` je buď `NULL` nebo `1`
- Bob má skladem alespoň jednu potřebnou položku
## Kontrola zásilek ve frontě
- Vyřadit zásilky bez navázaných skladových položek
- Vytvořit separátní scénář
## Potvrzení fronty
- Vytvořit karty v Trellu
- Založit všechny jezdíčky
- Vrátit zásilky do fronty (POZOR: musí se navázat hned)
- Přesun Trello karet do `Processing`
- Plnění jezdíčků
- Odečítání skladu přes mobilní verzi Boba
- Opravy chybných stavů skladu
- Manuální úprava stavů, pokud je nesrovnalost
- Po částečném naplnění všech jezdíčků → potvrdit frontu
- Bob nastaví `Zasilka_obsah_stav_id = 3`
- Human operator → přesun karet do `Pending supplies`
# Fronta „Objednat transfer“
## Kontrola
- Po stisknutí "Vygenerovat frontu" --> "Objednat transfer":
- Bob prověří, že nejde udělat fronta "vše skladem" nebo "[částečně skladem](https://hackmd.io/3c-vqpYQTe-qtxmu9IjWig?both=&stext=2759%3A25%3A0%3A1744793396%3Ae8INI7)"
- Pokud ano, Bob vynucuje udělání fronty "vše skladem" nebo "částečně skladem" (přesměruje na výběr a je třeba vybrat tu správnou frontu)
- Pokud ne, Bob vygeneruje frontu "Objednat transfer"
## Podmínky
- Plánované datum odeslání
- Spuštěno
- `Zasilka_obsah -> sklad -> sklad_typ_id = 26` (DTF)
- `Zasilka_obsah -> sklad -> počet skladem < počet v zásilce`
- Zásilka **nemá DIG**
## Kontrola zásilek ve frontě
- Vyřadit zásilky bez navázaných skladových položek
## Potvrdit frontu → Tvorba Trello karet a založení jezdíčků
- Vytvořit karty v Trellu
- Pokud již karta existuje, netvořit (zamezit duplikaci)
- Založit všechny jezdíčky
## Ihned vrátit zásilky do fronty
- **POZOR**: Musí se navázat hned
- Přesun Trello karet do sloupce `Processing`
## Export 1
- Seznam `Zasilka_obsah`, které jsou skladem a jdou dát do jezdíčků
- Dle tohoto exportu naplnit jezdíčky
## Export 2 (pro Esťu)
- Seznam všech transferů, které je potřeba vyrobit
- Seznam cest, které má Bob k dispozici, tam kde je zná
- Kde Bob cestu nezná, třeba dodat ručně
- Vzor dodá Tomáš
## Potvrdit frontu
- Label na Trello kartu: `Transfer na cestě`
- Přesunout Trello kartu do listu `Pending supplies`
- Bob:
- Z Export 1: `Zasilka_obsah_stav_id = 3`
- Z Export 2: `Zasilka_obsah_stav_id = 2`
- Trello karty → sloupec `Pending supplies`
## Po zadání transferů
- Esťa otevře frontu
- Vyfiltruje `Zasilka_obsah_stav_id = 2` a přiřadí jim číslo objednávky u `PlastisolTransfer24`
---
# Fronta „Objednat textil“
## Kontrola
- Po stisknutí "Vygenerovat frontu" --> "Objednat textil":
- Bob prověří, že nejde udělat fronta "vše skladem" nebo "částečně skladem"
- Pokud ano, Bob vynucuje udělání fronty "vše skladem" nebo "částečně skladem" (přesměruje na výběr a je třeba vybrat tu správnou frontu)
- Pokud ne, Bob vygeneruje frontu "Objednat textil"
## Podmínky pro Zásilka
- Spuštěno
- Neodesláno
- Plánované datum odeslání `<= Dnes`
- `Fronta_datum` buď:
- `NULL`
- `fronta_datum < Dnes`
- `Zasilka` má alespoň jeden `Zasilka_obsah` s vazbou na sklad typu `24`
## Podmínky pro Zasilka_obsahy
- `Zasilka_obsah_stav_id` je buď `NULL` nebo `1`
- Počet skladem < počet potřebný
## Kontrola zásilek ve frontě
- Vyřadit zásilky bez navázaných skladových položek
## Potvrdit frontu → Tvorba Trello karet a založení jezdíčků
- Vytvořit karty v Trellu
- Pokud karta už existuje, netvořit
- Založit všechny jezdíčky
## Ihned vrátit zásilky do fronty
- **POZOR**: Musí se navázat hned
- Přesun karet do `Processing`
## Exporty
>[name=sochorthomas]
### Export 1 – Objednávka Xfer
- Dle syntaxe pro hromadnou objednávku
- Naplnit košík v Xfer
- Formát: `Kod;počet`
### Export 2 – Objednávka Malfini
- Dle syntaxe pro hromadnou objednávku u Malfini
- Naplnit košík v Malfini
### Export 3 – Objednávka textil ostatní
- Seznam ostatních `Zasilka_obsah`, které nejsou od Xfer ani Malfini
- Objednat „ostatní textil“ (Cotton Classics, Spinflo, atd.)
## Potvrdit frontu
- Label na Trello kartu: `Textil na cestě`
- Přesunout Trello kartu do listu `Pending supplies`
- Bob:
- Z Export 2: `Zasilka_obsah_stav_id = 2`
- Trello karty → sloupec `Pending supplies`
## Po potvrzení objednávek
- Zadat k `Zasilka_obsah_stav_id = 2` čísla objednávek (Xfer, Malfini, atd.)
---
# Fronta „Dodavatelská objednávka“
## Zadání
- Zadám dodavatele a číslo objednávky
- Bob zařadí do fronty zásilky, kterých se týká
## Postup
- Přesun karet v Trellu do `Processing`
- Srovnat podle abecedy (číslo položky objednávky)
- Srovnat jezdíčky podle stejného pořadí
- Rozbalit plachtu transferů
## Zpracování karet
- Najít jejich transfer na plachtě
- Vystřihnout a vložit do jezdíčku
## Přesun
- Pokud je objednávka kompletní (textil i transfery):
- Do `In house`
- Pokud ještě něco chybí:
- A jde objednat:
- **Transfer**: přidat štítek `Objednat transfer`
- **Textil**: přidat do košíku dodavatele
- Do `Pending supplies`
- Nejde objednat (např. není skladem):
- Do `Unsorted`
## Potvrdit frontu „Příchozí dodavatelská objednávka“
- Bob změní `Zasilka_obsah_stav_id = 4`
---
# Fronta „Můžu zabalit“
## Podmínky
- Plánované datum odeslání
- Spuštěno
- Neodesláno
- Zásilky objednávek, kde všechny jejich zásilky mají `Zasilka_obsah_stav_id = 4` (kompletní objednávka k zabalení)
## Ve frontě
- Provést agregace (ručně nebo přes návrhy agregací)
- Vyndat komponenty z fronty a naopak tam vložit agregáty
- Vygenerovat štítky pro přepravce:
- DPD
- Zásilkovna
- Osobní odběr
## Přesunout karty do `Packing`
- Zabalit objednávky
- Nalepit štítky
## Potvrdit frontu `Odesláno`
# Zpracování příchozích DTF transferů od Plastisol24
- Dorazí transfery
- Relevantní zásilky do fronty v Bobovi:
- Pomocí čísla objednávky se do fronty vyfiltrují zásilky, kterých se objednávka u Plastisol24 týká
- Relevantní karty v Trello (`Kastomi - Orders – Pivot`) se přesunou do sloupce `Processing`
## Příprava jezdíčků
- Jezdíčky podle pořadí `Order item`
---
# Přesun jezdíčků a Trello karet do `Produced`
- Trello karta se přesune do sloupce `Produced`
- Bob by měl u `Zasilka_obsah` změnit stav na „Ready na odeslání“
-
# Fronta „Vyfiltruj, co můžu zabalit a odeslat“
## Kritéria (additional)
- Zásilky, které mají u všech obsahů stav `Ready na odeslání`
- Trello karty by měly být ve sloupci `Produced`
- Kompletní objednávky
- Může se stát, že se objednávka rozdělí → musí být podmínka na kompletaci
## Postup
- Nahází se do fronty
- Přesune se do sloupce `Processing`
## Agregace
- V tomto bodě se musí zásilky agregovat
## Exporty
- Export `Zásilkovna`
- Export `DPD`
# Kontroly a principy
- Když existuje jezdíček, měla by existovat i Trello karta a opačně
- Ve sloupci `Produced` by měly mít `Zasilka_obsah` stav `Ready na odeslání`
# Přidal Tomáš
## Fronta „Objednat transfer“ – Export 2 (pro Esťu)
**Cesty ve formátu:**
`C:\Users\EsterMaatová\Sockshire s.r.o\Kastomi - Dokumenty\General\Bob\Sklad\Sklad [ID skladové položky]\[ID skladové položky].pdf`
| # | Zásilka | Skladová položka | Order item | Cesta | Stav |
|---|---------|------------------|------------|-------|------|
| 1 | 98 | 12 | 2704 | C:\Users\EsterMaatová\...Sklad 12\12.pdf | ANO |
| 2 | 76 | 34 | 2105 | C:\Users\EsterMaatová\...Sklad 34\34.pdf | NE |
| 3 | 54 | 56 | 2598 | C:\Users\EsterMaatová\...Sklad 56\56.pdf | ANO |
**Seznam cest ke zkopírování:**
C:\Users\EsterMaatová\Sockshire s.r.o\Kastomi - Dokumenty\General\Bob\Sklad\Sklad 456\456.pdf
C:\Users\EsterMaatová\Sockshire s.r.o\Kastomi - Dokumenty\General\Bob\Sklad\Sklad 123\123.pdf
## Fronta „Objednat textil“ – Exporty
### Export 1 (k naplnění jezdíčků)
| # | Zásilka obsah | Skladová položka | Název | Order item | Poznámka |
|---|----------------|------------------|--------|-------------|-----------|
| 1 | 98 | SP12 | Xfer - K - Stafford - 7/8 - E6681-05-7 | 1234 | |
| 2 | 76 | SP34 | Xfer - K - Jamaica - 7/8 - E6681-05-7 | 4321 | |
| 3 | 54 | SP56 | Xfer - K - Stafford - 911 - E6681-60-11| 5678 | |
### Export 2 (Objednávka Xfer)
1100015;1
2100016;5
3100017;2
### Export 3 (Objednávka Malfini)
Každá položka na nový řádek ve formátu: `[kod dodavatele];[počet]`
1100015;1
2100016;5
3100017;2
### Export 4 (Objednávka ostatní)
> Bude potřeba sjednotit a sečíst
| # | Zásilka obsah | Skladová položka | Dodavatel | Název | Počet | Poznámka |
|---|----------------|------------------|------------------|---------------------------------------|--------|----------|
| 1 | 12 | SP1234 | Cotton classics | Cotton classics – Tshirt XY – Black - S | 2ks | |
| 2 | 34 | SP4321 | Cotton classics | Cotton classics – Tshirt XX – Red - L | 1ks | |
| 3 | 56 | SP5678 | Spinflo | Florbalové brýle junior modré | 4ks | |
# Opravy, doplnění, myšlenky
- Při odeslání agregátu zůstanou komponenty zásilky jako neodeslané
- Hromadně nastavit spuštěné komponenty agregátu jako odeslané (další kritérium – mají zámeček)
- Trello nástěnka `Kastomi - Orders - Pivot`
- Archivovat odeslané karty → zrychlení načítání
- Archivovat 14 dní po přesunu do `Shipped`
- Proces: zpoždění zásilky
- Pokud je zpoždění > 8 pracovních dní → poslat e-mail
- Vytvořit report, kampaň, SQL dotaz na přidání adresátů
- Co se děje s jezdíčkem při výšivkách?
- Přejmenovat nástěnku na „Výšivky Pinecker“
- Kartičky na nástěnce Pinecker
- Zrcadlit karty
- Možnost ruční editace stavu zásilky v Bobovi
- Pro opravy překliků, defektů ve výrobě, atd.
- Fanshopy – nelze zadat zemi
- Např. Poláci dávají ČR
- Zásilka `#7203`
1. Nová objednávka->mail o potvrzení obj. (automaticky z BOBA, přijde zákazníkovi i nám)
2. Podle platby
- pokud je zaplacená -> automaticky potvrzení o platbě
- pokud ne, po 3 dnech spadne objednávka do fronty emailů
3. Po odeslání se - přes kampan [#1] email o odeslání (https://bob.kastomi.com/newsletter/kampan-detail?id=1)
? email o zdržení objednávky
Nezpracováné objednávky
1. storno technický problém (vypsat si někam webidčka pro zálohu)
2. smazat web ID
3. podle webid si najdu api log
- zpracovat api log znovu
- tím se vytvoří nová objednávka (ve stejném čase)
- rozešle se jim znovu email
- těm kteří platili na účet je to v pořádku, protože do ted neměli pokyny
- pokud kartou, je v mailu napsané že pokud se jim nezdařila, můžou tl zkusit znovu na odkazu, tam ale budou mít nezaplaceno, protože to je nová platba -> bud to tak nechat a smířit se s tím, nebo jim poslat doprovodný mail.
4. podle objednavka.id->doklad -> transakce
- danou trasakci smažu
- v api logu zase podle webid najdu api záznam o transakci (modul transakce method insert)
- zpracovat api log znovu
- to založí novou transakci a po 30minutách se to propíše
- tím se platby znovu propárují podle var symbolu
- objednávka se označí jako zaplacená a odejde jim mail o zaplacení