Skip to content

Commit cae0355

Browse files
committed
feat: define scheduler interface
1 parent 4070d46 commit cae0355

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

src/ProdScheduler/SchedulerInterface.php

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,87 @@
22

33
namespace Sv\Algorithm\ProdScheduler;
44

5+
enum AssemblelyGroups: int
6+
{
7+
case First = 1;
8+
case Second = 2;
9+
case Third = 3;
10+
case Fourth = 4;
11+
case Fifth = 5;
12+
case Sixth = 6;
13+
case Seventh = 7;
14+
case Eighth = 8;
15+
case Ninth = 9;
16+
case Tenth = 10;
17+
}
18+
519
interface SchedulerInterface
620
{
21+
public function init(): void;
22+
23+
public function schedule(): bool;
24+
25+
// =============> output result <============ \\
26+
public function getDaySchedule(): array;
27+
28+
public function getNextDaySchedule(): array;
29+
30+
public function getPreviousDaySchedule(): array;
31+
32+
public function getMonthSchedule(): array;
33+
34+
public function getNextMonthSchedule(): array;
35+
36+
public function getPreviousMonthSchedule(): array;
37+
38+
public function getSchedule(): array;
39+
// =============> output result <============ \\
40+
41+
// =============> configuration <============ \\
42+
public function getConfig(): array;
43+
44+
public function getGroup(): AssemblelyGroups;
45+
46+
public function getGroupName(AssemblelyGroups $id): string;
47+
48+
public function getDefaultDayCalendar(): bool;
49+
50+
// Equal division quantity
51+
public function getEDQ(): int;
52+
53+
// Max cost time compute
54+
public function getMCTC(): bool;
55+
56+
// Sup phase first compute
57+
public function getSPFC(): bool;
58+
59+
public function getInitialPhase(): array;
60+
61+
// Initial schedule datetime
62+
public function getISDT(): string;
63+
64+
// Initial schedule timestamp
65+
public function getISTS(): int;
66+
67+
// is use calendar
68+
public function getUseCalendar(): bool;
69+
70+
// is use TPM schedule
71+
public function getUseTPMS(): bool;
72+
73+
// is use multiple shifts compute
74+
public function getUseMSC(): bool;
75+
76+
public function getDayCalendar(): array;
77+
78+
public function getNextDayCalendar(): array;
79+
80+
public function getPreviousDayCalendar(): array;
81+
82+
public function getMonthCalendar(): array;
83+
84+
public function getNextMonthCalendar(): array;
85+
86+
public function getPreviousMonthCalendar(): array;
87+
// =============> configuration <============ \\
788
}

0 commit comments

Comments
 (0)