Kapitola 4: Technická Reference - Datový Model
4.1 Přehled
Tato kapitola poskytuje detailní "Digitální Dvojče" datového modelu. Vypisuje každou entitu, její účel, klíčová pole a kritické automatizační spouštěče (hooks), které řídí logiku systému.
4.2 Klíčové Výrobní Entity
4.2.1 ProductionOrder (ProductionOrder)
Centrální prováděcí dokument.
- Účel: Sleduje výrobu konkrétního množství produktu.
- Dědičnost: Odvozeno z
ProductionModel. - Klíčová Pole:
status(Enum): Návrh, Naplánováno, Probíhá, Dokončeno, Zrušeno.billOfMaterials(LinkMultiple): KolekceProductionModelItem(Materiály).operations(LinkMultiple): KolekceProductionModelOperation(Kroky).productWarehouse(Link): Cílový sklad pro hotové výrobky.quantityPlanned(Float): Plánované množství.quantityProduced(Float): Skutečně vyrobené množství.totalProductionCost(Currency): Vypočtená cena (Práce + Materiál + Kooperace).qrCode(Barcode): Pro skenování ve výrobě.gateA...gateF(Date): Vypočtená data milníků pro Stage-Gate proces.g030Ctrl(Enum): Status kontroly brány (např. "Open", "On-Hold") na základě připravenosti materiálu.bomFiles/electroBomFiles(Attachment): Specifické kontejnery pro mechanickou a elektro dokumentaci.
Automatizace a Spouštěče (Triggers)
| Podmínka | Hook / Služba | Akce (Side Effect) |
|---|---|---|
| Vytvoření záznamu | FillFromModel | Klonování: Kopíruje všechny položky kusovníku a operace z propojeného ProductionModel. Přidá defaultní QC/Skladové kroky pokud je nastaveno. |
| Vytvoření záznamu | CreateChildOrders | Rekurzivní Plánování: Projde kusovník. Pokud má položka vlastní Defaultní Production Model, automaticky vytvoří Podřízenou Výrobní Zakázku. |
| Uložení (Jakákoliv změna) | ProcessProductionOrder | Update Kontextu: Volá ProductionContextUpdater pro přepočet quantityProduced (min z operací) a odvození nového status. |
| Status -> Dokončeno | ProductionContextUpdater | Příjem na Sklad: Spouští ProductionTransactionManager::createGoodsReceipt. Přidá hotové výrobky do productWarehouse. |
| Změna Data | CalculateGates | Plánování: Pokud se změní startDate nebo data bran, přepočítá celou časovou osu (gateA...gateF) na základě logiky specifických kódů operací (např. 010). |
| Změna Připravenosti Materiálu | SetG030Ctrl | Kontrola Brány: Aktualizuje g030Ctrl status. Pokud je materialReadinessDate prázdné, nastaví na 'On-Hold'. |
| Editace (Status=Dokončeno) | PreventModification | Validace: Blokuje úpravy kritických polí pro zachování integrity historie. |
4.2.2 ProductionModel (ProductionModel)
Výrobní šablona.
- Účel: Definuje standardní proces pro produkt.
- Klíčová Pole:
product(Link): Definovaný produkt.default(Bool): Pokud pravda, automaticky vybráno pro nové Zakázky.billOfMaterials(LinkMultiple): Standardní seznam materiálu.operations(LinkMultiple): Standardní postup.alwaysAddQualityControl(Bool): Přidá krok kontroly kvality automaticky.alwaysAddWarehousePlacement(Bool): Přidá krok naskladnění automaticky.
Automatizace a Spouštěče
| Podmínka Spuštění | Hook | Akce Workflow |
|---|---|---|
| Nastavení Výchozí=Pravda | SetAsDefault | Unicita: Zajišťuje, že pouze jeden Model je označen jako "Výchozí" pro daný Produkt tím, že odškrtne ostatní. |
4.2.3 ProductionModelItem (ProductionModelItem)
Představuje řádkovou položku v Kusovníku.
- Polymorfismus: Použito v Modelech (Šablona) i Zakázkách (Provádění).
- Klíčová Pole:
product(Link): Surovina.quantity(Float): Množství na nadřazenou jednotku.quantityRequired(Float): Celkem potřeba pro Zakázku.quantityReserved(Float): Měkká rezervace ve Skladu.isPurchasedItem(Bool): Pokud pravda, spouští generování Objednávky.status(Enum): ČekáníNaDodání, Dodáno, atd.
4.2.4 ProductionModelOperation (ProductionModelOperation)
Představuje krok v Postupu.
- Polymorfismus: Použito v Modelech i Zakázkách.
- Klíčová Pole:
operation(Link): Odkaz na standardní definiciOperation.order(Int): Sekvenční číslo (10, 20, 30...).status(Enum): Čekání, Probíhá, Hotovo.processedQuantity(Float): Kolik jednotek prošlo tímto krokem.machine(Link): Konkrétní přiřazený stroj.workPlace(Link): Konkrétní přiřazené stanoviště.isPurchased(Bool): Pokud pravda, jde o outsourcovaný krok (Kooperace).
Automatizace a Spouštěče
| Podmínka Spuštění | Hook | Akce Workflow |
|---|---|---|
| Uložení (Jakákoliv Změna) | UpdateParentContext | Zpětná Vazba: Volá ProductionContextUpdater na nadřazené Zakázce. Příklad: Pracovník dokončí krok -> % Hotovo Zakázky se aktualizuje -> Stav Zakázky se může změnit na Dokončeno. |
4.3 Entity Provádění Výroby
4.3.1 WorkPerformed (WorkPerformed)
Log skutečně odvedené práce.
- Účel: Sleduje čas a spotřebu materiálu.
- Klíčová Pole:
parent(Link):ProductionOrder.operations(LinkMultiple): Konkrétní krok, na kterém se pracovalo.processedQuantity(Int): Dosažený výstup.materials(LinkMultiple): Suroviny spotřebované během této relace.transactionCreation(Enum): Řídí, zda seGoodsIssuevytváří automaticky (auto,goodsIssue,none).isExtraWork(Bool): Příznak pro neplánované úsilí.
Automatizace a Spouštěče
| Podmínka | Hook | Akce (Side Effect) |
|---|---|---|
| Uložení (Nový) | HandleTransactionCreation | Výdej ze Skladu: Volá ProductionTransactionManager::createGoodsIssue. Okamžitě odečte propojené materials ze skladu. |
| Uložení (Nový/Update) | CreateProjectCost | Integrace Nákladů: Pokud je Zakázka v Projektu, vytvoří/upraví záznam ProjectCost (Labor/ExtraWork) na základě trvání a sazeb operace. |
| Uložení / Smazání | ProcessWorkPerformed | Agregace: Aktualizuje nadřazenou ProductionModelOperation o celkové processedQuantity a realDuration. |
4.3.2 WorkPlace (WorkPlace)
Fyzické místo nebo stanoviště.
- Účel: Definice nákladového střediska.
- Klíčová Pole:
name(Varchar): např. "Montážní Linka 1".hourlyRate(Currency): Náklady na hodinu.workPlaceRateHistoryRecords(LinkMultiple): Auditní stopa změn sazeb.
4.3.3 Machine (Machine)
Fyzické aktivum.
- Účel: Sledování majetku a nákladů na strojohodinu.
- Klíčová Pole:
machineType(Enum): CNC, Laser, atd.powerConsumption(Float): V kW.machineRate(Currency): Náklady na hodinu.
4.3.4 Operation (Operation)
Kmenová definice procesu.
- Účel: Standardizace kroků.
- Klíčová Pole:
code(Varchar): Unikátní ID (např. "OP-100").machines(LinkMultiple): Kompatibilní stroje.suppliers(LinkMultiple): Schválení dodavatelé (pro outsourcované op.).
4.4 Entity Dodavatelského Řetězce
4.4.1 Cooperation (Cooperation)
Objednávka outsourcovaných služeb.
- Účel: Řídí externí výrobní kroky.
- Klíčová Pole:
supplier(Link): Dodavatel (Account).status(Enum): Objednáno, Dodáno, atd.grandTotalAmount(Currency): Cena služby.items(LinkMultiple): Konkrétní odeslané díly (CooperationItem).
Automatizace a Spouštěče
| Podmínka Spuštění | Hook | Akce Workflow |
|---|---|---|
| Stav -> Objednáno | SetItemsStatus | Sync Dolů: Aktualizuje všechny propojené items na stav ČekáníNaDodání. |
| Stav -> Dodáno | SetItemsStatus | Sync Dolů: Aktualizuje všechny propojené items na stav Dodáno. |
| Položky Vše Dodáno | SetItemsStatus | Sync Nahoru: Pokud jsou všechny podřízené položky označeny Dodáno, stav nadřazené Kooperace se automaticky aktualizuje na Dodáno. |
4.4.2 CooperationItem (CooperationItem)
Řádková položka v Kooperaci.
- Klíčová Pole:
operation(Link):ProductionModelOperation, která je outsourcována.quantity(Float): Odeslané množství.unitPrice(Currency): Dohodnutá cena.
4.5 Rozšířené Standardní Entity
Modul rozšiřuje standardní entity AutoERP o výrobní kontext.
- Product: Přidáno
defaultProductionModel(Link). - Settings: Přidány globální přepínače jako
autoCompleteProductionOrders.
4.6 Entity Integrace Skladu
4.6.1 GoodsIssue (GoodsIssue)
- Zdroj: Modul
WarehouseManagement. - Použití: Vytvořeno automaticky při uložení
WorkPerformed. Odečítá suroviny.
4.6.2 GoodsReceipt (GoodsReceipt)
- Zdroj: Modul
WarehouseManagement. - Použití: Vytvořen automaticky při dokončení
ProductionOrder. Naskladní hotové výrobky.
4.7 Plánovací a Rozvrhovací Entity
4.7.1 GateModel (GateModel)
- Účel: Definuje šablonu pro Stage-Gate proces (Kontrolní Brány).
- Použití: Propojeno s
ProductionOrder. Systém používá zde definované operace pro výpočet časové osy (hookCalculateGates). - Klíčová Pole:
operations(LinkMultiple): Specifické entityOperation, které tvoří kontroly brány.