From 36392355115df13038ef9807a73b64e56077c882 Mon Sep 17 00:00:00 2001 From: Quarter Date: Wed, 15 Nov 2023 20:34:16 +0300 Subject: [PATCH] Fixed split stages in ScheduledProject --- pyproject.toml | 2 +- sampo/schemas/schedule.py | 9 +++++++-- sampo/utilities/schedule.py | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index cf295806..12cc91c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "sampo" -version = "0.1.1.247" +version = "0.1.1.249" description = "Open-source framework for adaptive manufacturing processes scheduling" authors = ["iAirLab "] license = "BSD-3-Clause" diff --git a/sampo/schemas/schedule.py b/sampo/schemas/schedule.py index 7b34d2aa..9f702556 100644 --- a/sampo/schemas/schedule.py +++ b/sampo/schemas/schedule.py @@ -112,12 +112,17 @@ def merged_stages_datetime_df(self, offset: Union[datetime, str]) -> DataFrame: def unite_stages(self) -> 'Schedule': merged_df = fix_split_tasks(self._schedule) - for _, row in merged_df.iterrows(): + + def f(row): swork: ScheduledWork = deepcopy(row[self._scheduled_work_column]) row[self._scheduled_work_column] = swork - swork.name = row['task_name'] + swork.name = row['task_name_mapped'] + swork.display_name = row['task_name'] swork.volume = float(row['volume']) swork.start_end_time = Time(int(row['start'])), Time(int(row['finish'])) + return row + + merged_df = merged_df.apply(f, axis=1) return Schedule.from_scheduled_works(works=merged_df[self._scheduled_work_column]) diff --git a/sampo/utilities/schedule.py b/sampo/utilities/schedule.py index a4acd6f2..903dd1aa 100644 --- a/sampo/utilities/schedule.py +++ b/sampo/utilities/schedule.py @@ -65,7 +65,7 @@ def merge_split_stages(task_df: pd.DataFrame) -> pd.Series: df = task_df.copy() df = df.iloc[-1:].reset_index(drop=True) - for column in ['task_id', 'task_name']: + for column in ['task_id', 'task_name', 'task_name_mapped']: df.loc[0, column] = df.loc[0, column].split(STAGE_SEP)[0] # fix task id and name # sum up volumes through all stages