From fa396bd237df82d2d0d33d0a4fd45bee6b832564 Mon Sep 17 00:00:00 2001 From: king Date: Wed, 17 Jun 2026 14:23:40 +0900 Subject: [PATCH] =?UTF-8?q?feat(malaysia):=20=EC=9E=AC=EA=B3=A0=EC=A1=B0?= =?UTF-8?q?=EC=82=AC=20=EB=9E=99=EC=97=90=20Side=20B=20=EC=95=84=EB=9E=98?= =?UTF-8?q?=20Ground(G1~G6)=206=EC=B9=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Side B 다음에 Ground 영역을 추가하고 단일 파렛트 6칸(G1~G6)을 한 줄로 배치. rack_cell_codes 검증 목록과 rack_layout 렌더 구조에 반영. 면 제목을 side.label 로 바꿔 A/B는 'Side A/B', Ground는 'Ground'로 표기. 입력/이동 저장 검증 모두 G1~G6 허용. Co-Authored-By: Claude Opus 4.8 --- app/modules/malaysia/store.py | 16 +++++++++++++--- .../malaysia/templates/malaysia/rack_view.html | 2 +- .../templates/malaysia/stocktake_detail.html | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/modules/malaysia/store.py b/app/modules/malaysia/store.py index 08d44e0..dd6a038 100644 --- a/app/modules/malaysia/store.py +++ b/app/modules/malaysia/store.py @@ -34,17 +34,21 @@ RACK_SIDES: tuple[str, ...] = ("A", "B") RACK_ROWS: tuple[int, ...] = (3, 2, 1) RACK_COLS: tuple[int, ...] = (1, 2, 3) RACK_SUBS: tuple[int, ...] = (1, 2) +# Side B 아래 바닥(Ground) 파렛트 6칸. 코드: 'G1' ~ 'G6'. +RACK_GROUND: tuple[str, ...] = ("G1", "G2", "G3", "G4", "G5", "G6") def rack_cell_codes() -> list[str]: - """모든 랙 칸 코드 목록(검증용). 예: 'A3-1-1' ... 'B1-3-2'.""" - return [ + """모든 랙 칸 코드 목록(검증용). 예: 'A3-1-1' ... 'B1-3-2', 'G1'~'G6'.""" + codes = [ f"{side}{row}-{col}-{sub}" for side in RACK_SIDES for row in RACK_ROWS for col in RACK_COLS for sub in RACK_SUBS ] + codes.extend(RACK_GROUND) + return codes def rack_layout() -> list[dict[str, Any]]: @@ -61,7 +65,13 @@ def rack_layout() -> list[dict[str, Any]]: for col in RACK_COLS ] rows.append({"row": row, "cols": cols}) - out.append({"side": side, "rows": rows}) + out.append({"side": side, "label": f"Side {side}", "rows": rows}) + # Side B 아래 Ground: 6칸(G1~G6)을 한 줄에. 각 칸은 분할 없는 단일 파렛트. + out.append({ + "side": "Ground", + "label": "Ground", + "rows": [{"row": 0, "cols": [[code] for code in RACK_GROUND]}], + }) return out diff --git a/app/modules/malaysia/templates/malaysia/rack_view.html b/app/modules/malaysia/templates/malaysia/rack_view.html index 33d938f..a69c119 100644 --- a/app/modules/malaysia/templates/malaysia/rack_view.html +++ b/app/modules/malaysia/templates/malaysia/rack_view.html @@ -153,7 +153,7 @@
{% for side in rack_layout %}
-

Side {{ side.side }}

+

{{ side.label }}

{% for row in side.rows %}
{% for col in row.cols %} diff --git a/app/modules/malaysia/templates/malaysia/stocktake_detail.html b/app/modules/malaysia/templates/malaysia/stocktake_detail.html index 167e11c..5808320 100644 --- a/app/modules/malaysia/templates/malaysia/stocktake_detail.html +++ b/app/modules/malaysia/templates/malaysia/stocktake_detail.html @@ -124,7 +124,7 @@
{% for side in rack_layout %}
-

Side {{ side.side }}

+

{{ side.label }}

{% for row in side.rows %}
{% for col in row.cols %}