Skip to content

Commit dd7949f

Browse files
committed
feat: adjust sub phase start time
1 parent 65c3440 commit dd7949f

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

src/ProdScheduler/SchedulerComputeTrait.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,17 @@ public function compute()
3737
$nextPhase = $this->list[$k]['phases_reverse'][$i + 1];
3838
$originStart = $start = $nextPhase['start'];
3939
$start -= ($itemPhase['dead_time'] + $itemPhase['ahead_time']);
40-
if ($itemPhase['out_time'] > 0) {
41-
$start -= $itemPhase['out_time'];
40+
if ($itemPhase['code_id'] > $this->initialPhase) {
41+
$start -= $totalCost;
4242
} else {
43-
$start -= $singleCost;
43+
if ($itemPhase['out_time'] > 0) {
44+
$start -= $itemPhase['out_time'];
45+
} else {
46+
$start -= $singleCost;
47+
}
4448
}
4549
}
50+
4651
$start = $this->phaseTimeWithCalendarCompute($originStart, $start, true);
4752
$start = $this->phaseTimeWithRestDayCompute($originStart, $start, true);
4853
$this->list[$k]['phases_reverse'][$i]['start'] = $start;

src/ProdScheduler/SchedulerConfigTrait.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ private function parsePhase(array $phase): array
182182
foreach ($phase as $p) {
183183
$costTime[] = $p['cost_time'];
184184

185-
if ($p['code_id'] === $this->initialPhase) {
185+
if ($p['code_id'] == $this->initialPhase) {
186186
array_push(
187187
$reversePhase,
188188
...array_filter(

0 commit comments

Comments
 (0)