<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í