Přeskočit obsah

Systém bran (Gates)

Výpočet bran je implementován v hooku ProductionOrder/CalculateGates.

Vstupy

  • GateModel – šablona obsahující operace (ProductionModelOperation) přiřazené k modelu bran; jejich kódy a časy určují délku jednotlivých úseků.
  • Operace zakázky – časy z kmenových operací (Operation.time) a příznak symbol (např. N = nákup) se používají pro výpočty op0410/op0420/op0460.
  • Kusovník – pro výpočet gateD1 se bere maximum z op0460f u položek kusovníku.
  • Pracovní dny – výpočet využívá WorkingDayCalculator (víkendy + svátky z HolidayUtil).

Logika výpočtu (zjednodušeně)

  1. Pokud se změní startDate, gateA/B, materialReadinessDate, gateE/F, vypočítají se derivované datumy gateA1, gateB1, gateD1, gateE1, gateF1 a endDate.
  2. Časy operací se načítají z přiřazeného GateModel a ze skutečných operací kusovníku:
  3. op010 + max(op0110/op0120) → gate1Finished.
  4. další kódy (0200/0210/0310/0320/0350) ovlivní gateAFinished.
  5. součty operací se symboly N (nákup) a V/H vstupují do op0410/0420/0460 a tím do gateB a gateD.
  6. Datum brány se posouvá o vypočtený počet pracovních dní dopředu od předchozí brány.
  7. Pokud jsou brány zadány ručně, hook dopočítá navazující datumy, které chybí.

Praktické tipy

  • Udržujte časy na kmenových operacích – přímo ovlivňují délku bran.
  • Pokud nemáte GateModel, výpočet se neprovede (hook se ukončí).
  • Při importu kusovníku z Excelu mohou být varování v poli lastImportWarnings; ty se do výpočtu nezapojují.